Developer Hub
Create Order for Event: /orders
Purpose
This endpoint is used to create a new order for an event, including customer details, billing and shipping addresses, order line items, payment details, and invitations.
Scope
order.create
→ Orders Create permission must be granted from the application to create order for event.
Use Case
The endpoint is commonly used in event management systems to handle ticket purchases, process customer details, and generate an order with associated metadata, such as event details and payment information.
Path Parameters
No path parameter is required for this endpoint.
Query Parameters
This endpoint does not have any query parameters.
Request Body
The request body contains detailed order information, including customer details such as first name, last name, email, phone number, billing and shipping addresses. It specifies the event's start date and time, along with line items detailing the product's serial number, unique identifier, type, and quantity. Additionally, the payload includes an array of invitations with their type and corresponding value. Placeholders are used to generalise the data for reuse and customisation.
{
"order": {
"customer": {
"first_name": "FIRST_NAME",
"last_name": "LAST_NAME",
"email": "EMAIL",
"phone": "PHONE_NUMBER",
"billing_address": {
"address_line1": "BILLING_ADDRESS_LINE1",
"country": "BILLING_COUNTRY",
"state": "BILLING_STATE",
"city": "BILLING_CITY",
"post_code": "BILLING_POST_CODE"
},
"shipping_address": {
"address_line1": "SHIPPING_ADDRESS_LINE1",
"country": "SHIPPING_COUNTRY",
"state": "SHIPPING_STATE",
"city": "SHIPPING_CITY",
"post_code": "SHIPPING_POST_CODE"
}
},
"event_start_on": "EVENT_START_DATE_TIME",
"line_items": [
{
"serial": "ITEM_SERIAL",
"product": "PRODUCT_UUID",
"type": "PRODUCT_TYPE",
"quantity": "PRODUCT_QUANTITY"
}
],
"invitations": [
{
"type": "INVITATION_TYPE",
"value": "INVITATION_VALUE"
}
]
}
}
Parameter | Type | Constraints | Validation Message |
---|---|---|---|
customer.user_uuid | String | Valid user_uuid | If this field is supplied, order is associated with that user. If this field is supplied but the value is null, a new user is created and the order is associated with that user. If this field is not supplied, or field value given is 0, a guest checkout is initiated. |
customer.first_name | String | Maximum character = 40 | first_name cannot exceed 40 characters. |
customer.last_name | String | Maximum character = 40 | last_name should be less than or equal to 40 characters. |
customer.email | String | Valid email address | email address is invalid. |
customer.phone | String | Valid phone number | phone number is invalid. |
customer.billing_address/ shipping_address.address_line1 | String | Maximum character = 70 | address_line1 should be less than or equal to 70 characters. |
customer.billing_address/ shipping_address.address_line2 | String | Maximum character = 70 | address_line2 should be less than or equal to 70 characters. |
customer.billing_address/ shipping_address.country | String | Accepts a value from a set of pre-defined objects | country is invalid. |
customer.billing_address/ shipping_address.state | String | Must belong to selected country | state must belong to the country that is provided. |
customer.billing_address/ shipping_address.city | String | Must belong to selected state | city must belong to the state that is provided. |
customer.billing_address/ shipping_address.postcode | String | Must belong to selected city | postcode must belong to the city that is provided. |
event_start_on | Datetime (UTC) | yyyy-mm-dd | Must be a valid occurrence datetime. |
line_items.serial | String | Numeric | serial only accepts numerical values. |
line_items.type | String | ticket, merchandise | invalid product type. |
line_items.product | String | Valid product uuid | invalid ticket/merchandise uuid. |
line_items.quantity | Numeric | Value must be 1 for online/donation tickets | quantity cannot be greater than 1 for online tickets or donation tickets. |
line_items.price | Float | Required if donation ticket | Price for donation ticket cannot be 0. |
line_items.attributes | Array | - | Used to overwrite event and ticket configuration. |
line_items.attributes.invitations.type | String | CODE, LINK | invalid invitation type. |
line_items.attributes.invitations.value | String | Max character limit = 15 for code | invalid coupon code, invalid invitation uuid. |
line_items.attributes.additional_details | Array | - | Used in collecting order form data. |
line_items.attributes.additional_details. attributes.name | String | - | According to order form of the event. |
line_items.attributes.additional_details. attributes.value | String | - | According to order form of the event. |
coupons.code | String | Max character limit = 15 | invalid coupon code. |
invitations.type | String | CODE, LINK | invalid invitation type. |
invitations.value | String | Max character limit = 15 for code | invalid invitation code, invalid invitation uuid. |
notifications.type | String | email, phone | invalid notification type. |
notifications.value | String | Valid email address or phone number | invalid email address, invalid phone number. |
payments.amount | Money | - | - |
payments.method | Enum | CARD, CASH, COMPLEMENTARY | invalid method. |
payments.attributes | - | - | Used for collecting payment method-related information, such as card number, expiry date, cvv code for CARD; or payment-related details for CASH. |
extended_settings. accept_terms_and_condition | Boolean | Must be checked | You must agree to the terms and conditions to attend this event. |
Response
The response provides list of orders associated with the specified event, encompassing order details such as unique identifiers (UUID and code), customer information (name, email, address), a link to download the corresponding order PDF, event specifics (name, date, settings), and a breakdown of ordered items (products or tickets), including attributes like name, description, and price. Furthermore, the response encompasses payment details, including the payment method, status, and date, as well as a summary of the order, including taxes, service fees, and the total amount. To effectively manage large datasets, pagination data is incorporated, displaying the total number of records, the current position within the dataset, and the available rows for the current page.
{
"statusCode": 201,
"result": {
"order": {
"uuid": "UUID",
"code": "ORDER_CODE",
"customer": {
"uuid": "CUSTOMER_UUID",
"user_id": "USER_ID",
"first_name": "FIRST_NAME",
"last_name": "LAST_NAME",
"email": "EMAIL",
"phone": "PHONE",
"image": "IMAGE_URL",
"billing_address": {
"address_line1": "BILLING_ADDRESS_LINE1",
"address_line2": "BILLING_ADDRESS_LINE2",
"country": "BILLING_COUNTRY",
"state": "BILLING_STATE",
"city": "BILLING_CITY",
"post_code": "BILLING_POST_CODE"
},
"shipping_address": {
"address_line1": "SHIPPING_ADDRESS_LINE1",
"address_line2": "SHIPPING_ADDRESS_LINE2",
"country": "SHIPPING_COUNTRY",
"state": "SHIPPING_STATE",
"city": "SHIPPING_CITY",
"post_code": "SHIPPING_POST_CODE"
}
},
"order_pdf_link": "ORDER_PDF_LINK",
"event": {
"uuid": "EVENT_UUID",
"name": "EVENT_NAME",
"banner": [
{
"name": "BANNER_NAME",
"image": "BANNER_IMAGE_URL",
"primary": true
}
],
"thumb": "EVENT_THUMBNAIL",
"event_start_on": {
"utc": "EVENT_START_UTC",
"local": "EVENT_START_LOCAL"
},
"event_end_on": {
"utc": "EVENT_END_UTC",
"local": "EVENT_END_LOCAL"
},
"organisation_uuid": "ORGANISATION_UUID",
"type": "EVENT_TYPE",
"map_link": "EVENT_MAP_LINK",
"settings": {
"order_cancel": {
"enabled": false,
"type": "CANCEL_TYPE",
"duration": 0,
"refund_amount_percent": 0
},
"include_tax_or_gst": false,
"company_registration_details": null,
"organisation_entity_name": null,
"dgr_status": false,
"is_enable_full_day": false,
"is_enable_service_charge": false,
"is_enable_datetime_conversion": false,
"is_enable_qr_code_on_tickets": true,
"is_enable_qr_code_individually_on_ticket": false
}
},
"organisation": {
"uuid": "ORGANISATION_UUID",
"name": "ORGANISATION_NAME",
"image": "ORGANISATION_IMAGE_URL",
"email": "ORGANISATION_EMAIL",
"phone": "ORGANISATION_PHONE",
"addresses": {
"address_line1": "ORGANISATION_ADDRESS_LINE1",
"address_line2": "ORGANISATION_ADDRESS_LINE2",
"country": "ORGANISATION_COUNTRY",
"state": "ORGANISATION_STATE",
"city": "ORGANISATION_CITY",
"post_code": "ORGANISATION_POST_CODE",
"timezone": "ORGANISATION_TIMEZONE"
}
},
"line_items": [
{
"serial": 1,
"product": {
"uuid": "PRODUCT_UUID",
"type": "PRODUCT_TYPE",
"attributes": [
{
"name": "PRODUCT_NAME",
"value": "PRODUCT_NAME_VALUE"
},
{
"name": "PRODUCT_VARIATION",
"value": "PRODUCT_VARIATION_VALUE"
},
{
"name": "PRODUCT_DESCRIPTION",
"value": "PRODUCT_DESCRIPTION_VALUE"
},
{
"name": "PRODUCT_INSTRUCTION",
"value": "PRODUCT_INSTRUCTION_VALUE"
},
{
"name": "PRODUCT_IMAGE",
"value": "PRODUCT_IMAGE_URL"
},
{
"name": "EVENT_NAME",
"value": "EVENT_NAME_VALUE"
},
{
"name": "OCCURRENCE_UUID",
"value": "OCCURRENCE_UUID_VALUE"
},
{
"name": "SESSION_UUID",
"value": "SESSION_UUID_VALUE"
},
{
"name": "SESSION_NAME",
"value": "SESSION_NAME_VALUE"
},
{
"name": "EVENT_START_ON",
"value": {
"utc": "EVENT_START_UTC",
"local": "EVENT_START_LOCAL"
}
},
{
"name": "EVENT_END_ON",
"value": {
"utc": "EVENT_END_UTC",
"local": "EVENT_END_LOCAL"
}
},
{
"name": "EVENT_IMAGE",
"value": [
{
"name": "BANNER_NAME",
"image": "EVENT_IMAGE_URL",
"primary": true
}
]
},
{
"name": "EVENT_ADDRESS",
"value": {
"latitude": "LATITUDE",
"longitude": "LONGITUDE",
"address": {
"address_line1": "ADDRESS_LINE1",
"address_line2": "ADDRESS_LINE2",
"country": "COUNTRY",
"state": "STATE",
"city": "CITY",
"post_code": "POST_CODE"
}
}
},
{
"name": "TICKET",
"value": {
"uuid": "TICKET_UUID",
"code": [
{
"type": "QR",
"value": "QR_CODE",
"image": "QR_IMAGE_URL"
}
],
"ticket_reference_code": "TICKET_REFERENCE_CODE",
"digital_pass_url": "DIGITAL_PASS_URL",
"is_donation": false,
"is_enable_qr_code": true,
"seat": "SEAT_INFORMATION",
"attendee": {
"uuid": "ATTENDEE_UUID",
"attributes": [],
"additional_details": {
"uuid": null,
"attributes": []
}
}
}
}
]
},
"quantity": "QUANTITY",
"quantity_included": "QUANTITY_INCLUDED",
"price": {
"amount": "PRICE_AMOUNT",
"display_text": "PRICE_DISPLAY_TEXT"
},
"discount": {
"amount": "DISCOUNT_AMOUNT",
"display_text": "DISCOUNT_DISPLAY_TEXT"
},
"service_fee": {
"amount": "SERVICE_FEE_AMOUNT",
"display_text": "SERVICE_FEE_DISPLAY_TEXT"
},
"processing_fee": {
"amount": "PROCESSING_FEE_AMOUNT",
"display_text": "PROCESSING_FEE_DISPLAY_TEXT"
},
"tax": {
"amount": "TAX_AMOUNT",
"display_text": "TAX_DISPLAY_TEXT"
},
"subtotal": {
"amount": "SUBTOTAL_AMOUNT",
"display_text": "SUBTOTAL_DISPLAY_TEXT"
}
}
],
"summary": {
"coupons": [],
"service_fee": {
"amount": "SERVICE_FEE_AMOUNT",
"display_text": "SERVICE_FEE_DISPLAY_TEXT"
},
"processing_fee": {
"amount": "PROCESSING_FEE_AMOUNT",
"display_text": "PROCESSING_FEE_DISPLAY_TEXT"
},
"tax": {
"amount": "TAX_AMOUNT",
"display_text": "TAX_DISPLAY_TEXT"
},
"subtotal": {
"amount": "SUBTOTAL_AMOUNT",
"display_text": "SUBTOTAL_DISPLAY_TEXT"
},
"total": {
"amount": "TOTAL_AMOUNT",
"display_text": "TOTAL_DISPLAY_TEXT"
},
"total_tickets": {
"amount": "TOTAL_TICKETS_AMOUNT",
"display_text": "TOTAL_TICKETS_DISPLAY_TEXT"
}
},
"payments": {
"payment_amount": "PAYMENT_AMOUNT",
"method": "PAYMENT_METHOD",
"status": "PAYMENT_STATUS",
"date": {
"utc": "PAYMENT_DATE_UTC",
"local": "PAYMENT_DATE_LOCAL"
},
"attributes": []
},
"timezone": "TIMEZONE",
"currency": "CURRENCY",
"tax": [
{
"name": "TAX_CODE",
"value": "TAX_CODE_VALUE"
},
{
"name": "rate",
"value": "TAX_RATE"
}
],
"price_is_tax_inclusive": 1,
"instruction": {
"title": "INSTRUCTION_TITLE",
"description": "INSTRUCTION_DESCRIPTION"
},
"additional_details": [],
"invitations": [
{
"type": "INVITATION_TYPE",
"value": "INVITATION_VALUE"
}
],
"notifications": [],
"extended_settings": [],
"status": "ORDER_STATUS",
"extended_status": [
{
"name": "payment",
"value": "PAYMENT_STATUS"
},
{
"name": "fulfilment",
"value": "FULFILMENT_STATUS"
},
{
"name": "refund",
"value": "REFUND_STATUS"
}
],
"is_orphan": false,
"is_dirty": false,
"booking_type": "BOOKING_TYPE",
"created_on": "CREATED_ON",
"updated_on": "UPDATED_ON"
}
}
}
Attribute | Type | Description |
---|---|---|
statusCode | Integer | HTTP status code for the response |
result | Object | Contains the main response data |
result.order.uuid | String (UUID) | Unique identifier for the order |
result.order.code | String | Code representing the order |
result.order.customer.uuid | String (UUID) | Unique identifier for the customer |
result.order.customer.user_id | String | User ID associated with the customer |
result.order.customer.first_name | String | First name of the customer |
result.order.customer.last_name | String | Last name of the customer |
result.order.customer.email | String | Email address of the customer |
result.order.customer.phone | String | Phone number of the customer |
result.order.customer.image | String (URL) | URL of the customer’s profile image |
result.order.customer.billing_address | Object | Billing address of the customer |
result.order.customer.shipping_address | Object | Shipping address of the customer |
result.order.order_pdf_link | String (URL) | Link to the order PDF |
result.order.event.uuid | String (UUID) | Unique identifier for the event |
result.order.event.name | String | Name of the event |
result.order.event.banner | Array of Objects | List of banners associated with the event |
result.order.event.thumb | String (URL) | Thumbnail image URL for the event |
result.order.event.event_start_on | Object (Date) | Event start time (UTC and local) |
result.order.event.event_end_on | Object (Date) | Event end time (UTC and local) |
result.order.event.organisation_uuid | String (UUID) | Unique identifier for the organisation |
result.order.event.type | String | Type of the event |
result.order.event.map_link | String (URL) | URL to the event map |
result.order.event.settings | Object | Event settings including options like cancelation, taxes, etc. |
result.order.organisation.uuid | String (UUID) | Unique identifier for the organisation |
result.order.organisation.name | String | Name of the organisation |
result.order.organisation.image | String (URL) | URL of the organisation’s image |
result.order.organisation.email | String | Email address of the organisation |
result.order.organisation.phone | String | Phone number of the organisation |
result.order.organisation.addresses | Object | Address details of the organisation |
result.order.line_items | Array of Objects | List of line items for the order |
result.order.line_items.product | Object | Product details for each line item |
result.order.line_items.product.attributes | Array of Objects | Attributes associated with the product |
result.order.line_items.price | Object | Price details for the line item |
result.order.line_items.discount | Object | Discount details for the line item |
result.order.line_items.service_fee | Object | Service fee details for the line item |
result.order.line_items.processing_fee | Object | Processing fee details for the line item |
result.order.line_items.tax | Object | Tax details for the line item |
result.order.line_items.subtotal | Object | Subtotal details for the line item |
result.order.summary | Object | Summary of the order including coupons, fees, and totals |
result.order.payments | Object | Payment details for the order |
result.order.timezone | String | Timezone of the order |
result.order.currency | String | Currency used in the order |
result.order.tax | Array of Objects | Tax details applied to the order |
result.order.price_is_tax_inclusive | Integer | Flag indicating if the price includes tax (1 = Yes, 0 = No) |
result.order.instruction | Object | Instruction details for the order |
result.order.additional_details | Array of Objects | Additional details related to the order |
result.order.invitations | Array of Objects | Invitations related to the order |
result.order.notifications | Array of Objects | Notifications related to the order |
result.order.extended_settings | Array of Objects | Extended settings related to the order |
result.order.status | String | Current status of the order |
result.order.extended_status | Array of Objects | Extended statuses for payment, fulfillment, refund, etc. |
result.order.is_orphan | Boolean | Flag indicating if the order is orphaned (no associated customer) |
result.order.is_dirty | Boolean | Flag indicating if the order is marked as dirty (needs review) |
result.order.booking_type | String | Type of booking for the order |
result.order.created_on | String (Date) | Date when the order was created |
result.order.updated_on | String (Date) | Date when the order was last updated |