Place Order API

With Place Order API, you can place orders of Lounge available in the Catalog.

A unique reference ID needs to be sent for every unique order in the "poNumber" parameter

We strongly recommend storing the request and response of every "PlaceOrderAPI" call

Request Parameter

PathTypeDescription
productIdnumberLounge product ID to be ordered.
quantitynumberNumber of lounge passes to purchase.
denominationnumberPrice/denomination of the lounge product.
emailstringCustomer’s email for order delivery/confirmation.
contactstringCustomer’s contact number.
tagstringOptional tag for internal tracking.
poNumberstringClient-generated PO number for idempotency.
notifyReceiverEmailnumberWhether receiver should get email notification (1 = yes, 0 = no).
notifyAdminEmailnumberWhether admin should receive notification (0 = no, 1 = yes).
loungeDataobjectLounge-specific metadata required for DragonPass/partner fulfillment.
loungeData.firstNamestringFirst name of the traveler.
loungeData.lastNamestringLast name of the traveler.
loungeData.categoryTypestringType of the product (lounge).
loungeData.flightDepartureDatestringTraveler’s flight departure date (DD-MM-YYYY).

Response Schema

PathTypeDescription
dataobjectRoot response object.
data.placeOrderobjectContainer for place order result.
data.placeOrder.statusnumberStatus of request (1 = success).
data.placeOrder.dataobjectOrder details object.
data.placeOrder.data.orderIdnumberUnique order ID generated by Xoxoday.
data.placeOrder.data.orderTotalnumberTotal order amount (rounded).
data.placeOrder.data.rawOrderTotalnumberPrecise unrounded order amount before rounding.
data.placeOrder.data.orderDiscountstringDiscount applied (string because blank possible).
data.placeOrder.data.rawOrderDiscountstringUnrounded discount component (may be blank).
data.placeOrder.data.discountPercentstringDiscount percentage applied.
data.placeOrder.data.currencyCodestringCurrency code for the order.
data.placeOrder.data.currencyValuenumberCurrency conversion multiplier
data.placeOrder.data.amountChargednumberFinal amount charged to the customer.
data.placeOrder.data.orderStatusstringOrder status (e.g., complete).
data.placeOrder.data.deliveryStatusstringDelivery status (e.g., pending, delivered).
data.placeOrder.data.tagstringCustom tag from request.
data.placeOrder.data.quantitynumberQuantity ordered.
data.placeOrder.data.vouchersarrayDelivered voucher codes
data.placeOrder.data.voucherDetailsarraySummary of voucher/lounge items.
data.placeOrder.data.voucherDetails[].orderIdnumberOrder ID.
data.placeOrder.data.voucherDetails[].productIdnumberLounge product ID.
data.placeOrder.data.voucherDetails[].productNamestringName of the lounge.
data.placeOrder.data.voucherDetails[].currencyCodestringCurrency code of the lounge product.
data.placeOrder.data.voucherDetails[].productStatusstringStatus for that product (pending, Delivered.).
data.placeOrder.data.voucherDetails[].denominationnumberLounge price/denomination.
data.placeOrder.data.voucherDetails[].vendorLogostringVendor’s logo URL (DragonPass logo, etc.).
data.placeOrder.data.orderMetaobjectAdditional metadata submitted in the order.
data.placeOrder.data.orderMeta.emailstringEmail address submitted for the lounge order.

Implementation Notes

  1. To avoid facing an error while placing an order, please pass the valid productID and denomination
  2. The maximum order quantity allowed for the products is 1 as mentioned in the "orderQuantityLimit" parameter in the GetVouchersAPI
  3. Should you wish to notify the recipient via email, please pass "1" in the "notifyReceiverEmail" parameter
  4. We recommend you store the "poNumber" that you pass in the request and the "orderID" you receive in the response
  5. Should you get a 5xx error from the PlaceOrderAPI, please call GetOrderDetails and confirm if an order exists using the poNumber. If there's no order against the poNumber, you can go ahead and place another order

Learn how to manage webhooks to receive order status updates for delayed product types.

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