Omni Order Injection API: Getting Started
URLs
The Omni Order Injection API provides URLs for staging and production environments. Use the URL below in place of {{OMNI_URL}} in the operation definitions.
Callbacks
All requests to Omni Order Injection API require a callback URL.
When a request is submitted, Omni immediately returns a response verifying that it received the request. The response includes our request identifier (ID) and date-time stamps for the receipt and response.
{
"errorMessage": "",
"vendor": {
"requestId": "99999999999999999999999999999999"
},
"receivedAt": "20YY-07-13T16:11:09Z",
"returnedAt": "20YY-07-13T16:11:09Z"
}After Omni Order has completely processed the request, Omni sends the final response to the callback URL provided with the request. The response is returned to the callback URL whether the operation failed or succeeded. The Operation Definitions include examples of the responses that are returned to the callback URL.
Order Status
Order Status gives the point of sale (POS) a way to control when the orders are sent to the kitchen for fulfillment:
Hold- The order has been created and is placed in the order queue at the restaurant. Orders can stay in the queue on hold until the end of the business day.Finalize- The order has been confirmed. When the order status is set toFinalize, it is possible to assign a pickup time. The pickup time can be used as a trigger to send the order to the kitchen.
The list below gives an overview of how the API operations impact the order status:
Place Order - The Place Order operation creates a new order and sets the order status based on the value sent for
pickupLocation.EatIn,TakeOut, orDeliverysets the order status toFinalize. Place Order sets the order status toHoldfor all other values ofpickupLocation.Insert Order - The Insert Order operation creates a new order and sets the order status to
Hold.Confirm Order - The Confirm Order operation creates a new order with the order status set to
Finalize, or it changes the status of an order fromHoldtoFinalize. Setting a value for thepickupTimeparameter moves the order fromHoldtoFinalizeat the time specified.
The values that are accepted for pickupLocation may differ depending on the restaurant. See the Destination Codes topic for additional details.
Destination Codes
Destination Codes define how the order is fulfilled. Depending on the destination code set in the Place Order or Insert Order operation, the order may be created with its status set to Hold or Finalize.
The following list is a sample of valid destination codes. These codes are unique to each customer. Contact Genius for the correct list of codes for the customer. The name of the destination code is used in the pickupLocation in the Price and Place Order requests.
EatInTakeOutDriveThruDeliveryCatering
Error Codes
New error codes will be added as new POS versions become available.
Code | Description |
|---|---|
0 | Omni Error |
1 | Invalid XML Document |
2 | Invalid Document Type (Expecting POSrequest) |
3 | Invalid Document - No Requested Action |
4 | Invalid Terminal Number in Document Header |
5 | Terminal Is Not Configured as A Kiosk |
6 | Server Is Offline |
7 | No More Inserts Are Available |
8 | Insert Number Is Invalid |
9 | Vendor Is Invalid |
10 | Insert / Terminal Is Invalid or Not Logged On |
11 | Employee Is Logged on Another Terminal |
12 | Daily Close Is in Progress. Please Wait |
13 | Drawer Skim Must Be Greater Than Zero |
14 | Skim Amount Exceeds Drawer Amount |
15 | Skim Failed to Update SQL Table |
16 | Server Error Retrieving Order Number |
20 | Invalid Document - PLU Is Missing |
21 | Invalid Date Range |
22 | Invalid Time Range |
23 | Terminal Is Not Configured for Delivery Orders |
24 | Terminal Is Not Configured for Mobile Orders |
30 | Insert Did Not Validate |
31 | Insert Did Not Backup |
32 | Insert Did Not Log Off - Emergency Contact SICOM Support |
33 | Invalid XML Document - Missing or Wrong Element |
34 | Terminal Is Not Configured for Payment at Counter |
100 | Invalid Order Document - Expecting Mainorder |
101 | Invalid Order Destination |
102 | Invalid Order Total Value |
103 | Invalid Order Subtotal Value |
104 | Invalid Order Change Value |
105 | Order Total Does Match SICOM Computed Total |
106 | Order Subtotal Does Match SICOM Computed Total |
107 | Order Change Does Match SICOM Computed Change |
108 | Invalid Order Document - Missing Price |
120 | Customer Name Is Blank |
121 | Customer Phone Number Is Blank |
122 | Store Does Not Deliver to This Zip Code |
123 | Need a Valid Customer Address |
124 | Invalid or Missing Location |
125 | Invalid or Missing Status |
126 | Customer Phone Number Is Missing |
127 | Invalid or Missing Order UUID |
128 | Invalid Time to Live |
129 | Order Is Locked By User |
130 | Order Has Been Fired |
131 | Order Is Assigned a Driver |
199 | Invalid Order Item - PLU Is Inactive |
200 | Invalid Order Item - PLU Is Invalid |
201 | Invalid Order Item - Price Is Invalid |
202 | Invalid Order Item - Qty Is Invalid |
203 | Invalid Order Item - Maximum Qualifiers Reached |
204 | Invalid Order Item Discount - Item Is Not Discountable |
205 | Invalid Order Item Discount - Can Not Discount Cents Off |
206 | Invalid Order Item Discount - Can Not Discount Valuemeal |
207 | Invalid Order Item Discount - Discount Can Not Be Applied to Item Because It Does Not Meet the Discount Requirements |
208 | Invalid Order Value Meal - Some Items Are Invalid |
209 | Invalid Order Value Meal - Item Can Not Be Substituted |
210 | Invalid Order Value Meal - Item Is Not in the Valid Substitution Category |
211 | Invalid Order Value Meal - Item Must Be Substituted |
212 | Invalid Order Value Meal - Can Not Substitute with an Item That Costs More |
213 | Invalid Order Value Meal - Can Not Substitute with an Item That Costs More |
214 | Invalid Order Delivery Fee - PLU Not Defined |
215 | Invalid Order Delivery Tips - PLU Not Defined |
216 | Invalid Payment Status - Not Defined |
217 | Invalid Order Item - Maximum Items Reached |
218 | Invalid Order Value Meal - Maximum Items Reached |
300 | Invalid Order Tax - PLU Is Invalid |
301 | Invalid Order Tax - Value Is Invalid |
302 | Invalid Order Payment - PLU Is Invalid |
303 | Invalid Order Payment - Value Is Invalid |
304 | Invalid Order Discount - PLU Is Invalid |
305 | Invalid Order Discount - Value Is Invalid |
306 | Invalid Order Payment - Value Is Less Than Total |
307 | Invalid Order Number |
308 | Order Already Voided |
309 | Cannot Void Order - Order Not Paid |
310 | Cannot Void Order - Order Not Found |
311 | Cannot Change Status - Order Already Fired |
312 | Invalid Order - Order Not Found |
313 | Invalid Order Payment - Maximum Payments Reached |
314 | Invalid Order Discount - Maximum Discounts Reached |
315 | Invalid Order Discount - Wrong Type |
400 | Invalid Electronic Payment |
401 | Invalid Electronic Payment Passback - You Are Doing Something Seriously Wrong |
402 | Error Electronic Payment Credit |