Skip to content

Hotel Book

Note:
Few attributes in below sample response are supplier specific, hence there can be possibility these attributes will not appear in the response. We recommend you to parse these fields as mentioned in the sample responses.

api/v1/reservation/hotel-book
  • This service method is used to confirm a hotel selected room booking.

    The ClientReference should be unique for all the bookings. You can provide your booking reference number in ClientReference tag as well.

    The MiddleName should be passed if pan is mandatory in Hotel room service.Passenger name and pan number should be matching with pan card details.


Hotel Book Request

Tags Attribute Description
HotelBookingCriteria (JsonObject)
searchKey*
(String)
Unique Key for the search .This should be taken from Hotel search response
clientReference*
(String)
Unique Key for client reference .This should be unique for all bookings.
bookingKey*
(String)
Unique Key for the booking
hotelKey*
(String)
Unique Key for Hotels ,This should be taken from Hotel search response
totalNet*
(Double)
Total booking amount
currency*
(String)
selling currency
culture*
(String)
language
stayDateRange (JsonObject)
checkIn*
(String)
checkin Date
checkOut*
(String)
checkout date
Hotel (JsonObject)
rooms (JsonArray)
room (JsonObject)
roomIndex*
(String)
this attribute represents the room number.This should be taken from Hotel search response
roomKey*
(String)
unique key for the room .This should be taken from Hotel search response
passengers (JsonObject)
passenger (JsonArray)
passengerKey*
(String)
this is the unique key for the passenger
isLead*
(Boolean)
true if for the lead passenger
ptc*
(String)
passenger type (ADT for adult,CHD for child)
mealPreference
(String)
passenger's meal preference
passengerInfo (JsonArray)
givenName*
(String)
first name
middleName*
(String)
middle name should be passed if pan is mandatory in Hotel room service
surName*
(String)
surname
gender*
(String)
gender
nameTitle*
(String)
salutation Eg(mr,ms)
birthday*
(String)
passenger's birthdate
contact (JsonArray)
postalAddress (JsonObject)
label
(String)
label
Not released yet
street
(String)
street name
Not released yet
postalCode
(String)
postal code
Not released yet
cityName
(String)
city name
Not released yet
countryCode
(String)
country code
Not released yet
contactsProvided (JsonArray) Supports only for a single contact provide
contactsProvided (JsonObject)
emailAddress*
(listOfString)
email address - supports only for a single email id
phone (JsonObject)
label
(String)
label
Not released yet
phoneNumber *
(String)
phone number
areaCode *
(String)
area code
loyaltyProgramAccount (JsonObject)
accountNumber
(String)
account number
Not released yet
dateOfIssue
(String)
date of issue
Not released yet
placeOfIssue
(String)
place of issue
Not released yet
expDate
(String)
expiry date
Not released yet
identityDocument (JsonObject)
idType
(String)
identification type (PAN,PASSPORT) are the supported types
idDocumentNumber
(String)
id number
isCorporatePAN
(String)
(only for PAN type) - if it is a corporate PAN
issuingCountryCode
(String)
country of issue
applicableCountry
(String)
applicable country
Not released yet
placeOfBirth
(String)
birth place
Not released yet
dateOfIssue
(String)
issue date
residenceCountryCode
(String)
residence country
Not released yet
expiryDate
(String)
expiry date
hotelRequests (JsonObject)
ssr (JsonArray)
text
(String)
special service requests
taxDetails (JsonObject)
taxName
(String)
Tax name
regNo
(String)
Register number
companyName
(String)
Company name
emailAddress
(String)
Email address
phoneNo
(String)
Phone number
address
(String)
Address
paymentDetails paymentDetails *
(Object)
paymentMode *
(String)
payment mode (only CREDIT_CODE payment mode is supported)
cardInfo
(String)
Encrypted.card.details.to.be.passed.here .This is compulsory only when payment type is CC.


hotel book request
{
  "searchKey": "7f09414f-75e8-4194-a044-7899fd7bc5a8",
  "clientReference": "rest-ws-13",
  "bookingKey": "6053bd46-c8f4-4699-b67a-ddd213f25798",
  "hotelKey": "7f09414f-75e8-4194-a044-7899fd7bc5a80000DOTWHTR00000000",
  "totalNet": 6099.71,
  "currency": "INR",
  "culture": "en",
  "stayDateRange": {
    "checkIn": "2022-09-26",
    "checkOut": "2022-09-27"
  },
  "hotel": {
    "rooms": [
      {
        "roomIndex": 1,
        "roomKey": "546816_f6fe36d1-cc14-4ba0-8898-5722bf8c0a8a0000DOTWHTR00000000RCMB00000000",
        "passengers": [
          {
            "passengerKey": "1",
            "isLead": true,
            "ptc": "ADT",
            "mealPreference": "male",
            "passengerInfo": {
              "birthDate": "1993-08-14",
              "gender": "Male",
              "nameTitle": "DR",
              "givenName": "TEST",
              "middleName": "Test",
              "surname": "ONE"
            },
            "loyaltyProgramAccount": [
              {
                "accountNumber": 20372591
              },
              {
                "providerName": "Avios",
                "accountNumber": 20372591,
                "tierCode": "GOLD"
              },
              {
                "programName": "On Business",
                "accountNumber": "OB372591"
              }
            ],
            "identityDocuments": [
              {
                "idDocumentNumber": "pan-005-004",
                "idType": "PAN",
                "isCorporatePAN": false
              },
              {
                "idDocumentNumber": "2342352352352",
                "idType": "PASSPORT",
                "issuingCountryCode": "delhi",
                "dateOfIssue": "1990-09-27",
                "expiryDate": "2025-09-27"
              },
              {
                "idDocumentNumber": "12345678V",
                "idType": "VI",
                "issuingCountryCode": "GBR",
                "applicableCountry": "IND",
                "placeOfBirth": "IND",
                "dateOfIssue": "YYYY-MM-DD"
              }
            ],
            "contact": {
              "postalAddress": {
                "label": "AddressAtDestination",
                "street": [
                  "Beeches Apartment",
                  "200 Lampton Road"
                ],
                "postalCode": "TW345RT",
                "cityName": "NYK",
                "countryCode": "USA"
              },
              "contactsProvided": [
                {
                  "emailAddress": [
                    "AA@BA.COM"
                  ],
                  "phone": [
                    {
                      "label": "",
                      "areaCode": 44,
                      "phoneNumber": 2087385301
                    }
                  ]
                }
              ]
            },
            "hotelRequests": {
              "ssr": [
                {
                  "text": "COT required"
                }
              ]
            },
            "additionalProperties": [
              {
                "key": "key1",
                "value": "value1",
                "description": "description"
              },
              {
                "key": "key1",
                "value": "value1",
                "description": "description"
              }
            ]
          }
        ]
      }
    ]
  },
  "taxDetails": {
    "taxName": "gst",
    "registerNumber": "12asdfh1234k1z1",
    "companyName": "testcomp",
    "emailAddress": "test@gmail.com",
    "phoneNumber": "9879879877",
    "address": "vashi"
  },
  "paymentDetails": {
    "paymentMode": "CR",
    "cardInfo": "encripted.card.details.to.be.passed.here",
    "address": {
      "label": "Billing",
      "street": [
        "Beeches Apartment",
        "200 Lampton Road"
      ],
      "postalCode": "TW345RT",
      "cityName": "NYK",
      "countryCode": "USA"
    }
  }
}



Hotel Book Response

Tags Attribute Description
meta meta
(Object)
success
(Boolean)
statusCode
(String)
statusMessage
(String)
actionType
(String)
This attribute will indicate that client request type such as Hotel search , Prov book and Book etc... . This is for information purpose.
conversationId
(String)
conversationId a unique identifier of current conversation .
commonData (JsonObject)
commonData searchKey*
(String)
unique search key.
commonData productCode*
(String)
Product code for hotels - H
commonData culture*
(String)
en
data (JsonArray) This encloses hotel information.
data bookingReferenceId*
(String)
This attribute contains the unique booking reference id.
data clientReference *
(String)
This attribute contains the client reference id.
data supplierReferenceId *
(String)
This attribute contains the supplier ReferenceId.
data bookingStatus*
(String)
1. CONFIRMED and VOUCHERED then booking is successfully done on supplier side
2. ON REQUEST and IN PROGRESS then please check Booking Failure Handling
3. NOT AVAILABLE then booking is failed on supplier side.
data transactionDate*
(String)
Date of which the transaction has been placed.
hotel name*
(String)
This attribute contains hotel name.
totalNet*
(String)
This attribute contains selling price.
currency*
(String)
This attribute contains currency of booking price.
hotelKey*
(String)
This attribute contains a unique hotel id.
checkInDate*
(String)
This attribute contains the check-in date.
checkoutDate*
(String)
This attribute contains the check-out date.
rooms (JsonArray)* This encloses room information
room (JsonObject)
room roomKey*
(String)
This attribute contains the room's unique id.
room roomIndex*
(String)
represents the room number
room roomId*
(String)
This attribute contains the room id.
room ruleInfo
(String)
This attribute contains data for room rules.
38
room roomTypeName *
(String)
Room type Eg: Deluxe Room
room standardizedRoomName
(String)
Standard room name provided by hotel content solution provider (CSP). This tag will only come if any Hotel CSP enabled.
room roomTypeDesc *
(String)
Room type description
room bedType
(String)
bed type provided in the room Eg: Double
room roomView
(String)
room view description Eg: mountain view
room maxOccupancy
(Integer)
Max occupancy of a room.
room sizeMeasurement
(String)
size of the room.
room rateNotes
(String)
Eg: please Note That Three Bedroom Residence is Located In The Residence Building
passengerMandatoryData (JsonObject)
isEmailId
(Boolean)
If the value of the attribute is true then send email id details in the booking request
Not released yet
isPAN
(Boolean)
If the value of the attribute is true then send pan details in the booking request.
Not released yet
isPassport
(Boolean)
If the value of the attribute is true then send passport details in the booking request.
Not released yet
isPhoneNo
(Boolean)
If the value of the attribute is true then send phone number details in the booking request.
Not released yet
ratePlan (JsonObject) *
ratePlan supplierCode *
(String)
ratePlan meal *
(String)
Meal plan
ratePlan standardizedMeal
(String)
Standard meal plan provided by hotel content solution provider (CSP). This tag will only come if any Hotel CSP enabled.
ratePlan availableStatus *
(String)
availability status of the room
ratePlan cancelPolicyIndicator
(String)
The cancel policy indicators Eg: refundable
ratePlan code *
(String)
This attribute contains the room contract details
ratePlan isPackage
(String)
Shows if the room rate is a package.
ratePlan fixedCombo *
(Boolean)
Shows room selection is combined or flexible.
ratePlan combinePolicy *
(Boolean)
Shows if cancellation policy is combined or roomwise.
ratePlan inclusions
(String)
Room inclusion details Eg: ["Free Wifi", "Free pool"]
ratePlan rateType
(String)
Contains rate type Eg: Retail/Corporate
ratePlan gstAssured
(Boolean)
This indicated that available room hotel is GST assured and you can make request for GST invoices
ratePlan lastCancellationDate
(Date)
Indicates last cancellation date
roomRate (JsonObject)
roomRate currency*
(String)
Contains selling currency room price
roomRate netAmount*
(Double)
Selling price of a room.
supplierAdditionalFareInfo (JsonObject)
Not released yet
supplierAdditionalFareInfo currency
(String)

Not released yet
supplierAdditionalFareInfo discount
(Double)

Not released yet
supplierAdditionalFareInfo publishedFare
(Double)

Not released yet
supplierAdditionalFareInfo commissionEarned
(Double)

Not released yet
supplierAdditionalFareInfo offeredFare
(Double)

Not released yet
supplierAdditionalFareInfo tdsOnCommission
(Double)

Not released yet
supplierAdditionalFareInfo serviceFee
(Double)

Not released yet
customerAdditionalFareInfo (JsonObject)
Not released yet
customerAdditionalFareInfo transactionFeeEarned
(Double)

Not released yet
customerAdditionalFareInfo tdsOnCommission
(Double)

Not released yet
customerAdditionalFareInfo commissionEarned
(Double)

Not released yet
customerAdditionalFareInfo markupEarned
(Double)

Not released yet
customerAdditionalFareInfo discount
(Double)

Not released yet
customerAdditionalFareInfo vat
(Double)

Not released yet
customerAdditionalFareInfo cgst
(Double)

Not released yet
customerAdditionalFareInfo sgst
(Double)

Not released yet
customerAdditionalFareInfo igst
(Double)

Not released yet
taxes (JsonArray)
tax (JsonObject)
tax name
(String)
Tax name
Not released yet
tax amount
(Double)
Tax amount
Not released yet
tax included
(Boolean)
Shows if the tax is included in the room rate or not.
Not released yet
rates (JsonArray) *
rate (JsonObject)
rate name *
(String)
Name of the rate Eg: daily rates
Not released yet
rate amount *
(String)
Rate amount
Not released yet
rate from *
(Date)
Start date of room rate.
Not released yet
rate to *
(Date)
End date of room rate.
Not released yet
rate rateIndex *
(String)
Rate number
Not released yet
offers (JsonArray)
offer (JsonObject)
offer code
(String)
Offer Code
offer name
(String)
Offer name
offer from
(Date)
Start date from that date offer will apply
offer to
(Date)
End date where the offer will expire
offer amount
(Double)
Offer amount
offer included
(Boolean)
indicate that the offer is applied or not
supplements (JsonArray)
supplement (JsonObject)
supplement supplementKey
(String)
Supplement key
supplement type
(String)
Supplement Type
supplement name
(String)
Supplement name
supplement from
(Date)
Start date from that date supplement will apply
supplement to
(Date)
End date that the supplement will expire
supplement amount
(Double)
supplement charges
supplement included
(Boolean)
indicate that the supplement is applied or not to given room
supplement currency
(String)
supplement charges currency
financialInfo (JsonObject)
financialInfo tmc
(String)
This tag contains supplier owner name.
tmc - Travel Management Company. Eg: VE
financialInfo supplier
(String)
Name of the supplier
payment (JsonObject)
payment paymentTypes
(String)
Payment types Eg: CARD,CR
payment paymentNetwork
(String)
Payment Network Codes
Not released yet
passengers (JsonArray) This encloses passenger information.
Not released yet
passenger (JsonObject) This encloses passenger information.
Not released yet
passengerKey
(String)
passenger key
isLead
(String)
true if the lead passenger Codes
Not released yet
ptc
(String)
passenger type (ADT for adult,CHD for child)
roomIndex
(Integer)
This attribute represents the room number
roomKey
(String)
unique key for the room
passengerInfo birthDate
(String)
birthdate of the passenger
gender
(String)
gender of the passenger
nameTitle
(String)
salutation (Mr., Ms,)
givenName
(String)
first name
middleName
(String)
middle name
surName
(String)
last name
loyaltyProgramAccount
(String)
This encloses loyalty information
Not released yet
accountNumber
(String)
account number
Not released yet
providerName
(String)
provider name
Not released yet
tierCode
(String)
tier code
Not released yet
programName
(String)
program name
Not released yet
identityDocument
(JsonObject)
This encloses identity documents
Not released yet
idType
(String)
id type (PAN, PASSPORT)
Not released yet
issuingCountryCode
(String)
issuing country
Not released yet
applicableCountry
(String)
applicable country
Not released yet
placeOfBirth
(String)
place of birth
Not released yet
dateOfIssue
(String)
date of issue
Not released yet
residenceCountryCode
(String)
residence country code
Not released yet
expiryDate
(String)
expiry date
Not released yet
Contact
(JsonObject)
This tag encloses contact
PostalAddress label
(JsonObject)
Not released yet</span
street
(String)
Not released yet</span
postalCode
(String)
Not released yet</span
cityName
(String)
Not released yet</span
countryCode
(String)
Not released yet</span
contactsProvided
(String)
emailAddress
(String)
Phone
(JsonObject)
label
(String)
countryCode
(String)
phoneNumber
(String)
hotelRequests
(JsonObject)
ssr
(StringArray)
voucherDocuments
(JsonObject)
This tag encloses the voucher specific information of booking.This information is needed to show on voucher.
hotelConfirmationNumber
(String)
Most of the cases this will be available only for Booking retrieve call.
status
(String)
roomBookingInfo
(JsonObject)
roomIndex
(String)
status
(String)
essentialNotes
(JsonObject)
This tag encloses the remark for room. This is mandatory information which must be displayed to the end user before booking and voucher also.
name
(String)
isMandatory
(String)
description
(String)


hotel book response
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
{
  "meta": {
    "success": true,
    "statusCode": "",
    "statusMessage": "",
    "actionType": "",
    "conversationId": "fe22cb8d-67e9-4c29-92af-e44dffdcb9a9"
  },
  "warnings": [
    {
      "code": "validation_required",
      "documentationUrl": "api-doc/docs/troubleshoot/api-error-codes/index.html",
      "message": "Check In Time' can't be blank",
      "value": "Check In Time might be changed"
    }
  ],
  "errors": [
    {
      "code": "validation_required",
      "documentationUrl": "api-doc/docs/troubleshoot/api-error-codes/index.html",
      "message": "Field 'bookingKey' can't be blank",
      "value": "Field 'bookingKey' can't be blank",
      "source": {
        "field": "bookingKey",
        "pointer": "/HotelSearchCriteria/city"
      },
      "title": "Required field",
      "type": "validation_error"
    }
  ],
  "commonData": {
    "searchKey": "string",
    "productCode": "string",
    "culture": "string"
  },

  "data": [
    {
    "bookingReferenceId": "BKR-2022-000012",
    "clientReference": "OTA-2022-is1522",
    "supplierReferenceId": "ABCDEF",
    "bookingStatus": "Confirmed",
    "transactionDate": "YYYY-MM-DD",
    "hotel": {
      "name": "caesarsPalaceBluewatersDubai",
      "totalNet": 6099.71,
      "currency": "AED",
      "checkInDate": "YYYY-MM-DD",
      "checkOutDate": "YYYY-MM-DD",
      "hotelKey": "fb0920a8-70b8-433a-a8e2-a8e32efeae5640htr00000000",
      "rooms": [
        {
          "roomIndex": "1",
          "roomKey": "fb0920a8-70b8-433a-a8e2-a8e32efeae5640htr00000001rcmb00000000",
          "roomId": "38_1",
          "ruleInfo": "38",
          "roomTypeName": "standard",
          "roomTypeDesc": "standard",
          "bedType": "double",
          "roomView": "mountainView",
          "maxOccupancy": 2,
          "sizeMeasurement": "275Sqm",
          "passengerMandatoryData": {
            "isEmailId": true,
            "isPAN": true,
            "isPassport": true,
            "isPhoneNo": true
          },
          "ratePlan": {
            "supplierCode": "1",
            "meal": "roomOnly",
            "availableStatus": "available",
            "cancelPolicyIndicator": "refundable",
            "code": "76-1360717",
            "isPackage": false,
            "fixedCombo": false,
            "combinePolicy": false,
            "inclusions": [
              "Free Wifi",
              "Free pool"
            ],
            "rateType": "retail",
            "gstAssured": false,
            "lastCancellationDate": "YYYY-MM-DD",
            "additionalProperties": [
              {
                "key": "key1",
                "value": "value1",
                "description": "description"
              },
              {
                "key": "key1",
                "value": "value1",
                "description": "description"
              }
            ]
          },
          "roomRate": {
            "supplierAdditionalFareInfo": {
              "currency": "AED",
              "discount": 0,
              "publishedFare": 5184,
              "commissionEarned": 74.36,
              "offeredFare": 5109.64,
              "tdsOnCommission": 3.72,
              "serviceFee": 0,
              "additionalProperties": [
                {
                  "key": "key1",
                  "value": "value1",
                  "description": "description"
                },
                {
                  "key": "key1",
                  "value": "value1",
                  "description": "description"
                }
              ]
            },
            "customerAdditionalFareInfo": {
              "transactionFeeEarned": 5184,
              "tdsOnCommission": 3.72,
              "commissionEarned": 74.36,
              "markupEarned": 20,
              "discount": 0,
              "vat": 0,
              "cgst": 0,
              "sgst": 0,
              "igst": 0,
              "additionalProperties": [
                {
                  "key": "key1",
                  "value": "value1",
                  "description": "description"
                },
                {
                  "key": "key1",
                  "value": "value1",
                  "description": "description"
                }
              ]
            },
            "taxes": [
              {
                "name": "VAT on NT & TF",
                "amount": 54.45,
                "included": true
              }
            ],
            "rates": [
              {
                "name": "daily rates",
                "amount": 1889.635,
                "from": "YYYY-MM-DD",
                "rateIndex": "1",
                "to": "YYYY-MM-DD"
              }
            ],
            "currency": "INR",
            "netAmount": 1889.635,
            "additionalProperties": [
              {
                "key": "key1",
                "value": "value1",
                "description": "description"
              },
              {
                "key": "key1",
                "value": "value1",
                "description": "description"
              }
            ]
          },
          "offers": [
            {
              "code": "9002",
              "name": "earlyBookingDiscount",
              "from": "YYYY-MM-DD",
              "to": "YYYY-MM-DD",
              "amount": 19.86,
              "included": true,
              "additionalProperties": [
                {
                  "key": "key1",
                  "value": "value1",
                  "description": "description"
                },
                {
                  "key": "key1",
                  "value": "value1",
                  "description": "description"
                }
              ]
            }
          ],
          "supplements": [
            {
              "supplementKey": "ABFJKHEJHBMNSDFH",
              "type": "mandatory",
              "name": "testSupplement-1",
              "from": "YYYY-MM-DD",
              "to": "YYYY-MM-DD",
              "amount": 10,
              "included": true,
              "currency": "usd",
              "additionalProperties": [
                {
                  "key": "key1",
                  "value": "value1",
                  "description": "description"
                },
                {
                  "key": "key1",
                  "value": "value1",
                  "description": "description"
                }
              ]
            },
            {
              "supplementKey": "ergerhrth",
              "type": "optional",
              "name": "testSupplement-1",
              "from": "YYYY-MM-DD",
              "to": "YYYY-MM-DD",
              "amount": 10,
              "included": false,
              "currency": "usd",
              "additionalProperties": [
                {
                  "key": "key1",
                  "value": "value1",
                  "description": "description"
                },
                {
                  "key": "key1",
                  "value": "value1",
                  "description": "description"
                }
              ]
            }
          ],
          "rateNotes": "Please note that Three Bedroom Residence is located in The Residence Building",
          "financialInfo": {
            "tmc": "VE",
            "supplier": "Hotelbed",
            "payment": {
              "paymentTypes": "CARD,CR",
              "paymentNetwork": "DS,CA,DC,VI,AX"
            },
            "additionalProperties": [
              {
                "key": "key1",
                "value": "value1",
                "description": "description"
              },
              {
                "key": "key1",
                "value": "value1",
                "description": "description"
              }
            ]
          },
          "additionalProperties": [
            {
              "key": "key1",
              "value": "value1",
              "description": "description"
            },
            {
              "key": "key1",
              "value": "value1",
              "description": "description"
            }
          ]
        }
      ]
    },
    "passengers": [
      {
        "passengerKey": "1",
        "isLead": true,
        "ptc": "ADT",
        "roomIndex": 1,
        "roomKey": "605468d722722a-acc0-4025-b2e5-f409b6a452ae40htr00000000rcmb00000000",
        "passengerInfo": {
          "birthDate": "YYYY-MM-DD",
          "gender": "Male",
          "nameTitle": "DR",
          "givenName": "TEST",
          "middleName": "Test",
          "surname": "ONE"
        },
        "loyaltyProgramAccount": [
          {
            "accountNumber": 20372591
          },
          {
            "providerName": "Avios",
            "accountNumber": 20372591,
            "tierCode": "GOLD"
          },
          {
            "airlineDesignator": "BA",
            "programName": "On Business",
            "accountNumber": "OB372591"
          }
        ],
        "identityDocuments": [
          {
            "idDocumentNumber": "12345678V",
            "idType": "PAN",
            "isCorporatePAN": false
          },
          {
            "idDocumentNumber": "12345678V",
            "idType": "VI",
            "issuingCountryCode": "GBR",
            "applicableCountry": "IND",
            "placeOfBirth": "IND",
            "dateOfIssue": "YYYY-MM-DD"
          },
          {
            "idDocumentNumber": "XYZ123456",
            "idType": "AEA",
            "issuingCountryCode": "USA",
            "residenceCountryCode": "IND",
            "expiryDate": "YYYY-MM-DD"
          }
        ],
        "contact": {
          "postalAddress": {
            "label": "AddressAtDestination",
            "street": [
              "Beeches Apartment",
              "200 Lampton Road"
            ],
            "postalCode": "TW345RT",
            "cityName": "NYK",
            "countryCode": "USA"
          },
          "contactsProvided": [
            {
              "emailAddress": [
                "AA@BA.COM"
              ],
              "phone": [
                {
                  "label": "Origin",
                  "areaCode": 44,
                  "phoneNumber": 2087385301
                }
              ]
            }
          ]
        },
        "hotelRequests": {
          "ssr": [
            {
              "text": "COT required"
            }
          ]
        },
        "additionalProperties": [
          {
            "key": "key1",
            "value": "value1",
            "description": "description"
          },
          {
            "key": "key1",
            "value": "value1",
            "description": "description"
          }
        ]
      }
    ],
    "voucherDocument":[
      {
      "hotelConfirmationNumber": "BKR-2023-005185/3003201",
      "roomBookingInfoList": [
        {
          "roomIndex": 1,
          "status": "Confirmed"
        },
        {
          "roomIndex": 2,
          "status": "Confirmed"
        }
      ],
      "essentialNotes": [
        {
          "name": "",
          "isMandatory": false,
          "description": "description"
        }
      ],
      "additionalProperties": [
        {
          "key": "key1",
          "value": "value1",
          "description": "description"
        },
        {
          "key": "key1",
          "value": "value1",
          "description": "description"
        }
      ]
    }
    ],
    "additionalProperties": [
      {
        "key": "key1",
        "value": "value1",
        "description": "description"
      },
      {
        "key": "key1",
        "value": "value1",
        "description": "description"
      }
    ]
  }
  ]
}