Changes for page 3. CalcCheckout
Last modified by Giorgi Mdivnishvili on 2025/02/03 12:34
From version 2.1
edited by Giorgi Mdivnishvili
on 2024/04/12 18:57
on 2024/04/12 18:57
Change comment:
There is no comment for this version
To version 1.2
edited by Giorgi Mdivnishvili
on 2024/04/12 18:43
on 2024/04/12 18:43
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -7,14 +7,36 @@ 7 7 = Method Description = 8 8 9 9 10 +This method is specifically designed for the retrieval of hotel pricing information. It supports queries for both current date prices and for prices over a specified date range. 10 10 11 - Once the desired tour variation has been selected, the next step involves calculating the package price in greater detail, typically just before proceeding with the reservation. To accomplish this, the**CalcCheckout **method must be utilized. This stagemarks thepre-booking phase oftheprocess.12 +**Parameters:** 12 12 14 +* stayDays (integer): Indicates the starting point of the stay duration in days. A default value of 0 signifies immediate date pricing retrieval. 15 +* stayDaysTo (integer): Specifies the endpoint of the stay duration in days. The initial value is set to 0, indicating the system will fetch prices for the immediate date by default. 13 13 17 +**Constraints:** 18 + 19 +* The difference between stayDays and stayDaysTo must not exceed 7 days. This limitation is imposed to optimize the query performance and ensure the relevance of the returned data. 20 + 21 +**Implementation:** 22 + 23 +1. **Query Initialization**: Begin by defining the stayDays and stayDaysTo parameters to frame your search criteria. These parameters enable the system to understand the desired duration for which the hotel pricing information is required. 24 +1. **Data Retrieval**: Execute the method with the provided parameters. The system processes the input and queries the database for hotel prices that match the specified duration, taking into account the constraint on the maximum duration difference. 25 +1. **Result Processing**: Upon successful retrieval, the system presents the hotel pricing data. This data is either for the current date (when both parameters are set to 0) or for the defined date range, adhering to the specified duration constraints. 26 + 27 +**Example Usage:** (Examples of API calls or function usage would typically be provided here, demonstrating how to correctly implement the method to retrieve hotel prices based on immediate dates or a specified date range.) 28 + 29 +**Notes:** 30 + 31 +* This method ensures efficient access to hotel pricing information, catering to both immediate and short-term planning needs by leveraging a simple, parameter-driven query mechanism. 32 + 33 +This documentation provides a detailed guide for developers on utilizing the hotel pricing retrieval method, emphasizing parameter usage, operational constraints, and the process flow for executing queries and handling results. 34 + 35 + 14 14 == Endpoint URL - [POST] == 15 15 16 16 {{info}} 17 -[[https:~~/~~/integration.kazunion.com/api/OnlyHotelPackages/ CalcPackage>>https://integration.kazunion.com/api/OnlyHotelPackages/CalcPackage]]39 +[[https:~~/~~/integration.kazunion.com/api/OnlyHotelPackages/SearchHotelPrices>>https://integration.kazunion.com/api/OnlyHotelPackages/SearchHotelPrices]] 18 18 {{/info}} 19 19 20 20 ... ... @@ -25,861 +25,157 @@ 25 25 None 26 26 ))) 27 27 28 - 29 29 == Request Body == 30 30 31 31 {{code language="Json"}} 32 32 { 33 - " reservationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",34 - " calcTourPackageRequests": [54 + "countryCode": "string", 55 + "locations": [ 35 35 { 36 - "packageId": "string", 37 - "extraServicePriceCodes": [ 38 - "string" 39 - ], 40 - "flightPassengers": [ 41 - { 42 - "id": "string", 43 - "selectedForwardBaggageCode": "string", 44 - "selectedBackwardBaggageCode": "string" 45 - } 46 - ], 47 - "includeInsurance": true, 48 - "refreshPrices": true 57 + "type": "string", 58 + "parent": "string", 59 + "label": "string", 60 + "subLabel": "string", 61 + "value": "string", 62 + "tag": "string" 49 49 } 50 50 ], 51 - "c alcOnlyHotelPackageRequests":[52 - {53 - packageId": "string",54 - extraServicePriceCodes":[55 - ring"56 - ],57 - includeInsurance":true,58 - freshPrices":true59 - }65 + "checkInDate": "2023-12-14", 66 + "checkInDateTo": "2023-12-14", 67 + "checkOutDate": "2023-12-14", 68 + "stayDays": 0, 69 + "stayDaysTo": 0, 70 + "adults": 0, 71 + "children": 0, 72 + "childrenAges": [ 73 + 0 60 60 ], 61 - "calcOnlyAviaPackageRequests": [ 62 - { 63 - "packageId": "string", 64 - "refreshPrices": true, 65 - "flightPassengers": [ 66 - { 67 - "id": "string", 68 - "selectedForwardBaggageCode": "string", 69 - "selectedBackwardBaggageCode": "string" 70 - } 71 - ] 72 - } 75 + "extendedSearch": true, 76 + "totalPriceFrom": 0, 77 + "totalPriceTo": 0, 78 + "recommended": true, 79 + "popular": true, 80 + "freeSale": true, 81 + "groupByHotel": true, 82 + "hotelCodes": [ 83 + "string" 73 73 ], 74 - "hotels": [ 75 - { 76 - "hotelPriceId": "string", 77 - "agentConfirmationNumber": "string", 78 - "note": "string", 79 - "touristIds": [ 80 - "3fa85f64-5717-4562-b3fc-2c963f66afa6" 81 - ] 82 - } 85 + "mealPlans": [ 86 + "string" 83 83 ], 84 - "tourists": [ 85 - { 86 - "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 87 - "firstName": "string", 88 - "lastName": "string", 89 - "birthDate": "2024-04-11T03:34:15.828Z", 90 - "passportNumber": "string", 91 - "passportExpiry": "2024-04-11T03:34:15.828Z", 92 - "passportIssue": "2024-04-11T03:34:15.828Z", 93 - "citizenship": "string", 94 - "tin": "string", 95 - "isMale": true, 96 - "flightIds": [ 97 - "string" 98 - ], 99 - "arrivalFlightInfo": { 100 - "flightNumber": "string", 101 - "terminalCode": "string", 102 - "date": "2024-04-11T03:34:15.828Z", 103 - "time": "string" 104 - }, 105 - "departureFlightInfo": { 106 - "flightNumber": "string", 107 - "terminalCode": "string", 108 - "date": "2024-04-11T03:34:15.828Z", 109 - "time": "string" 110 - }, 111 - "selectedVisaId": "string", 112 - "transfers": [ 113 - { 114 - "id": "string", 115 - "selectedTransferPriceId": "string" 116 - } 117 - ] 118 - } 88 + "hotelClasses": [ 89 + "string" 119 119 ], 120 - "note": "string", 121 - "contactPhone": "string" 91 + "hotelTypes": [ 92 + "CityHotel" 93 + ], 94 + "hotelServices": [ 95 + "HasAlcohol" 96 + ], 97 + "pagingId": "string", 98 + "pageNumber": 0, 99 + "pageRowCount": 0 122 122 } 123 - 124 124 {{/code}} 125 125 126 -(% class="wikigeneratedid" id="HRequestBodyexample" %) 127 -(% id="cke_bm_10575S" style="display:none" %) 128 - 129 - 130 - 131 131 == Request Body example == 132 132 105 + 133 133 {{code language="Json"}} 134 134 { 135 - "calcTourPackageRequests": [], 136 - "calcOnlyHotelPackageRequests": [ 137 - { 138 - "refreshPrices": true, 139 - "packageId": "onlyhotel:25a0ce83-047e-485a-8fd7-f2b5a7a1fa37:9963330c-2346-4330-b9cf-7abbb0f64636", 140 - "extraServicePriceCodes": [], 141 - "includeInsurance": false 142 - } 143 - ], 144 - "calcOnlyAviaPackageRequests": [] 108 + "countryCode": "AE", 109 + "checkInDate": "2024-02-15", 110 + "checkInDateTo": "2024-02-20", 111 + 112 + "stayDays": 4, 113 + "stayDaysTo": 6, 114 + "adults": 1, 115 + "children": 1, 116 + "childrenAges": [ 117 + 1 118 + ], 119 + "extendedSearch": false, 120 + "totalPriceFrom": 10, 121 + "totalPriceTo": 10000, 122 + "recommended": false, 123 + "popular": true, 124 + "freeSale": true, 125 + "groupByHotel": true, 126 + "hotelCodes": [ 127 + 128 + ], 129 + "mealPlans": [ 130 + 131 + ], 132 + "hotelClasses": [ 133 + 134 + ], 135 + "hotelTypes": [ 136 + 137 + ], 138 + "hotelServices": [ 139 + 140 + ], 141 + "pagingId": "", 142 + "pageNumber": 3, 143 + "pageRowCount": 10 145 145 } 146 146 {{/code}} 147 147 147 +== Response Body == 148 148 149 -== Response == 150 - 151 151 {{code language="json"}} 152 -{ 153 - "priceCurrency": "USD", 154 - "totalPrice": 47, 155 - "agentCommissionPercent": 0.00, 156 - "agentCommissionAmount": 0, 157 - "requiredCitizenIdentifiers": [ 158 - { 159 - "countryCode": "KZ", 160 - "identifierType": "TIN" 161 - }, 162 - { 163 - "countryCode": "AZ", 164 - "identifierType": "FIN" 165 - } 166 - ], 167 - "hotels": [ 168 - { 169 - "hotelPriceId": "9963330c-2346-4330-b9cf-7abbb0f64636", 170 - "touristIds": [ 171 - "5652e3ba-23d1-4392-bcd9-03442b48e385", 172 - "5e395a1b-982b-4686-b078-b8ffd3332c0e" 173 - ], 174 - "description": "Royal Continental Hotel" 175 - } 176 - ], 177 - "tourists": [ 178 - { 179 - "id": "5652e3ba-23d1-4392-bcd9-03442b48e385", 180 - "isAdult": true, 181 - "flightIds": [], 182 - "flights": [], 183 - "arrivalFlightInfo": { 184 - "terminalCode": "DXB2", 185 - "date": "2024-06-30T00:00:00.000" 186 - }, 187 - "departureFlightInfo": { 188 - "terminalCode": "DXB2", 189 - "date": "2024-07-01T00:00:00.000" 190 - }, 191 - "selectedVisaId": "00000000-0000-0000-0000-000000000000", 192 - "transfers": [ 193 - { 194 - "id": "DXB2-03cf038c-df96-4926-af5f-0f285e600405", 195 - "type": "Arrival", 196 - "flightInfo": { 197 - "terminalCode": "DXB2", 198 - "date": "2024-06-30T00:00:00.000" 199 - }, 200 - "checkInHotelId": "9963330c-2346-4330-b9cf-7abbb0f64636", 201 - "selectedTransferPriceId": "9b4d2a8e-1f85-4d0d-8b39-c3b516d15c01", 202 - "transferPrices": [ 203 - { 204 - "id": "9b4d2a8e-1f85-4d0d-8b39-c3b516d15c01", 205 - "name": "WITHOUT", 206 - "adultPlaces": 0, 207 - "childPlaces": 0, 208 - "perPersonPrice": false, 209 - "adultPrice": 0.00000000, 210 - "childPrice": 0 211 - }, 212 - { 213 - "id": "9bc3625d-017e-4e72-a4bc-b1e57dc2a146", 214 - "name": "MINIVAN", 215 - "adultPlaces": 5, 216 - "childPlaces": 0, 217 - "perPersonPrice": false, 218 - "adultPrice": 45.00000000, 219 - "childPrice": 0 220 - }, 221 - { 222 - "id": "fc3815bb-af00-4733-9134-4b6334ce3854", 223 - "name": "TOYOTA HIACE", 224 - "adultPlaces": 9, 225 - "childPlaces": 0, 226 - "perPersonPrice": false, 227 - "adultPrice": 50.00000000, 228 - "childPrice": 0 229 - }, 230 - { 231 - "id": "1df09212-11e3-44b1-b615-fbb6338efaf2", 232 - "name": "HIGER BUS (27 SEATERS)", 233 - "adultPlaces": 27, 234 - "childPlaces": 0, 235 - "perPersonPrice": false, 236 - "adultPrice": 85.00000000, 237 - "childPrice": 0 238 - }, 239 - { 240 - "id": "bd26e2cf-15ed-41c0-8e6f-743834b12dfb", 241 - "name": "HIGER 53", 242 - "adultPlaces": 51, 243 - "childPlaces": 0, 244 - "perPersonPrice": false, 245 - "adultPrice": 120.00000000, 246 - "childPrice": 0 247 - }, 248 - { 249 - "id": "5d67ad4f-5e8a-4dd2-abc0-74e5389e8c04", 250 - "name": "MERCEDES S CLASS 400", 251 - "adultPlaces": 3, 252 - "childPlaces": 0, 253 - "perPersonPrice": false, 254 - "adultPrice": 140.00000000, 255 - "childPrice": 0 256 - }, 257 - { 258 - "id": "f6fe44b2-574d-47b5-a15c-b0560cfc71a6", 259 - "name": "MERCEDES V CLASS", 260 - "adultPlaces": 7, 261 - "childPlaces": 0, 262 - "perPersonPrice": false, 263 - "adultPrice": 140.00000000, 264 - "childPrice": 0 265 - }, 266 - { 267 - "id": "50cf907a-2145-4b46-bb67-0dde2e7b7326", 268 - "name": "MERCEDES S CLASS 500", 269 - "adultPlaces": 3, 270 - "childPlaces": 0, 271 - "perPersonPrice": false, 272 - "adultPrice": 165.00000000, 273 - "childPrice": 0 274 - } 275 - ] 276 - }, 277 - { 278 - "id": "03cf038c-df96-4926-af5f-0f285e600405-DXB2", 279 - "type": "Departure", 280 - "flightInfo": { 281 - "terminalCode": "DXB2", 282 - "date": "2024-07-01T00:00:00.000" 283 - }, 284 - "checkOutHotelId": "9963330c-2346-4330-b9cf-7abbb0f64636", 285 - "selectedTransferPriceId": "9b4d2a8e-1f85-4d0d-8b39-c3b516d15c01", 286 - "transferPrices": [ 287 - { 288 - "id": "9b4d2a8e-1f85-4d0d-8b39-c3b516d15c01", 289 - "name": "WITHOUT", 290 - "adultPlaces": 0, 291 - "childPlaces": 0, 292 - "perPersonPrice": false, 293 - "adultPrice": 0.00000000, 294 - "childPrice": 0 295 - }, 296 - { 297 - "id": "9bc3625d-017e-4e72-a4bc-b1e57dc2a146", 298 - "name": "MINIVAN", 299 - "adultPlaces": 5, 300 - "childPlaces": 0, 301 - "perPersonPrice": false, 302 - "adultPrice": 45.00000000, 303 - "childPrice": 0 304 - }, 305 - { 306 - "id": "fc3815bb-af00-4733-9134-4b6334ce3854", 307 - "name": "TOYOTA HIACE", 308 - "adultPlaces": 9, 309 - "childPlaces": 0, 310 - "perPersonPrice": false, 311 - "adultPrice": 50.00000000, 312 - "childPrice": 0 313 - }, 314 - { 315 - "id": "1df09212-11e3-44b1-b615-fbb6338efaf2", 316 - "name": "HIGER BUS (27 SEATERS)", 317 - "adultPlaces": 27, 318 - "childPlaces": 0, 319 - "perPersonPrice": false, 320 - "adultPrice": 85.00000000, 321 - "childPrice": 0 322 - }, 323 - { 324 - "id": "bd26e2cf-15ed-41c0-8e6f-743834b12dfb", 325 - "name": "HIGER 53", 326 - "adultPlaces": 51, 327 - "childPlaces": 0, 328 - "perPersonPrice": false, 329 - "adultPrice": 120.00000000, 330 - "childPrice": 0 331 - }, 332 - { 333 - "id": "5d67ad4f-5e8a-4dd2-abc0-74e5389e8c04", 334 - "name": "MERCEDES S CLASS 400", 335 - "adultPlaces": 3, 336 - "childPlaces": 0, 337 - "perPersonPrice": false, 338 - "adultPrice": 140.00000000, 339 - "childPrice": 0 340 - }, 341 - { 342 - "id": "f6fe44b2-574d-47b5-a15c-b0560cfc71a6", 343 - "name": "MERCEDES V CLASS", 344 - "adultPlaces": 7, 345 - "childPlaces": 0, 346 - "perPersonPrice": false, 347 - "adultPrice": 140.00000000, 348 - "childPrice": 0 349 - }, 350 - { 351 - "id": "50cf907a-2145-4b46-bb67-0dde2e7b7326", 352 - "name": "MERCEDES S CLASS 500", 353 - "adultPlaces": 3, 354 - "childPlaces": 0, 355 - "perPersonPrice": false, 356 - "adultPrice": 165.00000000, 357 - "childPrice": 0 358 - } 359 - ] 360 - } 361 - ], 362 - "description": " " 363 - }, 364 - { 365 - "id": "5e395a1b-982b-4686-b078-b8ffd3332c0e", 366 - "isAdult": true, 367 - "flightIds": [], 368 - "flights": [], 369 - "arrivalFlightInfo": { 370 - "terminalCode": "DXB2", 371 - "date": "2024-06-30T00:00:00.000" 372 - }, 373 - "departureFlightInfo": { 374 - "terminalCode": "DXB2", 375 - "date": "2024-07-01T00:00:00.000" 376 - }, 377 - "selectedVisaId": "00000000-0000-0000-0000-000000000000", 378 - "transfers": [ 379 - { 380 - "id": "DXB2-03cf038c-df96-4926-af5f-0f285e600405", 381 - "type": "Arrival", 382 - "flightInfo": { 383 - "terminalCode": "DXB2", 384 - "date": "2024-06-30T00:00:00.000" 385 - }, 386 - "checkInHotelId": "9963330c-2346-4330-b9cf-7abbb0f64636", 387 - "selectedTransferPriceId": "9b4d2a8e-1f85-4d0d-8b39-c3b516d15c01", 388 - "transferPrices": [ 389 - { 390 - "id": "9b4d2a8e-1f85-4d0d-8b39-c3b516d15c01", 391 - "name": "WITHOUT", 392 - "adultPlaces": 0, 393 - "childPlaces": 0, 394 - "perPersonPrice": false, 395 - "adultPrice": 0.00000000, 396 - "childPrice": 0 397 - }, 398 - { 399 - "id": "9bc3625d-017e-4e72-a4bc-b1e57dc2a146", 400 - "name": "MINIVAN", 401 - "adultPlaces": 5, 402 - "childPlaces": 0, 403 - "perPersonPrice": false, 404 - "adultPrice": 45.00000000, 405 - "childPrice": 0 406 - }, 407 - { 408 - "id": "fc3815bb-af00-4733-9134-4b6334ce3854", 409 - "name": "TOYOTA HIACE", 410 - "adultPlaces": 9, 411 - "childPlaces": 0, 412 - "perPersonPrice": false, 413 - "adultPrice": 50.00000000, 414 - "childPrice": 0 415 - }, 416 - { 417 - "id": "1df09212-11e3-44b1-b615-fbb6338efaf2", 418 - "name": "HIGER BUS (27 SEATERS)", 419 - "adultPlaces": 27, 420 - "childPlaces": 0, 421 - "perPersonPrice": false, 422 - "adultPrice": 85.00000000, 423 - "childPrice": 0 424 - }, 425 - { 426 - "id": "bd26e2cf-15ed-41c0-8e6f-743834b12dfb", 427 - "name": "HIGER 53", 428 - "adultPlaces": 51, 429 - "childPlaces": 0, 430 - "perPersonPrice": false, 431 - "adultPrice": 120.00000000, 432 - "childPrice": 0 433 - }, 434 - { 435 - "id": "5d67ad4f-5e8a-4dd2-abc0-74e5389e8c04", 436 - "name": "MERCEDES S CLASS 400", 437 - "adultPlaces": 3, 438 - "childPlaces": 0, 439 - "perPersonPrice": false, 440 - "adultPrice": 140.00000000, 441 - "childPrice": 0 442 - }, 443 - { 444 - "id": "f6fe44b2-574d-47b5-a15c-b0560cfc71a6", 445 - "name": "MERCEDES V CLASS", 446 - "adultPlaces": 7, 447 - "childPlaces": 0, 448 - "perPersonPrice": false, 449 - "adultPrice": 140.00000000, 450 - "childPrice": 0 451 - }, 452 - { 453 - "id": "50cf907a-2145-4b46-bb67-0dde2e7b7326", 454 - "name": "MERCEDES S CLASS 500", 455 - "adultPlaces": 3, 456 - "childPlaces": 0, 457 - "perPersonPrice": false, 458 - "adultPrice": 165.00000000, 459 - "childPrice": 0 460 - } 461 - ] 462 - }, 463 - { 464 - "id": "03cf038c-df96-4926-af5f-0f285e600405-DXB2", 465 - "type": "Departure", 466 - "flightInfo": { 467 - "terminalCode": "DXB2", 468 - "date": "2024-07-01T00:00:00.000" 469 - }, 470 - "checkOutHotelId": "9963330c-2346-4330-b9cf-7abbb0f64636", 471 - "selectedTransferPriceId": "9b4d2a8e-1f85-4d0d-8b39-c3b516d15c01", 472 - "transferPrices": [ 473 - { 474 - "id": "9b4d2a8e-1f85-4d0d-8b39-c3b516d15c01", 475 - "name": "WITHOUT", 476 - "adultPlaces": 0, 477 - "childPlaces": 0, 478 - "perPersonPrice": false, 479 - "adultPrice": 0.00000000, 480 - "childPrice": 0 481 - }, 482 - { 483 - "id": "9bc3625d-017e-4e72-a4bc-b1e57dc2a146", 484 - "name": "MINIVAN", 485 - "adultPlaces": 5, 486 - "childPlaces": 0, 487 - "perPersonPrice": false, 488 - "adultPrice": 45.00000000, 489 - "childPrice": 0 490 - }, 491 - { 492 - "id": "fc3815bb-af00-4733-9134-4b6334ce3854", 493 - "name": "TOYOTA HIACE", 494 - "adultPlaces": 9, 495 - "childPlaces": 0, 496 - "perPersonPrice": false, 497 - "adultPrice": 50.00000000, 498 - "childPrice": 0 499 - }, 500 - { 501 - "id": "1df09212-11e3-44b1-b615-fbb6338efaf2", 502 - "name": "HIGER BUS (27 SEATERS)", 503 - "adultPlaces": 27, 504 - "childPlaces": 0, 505 - "perPersonPrice": false, 506 - "adultPrice": 85.00000000, 507 - "childPrice": 0 508 - }, 509 - { 510 - "id": "bd26e2cf-15ed-41c0-8e6f-743834b12dfb", 511 - "name": "HIGER 53", 512 - "adultPlaces": 51, 513 - "childPlaces": 0, 514 - "perPersonPrice": false, 515 - "adultPrice": 120.00000000, 516 - "childPrice": 0 517 - }, 518 - { 519 - "id": "5d67ad4f-5e8a-4dd2-abc0-74e5389e8c04", 520 - "name": "MERCEDES S CLASS 400", 521 - "adultPlaces": 3, 522 - "childPlaces": 0, 523 - "perPersonPrice": false, 524 - "adultPrice": 140.00000000, 525 - "childPrice": 0 526 - }, 527 - { 528 - "id": "f6fe44b2-574d-47b5-a15c-b0560cfc71a6", 529 - "name": "MERCEDES V CLASS", 530 - "adultPlaces": 7, 531 - "childPlaces": 0, 532 - "perPersonPrice": false, 533 - "adultPrice": 140.00000000, 534 - "childPrice": 0 535 - }, 536 - { 537 - "id": "50cf907a-2145-4b46-bb67-0dde2e7b7326", 538 - "name": "MERCEDES S CLASS 500", 539 - "adultPlaces": 3, 540 - "childPlaces": 0, 541 - "perPersonPrice": false, 542 - "adultPrice": 165.00000000, 543 - "childPrice": 0 544 - } 545 - ] 546 - } 547 - ], 548 - "description": " " 549 - } 550 - ], 551 - "visas": [ 552 - { 553 - "prid": "00000000-0000-0000-0000-000000000000", 554 - "prName": "WITHOUT VISA", 555 - "prValue": 0.00000000, 556 - "sortingOrder": 4 557 - }, 558 - { 559 - "prid": "40d3b511-c5b3-4395-b51f-11fb1b8e555b", 560 - "prName": "TOURIST VISA", 561 - "prValue": 80.01000000, 562 - "sortingOrder": 2 563 - }, 564 - { 565 - "prid": "80490edd-a7ef-43dc-98cf-3f709efe68cb", 566 - "prName": "SERVICE VISA", 567 - "prValue": 120.08000000, 568 - "sortingOrder": 3 569 - } 570 - ], 571 - "terminals": [ 572 - { 573 - "terminalCode": "DXB2", 574 - "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", 575 - "districtUID": "e6ce358e-22d4-413f-a39f-983a14a8e28e", 576 - "terminalName": "DXB2", 577 - "countryCode": "AE" 578 - }, 579 - { 580 - "terminalCode": "DXB", 581 - "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", 582 - "districtUID": "e6ce358e-22d4-413f-a39f-983a14a8e28e", 583 - "terminalName": "DXB", 584 - "countryCode": "AE" 585 - }, 586 - { 587 - "terminalCode": "SHJ", 588 - "cityUID": "f78ac3bc-f040-46d0-8319-2c52083080a6", 589 - "districtUID": "18a915ca-74de-4613-a2fb-616ea300d16d", 590 - "terminalName": "SHJ", 591 - "countryCode": "AE" 592 - }, 593 - { 594 - "terminalCode": "AUH3", 595 - "cityUID": "28c794fe-3c7e-4da2-ba93-f24bd3d4730d", 596 - "districtUID": "5460739a-fb6e-4d94-a35b-6f4e0612581b", 597 - "terminalName": "AUH3", 598 - "countryCode": "AE" 599 - }, 600 - { 601 - "terminalCode": "AUH", 602 - "cityUID": "28c794fe-3c7e-4da2-ba93-f24bd3d4730d", 603 - "districtUID": "5460739a-fb6e-4d94-a35b-6f4e0612581b", 604 - "terminalName": "AUH", 605 - "countryCode": "AE" 606 - }, 607 - { 608 - "terminalCode": "QIW", 609 - "cityUID": "9aabae22-f2f8-408c-b295-55cce1393c88", 610 - "districtUID": "9834149a-17ef-431e-b1f2-ab093bd55d94", 611 - "terminalName": "Um Al Quwain Terminal ", 612 - "countryCode": "AE" 613 - }, 614 - { 615 - "terminalCode": "QAJ", 616 - "cityUID": "a7e023c1-c654-4e1d-8a83-7e571bd3a78d", 617 - "districtUID": "70e57708-9de2-4505-b550-f4627ae40877", 618 - "terminalName": "Ajman Terminal ", 619 - "countryCode": "AE" 620 - }, 621 - { 622 - "terminalCode": "RKT", 623 - "cityUID": "607fbe3a-68e6-4523-bf6e-e419fac86a8b", 624 - "districtUID": "7f82fcc7-65ee-48d8-b0ea-200fa2ffdb42", 625 - "terminalName": "Ras Al Khaimah Terminal ", 626 - "countryCode": "AE" 627 - }, 628 - { 629 - "terminalCode": "FJR", 630 - "cityUID": "857a6d87-d1e4-4a17-a867-c65307559222", 631 - "districtUID": "3a894ed3-8021-45c9-ae0c-aa5e7379bb82", 632 - "terminalName": "Fujairah Terminal ", 633 - "countryCode": "AE" 634 - }, 635 - { 636 - "terminalCode": "DXB3", 637 - "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", 638 - "districtUID": "e6ce358e-22d4-413f-a39f-983a14a8e28e", 639 - "terminalName": "DXB3", 640 - "countryCode": "AE" 641 - }, 642 - { 643 - "terminalCode": "Etihad Bus Station", 644 - "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", 645 - "districtUID": "1fa8bb75-707b-40e6-8212-f705eeeaa16b", 646 - "terminalName": "Etihad Bus Station", 647 - "countryCode": "AE" 648 - }, 649 - { 650 - "terminalCode": "ETD", 651 - "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", 652 - "districtUID": "1fa8bb75-707b-40e6-8212-f705eeeaa16b", 653 - "terminalName": "Etihad Main Office Dubai", 654 - "countryCode": "AE", 655 - "note": "Noor Islamic Bank MS" 656 - }, 657 - { 658 - "terminalCode": "XGD", 659 - "cityUID": "28c794fe-3c7e-4da2-ba93-f24bd3d4730d", 660 - "districtUID": "88ece1b0-cb91-49f3-86a0-eedc6c8e5aaf", 661 - "terminalName": "Dnata - Clock Tower", 662 - "countryCode": "AE" 663 - }, 664 - { 665 - "terminalCode": "DXB1", 666 - "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", 667 - "districtUID": "e6ce358e-22d4-413f-a39f-983a14a8e28e", 668 - "terminalName": "DXB1", 669 - "countryCode": "AE" 670 - }, 671 - { 672 - "terminalCode": "DWC", 673 - "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", 674 - "districtUID": "42ace7f3-c109-4e81-8959-9c5adf193444", 675 - "terminalName": "DWC", 676 - "countryCode": "AE", 677 - "note": "Al Maktoum intl. airport" 678 - } 679 - ], 680 - "containsError": false, 681 - "refreshPriceResult": "Success", 682 - "reservationId": "39b50207-50b0-4b86-8a5d-a026866acf6d", 683 - "reservationDetailsUnavailable": false, 684 - "error": false 685 -} 150 +[ 151 + { 152 + "hotelCode": "string", 153 + "hotelName": "string", 154 + "hotelClass": "string", 155 + "cityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 156 + "countryCode": "string", 157 + "countryName": "string", 158 + "districtUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 159 + "cityName": "string", 160 + "districtName": "string", 161 + "hotelType": "CityHotel", 162 + "latitude": "string", 163 + "longitude": "string", 164 + "hasAlcohol": true, 165 + "hasFreeWifi": true, 166 + "hasMetro": true, 167 + "hasPool": true, 168 + "hasMall": true 169 + } 170 +] 686 686 {{/code}} 687 687 688 688 689 -=== Response example === 174 +=== Response Body example === 690 690 691 691 {{code language="Json"}} 692 692 { 693 - "package": { 694 - "id": "tour:1d0fa533-4261-4254-93bb-83599d581ffc:193990fa-41a5-46e6-9805-50f82c3c377f:0c299240-6fc6-4f79-ba99-3548f2de3f57", 695 - "priceCurrency": "USD", 696 - "totalPrice": 937.16, 697 - "agentCommissionPercent": 0.00, 698 - "agentCommissionAmount": 0.00, 699 - "includedExtrasAmount": 0, 700 - "priceDifference": 0, 701 - "hotel": { 702 - "hotelPriceId": "193990fa-41a5-46e6-9805-50f82c3c377f", 703 - "providerId": 13, 704 - "hotelName": "Mercure Dubai Barsha Heights Suites Apartments", 705 - "hotelCode": "5f125310-7025-4807-a4c6-49cd284c9c14", 706 - "nigths": 2, 707 - "mealPlan": "BB", 708 - "hotelClass": "4", 709 - "availabilityType": "StopSale", 710 - "availableRoomsCount": 0, 711 - "fewRooms": true, 712 - "roomCategoryCode": "f8e1ffe5-25cc-46a4-80e8-586d1c049de4", 713 - "roomCategoryName": "1 B/R Apartment City View", 714 - "placementTypeName": "SNGL + CHILD(2-5.99)sharing", 715 - "checkInDate": "2024-02-15T20:00:00.000Z", 716 - "checkOutDate": "2024-02-17T20:00:00.000Z", 717 - "adults": 1, 718 - "children": 1, 719 - "districtUID": "4c65f6ed-902b-4fd8-9419-af7884c22c5e", 720 - "districtName": "Al Barsha", 721 - "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", 722 - "cityName": "Dubai", 723 - "countryCode": "AE", 724 - "countryName": "United Arab Emirates", 725 - "hasAlcohol": false, 726 - "hasFreeWifi": true, 727 - "hasMetro": true, 728 - "hasPool": true, 729 - "hasMall": false, 730 - "cancellationPolicyDescription": "Cancellation Policy: 5 Day Before Arrival: 100.00 %, Early Departure: 100.00 %, NoShow: 100.00 %", 731 - "cancellationPolicy": { 732 - "noShowChargeValue": 100.00, 733 - "noShowChargeValueType": "%", 734 - "earlyDepartureChargeValue": 100.00, 735 - "earlyDepartureChargeValueType": "%", 736 - "conditions": [ 737 - { 738 - "timeunits": 5, 739 - "timeunitType": "Day", 740 - "timeOffsetTypeName": "Before Arrival", 741 - "chargeValue": 100.00, 742 - "chargeValueType": "%" 743 - } 744 - ] 745 - } 746 - }, 747 - "flight": { 748 - "id": "0c299240-6fc6-4f79-ba99-3548f2de3f57", 749 - "departureDate": "2024-02-15T20:00:00.000Z", 750 - "returnDate": "2024-02-17T20:00:00.000Z", 751 - "departureTicketsLeft": 7, 752 - "returnTicketsLeft": 7, 753 - "departureAvailabilityType": "FewPlaces", 754 - "returnAvailabilityType": "FewPlaces", 755 - "isTwoWay": true, 756 - "sameBaggageForAll": false, 757 - "totalBaggage": true, 758 - "departureSegments": [ 759 - { 760 - "airlineCode": "KC", 761 - "airlineName": "Air Astana-", 762 - "flightCode": "KC899", 763 - "class": "econom", 764 - "lugageWeight": 20, 765 - "handLugageWeight": 6, 766 - "departureFlightDate": "2024-02-15T20:00:00.000Z", 767 - "departureCountryName": "Kazakhstan", 768 - "departureCityName": "Almaty", 769 - "departureAirportCode": "ALA", 770 - "departureAirportName": "Almaty Intl Airport", 771 - "departureTerminalCode": "ALA", 772 - "arrivalFlightDate": "2024-02-15T20:00:00.000Z", 773 - "arrivalCountryName": "United Arab Emirates", 774 - "arrivalCityName": "Dubai", 775 - "arrivalAirportCode": "DXB", 776 - "arrivalAirportName": "Dubai Intl Airport", 777 - "arrivalTerminalCode": "DXB1", 778 - "flightDuration": "0h 50m" 779 - } 780 - ], 781 - "returnSegments": [ 782 - { 783 - "airlineCode": "KC", 784 - "airlineName": "Air Astana-", 785 - "flightCode": "KC900", 786 - "class": "econom", 787 - "lugageWeight": 20, 788 - "handLugageWeight": 6, 789 - "departureFlightDate": "2024-02-17T20:00:00.000Z", 790 - "departureCountryName": "United Arab Emirates", 791 - "departureCityName": "Dubai", 792 - "departureAirportCode": "DXB", 793 - "departureAirportName": "Dubai Intl Airport", 794 - "departureTerminalCode": "DXB1", 795 - "arrivalFlightDate": "2024-02-17T20:00:00.000Z", 796 - "arrivalCountryName": "Kazakhstan", 797 - "arrivalCityName": "Almaty", 798 - "arrivalAirportCode": "ALA", 799 - "arrivalAirportName": "Almaty Intl Airport", 800 - "arrivalTerminalCode": "ALA", 801 - "flightDuration": "8h 15m" 802 - } 803 - ], 804 - "passengers": [ 805 - { 806 - "id": "42779531011000004-A1", 807 - "isAdult": true, 808 - "forwardBaggages": [ 809 - { 810 - "baggageCode": "TOTAL_BAGGAGE", 811 - "description": "1 piece included, UP TO 50 POUNDS/23 KILOGRAMS, OVER 62 LINEAR INCHES/158 LINEAR CENTIMETERS", 812 - "price": 45.00, 813 - "currency": "USD", 814 - "included": false 815 - } 816 - ], 817 - "backwardBaggages": [ 818 - { 819 - "baggageCode": "INCLUDED_IN_FORWARD", 820 - "price": 0, 821 - "included": false 822 - } 823 - ] 824 - }, 825 - { 826 - "id": "42779531011000004-C1", 827 - "isAdult": false, 828 - "forwardBaggages": [ 829 - { 830 - "baggageCode": "TOTAL_BAGGAGE", 831 - "description": "1 piece included, UP TO 50 POUNDS/23 KILOGRAMS, OVER 62 LINEAR INCHES/158 LINEAR CENTIMETERS", 832 - "price": 45.00, 833 - "currency": "USD", 834 - "included": false 835 - } 836 - ], 837 - "backwardBaggages": [ 838 - { 839 - "baggageCode": "INCLUDED_IN_FORWARD", 840 - "price": 0, 841 - "included": false 842 - } 843 - ] 844 - } 845 - ] 846 - }, 847 - "extraServices": [], 848 - "insurancePrice": { 849 - "name": "Medical INS (N10000)", 850 - "price": 13.44, 851 - "priceSurcarge": 0.00, 852 - "actualStartDate": "2024-02-15T20:00:00.000Z", 853 - "actualEndDate": "2024-02-17T20:00:00.000Z", 854 - "optional": false, 855 - "includedInPackagePrice": true 856 - } 857 - }, 858 - "altPackages": [ 178 + "packages": [ 859 859 { 860 - "id": " tour:1d0fa533-4261-4254-93bb-83599d581ffc:193990fa-41a5-46e6-9805-50f82c3c377f:63d79c94-1e19-443f-8a17-50e59e633ea8",180 + "id": "onlyhotel:c4e23e7e-3d54-4efa-a3db-88508230ce91:504f63ca-6dd5-4d84-8245-cf7e77ccff73", 861 861 "priceCurrency": "USD", 862 - "totalPrice": 968.40, 863 - "agentCommissionPercent": 0.00, 864 - "agentCommissionAmount": 0.00, 865 - "includedExtrasAmount": 0, 866 - "priceDifference": 31.24, 182 + "totalPrice": 381.7, 183 + "agentCommissionPercent": 0.0, 184 + "agentCommissionAmount": 0.0, 867 867 "hotel": { 868 - "hotelPriceId": " 193990fa-41a5-46e6-9805-50f82c3c377f",186 + "hotelPriceId": "504f63ca-6dd5-4d84-8245-cf7e77ccff73", 869 869 "providerId": 13, 870 - "hotelName": " MercureDubai Barsha Heights Suites Apartments",871 - "hotelCode": " 5f125310-7025-4807-a4c6-49cd284c9c14",872 - "nigths": 2,873 - "mealPlan": " BB",188 + "hotelName": "Golden Tulip Al Barsha Hotel", 189 + "hotelCode": "ed0820c5-29b0-4e1b-8bcf-9f3c181e7961", 190 + "nigths": 4, 191 + "mealPlan": "RO", 874 874 "hotelClass": "4", 875 - "availabilityType": "S topSale",193 + "availabilityType": "FreeSale", 876 876 "availableRoomsCount": 0, 877 877 "fewRooms": true, 878 - "roomCategoryCode": " f8e1ffe5-25cc-46a4-80e8-586d1c049de4",879 - "roomCategoryName": " 1 B/R Apartment CityView",880 - "placementTypeName": "SNGL + CHILD( 2-5.99)sharing",881 - "checkInDate": "2024-02-1 5T20:00:00.000Z",882 - "checkOutDate": "2024-02-1 7T20:00:00.000Z",196 + "roomCategoryCode": "e63ea5ac-4883-4059-bb0a-795a534bbbfb", 197 + "roomCategoryName": "Superior Twin", 198 + "placementTypeName": "SNGL + CHILD(6-11.99)sharing", 199 + "checkInDate": "2024-02-17T08:00:00.000Z", 200 + "checkOutDate": "2024-02-21T08:00:00.000Z", 883 883 "adults": 1, 884 884 "children": 1, 885 885 "districtUID": "4c65f6ed-902b-4fd8-9419-af7884c22c5e", ... ... @@ -888,148 +888,30 @@ 888 888 "cityName": "Dubai", 889 889 "countryCode": "AE", 890 890 "countryName": "United Arab Emirates", 891 - "hasAlcohol": false,209 + "hasAlcohol": true, 892 892 "hasFreeWifi": true, 893 - "hasMetro": true,211 + "hasMetro": false, 894 894 "hasPool": true, 895 895 "hasMall": false, 896 - "cancellationPolicyDescription": "Cancellation Policy: 5 Day Before Arrival: 100.00 %, Early Departure: 100.00 %, NoShow: 100.00 %", 214 + "cancellationPolicyDescription": "Cancellation Policy: 15 Day Before Arrival: 100.00 %, Early Departure: 100.00 %, NoShow: 100.00 %", 897 897 "cancellationPolicy": { 898 - "noShowChargeValue": 100.0 0,216 + "noShowChargeValue": 100.0, 899 899 "noShowChargeValueType": "%", 900 - "earlyDepartureChargeValue": 100.0 0,218 + "earlyDepartureChargeValue": 100.0, 901 901 "earlyDepartureChargeValueType": "%", 902 902 "conditions": [ 903 903 { 904 - "timeunits": 5, 222 + "timeunits": 15, 905 905 "timeunitType": "Day", 906 906 "timeOffsetTypeName": "Before Arrival", 907 - "chargeValue": 100.0 0,225 + "chargeValue": 100.0, 908 908 "chargeValueType": "%" 909 909 } 910 910 ] 911 911 } 912 912 }, 913 - "flight": { 914 - "id": "63d79c94-1e19-443f-8a17-50e59e633ea8", 915 - "departureDate": "2024-02-15T20:00:00.000Z", 916 - "returnDate": "2024-02-17T20:00:00.000Z", 917 - "departureTicketsLeft": 50, 918 - "returnTicketsLeft": 50, 919 - "departureAvailabilityType": "FewPlaces", 920 - "returnAvailabilityType": "FewPlaces", 921 - "isTwoWay": true, 922 - "sameBaggageForAll": false, 923 - "totalBaggage": false, 924 - "departureSegments": [ 925 - { 926 - "airlineCode": "FZ", 927 - "airlineName": "Fly Dubai.", 928 - "flightCode": "FZ1722", 929 - "class": "econom", 930 - "lugageWeight": 20, 931 - "handLugageWeight": 6, 932 - "departureFlightDate": "2024-02-15T20:00:00.000Z", 933 - "departureCountryName": "Kazakhstan", 934 - "departureCityName": "Almaty", 935 - "departureAirportCode": "ALA", 936 - "departureAirportName": "Almaty Intl Airport", 937 - "departureTerminalCode": "ALA", 938 - "arrivalFlightDate": "2024-02-15T20:00:00.000Z", 939 - "arrivalCountryName": "United Arab Emirates", 940 - "arrivalCityName": "Dubai", 941 - "arrivalAirportCode": "DXB", 942 - "arrivalAirportName": "Dubai Intl Airport", 943 - "arrivalTerminalCode": "DXB3", 944 - "flightDuration": "0h 55m" 945 - } 946 - ], 947 - "returnSegments": [ 948 - { 949 - "airlineCode": "FZ", 950 - "airlineName": "Fly Dubai.", 951 - "flightCode": "FZ1721", 952 - "class": "econom", 953 - "lugageWeight": 20, 954 - "handLugageWeight": 6, 955 - "departureFlightDate": "2024-02-17T20:00:00.000Z", 956 - "departureCountryName": "United Arab Emirates", 957 - "departureCityName": "Dubai", 958 - "departureAirportCode": "DXB", 959 - "departureAirportName": "Dubai Intl Airport", 960 - "departureTerminalCode": "DXB3", 961 - "arrivalFlightDate": "2024-02-18T20:00:00.000Z", 962 - "arrivalCountryName": "Kazakhstan", 963 - "arrivalCityName": "Almaty", 964 - "arrivalAirportCode": "ALA", 965 - "arrivalAirportName": "Almaty Intl Airport", 966 - "arrivalTerminalCode": "DXB3", 967 - "flightDuration": "8h 10m" 968 - } 969 - ], 970 - "passengers": [ 971 - { 972 - "id": "42779547001000004-A1", 973 - "isAdult": true, 974 - "selectedForwardBaggageCode": "INCLUDED", 975 - "selectedBackwardBaggageCode": "INCLUDED", 976 - "forwardBaggages": [ 977 - { 978 - "baggageCode": "INCLUDED", 979 - "description": "20 KG INCLUDED", 980 - "price": 0.0, 981 - "currency": "USD", 982 - "included": true 983 - } 984 - ], 985 - "backwardBaggages": [ 986 - { 987 - "baggageCode": "INCLUDED", 988 - "description": "20 KG INCLUDED", 989 - "price": 0.0, 990 - "currency": "USD", 991 - "included": true 992 - } 993 - ] 994 - }, 995 - { 996 - "id": "42779547001000004-C1", 997 - "isAdult": false, 998 - "selectedForwardBaggageCode": "INCLUDED", 999 - "selectedBackwardBaggageCode": "INCLUDED", 1000 - "forwardBaggages": [ 1001 - { 1002 - "baggageCode": "INCLUDED", 1003 - "description": "20 KG INCLUDED", 1004 - "price": 0.0, 1005 - "currency": "USD", 1006 - "included": true 1007 - } 1008 - ], 1009 - "backwardBaggages": [ 1010 - { 1011 - "baggageCode": "INCLUDED", 1012 - "description": "20 KG INCLUDED", 1013 - "price": 0.0, 1014 - "currency": "USD", 1015 - "included": true 1016 - } 1017 - ] 1018 - } 1019 - ] 1020 - }, 1021 - "extraServices": [], 1022 - "insurancePrice": { 1023 - "name": "Medical INS (N10000)", 1024 - "price": 13.44, 1025 - "priceSurcarge": 0.00, 1026 - "actualStartDate": "2024-02-15T20:00:00.000Z", 1027 - "actualEndDate": "2024-02-17T20:00:00.000Z", 1028 - "optional": false, 1029 - "includedInPackagePrice": true 1030 - } 231 + "extraServices": [] 1031 1031 }, 1032 - { 1033 1033 {{/code}} 1034 1034 1035 1035 ... ... @@ -1036,289 +1036,222 @@ 1036 1036 === Schema === 1037 1037 1038 1038 {{success}} 1039 - CheckoutFormIn{239 +SearchOnlyHotelPackagesResponse{ 1040 1040 1041 -|reservationId|string($uuid) 1042 -nullable: true 1043 -|calcTourPackageRequests|[ 1044 -nullable: trueCalcTourPackageRequest{((( 1045 -|packageId|string 1046 -nullable: true 1047 -|extraServicePriceCodes|[ 1048 -nullable: truestring] 1049 -|flightPassengers|[ 1050 -nullable: trueFlightPassengerIn{((( 241 +|packages|[ 242 +nullable: trueOnlyHotelPackage{((( 1051 1051 |id|string 1052 1052 nullable: true 1053 -| selectedForwardBaggageCode|string245 +|priceCurrency|string 1054 1054 nullable: true 1055 -|selectedBackwardBaggageCode|string 247 +|totalPrice|number($double) 248 +|agentCommissionPercent|number($double) 249 +|agentCommissionAmount|number($double) 250 +|hotel|PackageHotel{((( 251 +|hotelPriceId|string 1056 1056 nullable: true 1057 - 1058 -}] 1059 -))) 1060 -|includeInsurance|boolean 253 +|providerId|integer($int32) 254 +|hotelName|string 1061 1061 nullable: true 1062 -|refreshPrices|boolean 1063 - 1064 -}] 1065 -))) 1066 -|calcOnlyHotelPackageRequests|[ 1067 -nullable: trueCalcOnlyHotelPackageRequest{((( 1068 -|packageId|string 256 +|hotelCode|string 1069 1069 nullable: true 1070 -|extraServicePriceCodes|[ 1071 -nullable: truestring] 1072 -|includeInsurance|boolean 1073 -|refreshPrices|boolean 1074 - 1075 -}] 1076 -))) 1077 -|calcOnlyAviaPackageRequests|[ 1078 -nullable: trueCalcOnlyAviaPackageRequest{((( 1079 -|packageId|string 258 +|nigths|integer($int32) 259 +|mealPlan|string 1080 1080 nullable: true 1081 -|refreshPrices|boolean 1082 -|flightPassengers|[ 1083 -nullable: trueFlightPassengerIn{((( 1084 -|id|string 261 +|hotelClass|string 1085 1085 nullable: true 1086 -|selectedForwardBaggageCode|string 263 +|availabilityType|RoomAvailabilityTypeEnumstringEnum: 264 +[ OnRequest, FreeSale, StopSale ] 265 +|availableRoomsCount|integer($int32) 266 +|fewRooms|boolean 267 +|roomCategoryCode|string 1087 1087 nullable: true 1088 -| selectedBackwardBaggageCode|string269 +|roomCategoryName|string 1089 1089 nullable: true 1090 - 1091 -}] 1092 -))) 1093 - 1094 -}] 1095 -))) 1096 -|hotels|[ 1097 -nullable: trueCheckoutHotelIn{((( 1098 -|hotelPriceId|string 271 +|placementTypeName|string 1099 1099 nullable: true 1100 -|a gentConfirmationNumber|string273 +|placementDescription|string 1101 1101 nullable: true 1102 -|note|string 275 +|checkInDate|string($date-time) 276 +|checkOutDate|string($date-time) 277 +|adults|integer($int32) 278 +|children|integer($int32) 279 +|districtUID|string($uuid) 1103 1103 nullable: true 1104 -|touristIds|[ 1105 -nullable: truestring($uuid)] 1106 - 1107 -}] 1108 -))) 1109 -|tourists|[ 1110 -nullable: trueCheckoutTouristIn{((( 1111 -|id|string($uuid) 1112 -|firstName|string 281 +|districtName|string 1113 1113 nullable: true 1114 -| lastName|string283 +|cityUID|string($uuid) 1115 1115 nullable: true 1116 -| birthDate|string($date-time)285 +|cityName|string 1117 1117 nullable: true 1118 -| passportNumber|string287 +|countryCode|string 1119 1119 nullable: true 1120 -| passportExpiry|string($date-time)289 +|countryName|string 1121 1121 nullable: true 1122 -|passportIssue|string($date-time) 291 +|hasAlcohol|boolean 292 +|hasFreeWifi|boolean 293 +|hasMetro|boolean 294 +|hasPool|boolean 295 +|hasMall|boolean 296 +|cancellationPolicyDescription|string 1123 1123 nullable: true 1124 -|citizenship|string 298 +|cancellationPolicy|CancellationPolicyExchange{((( 299 +|cancellationPolicyCode|string 1125 1125 nullable: true 1126 -| tin|string301 +|noShowChargeValue|number($double) 1127 1127 nullable: true 1128 -| isMale|boolean303 +|noShowChargeValueType|string 1129 1129 nullable: true 1130 -|flightIds|[ 1131 -nullable: truestring] 1132 -|arrivalFlightInfo|ManualFlightInfo{((( 1133 -|flightNumber|string 305 +|earlyDepartureChargeValue|number($double) 1134 1134 nullable: true 1135 -|ter minalCode|string307 +|earlyDepartureChargeValueType|string 1136 1136 nullable: true 1137 -|date|string($date-time) 309 +|conditions|[ 310 +nullable: trueCancellationPolicyConditionExchange{((( 311 +|timeunits|integer($int32) 312 +|timeunitType|string 1138 1138 nullable: true 1139 -|time|string 314 +|timeOffsetTypeName|string 1140 1140 nullable: true 1141 - 1142 -} 1143 -))) 1144 -|departureFlightInfo|ManualFlightInfo{((( 1145 -|flightNumber|string 316 +|chargeValue|number($double) 1146 1146 nullable: true 1147 -| terminalCode|string318 +|chargeValueType|string 1148 1148 nullable: true 1149 -|date|string($date-time) 1150 -nullable: true 1151 -|time|string 1152 -nullable: true 1153 1153 1154 -} 1155 -))) 1156 -|selectedVisaId|string 1157 -nullable: true 1158 -|transfers|[ 1159 -nullable: trueCheckoutTransferIn{((( 1160 -|id|string 1161 -nullable: true 1162 -|selectedTransferPriceId|string 1163 -nullable: true 1164 - 1165 1165 }] 1166 1166 ))) 1167 1167 1168 -} ]324 +} 1169 1169 ))) 1170 -|note|string 1171 -nullable: true 1172 -|contactPhone|string 1173 -nullable: true 1174 1174 1175 1175 } 1176 -{{/success}} 1177 - 1178 -{{success}} 1179 -CheckoutFormOut{ 1180 - 1181 -|error|boolean 1182 -|errorCode|string 328 +))) 329 +|extraServices|[ 330 +nullable: trueHotelExtraServiceBase{((( 331 +|extraServiceCode|string 1183 1183 nullable: true 1184 -|er rorDescription|string333 +|extraServiceTypeCode|string 1185 1185 nullable: true 1186 -|userErrorDescription|string 335 +|isMandatory|integer($int32) 336 +|extraServiceName|string 1187 1187 nullable: true 1188 -|priceCurrency|string 338 +|minimalServiceAmount|number($double) 339 +|includedPriceCode|string 1189 1189 nullable: true 1190 -|totalPrice|number($double) 1191 -|agentCommissionPercent|number($double) 1192 -|agentCommissionAmount|number($double) 1193 -|requiredCitizenIdentifiers|[ 1194 -nullable: trueCitizenIdentifier{((( 1195 -|countryCode|string 341 +|prices|[ 342 +nullable: trueHotelExtraServicePriceBase{((( 343 +|extraServicePriceCode|string 1196 1196 nullable: true 1197 -|identifierType|IdentifierTypeEnumstringEnum: 1198 -[ TIN, FIN ] 1199 - 1200 -}] 1201 -))) 1202 -|hotels|[ 1203 -nullable: trueCheckoutHotelOut{((( 1204 -|hotelPriceId|string 345 +|displayName|string 1205 1205 nullable: true 1206 -|touristIds|[ 1207 -nullable: truestring($uuid)] 1208 -|errorCode|string 347 +|restrictionInfo|string 1209 1209 nullable: true 1210 -| errorMessage|string349 +|additionalInfo|string 1211 1211 nullable: true 1212 -|description|string 351 +|price|number($double) 352 +|extraPrice|number($double) 353 +|currency|string 1213 1213 nullable: true 1214 1214 1215 1215 }] 1216 1216 ))) 1217 -|tourists|[ 1218 -nullable: trueCheckoutTouristOut{...}] 1219 -|visas|[ 1220 -nullable: trueServicePrice{((( 1221 -|prid|string($uuid) 1222 -|prName|string 1223 -nullable: true 1224 -|prValue|number($double) 1225 -|sortingOrder|integer($int32) 1226 1226 1227 1227 }] 1228 1228 ))) 1229 -|terminals|[ 1230 -nullable: trueTerminal{((( 1231 -|terminalCode|string 1232 -nullable: true 1233 -|cityUID|string($uuid) 1234 -nullable: true 1235 -|districtUID|string($uuid) 1236 -nullable: true 1237 -|terminalName|string 1238 -nullable: true 1239 -|countryCode|string 1240 -nullable: true 1241 -|note|string 1242 -nullable: true 1243 1243 1244 1244 }] 1245 1245 ))) 1246 -|containsError|boolean 1247 -|refreshPriceResult|RefreshPriceResultEnumstringEnum: 1248 -[ Success, HotelPriceNoMoreAvailable, FlightPriceNoMoreAvailable ] 1249 -|reservationId|string($uuid) 1250 -|reservationDetailsUnavailable|boolean 364 +|pagingId|string 365 +nullable: true 366 +|pageNumber|integer($int64) 367 +|pageCount|integer($int64) 1251 1251 1252 1252 } 1253 1253 {{/success}} 1254 1254 1255 1255 1256 -== De scriptions ==373 +== Definitions == 1257 1257 1258 1258 1259 -=== Request===376 +=== Paging and Caching === 1260 1260 1261 - Here's a table describingeachparameter ofJSONrequest:378 +During the first request, Paging id must be empty like this ( "pagingId": "",) pagenumber is the number of the page, pagerowcount means number of the given result in one page. So in the first request we can search like this: 1262 1262 1263 -(% class="table-bordered" %) 1264 -|=Parameter|=Data Type|=Description 1265 -|calcTourPackageRequests|Array|An array of objects, each representing a tour package request. 1266 -|refreshPrices|Boolean|If true, the prices for the tour package will be refreshed. 1267 -|packageId|String|A unique identifier for the tour package. 1268 -|flightPassengers|Array|An array of objects, each representing a flight passenger. 1269 -|id|String|A unique identifier for each flight passenger. 1270 -|selectedForwardBaggageCode|String|The selected baggage option for the forward journey. there is two optoions "" 1271 -|selectedBackwardBaggageCode|String|The selected baggage option for the backward journey. 1272 -|extraServicePriceCodes|Array|An array of extra service price codes. If empty, no extra services are selected. 1273 -|includeInsurance|Boolean|If true, insurance will be included in the tour package. 1274 -|calcOnlyHotelPackageRequests|Array|An array of objects, each representing a hotel-only package request. If empty, no hotel-only packages are requested. 1275 -|calcOnlyAviaPackageRequests|Array|An array of objects, each representing an avia-only package request. If empty, no avia-only packages are requested. 1276 1276 1277 -=== Response ===381 +==== first request ==== 1278 1278 1279 -(% class="table-bordered" %) 1280 -|=Parameter|=Data Type|=Description 1281 -|priceCurrency|String|The currency code (ISO 4217) for all prices mentioned in the response. 1282 -|totalPrice|Number|The total price of the booking. 1283 -|agentCommissionPercent|Number|The commission percentage for the agent. 1284 -|agentCommissionAmount|Number|The total commission amount for the agent in priceCurrency. 1285 -|requiredCitizenIdentifiers[*].countryCode|String|The ISO 3166-1 alpha-2 country code. 1286 -|requiredCitizenIdentifiers[*].identifierType|String|The type of identifier required (e.g., "TIN", "FIN"). **TIN (Taxpayer Identification Number) & FIN (Financial Identification Number)** 1287 -|hotels[*].hotelPriceId|String|Unique identifier for the hotel price. 1288 -|hotels[*].touristIds[*]|String|List of tourist IDs that are booked in this hotel. 1289 -|hotels[*].description|String|A brief description of the hotel. 1290 -|tourists[*].id|String|Unique identifier for the tourist. 1291 -|tourists[*].isAdult|Boolean|Indicates if the tourist is an adult. 1292 -|tourists[*].flightIds[*]|String|Identifiers for flights associated with the tourist. 1293 -|tourists[*].flights[*].flightId|String|Unique identifier for the flight. 1294 -|tourists[*].flights[*].note|String|Additional information about the flight, such as baggage allowance. 1295 -|tourists[*].insurancePrice.insuranceId|String|Unique identifier for the insurance product. 1296 -|tourists[*].insurancePrice.insuranceServiceId|String|Identifier for the insurance service provider. 1297 -|...|...|Additional fields for insurancePrice as detailed previously. 1298 -|tourists[*].transfers[*].id|String|Unique identifier for the transfer service. 1299 -|tourists[*].transfers[*].type|String|The type of transfer (e.g., "Arrival", "Departure"). 1300 -|tourists[*].transfers[*].flightId|String|Identifier of the flight associated with this transfer. 1301 -|tourists[*].transfers[*].checkInHotelId|String|Hotel ID for check-in associated with this transfer (for arrival type). 1302 -|tourists[*].transfers[*].checkOutHotelId|String|Hotel ID for check-out associated with this transfer (for departure type). 1303 -|tourists[*].transfers[*].selectedTransferPriceId|String|The ID of the selected pricing option for the transfer. 1304 -|tourists[*].transfers[*].transferPrices[*].id|String|Unique identifier for the transfer price option. 1305 -|tourists[*].transfers[*].transferPrices[*].name|String|The name of the transfer service (e.g., "GROUP", "MINIVAN"). 1306 -|...|...|Additional fields for transferPrices as detailed previously. 1307 -|visas[*].prid|String|Unique identifier for the visa option. 1308 -|visas[*].prName|String|The name of the visa option. 1309 -|visas[*].prValue|Number|The cost associated with this visa option. 1310 -|visas[*].sortingOrder|Number|Used to sort visa options in the response or UI. 1311 -|terminals[*].terminalCode|String|The code representing the terminal. 1312 -|terminals[*].cityUID|String|Unique identifier for the city where the terminal is located. 1313 -|...|...|Additional fields for terminals as detailed previously. 1314 -|containsError|Boolean|Indicates if the response contains any errors. 1315 -|refreshPriceResult|String|The result of attempting to refresh the price (e.g., "Success"). 1316 -|reservationId|String|Unique identifier for the reservation. 1317 -|reservationDetailsUnavailable|Boolean|Indicates if the reservation details are currently unavailable. 1318 -|error|Boolean|A generic error indicator, presumably redundant with containsError. 383 +{{code language="Json"}} 384 + { 385 + "pagingId": "", 386 + "pageNumber": 1, 387 + "pageRowCount":10 388 + } 389 +{{/code}} 1319 1319 1320 -== == 1321 1321 392 +==== Request with caching ==== 393 + 394 +as we receive response, in the end we can see pagingId- number, chich we can use for caching, and then just switch pagenumbers. for cleaning cache, it's important to make new request without pagingID 395 + 396 +{{code language="Json"}} 397 + { 398 + "pagingId": "80", 399 + "pageNumber": 1, 400 + "pageRowCount":10 401 + } 402 +{{/code}} 403 + 404 + 405 +**Overview:** The Paging and Caching mechanism is designed to efficiently manage data retrieval in a paginated format. This mechanism is essential for handling large datasets by dividing the data into manageable pages, thereby optimizing the performance and scalability of data retrieval operations. 406 + 407 +**Initial Request:** 408 + 409 +* **Purpose**: The first request initiates the paging process and is designed to fetch the initial set of data without utilizing a pagingId. 410 +* **Parameters**: 411 +** pagingId: Should be set to an empty string ("") to indicate that this is the initial request. 412 +** pageNumber: Indicates the specific page of data to retrieve, starting with 1. 413 +** pageRowCount: Specifies the number of results to be included on each page. 414 + 415 +**Example - First Request**: 416 + 417 +{{{{ 418 + "pagingId": "", 419 + "pageNumber": 1, 420 + "pageRowCount": 10 421 +} 422 +}}} 423 + 424 + 425 +**Subsequent Requests with Caching:** 426 + 427 +* **Purpose**: Following the initial data retrieval, subsequent requests utilize the pagingId obtained from the previous response. This pagingId serves as a cache identifier, enabling the system to quickly access the relevant dataset and efficiently paginate through the data. 428 +* **Cache Utilization**: 429 +** Upon receiving a response, a pagingId value is provided. This pagingId should be used in subsequent requests to reference the cached data. 430 +** To navigate through the dataset, adjust the pageNumber while keeping the pagingId constant. 431 +** To refresh the dataset and clear the cache, initiate a new request without a pagingId. 432 + 433 +**Example - Request with Caching**: 434 + 435 +{{{ { 436 + "pagingId": "80", 437 + "pageNumber": 2, // Adjusted to fetch the next page 438 + "pageRowCount": 10 439 + } 440 +}}} 441 + 442 + 443 +**Cache Management:** 444 + 445 +* Clearing the cache and fetching a fresh set of data requires sending a new request with the pagingId parameter omitted or set to an empty string. This action resets the pagination and caching context. 446 + 447 +**Implementation Notes**: 448 + 449 +* The paging and caching mechanism significantly enhances data retrieval efficiency by minimizing server load and optimizing response times. 450 +* Developers should ensure that the pagingId is correctly managed between requests to maintain session continuity and data consistency. 451 + 452 +This documentation outlines the procedural framework for implementing a robust paging and caching strategy within data retrieval systems, detailing parameter usage and operational best practices for both initial and subsequent data fetch operations. 453 + 454 + 1322 1322 == Important == 1323 1323 1324 1324 {{error}} ... ... @@ -1326,14 +1326,14 @@ 1326 1326 1327 1327 For every API request after the initial authentication, it's crucial to include the authorization token in the request header. This ensures your requests are authorized and can access the necessary resources. Here's how to properly include your token: 1328 1328 1329 -* **Header Key:** 1330 -* **Header Value:** 462 +* **Header Key:** Authorization 463 +* **Header Value:** Bearer [Your Token Here] - Use the bearer token provided in the initial authentication response. The authorization type should be specified as Bearer Token. 1331 1331 1332 1332 Additionally, to ensure your requests are properly formatted and recognized, include the following headers: 1333 1333 1334 -* **Content-Type:** 1335 -* **Header Key:** 1336 -* **Header Value:** 467 +* **Content-Type:** Specify this header as application/json to indicate the format of the request body. 468 +* **Header Key:** X-nugios-timezone 469 +* **Header Value:** 240 - Adjust this value to match your local timezone offset in minutes. 1337 1337 1338 1338 Incorporating these headers with their respective values is essential for the successful processing of your API requests. 1339 1339 {{/error}}