Sale objects define a complete single sale and are one of the more complex objects within the system, purely because it contains a great deal of attributes and detail.
Details of how to store a complete sale definition with items, payments, customers and other attributes
An array of saleline items, describing what was purchased or returned on this sale. There is one line per item, but multiple quantities of the same item may be stored as a single line with a large quantity, or as multiple lines with a single quantity per line.
An array of payment lines describing the detail of each payment. This will include records for system applied payments, such as rounding.
A pointer to the customer who caused this sale
A pointer to the physical store where the store was completed.
A pointer to the salesperson who performed the sale
A complete geographic reference of the customer. This will typically be present for internet/electronic orders, but may also be present for physical store sales if the store performed delivery to an address and not the customer over the counter.
Returns totals for a period, summarised by store. Used to extract overall totals of performance