# Level3LineItem

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

Represents a line item for Level 3 transaction data.

## Fields
- `id` (string(uuid)): The unique identifier for the line item.
- `productCode` (string): The product code. Maximum length is 25 characters. Conditional: When ProductCode is not null. Max length: 25. (nullable, max length 25)
- `commodityCode` (string): The commodity code. Maximum length is 25 characters. Conditional: When CommodityCode is not null. Max length: 25. (nullable, max length 25)
- `description` (string): The description of the item. Maximum length is 25 characters. Conditional: When Description is not null. Max length: 25. (nullable, max length 25)
- `upc` (string): The Universal Product Code (UPC). Maximum length is 25 characters. Conditional: When Upc is not null. Max length: 25. (nullable, max length 25)
- `invoiceNumber` (string): The invoice number. Maximum length is 25 characters. Conditional: When InvoiceNumber is not null. Max length: 25. (nullable, max length 25)
- `taxType` (string): The tax type. (nullable)
- `quantity` (number(double)): The quantity of the item. Must be non-negative. Conditional: When Quantity is not null. Must be > 0. (nullable)
- `unitOfMeasure` (string): The unit of measure. Maximum length is 30 characters. Conditional: When UnitOfMeasure is not null. Max length: 30. (nullable, max length 30)
- `unitPrice` (number(double)): The unit price of the item. Must be positive. Conditional: When UnitPrice is not null. Must be >= 0. (nullable)
- `discountAmount` (number(double)): The discount amount. Must be non-negative. Conditional: When DiscountAmount is not null. Must be >= 0. (nullable)
- `totalAmount` (number(double)): The total amount for the line item. Must be positive. Conditional: When TotalAmount is not null. Must be >= 0. (nullable)
- `taxAmount` (number(double)): The tax amount. Must be non-negative. Conditional: When TaxAmount is not null. Must be >= 0. (nullable)
- `taxRate` (number(double)): The tax rate. Must be non-negative. Conditional: When TaxRate is not null. Must be >= 0. (nullable)
- `extendedAmount` (number(double)): The extended amount. Must be non-negative. Conditional: When ExtendedAmount is not null. Must be >= 0. (nullable)
- `freightAmount` (number(double)): The freight amount. Must be non-negative. Conditional: When FreightAmount is not null. Must be >= 0. (nullable)
- `dutyAmount` (number(double)): The duty amount. Must be non-negative. Conditional: When DutyAmount is not null. Must be >= 0. (nullable)
- `taxIncluded` (boolean): Value indicating whether tax is included in the price. (nullable)
- `wicFoodCategoryCode` (string): The USDA WIC food category code for the item (e.g. the 2-digit category in the WIC  Authorized Product List). Optional; only populated for eWIC line items. Maximum length  is 25 characters. Conditional: When WicFoodCategoryCode is not null. Max length: 25. (nullable, max length 25)
- `wicSubcategoryCode` (string): The USDA WIC food subcategory code for the item, where the category is further  subdivided. Optional; only populated for eWIC line items. Maximum length is 25 characters. Conditional: When WicSubcategoryCode is not null. Max length: 25. (nullable, max length 25)
- `wicBenefitType` ([WicBenefitType](https://devportal.demo.winkpg.io/docs/api/models/WicBenefitType.md)): The coarse eWIC benefit mechanism this line redeems against. See  `WicBenefitType`. Optional; only populated  for eWIC line items. Conditional: When WicBenefitType is not null. (nullable)
  Values:
  - `Unspecified`: Benefit mechanism not specified. Default for line items that carry other eWIC data (e.g. a category code) without an explicit mechanism classification.
  - `FoodBenefit`: Standard fixed-quantity food benefit, redeemed by USDA food category/subcategory against the cardholder's remaining prescribed balance for that category.
  - `CashValueBenefit`: Cash Value Benefit (CVB) / Cash Value Voucher (CVV): a dollar-denominated benefit for fruits and vegetables, redeemed against a remaining dollar balance rather than a fixed quantity.
  - `InfantFormula`: Infant formula. Handled distinctly from standard food benefits because of contract-brand restrictions and manufacturer rebate accounting.
- `voucherReference` (string): The processor-issued voucher / benefit reference this line redeems against. Optional;  only populated for eWIC line items. Maximum length is 25 characters. Format is not  enforced here because it is processor-specific (the initial eWIC processor is selected  later in the epic). Conditional: When VoucherReference is not null. Max length: 25. (nullable, max length 25)
- `wicUnitOfMeasure` (string): The WIC-specific unit of measure for the item, which can differ from the generic  `unitOfMeasure` (WIC programs prescribe benefits in program-specific units).  Optional; only populated for eWIC line items. Maximum length is 30 characters. Conditional: When WicUnitOfMeasure is not null. Max length: 30. (nullable, max length 30)
- `wicEligibleQuantity` (number(double)): The quantity of this line that is WIC-eligible, which can be less than the cart-line  `quantity` when only part of the purchased quantity falls within the  cardholder's benefit. Must be non-negative. Optional; only populated for eWIC line items. Conditional: When WicEligibleQuantity is not null. Must be >= 0. (nullable)
- `wicEligibleAmount` (number(double)): The amount of this line that is WIC-eligible, which can be less than the cart-line  `totalAmount` when only part of the line is covered by the benefit. Must be  non-negative. Optional; only populated for eWIC line items. Conditional: When WicEligibleAmount is not null. Must be >= 0. (nullable)

## See also

- [All documentation](https://devportal.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
