PurchaseRequest: Corresponds to the overall purchase request, and includes meta information for the request (date, time, consumer information, order details)
Order: Corresponds to a consumer's order of one or more items or packages
ItemLine: Corresponds to a purchase item (for example, a coffee, a sandwich, or a pair of shoes)
ItemOptionLine: Corresponds to a characteristic of an item that can be optional or not, limited or not (with / without, small format / large format)
PackageLine: Corresponds to a set of items that are combined and purchased together (for example, a 3-pack of shirts, or a starter + main course + dessert menu)
PackageItemLine: Corresponds to the individual items that comprise a package
PackageItemOptionLine: Corresponds to a characteristic of an item included in a package that can be optional or not, limited or not (with / without, small format / large format)
Discount: Corresponds to a price modifier that can be applied at the order or line item level
Consumer: Corresponds to the information of the consumer placing the order (first and last name, phone number, email, address)
Address: Corresponds to a physical address where the order can be delivered
Payment: Corresponds to a payment applied to an order
PaymentDifference: Corresponds to a different payment item that holds an amount separated of the payment of the order, applied to an order (for example, tips)