/// Model for a parsed receipt item from the receipt import API. class ParsedReceiptItem { final String rawName; final double? quantity; final String? unit; final double? price; final String? brand; final String? origin; // alias-match (säker, ingen bekräftelse behövs) final int? matchedProductId; final String? matchedProductName; // ordbaserad match (kräver bekräftelse) final int? suggestedProductId; final String? suggestedProductName; // AI-kategorisuggestion (premium) final String? categorySuggestionName; ParsedReceiptItem({ required this.rawName, this.quantity, this.unit, this.price, this.brand, this.origin, this.matchedProductId, this.matchedProductName, this.suggestedProductId, this.suggestedProductName, this.categorySuggestionName, }); factory ParsedReceiptItem.fromJson(Map json) => ParsedReceiptItem( rawName: json['rawName'] as String? ?? '', quantity: (json['quantity'] as num?)?.toDouble(), unit: json['unit'] as String?, price: (json['price'] as num?)?.toDouble(), brand: json['brand'] as String?, origin: json['origin'] as String?, matchedProductId: (json['matchedProductId'] as num?)?.toInt(), matchedProductName: json['matchedProductName'] as String?, suggestedProductId: (json['suggestedProductId'] as num?)?.toInt(), suggestedProductName: json['suggestedProductName'] as String?, categorySuggestionName: (json['categorySuggestion'] as Map?)?['categoryName'] as String?, ); }