Skip to content

Hotel Pre Book (Hotel Reprice)

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-pre-book
  • This service method is used to make a provisional booking of the selected room(s) for a hotel. It will consist of room wise detail and also contain a booking key which will be used in hotel booking service to confirm booking and this service shows that the final price (with price change indicator) for the selected room has changed or not and it is mandatory to call before making a booking call.
  • bookingKey value will be valid for 15 minutes only after that it will expire and you will have research & select room to book the hotel.

This service must be called before booking to get an updated booking amount of selected hotel rooms and get a booking key to book a room.

Supplement Object – Recent Additions
In the latest release, the Supplement object has been enhanced with additional fields to provide more detailed supplement information.

Newly Added Fields

  • description
  • isMandatory
  • isFlightDetailsRequired
  • dependentOnSupplementId
  • groupOptionId
  • optionId

These fields are now part of the API response and must be integrated by all client implementations in upcoming upgrades to ensure compatibility and correct handling of supplements.
For any clarifications or implementation-related queries, kindly contact the API Support Team.


Hotel Pre Book Request

Tags Attribute Description
HotelPreBookCriteria (JsonObject)
hotelKey*
(String)
Unique Key for Hotels . This should be taken from Hotel search response
searchKey*
(String)
Unique Key for the search.This should be taken from Hotel search response
culture*
(String)
en
rooms (JsonArray)
room (JsonObject)
roomIndex*
(Integer)
this attribute represents the room number.This should be taken from Hotel search response
roomKey*
(String)
this is the unique key for the room .This should be taken from Hotel search response
supplementKeys*
(String)
unique ID list for supplements will come under this list


hotel pre book request
{
    "rooms": [
      {
        "roomIndex": 1,
        "roomKey": "3deef1d8-6198-4dd5-813f-f9f8c9634d3b00YALAGOHTR00000002RCMB00000000",
        "supplementKey": [
          "233_376"
        ]
      }
    ],
    "hotelKey": "3deef1d8-6198-4dd5-813f-f9f8c9634d3b00YALAGOHTR00000002",
    "searchKey": "3deef1d8-6198-4dd5-813f-f9f8c9634d3b",
    "culture" : "en"
}



Hotel Pre Book Response

Tags Attribute Description
meta meta
(Object)
success
(String)
Response status will be return Ex: "true"
statusCode
(Boolean)
Response statusCode will be return Ex: "1"
statusMessage
(String)
Response statusMessage will be return Ex: "SUCCESS"
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)
This attribute contains a unique search key.
commonData productCode*
(String)
Product code for hotels - H
commonData culture*
(String)
en
data hotels(JsonArray) This encloses hotel information.
data bookingKey*
(String)
This attribute contains a unique booking id., which needs to be sent/passed in the final booking request and this key will be available for 15 min after pre-book response.
data hotelKey*
(String)
This attribute contains a unique hotel id.
data name*
(String)
This attribute contains hotel name.
data totalNet*
(String)
This attribute contains selling price.
data currency*
(String)
This attribute contains currency of booking price.
data priceChangeIndicator*
(String)
This attribute indicates if room price is changed or not.
data cancellationPolicyChangeIndicator*
(String)
This attribute indicates if cancellation policy is changed or not.
checkInDate*
(String)
This attribute contains the check-in date.
checkoutDate*
(String)
This attribute contains the check-out date.
mandatoryBookData (JsonObject) This tag encloses mandatory data required to be sent in book request
mandatoryBookData taxDetails
(Boolean)
This attribute indicates whether tax details are required to be sent in booking request
PANDetails (JsonObject) This tag encloses PAN requirement details.
PANDetails isPANMandatory
(Boolean)
This attribute indicates whether PAN details are required to be sent in the booking request
PANDetails isSamePANForAllAllowed
(Boolean)
This attribute indicates whether single PAN details are allowed to be sent for all guests in the booking request. If this attribute is true, then the same PAN details can be sent for all guests.
PANDetails noOfPANRequired
(Integer)
This attribute indicates the count of PAN(s) required to be sent in the booking request
PANDetails isNameOnPANMandatory
(Boolean)
This attribute indicates whether name on PAN details are required to be sent in the booking request
PANDetails isAgencyOwnPANAllowed
(Boolean)
This attribute indicates whether Agency PAN details are allowed to be sent in the booking request
PANDetails isCrpPANMandatory
(Boolean)
This attribute indicates whether Corporate PAN details are required to be sent in the booking request
PANDetails isCrpSamePANForAllAllowed
(Boolean)
This attribute indicates whether a single Corporate PAN is allowed to be sent for all guests in the booking request. If this attribute is true, then the same PAN details can be sent for all guests.
PassportDetails (JsonObject) This tag encloses Passport requirement details.
PassportDetails isPassportMandatory
(Boolean)
This attribute indicates whether Passport details are required to be sent in the booking request
PassportDetails isCrpPassportMandatory
(Boolean)
This attribute indicates whether Corporate Passport details are required to be sent in the booking request
PassportDetails noOfPassportRequired
(Integer)
This attribute indicates the count of Passport(s) required to be sent in the booking request
FlightDetails (JsonObject) This tag encloses Flight information requirement details.
FlightDetails isSelectedDateReqd
(Boolean)
This attribute indicates whether selected date is required in the booking request
FlightDetails isArrivalDateReqd
(Boolean)
This attribute indicates whether arrival date is required in the booking request
FlightDetails isArrivalTimeReqd
(Boolean)
This attribute indicates whether arrival time is required in the booking request
FlightDetails isArrivalFlightNoReqd
(Boolean)
This attribute indicates whether arrival flight number is required in the booking request
FlightDetails isToCityNameReqd
(Boolean)
This attribute indicates whether destination city name is required in the booking request
FlightDetails isDepartureDateReqd
(Boolean)
This attribute indicates whether departure date is required in the booking request
FlightDetails isDepartureTimeReqd
(Boolean)
This attribute indicates whether departure time is required in the booking request
FlightDetails isDepartureFlightNoReqd
(Boolean)
This attribute indicates whether departure flight number is required in the booking request
FlightDetails isFromCityNameReqd
(Boolean)
This attribute indicates whether origin city name is required in the booking request
verifiedPropertyInfo verifiedPropertyInfo(JsonObject) This encloses latest available property information.
verifiedPropertyInfo address
(String)
The latest available address of the property.
verifiedPropertyInfo phoneNumber
(String)
The latest available phone number of the property.
verifiedPropertyInfo starRating
(String)
The latest available star rating of the property.
taxDetails taxDetails*
(Boolean)
This attribute indicate that tax details required to sent in booking request
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.
38_1
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 isAllPaxInfoMandatory
(Integer)
Indicates whether information for every passenger mandatory or not
room sizeMeasurement
(String)
size of the room.
room rateNotes
(String)
Eg: Please note that three Bedroom Residence is Located in the Residence Building
(This information is very important)
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 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
ratePlan fixedCombo
(Boolean)
Shows room selection is combined or flexible.
roomRate (JsonObject)
roomRate currency*
(String)
Contains selling currency room price
roomRate netAmount*
(Double)
Selling price of a room.
taxes (JsonArray)
tax (JsonObject)
tax name
(String)
Tax name
tax amount
(Double)
Tax amount
tax included
(Boolean)
Shows if the tax is included in the room rate or not.
rates (JsonArray) *
rate (JsonObject)
rate name *
(String)
Name of the rate Eg: daily rates
rate amount *
(String)
Rate amount
rate from *
(Date)
Start date of room rate.
rate to *
(Date)
End date of room rate.
rate rateIndex *
(String)
Rate number
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)
List of possible types - INCLUDED, ADDITION, AT_PROPERTY
supplement name
(String)
Supplement name
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
supplement description
(String)
Text, describing the supplement details
supplement optionId
(String)
Unique identifier for supplement option
supplement groupOptionId
(String)
Group Id for the supplement to which given supplement-option belongs
supplement isFlightDetailsRequired
(Boolean)
Specifies if flight-information of guest is needed at the time of booking
supplement isMandatory
(Boolean)
Identifies that - this supplement must be selected
supplement dependentOnSupplementId
(JsonArray)
IDs of required linked supplements
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


hotel pre 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
426
427
428
429
430
431
432
433
{
  "meta": {
    "success": true,
    "statusCode": "",
    "statusMessage": "",
    "additionalProperties": [
      {
        "key": "timeStamp",
        "value": "YYYY-MM-DD HH:MM:SST",
        "description": "description"
      },
      {
        "key": "serverKey",
        "value": "Server01",
        "description": "description"
      }
    ],
    "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 'City' can't be blank",
      "value": "Field 'City' can't be blank",
      "source": {
        "field": "City",
        "pointer": "/HotelSearchCriteria/city"
      },
      "title": "Required field",
      "type": "validation_error"
    }
  ],
  "commonData": {
    "searchKey": "string",
    "productCode": "string",
    "culture": "string"
  },
  "data": [
    {
      "hotel": {
        "hotelKey": "fb0920a8-70b8-433a-a8e2-a8e32efeae5640htr00000000",
        "bookingKey": "ddb0cc7245e1c40415198428d31d8761|605468d722722a-acc0-4025-b2e5-f409b6a452ae40htr00000000rcmb00000000",
        "name": "caesarsPalaceBluewatersDubai",
        "totalNet": 6099.71,
        "currency": "aed",
        "checkInDate": "YYYY-MM-DD",
        "checkOutDate": "YYYY-MM-DD",
        "priceChangeIndicator": false,
        "cancellationPolicyChangeIndicator" : false,
        "rooms": [
          {
            "roomKey": "fb0920a8-70b8-433a-a8e2-a8e32efeae5640htr00000001rcmb00000000",
            "roomIndex": "1",
            "roomId": "38_1",
            "ruleInfo": "38",
            "roomTypeName": "standard",
            "roomTypeDesc": "standard",
            "bedType": "double",
            "roomView": "mountainView",
            "maxOccupancy": 2,
            "isAllPaxInfoMandatory": false,
            "sizeMeasurement": "275Sqm",
            "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": {
              "taxes": [
                {
                  "name": "VAT on NT & TF",
                  "amount": 54.45,
                  "included": true
                }
              ],
              "rates": [
                {
                  "name": "daily rates",
                  "amount": 944.817,
                  "from": "YYYY-MM-DD",
                  "rateIndex": "1",
                  "to": "YYYY-MM-DD"
                },
                {
                  "name": "daily rates",
                  "amount": 944.817,
                  "from": "YYYY-MM-DD",
                  "rateIndex": "2",
                  "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": "233_376",
                    "type": "ADDITION",
                    "name": "Child Extra Bed - Child Extra Bed",
                    "amount": 0.0,
                    "included": false,
                    "currency": "AED",
                    "description": "For bookings with children of age 6 to 11, sharing on existing bedding with parents is permitted. If you require additional bedding, you may book a child extra bed with charge valid from 01 January 2025 to 31 December 2025.",
                    "optionId": "376",
                    "groupOptionId": "233",
                    "isFlightDetailsRequired": false,
                    "isMandatory": true,
                    "dependentOnSupplementId": []
                },
                {
                    "supplementKey": "235_379",
                    "type": "ADDITION",
                    "name": "Return Transfer - Minivan",
                    "amount": 600.0,
                    "included": false,
                    "currency": "AED",
                    "description": "Upon arrival at the airport, make sure to look for the hotel representative holding a card with your name. \n\nOn departure, the hotel reception will inform you of the details of your transfer a day before your departure.",
                    "optionId": "379",
                    "groupOptionId": "235",
                    "isFlightDetailsRequired": true,
                    "isMandatory": true,
                    "dependentOnSupplementId": []
                }
            ],
            "rateNotes": "Please note that three Bedroom Residence is Located in the Residence Building",
            "financialInfo": {
              "tmc": "VE",
              "supplier": "Hotelbed",
              "payment": {
                "paymentTypes": "CARD,CR"
              },
              "additionalProperties": [
                {
                  "key": "key1",
                  "value": "value1",
                  "description": "description"
                },
                {
                  "key": "key1",
                  "value": "value1",
                  "description": "description"
                }
              ]
            },
            "localChargeInfo" : "Local Charges 110.0AED payable at hotel",
            "additionalProperties": [
              {
                "key": "key1",
                "value": "value1",
                "description": "description"
              },
              {
                "key": "key1",
                "value": "value1",
                "description": "description"
              }
            ]
          },
        {
            "roomKey": "fb0920a8-70b8-433a-a8e2-a8e32efeae5640htr00000001rcmb00000000",
            "roomIndex": "2",
            "roomId": "39_1",
            "ruleInfo": "39",
            "roomTypeName": "standard",
            "roomTypeDesc": "standard",
            "bedType": "double",
            "roomView": "mountainView",
            "maxOccupancy": 2,
            "isAllPaxInfoMandatory": false,
            "sizeMeasurement": "275Sqm",
            "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": {
              "taxes": [
                {
                  "name": "VAT on NT & TF",
                  "amount": 54.45,
                  "included": true
                }
              ],
              "rates": [
                {
                  "name": "daily rates",
                  "amount": 944.817,
                  "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": "233_376",
                    "type": "ADDITION",
                    "name": "Child Extra Bed - Child Extra Bed",
                    "amount": 0.0,
                    "included": false,
                    "currency": "AED",
                    "description": "For bookings with children of age 6 to 11, sharing on existing bedding with parents is permitted. If you require additional bedding, you may book a child extra bed with charge valid from 01 January 2025 to 31 December 2025.",
                    "optionId": "376",
                    "groupOptionId": "233",
                    "isFlightDetailsRequired": false,
                    "isMandatory": true,
                    "dependentOnSupplementId": []
                },
                {
                    "supplementKey": "235_379",
                    "type": "ADDITION",
                    "name": "Return Transfer - Minivan",
                    "amount": 600.0,
                    "included": false,
                    "currency": "AED",
                    "description": "Upon arrival at the airport, make sure to look for the hotel representative holding a card with your name. \n\nOn departure, the hotel reception will inform you of the details of your transfer a day before your departure.",
                    "optionId": "379",
                    "groupOptionId": "235",
                    "isFlightDetailsRequired": true,
                    "isMandatory": true,
                    "dependentOnSupplementId": []
                }
            ],
            "rateNotes": "Please note that three Bedroom Residence is Located in the Residence Building",
            "financialInfo": {
              "tmc": "VE",
              "supplier": "Hotelbed",
              "payment": {
                "paymentTypes": "CARD,CR"
              },
              "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"
              }
            ]
          }
        ],
        "verifiedPropertyInfo": {
            "address": "Cornich El Nile Street Luxor 16  Cornich El Nile Street",
            "phoneNumber": "20663332211",
            "starRating": "4.0"
         }
      },
        "mandatoryBookData": {
          "taxDetail": false,
          "PANDetails": {
            "isPANMandatory": false,
            "isSamePANForAllAllowed": false,
            "noOfPANRequired": 0,
            "isNameOnPANMandatory": false,
            "isAgencyOwnPANAllowed": false,
            "isCrpPANMandatory": false,
            "isCrpSamePANForAllAllowed": false
          },
          "PassportDetails": {
            "isPassportMandatory": false,
            "isCrpPassportMandatory": false,
            "noOfPassportRequired": 2
          },
          "FlightDetails": {
            "isSelectedDateReqd": true,
            "isArrivalDateReqd": true,
            "isArrivalTimeReqd": true,
            "isArrivalFlightNoReqd": true,
            "isToCityNameReqd": true,
            "isDepartureDateReqd": true,
            "isDepartureTimeReqd": true,
            "isDepartureFlightNoReqd": true,
            "isFromCityNameReqd": true
          },
      "additionalProperties": [
        {
          "key": "key1",
          "value": "value1",
          "description": "description"
        },
        {
          "key": "key1",
          "value": "value1",
          "description": "description"
        }
      ]
    }
  ]
}