Create Order

Pre-requisite: Order menu items and discounts selected, payment confirmed

Once the payment initiated by the customer has been confirmed, the order can be placed

POST /api/orders

API Spec: Create Order

The request should contain the following objects and properties:

  • singular_point_id - required (can be setup based on venues call, areas object)
  • order_type object - required
    • serving_time_id (required for foodspot orders)
    • delivery_info object(required for delivery orders) contains the address, all fields are required and are identical to delivery location fields (Delivery Store)
  • tip object - required - contains the customer tips information per order
  • menu_items object - required - Collection of the menu items in cart, for each menu item the following properties should be defined
  • combo_meals object - required - Collection of the combo meals added to the cart, should contain the combo items, modifiers and cutomer comments
  • discounts_object - required - Collection of the discounts added to the cart. The customer can always add only one discount to their cart. The discount might contain a redemption code and will define a set of menu items or a combo meal.
  • customer_info object - required - contains customer contact and demographic information
  • payment_info object - required - contains payment hash to identify transaction
  • cash_info object - required for delivery and foodspot orders, contains the information about the cash amount prepared by the customer to allow the driver to prepare the change
    • is_reorder - required - boolean flag identifying if the order is a repeated one

The reponse will provide the following properties:

  • id - Order uuid
  • code - Order short code, 5 latin letter id, e.g.: "7JB8S"
  • ticket_id - POS ticket uuid
  • send_at - time when the order will be sent to POS printer
  • pickup_at - for delivery and foodspot orders - calculated pickup time
  • pickup_code - Order pickup code - for delivery, foodspot and kiosk orders
  • arriving_at - Estimated Delivery Time
  • regret_cancel_until - it is possible to cancel the order from the ordering application until the timestamp specified
  • status - Current order status (Order Statuses)
  • payment_status - Payment Status