Travel Booking
For merchants offering flights booking, OTA merchants, etc.
List of Parameters
| Field | Data Type | Required | Description | ||
|---|---|---|---|---|---|
| total_amount | Object | Required | Total amount to be charged to customer, not including any discount amount(item amount + tax amount + shipping amount - discount amount) | ||
| amount | Number | Required | The exact format depends on the currency. By default we support 2 decimals, for BHD and KWD we support 3 decimals | ||
| currency | String | Required | The three-letter ISO currency code e.g SAR | ||
| shipping_amount | Object | Required | |||
| amount | Number | Required | |||
| currency | String | Required | |||
| tax_amount | Object | Required | |||
| amount | Number | Required | |||
| currency | String | Required | |||
| order_reference_id | String | Required | The unique order id from the merchant side, this will be used with the settlement and reports | ||
| order_number | String | Optional | The order number from the merchant side, this will be used for communication with the customer. If not passed, it will take the order_reference_id value | ||
| discount | Object | Optional | Required only if you allow your customers to use a promo/coupon code on your checkout page | ||
| name | String | ||||
| amount | Object | ||||
| amount | |||||
| currency | |||||
| risk_assessment | Object | Required | Risk assessment information from the merchant side | ||
| is_premium_customer | Boolean | Required | Any subscription package/ VIP segmentation of customers | ||
| account_creation_date | String | Required | Date when the customer registered their account (format: dd-mm-yyyy) | ||
| total_order_count | Integer | Required | No. of successful orders of customer on merchant | ||
| risk_score | Integer | Required | Aggregated transaction/ customer risk score by merchant(if available) | ||
| travel_data | Object | Required | |||
| origin | String | Required | Origin IATA Code | ||
| destination | String | Required | Destination IATA Code | ||
| travel_type | String | Required | Domestic/ International | ||
| trip_type | String | Required | OneWay/ Return/ MultipleDestination/ Unknown/ Null | ||
| class | String | Required | Flight ticket Type, for e.g., Economy/ Premium/ Business | ||
| number_of_passengers | Number | Required | Number of passengers within this booking | ||
| travel_date | String | Required | Departure date of flight (format: dd-mm-yyyy) | ||
| is_refundable_booking | Boolean | Required | Whether the customer can request for refund for this booking | ||
| consumer | Object | Required | The customer's identifying details. | ||
| String | Optional | Limited to 128 characters. | |||
| phone_number | String | Required | Limited to 32 characters. | ||
| first_name | String | Required | |||
| last_name | String | Required | |||
| items | Array of Objects | Required | Item-specific details from the order | ||
| reference_id | String | Required | The unique id of the product from the merchant side | ||
| type | String | Required | The type of the product e.g., Digital. | ||
| name | String | Required | The name of the productLimited to 255 characters. | ||
| sku | String | Required | If applicable, otherwise hardcoded value can be passed. Limited to 128 characters. | ||
| quantity | Integer | Required | The number of units of the product | ||
| item_url | Url | Optional | |||
| image_url | Url | Optional | |||
| unit_price | Object | Optional | |||
| tax_amount | Object | Optional | |||
| amount | Number | ||||
| currency | String | ||||
| discount_amount | Object | Optional | |||
| amount | Number | ||||
| currency | String | ||||
| total_amount | Object | Required | |||
| amount | Number | Required | |||
| currency | String | Required | |||
| country_code | String | Required | The two-character ISO 3166-1 country code | ||
| description | String | Required | Brief details about the order | ||
| merchant_url | Object | Required | This object includes all the redirect URLs that the customer will be redirected to from the Tamara checkout page in different cases. | ||
| cancel | Url | Required | When the user manually cancels the checkout session | ||
| failure | Url | Required | When the checkout session fails due to a network error or the user is declined | ||
| success | Url | Required | When the checkout session is successful | ||
| billing_address | Object | ||||
| city | String | ||||
| country_code | String | ||||
| first_name | String | ||||
| last_name | String | ||||
| line1 | String | ||||
| line2 | String | ||||
| phone_number | String | ||||
| region | String | ||||
| shipping_address | Object | Required (Optional, if not available for digital services) | |||
| city | String | Required | |||
| country_code | String | Required | |||
| first_name | String | Required | |||
| last_name | String | Required | |||
| line1 | String | Required | |||
| line2 | String | Required | |||
| phone_number | String | Required | |||
| region | String | Required | |||
| locale | String | Required | (Recommended to be passed for optimum customer experience) | ||
| platform | String | Required | The platform where the Tamara order is being initiated from, for e.g., web, mobile, etc. | ||
| is_mobile | Boolean | Required | Whether the order is being initiated from a mobile device or not | ||
| payment_type | String | Required only if single checkout is disabled | |||
| instalments | Integer | Required only if single checkout is disabled | |||
| expire_in_minutes | Integer | Required only if custom | Order expiry time in minutes | ||
| additional_data | Object | Any additional order data information from the merchant side |
Request Payload Sample
{
"total_amount": {
"amount": 50.00,
"currency": "SAR"
},
"shipping_amount": {
"amount": 1,
"currency": "SAR"
},
"tax_amount": {
"amount": 7.35,
"currency": "SAR"
},
"order_reference_id": "abd12331-a123-1234-4567-473fkid5",
"risk_assessment": {
"is_premium_customer": true,
"account_creation_date": "31-01-2019",
"total_order_count": 12,
"risk_score": 5,
"travel_data": {
"origin": "RUH",
"destination": "JED",
"travel_type": "Domestic",
"trip_type": "Return",
"class": "Economy",
"number_of_passengers": 3,
"travel_date": "24-08-2024",
"is_refundable_booking": "true"
}
},
"consumer": {
"phone_number": "502223333",
"first_name": "Mona",
"last_name": "Lisa",
"email": "[email protected]"
},
"items": [
{
"total_amount": {
"amount": 304.04,
"currency": "SAR"
},
"reference_id": "SA-12436",
"type": "Digital",
"name": "RUH - JED Return Ticket",
"sku": "SA-12436",
"quantity": 1,
"tax_amount": {
"amount": 0,
"currency": "SAR"
}
}
],
"country_code": "SA",
"description": "Test Order",
"merchant_url": {
"cancel": "http://example.com/#/cancel",
"failure": "http://example.com/#/fail",
"success": "http://example.com/#/success"
},
"shipping_address": {
"country_code": "SA",
"first_name": "Mona",
"last_name": "Lisa",
"line1": "3764 Al Urubah Rd",
"line2": "string",
"region": "As Sulimaniyah",
"postal_code": "12345",
"city": "Riyadh",
"phone_number": "502223333"
},
"locale": "ar_SA",
"platform": "platform name here",
"is_mobile": false
}Updated about 1 hour ago
