Pay & Create Order

This API request is used to create a new order (ticket) in a single step for a specific location.

Query Parameters

ParameterRequiredDescriptionExample
global_on_idYesThe global operation ID.4
user_idYesThe user ID performing the operation.7
flowYesThe flow type for the operation.order
i18nNoLanguage/locale for the request.en

Request Body Structure

The body must be a JSON object with the following structure. Below is the detailed description and data type for each field.

FieldTypeDescription
employee_idintegerID of the employee creating the order.
ticketobjectContains details about the ticket/order.
ticket.ticket_numberintegerThe ticket number (unique identifier for the order).
ticket.employee_idintegerEmployee ID of the person handling the ticket.
ticket.employee_id_externalstringExternal ID for the employee (if available).
ticket.itemsarrayA list of items in the ticket.
ticket.items[].category_idintegerCategory of the item.
ticket.items[].idintegerInternal item ID.
ticket.items[].id_externalstringExternal item ID.
ticket.items[].modifiersarrayList of item modifiers (if applicable).
ticket.items[].pricenumberPrice of the item.
ticket.items[].price_per_unitnumberPrice per unit of the item.
ticket.items[].quantityintegerQuantity of the item ordered.
ticket.items[].commentstringOptional comment for the item.
ticket.items[].namestringName of the item.
ticket.namestringName of the ticket/order.
ticket.order_type_idintegerID of the order type (e.g., dine-in, take-out).
ticket.order_type_id_externalstringExternal order type ID.
ticket.revenue_center_idintegerID of the revenue center (e.g., specific POS terminal).
ticket.revenue_center_id_externalstringExternal revenue center ID.
ticket.guest_countintegerNumber of guests associated with the ticket.
ticket.taxnumberTotal tax amount for the order.
ticket.duenumberAmount due for the order (after discounts, taxes, etc.).
ticket.sub_totalnumberSubtotal for the order (before tax and discounts).
ticket.totalnumberTotal amount for the order (including tax and discounts).
payment_typestringThe payment method used (e.g., pay_in_store, third_party).
paymentobjectPayment details if payment_type is third_party.
olo_infoobjectInformation for online orders (if applicable).
olo_info.contact_infoobjectContact information for the customer.
olo_info.contact_info.first_namestringCustomer's first name.
olo_info.contact_info.last_namestringCustomer's last name.
olo_info.contact_info.emailstringCustomer's email address.
olo_info.contact_info.phonestringCustomer's phone number.
olo_info.contact_info.phone_global_countryintegerGlobal country code for the phone number.
olo_info.contact_info.addressstringCustomer's address line 1.
olo_info.contact_info.address2stringCustomer's address line 2 (optional).
olo_info.contact_info.zipstringCustomer's zip code.
olo_info.order_typestringType of order (e.g., pickup, delivery).
olo_info.pickup_datetimestringDate and time for order pickup (if applicable).
olo_info.vehicleobjectnull
ticket_name_max_lengthintegerMaximum length for the ticket name.

Third-Party Payment Information

If payment_type is set to third_party, the following fields must also be included inside the payment object:

KeyDescriptionValue
card_typeType of payment cardMC, Visa, Amex, Other, Disco
base_amountBase amount of the payment1350
tip_amountAmount for tip0
auto_closeWhether the ticket auto closes after being fully tenderedtrue

Language
Credentials
Bearer
URL
Click Try It! to start a request and see the response here!