Hotel Booking

For merchants offering hotel booking, hospitality services, 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)

date_first_paid

String

Required

Date of first successful order. Will be null if first order (format: dd-mm-yyyy)

date_last_paid

String

Required

Date of last successful order. Will be null if first order (format: dd-mm-yyyy)

order_count_last_24h

Integer

Optional

No. of successful orders of customer on merchant, in the last 24 hours

account_security

Object

Optional

Security and identity signals.

is_email_verified

Boolean

Optional

true if email is verified by merchant.

is_phone_verified

Boolean

Optional

true if email is verified by merchant.

password_last_changed

String

Optional

Date of last password reset (format: dd-mm-yyyy).

last_login_date

String

Optional

Date of last login (format: dd-mm-yyyy).

last_verification_method

String

Optional

Method used for last authentication, for e.g., OTP, Biometric, etc..

device_id

String

Optional

Unique device fingerprint/ID from merchant. Any Hash (#) device ID

devices_linked

Integer

Optional

Number of active devices linked to the account.

hotels_itinerary

Object

Required

checkin_date

String

Required

Check-in Date (format: dd-mm-yyyy)

checkout_date

String

Required

Check-out Date (format: dd-mm-yyyy)

number_of_guests

Integer

Required

Number of guests within this booking

name_of_guests

Object

Optional

Names of guests within this booking

_guest1_name

String

Optional

_guest2_name

String

Optional

ticket_delivery_recipient

String

Required

Email or Phone Number where tickets are sent.

number_of_rooms

Integer

Optional

Number of rooms within this booking

hotel_name

String

Required

Name of the Hotel or Property.

hotel_city

String

Required

City IATA Code

hotel_country

String

Required

Country IATA Code (two-character ISO 3166-1 country code)

hotel_room_class

String

Required

Category of room, for e.g., e.g., Standard, Suite, Deluxe.

is_refundable_booking

Boolean

Required

Whether the customer can request for refund for this booking

host

Object

Conditional

Host details. Required in case of rentals.

_host_registration_date

String

Required

Date when the host registered their account on the platform (format: dd-mm-yyyy)

_host_number_of_reservations

Integer

Required

Total number of reservations fulfilled by this host with the merchant.

consumer

Object

Required

The customer's identifying details.

email

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

Comprehensive details about the items in 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 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,
        "date_first_paid": "31-01-2019",
        "date_last_paid": "31-01-2026",
        "order_count_last_24h": 0,
        "account_security": {
            "is_email_verified": true,
            "is_phone_verified": true,
            "password_last_changed": "31-01-2026",
            "last_login_date": "31-01-2026",
            "last_verification_method": "OTP",
            "device_id": "#123",
            "devices_linked": "2"
        },
        "hotels_itinerary": {
            "checkin_date": "24-08-2025",
            "checkout_date": "25-08-2025",
            "number_of_guests": 2,
            "name_of_guests": {
                "guest1_name": "ABC DEF",
                "guest2_name": "UVW XYZ"
            },
            "ticket_delivery_recipient": "[email protected]",
            "number_of_rooms": 2,
            "hotel_name": "Radisson",
            "hotel_city": "Riyadh",
            "hotel_country": "SA",
            "hotel_room_class": "Standard",
            "is_refundable_booking": "true",
            "host": {
                "host_registration_date": "24-08-2020",
                "host_number_of_reservations": "15"
            }
        }
    },
    "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": "Happy Hotel Reservation",
            "sku": "SA-12436",
            "quantity": 1,
            "tax_amount": {
                "amount": 0,
                "currency": "SAR"
            }
        }
    ],
    "country_code": "SA",
    "description": "Test Hospitality 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
}