Orders in Omneo represent unfinalised purchase records, web orders awaiting fulfilment, laybys, or any purchase that has not yet been completed and converted to a transaction.
Orders vs transactions
The distinction between orders and transactions is important:
| Concept | State | Mutable? | Incentive effects |
|---|
| Order | In-progress | Yes | No, until finalised |
| Transaction | Completed | No | Yes, on creation |
One order can produce:
- Zero transactions: if the order is cancelled before fulfilment
- One transaction: the most common case (full order fulfilled)
- Multiple transactions: if items are shipped in separate fulfilments with separate transactions
When to use orders
Orders are used when you need to record a purchase commitment before it is finalised. Common scenarios:
- eCommerce: an online order placed but not yet shipped/fulfilled
- Layby: a reservation with staged payments
- Click and collect: an order placed online for in-store pickup
Order fields
| Field | Description |
|---|
profile_id | The profile this order belongs to |
external_id | The eCommerce or POS order number |
total | Order total value |
status | Order status (e.g., pending, fulfilled, cancelled) |
currency | Order currency |
location_id | Pickup or fulfilment location |
occurred_at | Order placement date |
items | Array of order line items |
Order to transaction conversion
When an order is fulfilled, create a corresponding transaction via the Transactions API. The order record is retained as a reference. Incentive calculations, point issuance, and reaction triggers all happen at the transaction stage.
Content needed: specific API workflow for converting orders to transactions in common integration patterns.