Wiki source code of 1. SearchTourPackages
Version 25.1 by Giorgi Mdivnishvili on 2024/04/10 11:12
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
1.1 | 1 | {{box cssClass="floatinginfobox" title="**Contents**"}} |
| |
2.1 | 2 | |
| 3 | |||
| |
1.1 | 4 | {{toc/}} |
| 5 | {{/box}} | ||
| 6 | |||
| |
2.1 | 7 | = Method Description = |
| |
1.1 | 8 | |
| |
20.1 | 9 | Tour package mean, tour with hotel and flight together. Using this method gives data about full package availability with flight and hotel options. |
| |
1.1 | 10 | |
| |
20.1 | 11 | It's possible to receive data as current dates, also in date ranges using parameter "stayDays": 0, "stayDaysTo": 0. the maximum difference between the days can be 7. Below you can see examples. |
| |
1.1 | 12 | |
| |
20.1 | 13 | |
| |
3.1 | 14 | == Endpoint URL - [POST] == |
| |
1.1 | 15 | |
| |
2.1 | 16 | {{info}} |
| |
19.1 | 17 | [[https:~~/~~/integration.kazunion.com/api/TourPackages/SearchTourPackages>>https://integration.kazunion.com/api/TourPackages/SearchTourPackages]] |
| |
2.1 | 18 | {{/info}} |
| |
1.1 | 19 | |
| |
2.1 | 20 | == Request Parameters == |
| |
1.1 | 21 | |
| |
2.1 | 22 | (% class="box infomessage" %) |
| 23 | ((( | ||
| |
11.1 | 24 | None |
| |
2.1 | 25 | ))) |
| |
1.1 | 26 | |
| 27 | |||
| |
2.1 | 28 | == Request Body == |
| |
1.1 | 29 | |
| |
2.1 | 30 | {{code language="Json"}} |
| |
3.1 | 31 | { |
| 32 | "departureCountryCode": "string", | ||
| 33 | "departureCityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6", | ||
| 34 | "arrivalCountryCode": "string", | ||
| 35 | "arrivalLocations": [ | ||
| 36 | { | ||
| 37 | "type": "string", | ||
| 38 | "parent": "string", | ||
| 39 | "label": "string", | ||
| 40 | "subLabel": "string", | ||
| 41 | "value": "string", | ||
| 42 | "tag": "string" | ||
| 43 | } | ||
| 44 | ], | ||
| |
21.1 | 45 | "checkInDate": "2023-12-14", |
| 46 | "checkInDateTo": "2023-12-14", | ||
| 47 | "checkOutDate": "2023-12-14", | ||
| |
3.1 | 48 | "stayDays": 0, |
| 49 | "stayDaysTo": 0, | ||
| |
21.1 | 50 | "departureDate": "2023-12-14", |
| 51 | "returnDate": "2023-12-14", | ||
| |
3.1 | 52 | "airlineCode": "string", |
| 53 | "ticketType": "string", | ||
| 54 | "directFlightsOnly": true, | ||
| 55 | "longConnectTime": true, | ||
| 56 | "adults": 0, | ||
| 57 | "children": 0, | ||
| 58 | "childrenAges": [ | ||
| 59 | 0 | ||
| 60 | ], | ||
| 61 | "extendedSearch": true, | ||
| 62 | "totalPriceFrom": 0, | ||
| 63 | "totalPriceTo": 0, | ||
| 64 | "recommended": true, | ||
| 65 | "popular": true, | ||
| 66 | "freeSale": true, | ||
| 67 | "groupByHotel": true, | ||
| 68 | "hotelCodes": [ | ||
| 69 | "string" | ||
| 70 | ], | ||
| 71 | "mealPlans": [ | ||
| 72 | "string" | ||
| 73 | ], | ||
| 74 | "hotelClasses": [ | ||
| 75 | "string" | ||
| 76 | ], | ||
| 77 | "hotelTypes": [ | ||
| 78 | "CityHotel" | ||
| 79 | ], | ||
| 80 | "hotelServices": [ | ||
| 81 | "HasAlcohol" | ||
| 82 | ], | ||
| 83 | "pagingId": "string", | ||
| 84 | "pageNumber": 0, | ||
| 85 | "pageRowCount": 0 | ||
| 86 | } | ||
| |
2.1 | 87 | {{/code}} |
| |
1.1 | 88 | |
| 89 | |||
| |
14.1 | 90 | == Request example == |
| 91 | |||
| 92 | {{code language="Json"}} | ||
| 93 | { | ||
| 94 | "departureCountryCode": "KZ", | ||
| 95 | "departureCityUID": "f0ba6324-f337-405c-8cc7-23d62cf664e8", | ||
| 96 | "arrivalCountryCode": "AE", | ||
| 97 | "arrivalLocations": [ | ||
| 98 | { | ||
| 99 | "type": "city", | ||
| 100 | "label": "Dubai", | ||
| 101 | "value": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", | ||
| 102 | "tag": "Dubai" | ||
| 103 | } | ||
| 104 | ], | ||
| 105 | "checkInDate": "2024-02-05T20:00:00.000Z", | ||
| 106 | "checkInDateTo": "2024-02-10T20:00:00.000Z", | ||
| 107 | |||
| 108 | "stayDays": 3, | ||
| 109 | "stayDaysTo": 6, | ||
| 110 | |||
| 111 | "airlineCode": "", | ||
| 112 | "ticketType": "", | ||
| 113 | "directFlightsOnly": true, | ||
| 114 | "longConnectTime": true, | ||
| 115 | "adults": 1, | ||
| 116 | "children": 1, | ||
| 117 | "childrenAges": [ | ||
| 118 | 2 | ||
| 119 | ], | ||
| 120 | "extendedSearch": false, | ||
| 121 | "totalPriceFrom": 100, | ||
| 122 | "totalPriceTo": 15000, | ||
| 123 | "recommended": true, | ||
| 124 | "popular": true, | ||
| 125 | "freeSale": true, | ||
| 126 | "groupByHotel": true, | ||
| 127 | "hotelCodes": [ | ||
| 128 | |||
| 129 | ], | ||
| 130 | "mealPlans": [ | ||
| 131 | |||
| 132 | ], | ||
| 133 | "hotelClasses": [ | ||
| 134 | |||
| 135 | ], | ||
| 136 | "hotelTypes": [ | ||
| 137 | |||
| 138 | ], | ||
| 139 | "hotelServices": [ | ||
| 140 | |||
| 141 | ], | ||
| 142 | "pagingId": "", | ||
| 143 | "pageNumber": 10, | ||
| 144 | "pageRowCount": 10 | ||
| 145 | } | ||
| 146 | {{/code}} | ||
| 147 | |||
| 148 | |||
| |
2.1 | 149 | == Response Body == |
| 150 | |||
| 151 | {{code language="json"}} | ||
| |
3.1 | 152 | { |
| 153 | "error": true, | ||
| 154 | "errorCode": "string", | ||
| 155 | "errorDescription": "string", | ||
| 156 | "userErrorDescription": "string", | ||
| 157 | "packages": [ | ||
| 158 | { | ||
| 159 | "cacheKey": "string", | ||
| 160 | "id": "string", | ||
| 161 | "priceCurrency": "string", | ||
| 162 | "totalPrice": 0, | ||
| 163 | "agentCommissionPercent": 0, | ||
| 164 | "agentCommissionAmount": 0, | ||
| 165 | "includedExtrasAmount": 0, | ||
| 166 | "priceDifference": 0, | ||
| 167 | "hotel": { | ||
| 168 | "hotelPriceId": "string", | ||
| 169 | "providerId": 0, | ||
| 170 | "hotelName": "string", | ||
| 171 | "hotelCode": "string", | ||
| 172 | "nigths": 0, | ||
| 173 | "mealPlan": "string", | ||
| 174 | "hotelClass": "string", | ||
| 175 | "availabilityType": "OnRequest", | ||
| 176 | "availableRoomsCount": 0, | ||
| 177 | "fewRooms": true, | ||
| 178 | "roomCategoryCode": "string", | ||
| 179 | "roomCategoryName": "string", | ||
| 180 | "placementTypeName": "string", | ||
| 181 | "placementDescription": "string", | ||
| 182 | "checkInDate": "2023-12-14T13:47:13.396Z", | ||
| 183 | "checkOutDate": "2023-12-14T13:47:13.396Z", | ||
| 184 | "adults": 0, | ||
| 185 | "children": 0, | ||
| 186 | "districtUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6", | ||
| 187 | "districtName": "string", | ||
| 188 | "cityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6", | ||
| 189 | "cityName": "string", | ||
| 190 | "countryCode": "string", | ||
| 191 | "countryName": "string", | ||
| 192 | "hasAlcohol": true, | ||
| 193 | "hasFreeWifi": true, | ||
| 194 | "hasMetro": true, | ||
| 195 | "hasPool": true, | ||
| 196 | "hasMall": true, | ||
| 197 | "cancellationPolicyDescription": "string", | ||
| 198 | "cancellationPolicy": { | ||
| 199 | "cancellationPolicyCode": "string", | ||
| 200 | "noShowChargeValue": 0, | ||
| 201 | "noShowChargeValueType": "string", | ||
| 202 | "earlyDepartureChargeValue": 0, | ||
| 203 | "earlyDepartureChargeValueType": "string", | ||
| 204 | "conditions": [ | ||
| 205 | { | ||
| 206 | "timeunits": 0, | ||
| 207 | "timeunitType": "string", | ||
| 208 | "timeOffsetTypeName": "string", | ||
| 209 | "chargeValue": 0, | ||
| 210 | "chargeValueType": "string" | ||
| 211 | } | ||
| 212 | ] | ||
| 213 | } | ||
| 214 | }, | ||
| 215 | "flight": { | ||
| 216 | "id": "string", | ||
| 217 | "departureDate": "2023-12-14T13:47:13.396Z", | ||
| 218 | "returnDate": "2023-12-14T13:47:13.396Z", | ||
| 219 | "departureTicketsLeft": 0, | ||
| 220 | "returnTicketsLeft": 0, | ||
| 221 | "departureAvailabilityType": "OnRequest", | ||
| 222 | "returnAvailabilityType": "OnRequest", | ||
| 223 | "isTwoWay": true, | ||
| 224 | "departureSegments": [ | ||
| 225 | { | ||
| 226 | "airlineCode": "string", | ||
| 227 | "airlineName": "string", | ||
| 228 | "flightCode": "string", | ||
| 229 | "class": "string", | ||
| 230 | "lugageWeight": 0, | ||
| 231 | "handLugageWeight": 0, | ||
| 232 | "departureFlightDate": "2023-12-14T13:47:13.396Z", | ||
| 233 | "departureCountryName": "string", | ||
| 234 | "departureCityName": "string", | ||
| 235 | "departureAirportCode": "string", | ||
| 236 | "departureAirportName": "string", | ||
| 237 | "departureTerminalCode": "string", | ||
| 238 | "arrivalFlightDate": "2023-12-14T13:47:13.396Z", | ||
| 239 | "arrivalCountryName": "string", | ||
| 240 | "arrivalCityName": "string", | ||
| 241 | "arrivalAirportCode": "string", | ||
| 242 | "arrivalAirportName": "string", | ||
| 243 | "arrivalTerminalCode": "string", | ||
| 244 | "flightDuration": "string", | ||
| 245 | "baggages": [ | ||
| 246 | { | ||
| 247 | "baggageCode": "string", | ||
| 248 | "description": "string", | ||
| 249 | "price": 0, | ||
| 250 | "currency": "string", | ||
| 251 | "included": true | ||
| 252 | } | ||
| 253 | ] | ||
| 254 | } | ||
| 255 | ], | ||
| 256 | "returnSegments": [ | ||
| 257 | { | ||
| 258 | "airlineCode": "string", | ||
| 259 | "airlineName": "string", | ||
| 260 | "flightCode": "string", | ||
| 261 | "class": "string", | ||
| 262 | "lugageWeight": 0, | ||
| 263 | "handLugageWeight": 0, | ||
| 264 | "departureFlightDate": "2023-12-14T13:47:13.396Z", | ||
| 265 | "departureCountryName": "string", | ||
| 266 | "departureCityName": "string", | ||
| 267 | "departureAirportCode": "string", | ||
| 268 | "departureAirportName": "string", | ||
| 269 | "departureTerminalCode": "string", | ||
| 270 | "arrivalFlightDate": "2023-12-14T13:47:13.396Z", | ||
| 271 | "arrivalCountryName": "string", | ||
| 272 | "arrivalCityName": "string", | ||
| 273 | "arrivalAirportCode": "string", | ||
| 274 | "arrivalAirportName": "string", | ||
| 275 | "arrivalTerminalCode": "string", | ||
| 276 | "flightDuration": "string", | ||
| 277 | "baggages": [ | ||
| 278 | { | ||
| 279 | "baggageCode": "string", | ||
| 280 | "description": "string", | ||
| 281 | "price": 0, | ||
| 282 | "currency": "string", | ||
| 283 | "included": true | ||
| 284 | } | ||
| 285 | ] | ||
| 286 | } | ||
| 287 | ] | ||
| 288 | }, | ||
| 289 | "extraServices": [ | ||
| 290 | { | ||
| 291 | "extraServiceCode": "string", | ||
| 292 | "extraServiceTypeCode": "string", | ||
| 293 | "isMandatory": 0, | ||
| 294 | "extraServiceName": "string", | ||
| 295 | "minimalServiceAmount": 0, | ||
| 296 | "includedPriceCode": "string", | ||
| 297 | "prices": [ | ||
| 298 | { | ||
| 299 | "extraServicePriceCode": "string", | ||
| 300 | "displayName": "string", | ||
| 301 | "restrictionInfo": "string", | ||
| 302 | "additionalInfo": "string", | ||
| 303 | "price": 0, | ||
| 304 | "extraPrice": 0, | ||
| 305 | "currency": "string" | ||
| 306 | } | ||
| 307 | ] | ||
| 308 | } | ||
| 309 | ], | ||
| 310 | "insurancePrice": { | ||
| 311 | "name": "string", | ||
| 312 | "price": 0, | ||
| 313 | "priceSurcarge": 0, | ||
| 314 | "actualStartDate": "2023-12-14T13:47:13.396Z", | ||
| 315 | "actualEndDate": "2023-12-14T13:47:13.396Z", | ||
| 316 | "optional": true, | ||
| 317 | "includedInPackagePrice": true | ||
| 318 | } | ||
| 319 | } | ||
| 320 | ], | ||
| 321 | "pagingId": "string", | ||
| 322 | "pageNumber": 0, | ||
| 323 | "pageCount": 0 | ||
| 324 | } | ||
| |
2.1 | 325 | {{/code}} |
| 326 | |||
| 327 | |||
| |
14.1 | 328 | == Response example == |
| |
2.1 | 329 | |
| 330 | {{code language="Json"}} | ||
| |
14.1 | 331 | { |
| 332 | "packages": [ | ||
| 333 | { | ||
| 334 | "cacheKey": "c705ab31e00e4f9a81c2fd46b2cdbb47f6fd9a6e16984236beb979b31aefafa4:{79}:i:10", | ||
| 335 | "id": "tour:b01c168e-2ea7-4ea6-b6e0-55abb8cab0a0:da894a1e-88c0-4877-b216-0eeeabe186f3:4298d06f-4344-4a39-ad98-071b7760cf30", | ||
| 336 | "priceCurrency": "USD", | ||
| 337 | "totalPrice": 1033.53, | ||
| 338 | "agentCommissionPercent": 0.0, | ||
| 339 | "agentCommissionAmount": 0.0, | ||
| 340 | "includedExtrasAmount": 0, | ||
| 341 | "priceDifference": 0, | ||
| 342 | "hotel": { | ||
| 343 | "hotelPriceId": "da894a1e-88c0-4877-b216-0eeeabe186f3", | ||
| 344 | "providerId": 13, | ||
| 345 | "hotelName": "Mercure Dubai Barsha Heights Suites Apartments", | ||
| 346 | "hotelCode": "5f125310-7025-4807-a4c6-49cd284c9c14", | ||
| 347 | "nigths": 3, | ||
| 348 | "mealPlan": "BB", | ||
| 349 | "hotelClass": "4", | ||
| 350 | "availabilityType": "FreeSale", | ||
| 351 | "availableRoomsCount": 0, | ||
| 352 | "fewRooms": true, | ||
| 353 | "roomCategoryCode": "bc5f2224-bd4c-49b2-ab57-01eb7fa80d41", | ||
| 354 | "roomCategoryName": "1 B/R Suite City View", | ||
| 355 | "placementTypeName": "DBL", | ||
| 356 | "checkInDate": "2024-02-09T20:00:00.000Z", | ||
| 357 | "checkOutDate": "2024-02-12T20:00:00.000Z", | ||
| 358 | "adults": 1, | ||
| 359 | "children": 1, | ||
| 360 | "districtUID": "4c65f6ed-902b-4fd8-9419-af7884c22c5e", | ||
| 361 | "districtName": "Al Barsha", | ||
| 362 | "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", | ||
| 363 | "cityName": "Dubai", | ||
| 364 | "countryCode": "AE", | ||
| 365 | "countryName": "United Arab Emirates", | ||
| 366 | "hasAlcohol": false, | ||
| 367 | "hasFreeWifi": true, | ||
| 368 | "hasMetro": true, | ||
| 369 | "hasPool": true, | ||
| 370 | "hasMall": false, | ||
| 371 | "cancellationPolicyDescription": "Cancellation Policy: 5 Day Before Arrival: 100.00 %, Early Departure: 100.00 %, NoShow: 100.00 %", | ||
| 372 | "cancellationPolicy": { | ||
| 373 | "noShowChargeValue": 100.0, | ||
| 374 | "noShowChargeValueType": "%", | ||
| 375 | "earlyDepartureChargeValue": 100.0, | ||
| 376 | "earlyDepartureChargeValueType": "%", | ||
| 377 | "conditions": [ | ||
| 378 | { | ||
| 379 | "timeunits": 5, | ||
| 380 | "timeunitType": "Day", | ||
| 381 | "timeOffsetTypeName": "Before Arrival", | ||
| 382 | "chargeValue": 100.0, | ||
| 383 | "chargeValueType": "%" | ||
| 384 | } | ||
| 385 | ] | ||
| 386 | } | ||
| 387 | }, | ||
| 388 | "flight": { | ||
| 389 | "id": "4298d06f-4344-4a39-ad98-071b7760cf30", | ||
| 390 | "departureDate": "2024-02-09T20:00:00.000Z", | ||
| 391 | "returnDate": "2024-02-12T20:00:00.000Z", | ||
| 392 | "departureTicketsLeft": 7, | ||
| 393 | "returnTicketsLeft": 7, | ||
| 394 | "departureAvailabilityType": "FewPlaces", | ||
| 395 | "returnAvailabilityType": "FewPlaces", | ||
| 396 | "isTwoWay": true, | ||
| 397 | "sameBaggageForAll": false, | ||
| 398 | "totalBaggage": false, | ||
| 399 | "departureSegments": [ | ||
| 400 | { | ||
| 401 | "airlineCode": "KC", | ||
| 402 | "airlineName": "Air Astana-", | ||
| 403 | "flightCode": "KC897", | ||
| 404 | "class": "econom", | ||
| 405 | "lugageWeight": 20, | ||
| 406 | "handLugageWeight": 6, | ||
| 407 | "departureFlightDate": "2024-02-09T20:00:00.000Z", | ||
| 408 | "departureCountryName": "Kazakhstan", | ||
| 409 | "departureCityName": "Almaty", | ||
| 410 | "departureAirportCode": "ALA", | ||
| 411 | "departureAirportName": "Almaty Intl Airport", | ||
| 412 | "departureTerminalCode": "ALA", | ||
| 413 | "arrivalFlightDate": "2024-02-09T20:00:00.000Z", | ||
| 414 | "arrivalCountryName": "United Arab Emirates", | ||
| 415 | "arrivalCityName": "Dubai", | ||
| 416 | "arrivalAirportCode": "DXB", | ||
| 417 | "arrivalAirportName": "Dubai Intl Airport", | ||
| 418 | "arrivalTerminalCode": "DXB1", | ||
| 419 | "flightDuration": "0h 50m" | ||
| 420 | } | ||
| 421 | ], | ||
| 422 | "returnSegments": [ | ||
| 423 | { | ||
| 424 | "airlineCode": "KC", | ||
| 425 | "airlineName": "Air Astana-", | ||
| 426 | "flightCode": "KC900", | ||
| 427 | "class": "econom", | ||
| 428 | "lugageWeight": 20, | ||
| 429 | "handLugageWeight": 6, | ||
| 430 | "departureFlightDate": "2024-02-12T20:00:00.000Z", | ||
| 431 | "departureCountryName": "United Arab Emirates", | ||
| 432 | "departureCityName": "Dubai", | ||
| 433 | "departureAirportCode": "DXB", | ||
| 434 | "departureAirportName": "Dubai Intl Airport", | ||
| 435 | "departureTerminalCode": "DXB1", | ||
| 436 | "arrivalFlightDate": "2024-02-12T20:00:00.000Z", | ||
| 437 | "arrivalCountryName": "Kazakhstan", | ||
| 438 | "arrivalCityName": "Almaty", | ||
| 439 | "arrivalAirportCode": "ALA", | ||
| 440 | "arrivalAirportName": "Almaty Intl Airport", | ||
| 441 | "arrivalTerminalCode": "ALA", | ||
| 442 | "flightDuration": "8h 15m" | ||
| 443 | } | ||
| 444 | ], | ||
| 445 | "passengers": [ | ||
| 446 | { | ||
| 447 | "id": "42768722011000004-A1", | ||
| 448 | "isAdult": true, | ||
| 449 | "forwardBaggages": [], | ||
| 450 | "backwardBaggages": [] | ||
| 451 | }, | ||
| 452 | { | ||
| 453 | "id": "42768722011000004-C1", | ||
| 454 | "isAdult": false, | ||
| 455 | "forwardBaggages": [], | ||
| 456 | "backwardBaggages": [] | ||
| 457 | } | ||
| 458 | ] | ||
| 459 | }, | ||
| 460 | "extraServices": [], | ||
| 461 | "insurancePrice": { | ||
| 462 | "name": "Medical INS (N10000)", | ||
| 463 | "price": 17.92, | ||
| 464 | "priceSurcarge": 0.0, | ||
| 465 | "actualStartDate": "2024-02-09T20:00:00.000Z", | ||
| 466 | "actualEndDate": "2024-02-12T20:00:00.000Z", | ||
| 467 | "optional": false, | ||
| 468 | "includedInPackagePrice": true | ||
| 469 | } | ||
| 470 | } | ||
| 471 | ], | ||
| 472 | "pagingId": "79", | ||
| 473 | "pageNumber": 10, | ||
| 474 | "pageCount": 2452, | ||
| 475 | "totalCount": 2452, | ||
| 476 | "error": false | ||
| 477 | } | ||
| |
2.1 | 478 | {{/code}} |
| 479 | |||
| 480 | |||
| 481 | === Schema === | ||
| 482 | |||
| |
12.1 | 483 | {{success}} |
| |
4.1 | 484 | SearchTourPackagesResponse{ |
| |
12.1 | 485 | |
| 486 | |error|boolean | ||
| 487 | |errorCode|string | ||
| 488 | nullable: true | ||
| 489 | |errorDescription|string | ||
| 490 | nullable: true | ||
| 491 | |userErrorDescription|string | ||
| 492 | nullable: true | ||
| 493 | |packages|[ | ||
| 494 | nullable: trueTourPackage{((( | ||
| 495 | |cacheKey|string | ||
| 496 | nullable: true | ||
| 497 | |id|string | ||
| 498 | nullable: true | ||
| 499 | |priceCurrency|string | ||
| 500 | nullable: true | ||
| 501 | |totalPrice|number($double) | ||
| 502 | |agentCommissionPercent|number($double) | ||
| 503 | |agentCommissionAmount|number($double) | ||
| 504 | |includedExtrasAmount|number($double) | ||
| 505 | |priceDifference|number($double) | ||
| 506 | |hotel|PackageHotel{((( | ||
| 507 | |hotelPriceId|string | ||
| 508 | nullable: true | ||
| 509 | |providerId|integer($int32) | ||
| 510 | |hotelName|string | ||
| 511 | nullable: true | ||
| 512 | |hotelCode|string | ||
| 513 | nullable: true | ||
| 514 | |nigths|integer($int32) | ||
| 515 | |mealPlan|string | ||
| 516 | nullable: true | ||
| 517 | |hotelClass|string | ||
| 518 | nullable: true | ||
| 519 | |availabilityType|RoomAvailabilityTypeEnumstringEnum: | ||
| 520 | [ OnRequest, FreeSale, StopSale ] | ||
| 521 | |availableRoomsCount|integer($int32) | ||
| 522 | |fewRooms|boolean | ||
| 523 | |roomCategoryCode|string | ||
| 524 | nullable: true | ||
| 525 | |roomCategoryName|string | ||
| 526 | nullable: true | ||
| 527 | |placementTypeName|string | ||
| 528 | nullable: true | ||
| 529 | |placementDescription|string | ||
| 530 | nullable: true | ||
| 531 | |checkInDate|string($date-time) | ||
| 532 | |checkOutDate|string($date-time) | ||
| 533 | |adults|integer($int32) | ||
| 534 | |children|integer($int32) | ||
| 535 | |districtUID|string($uuid) | ||
| 536 | nullable: true | ||
| 537 | |districtName|string | ||
| 538 | nullable: true | ||
| 539 | |cityUID|string($uuid) | ||
| 540 | nullable: true | ||
| 541 | |cityName|string | ||
| 542 | nullable: true | ||
| 543 | |countryCode|string | ||
| 544 | nullable: true | ||
| 545 | |countryName|string | ||
| 546 | nullable: true | ||
| 547 | |hasAlcohol|boolean | ||
| 548 | |hasFreeWifi|boolean | ||
| 549 | |hasMetro|boolean | ||
| 550 | |hasPool|boolean | ||
| 551 | |hasMall|boolean | ||
| 552 | |cancellationPolicyDescription|string | ||
| 553 | nullable: true | ||
| 554 | |cancellationPolicy|CancellationPolicyExchange{((( | ||
| 555 | |cancellationPolicyCode|string | ||
| 556 | nullable: true | ||
| 557 | |noShowChargeValue|number($double) | ||
| 558 | nullable: true | ||
| 559 | |noShowChargeValueType|string | ||
| 560 | nullable: true | ||
| 561 | |earlyDepartureChargeValue|number($double) | ||
| 562 | nullable: true | ||
| 563 | |earlyDepartureChargeValueType|string | ||
| 564 | nullable: true | ||
| 565 | |conditions|[ | ||
| 566 | nullable: trueCancellationPolicyConditionExchange{((( | ||
| 567 | |timeunits|integer($int32) | ||
| 568 | |timeunitType|string | ||
| 569 | nullable: true | ||
| 570 | |timeOffsetTypeName|string | ||
| 571 | nullable: true | ||
| 572 | |chargeValue|number($double) | ||
| 573 | nullable: true | ||
| 574 | |chargeValueType|string | ||
| 575 | nullable: true | ||
| 576 | |||
| |
2.1 | 577 | }] |
| |
12.1 | 578 | ))) |
| 579 | |||
| |
4.1 | 580 | } |
| |
12.1 | 581 | ))) |
| 582 | |||
| |
4.1 | 583 | } |
| |
12.1 | 584 | ))) |
| 585 | |flight|PackageFlight{((( | ||
| 586 | |id|string | ||
| 587 | nullable: true | ||
| 588 | |departureDate|string($date-time) | ||
| 589 | |returnDate|string($date-time) | ||
| 590 | nullable: true | ||
| 591 | |departureTicketsLeft|integer($int32) | ||
| 592 | |returnTicketsLeft|integer($int32) | ||
| 593 | |departureAvailabilityType|FlightAvailabilityTypestringEnum: | ||
| 594 | [ OnRequest, FreeSale, FewPlaces, StopSale ] | ||
| 595 | |returnAvailabilityType|FlightAvailabilityTypestringEnum: | ||
| 596 | [ OnRequest, FreeSale, FewPlaces, StopSale ] | ||
| 597 | |isTwoWay|boolean | ||
| 598 | |departureSegments|[ | ||
| 599 | nullable: trueFlightSegment{((( | ||
| 600 | |airlineCode|string | ||
| 601 | nullable: true | ||
| 602 | |airlineName|string | ||
| 603 | nullable: true | ||
| 604 | |flightCode|string | ||
| 605 | nullable: true | ||
| 606 | |class|string | ||
| 607 | nullable: true | ||
| 608 | |lugageWeight|number($double) | ||
| 609 | |handLugageWeight|number($double) | ||
| 610 | |departureFlightDate|string($date-time) | ||
| 611 | |departureCountryName|string | ||
| 612 | nullable: true | ||
| 613 | |departureCityName|string | ||
| 614 | nullable: true | ||
| 615 | |departureAirportCode|string | ||
| 616 | nullable: true | ||
| 617 | |departureAirportName|string | ||
| 618 | nullable: true | ||
| 619 | |departureTerminalCode|string | ||
| 620 | nullable: true | ||
| 621 | |arrivalFlightDate|string($date-time) | ||
| 622 | |arrivalCountryName|string | ||
| 623 | nullable: true | ||
| 624 | |arrivalCityName|string | ||
| 625 | nullable: true | ||
| 626 | |arrivalAirportCode|string | ||
| 627 | nullable: true | ||
| 628 | |arrivalAirportName|string | ||
| 629 | nullable: true | ||
| 630 | |arrivalTerminalCode|string | ||
| 631 | nullable: true | ||
| 632 | |flightDuration|string | ||
| 633 | nullable: true | ||
| 634 | |baggages|[ | ||
| 635 | nullable: trueBaggage{((( | ||
| 636 | |baggageCode|string | ||
| 637 | nullable: true | ||
| 638 | |description|string | ||
| 639 | nullable: true | ||
| 640 | |price|number($double) | ||
| 641 | |currency|string | ||
| 642 | nullable: true | ||
| 643 | |included|boolean | ||
| 644 | |||
| |
4.1 | 645 | }] |
| |
12.1 | 646 | ))) |
| 647 | |||
| |
4.1 | 648 | }] |
| |
12.1 | 649 | ))) |
| 650 | |returnSegments|[ | ||
| 651 | nullable: trueFlightSegment{((( | ||
| 652 | |airlineCode|string | ||
| 653 | nullable: true | ||
| 654 | |airlineName|string | ||
| 655 | nullable: true | ||
| 656 | |flightCode|string | ||
| 657 | nullable: true | ||
| 658 | |class|string | ||
| 659 | nullable: true | ||
| 660 | |lugageWeight|number($double) | ||
| 661 | |handLugageWeight|number($double) | ||
| 662 | |departureFlightDate|string($date-time) | ||
| 663 | |departureCountryName|string | ||
| 664 | nullable: true | ||
| 665 | |departureCityName|string | ||
| 666 | nullable: true | ||
| 667 | |departureAirportCode|string | ||
| 668 | nullable: true | ||
| 669 | |departureAirportName|string | ||
| 670 | nullable: true | ||
| 671 | |departureTerminalCode|string | ||
| 672 | nullable: true | ||
| 673 | |arrivalFlightDate|string($date-time) | ||
| 674 | |arrivalCountryName|string | ||
| 675 | nullable: true | ||
| 676 | |arrivalCityName|string | ||
| 677 | nullable: true | ||
| 678 | |arrivalAirportCode|string | ||
| 679 | nullable: true | ||
| 680 | |arrivalAirportName|string | ||
| 681 | nullable: true | ||
| 682 | |arrivalTerminalCode|string | ||
| 683 | nullable: true | ||
| 684 | |flightDuration|string | ||
| 685 | nullable: true | ||
| 686 | |baggages|[ | ||
| 687 | nullable: trueBaggage{((( | ||
| 688 | |baggageCode|string | ||
| 689 | nullable: true | ||
| 690 | |description|string | ||
| 691 | nullable: true | ||
| 692 | |price|number($double) | ||
| 693 | |currency|string | ||
| 694 | nullable: true | ||
| 695 | |included|boolean | ||
| 696 | |||
| |
4.1 | 697 | }] |
| |
12.1 | 698 | ))) |
| 699 | |||
| |
4.1 | 700 | }] |
| |
12.1 | 701 | ))) |
| 702 | |||
| |
4.1 | 703 | } |
| |
12.1 | 704 | ))) |
| 705 | |extraServices|[ | ||
| 706 | nullable: trueHotelExtraServiceBase{((( | ||
| 707 | |extraServiceCode|string | ||
| 708 | nullable: true | ||
| 709 | |extraServiceTypeCode|string | ||
| 710 | nullable: true | ||
| 711 | |isMandatory|integer($int32) | ||
| 712 | |extraServiceName|string | ||
| 713 | nullable: true | ||
| 714 | |minimalServiceAmount|number($double) | ||
| 715 | |includedPriceCode|string | ||
| 716 | nullable: true | ||
| 717 | |prices|[ | ||
| 718 | nullable: trueHotelExtraServicePriceBase{((( | ||
| 719 | |extraServicePriceCode|string | ||
| 720 | nullable: true | ||
| 721 | |displayName|string | ||
| 722 | nullable: true | ||
| 723 | |restrictionInfo|string | ||
| 724 | nullable: true | ||
| 725 | |additionalInfo|string | ||
| 726 | nullable: true | ||
| 727 | |price|number($double) | ||
| 728 | |extraPrice|number($double) | ||
| 729 | |currency|string | ||
| 730 | nullable: true | ||
| 731 | |||
| |
4.1 | 732 | }] |
| |
12.1 | 733 | ))) |
| 734 | |||
| |
4.1 | 735 | }] |
| |
12.1 | 736 | ))) |
| 737 | |insurancePrice|InsurancePrice{((( | ||
| 738 | |name|string | ||
| 739 | nullable: true | ||
| 740 | |price|number($double) | ||
| 741 | |priceSurcarge|number($double) | ||
| 742 | |actualStartDate|string($date-time) | ||
| 743 | |actualEndDate|string($date-time) | ||
| 744 | |optional|boolean | ||
| 745 | |includedInPackagePrice|boolean | ||
| 746 | |||
| |
4.1 | 747 | } |
| |
12.1 | 748 | ))) |
| 749 | |||
| |
4.1 | 750 | }] |
| |
12.1 | 751 | ))) |
| 752 | |pagingId|string | ||
| 753 | nullable: true | ||
| 754 | |pageNumber|integer($int64) | ||
| 755 | |pageCount|integer($int64) | ||
| 756 | |||
| |
4.1 | 757 | } |
| |
12.1 | 758 | {{/success}} |
| 759 | |||
| |
15.1 | 760 | |
| 761 | == Definitions == | ||
| 762 | |||
| 763 | |||
| |
25.1 | 764 | **Request Parameters ** |
| 765 | |||
| |
22.1 | 766 | (% class="table-bordered" %) |
| 767 | |=Field|=Type|=Description | ||
| 768 | |departureCountryCode|string|The ISO 3166-1 alpha-2 country code for the departure country. For example, "KZ" for Kazakhstan. | ||
| 769 | |departureCityUID|string|The unique identifier for the departure city. | ||
| 770 | |arrivalCountryCode|string|The ISO 3166-1 alpha-2 country code for the arrival country. For example, "AE" for United Arab Emirates. | ||
| 771 | |arrivalLocations|array|An array of objects, each representing an arrival location. Each object contains: type (string) - The type of the location. This can be "city". label (string) - The name of the location. value (string) - The unique identifier for the location. tag (string) - A tag for the location. | ||
| 772 | |checkInDate|string|The check-in date in ISO 8601 format. | ||
| 773 | |checkInDateTo|string|The latest possible check-in date in ISO 8601 format. | ||
| 774 | |stayDays|integer|The minimum number of days to stay. | ||
| 775 | |stayDaysTo|integer|The maximum number of days to stay. | ||
| 776 | |airlineCode|string|The code of the airline. This field can be empty. | ||
| 777 | |ticketType|string|The type of the ticket. This field can be empty. | ||
| 778 | |directFlightsOnly|boolean|Indicates whether to search for direct flights only. | ||
| 779 | |longConnectTime|boolean|Indicates whether to include flights with long connection times. | ||
| 780 | |adults|integer|The number of adults. | ||
| 781 | |children|integer|The number of children. | ||
| 782 | |childrenAges|array|An array of integers, each representing the age of a child. | ||
| 783 | |extendedSearch|boolean|Indicates whether to perform an extended search. | ||
| 784 | |totalPriceFrom|float|The minimum total price. | ||
| 785 | |totalPriceTo|float|The maximum total price. | ||
| 786 | |recommended|boolean|Indicates whether to include recommended packages. | ||
| 787 | |popular|boolean|Indicates whether to include popular packages. | ||
| 788 | |freeSale|boolean|Indicates whether to include free sale packages. | ||
| 789 | |groupByHotel|boolean|Indicates whether to group the results by hotel. | ||
| 790 | |hotelCodes|array|An array of strings, each representing a hotel code. This field can be empty. | ||
| 791 | |mealPlans|array|An array of meal plans. This field can be empty. | ||
| 792 | |hotelClasses|array|An array of hotel classes. This field can be empty. | ||
| 793 | |hotelTypes|array|An array of hotel types. This field can be empty. | ||
| 794 | |hotelServices|array|An array of hotel services. This field can be empty. | ||
| 795 | |pagingId|string|The paging ID for paginated results. This field can be empty. | ||
| 796 | |pageNumber|integer|The page number for paginated results. | ||
| 797 | |pageRowCount|integer|The number of rows per page for paginated results. | ||
| 798 | |||
| 799 | |||
| |
23.1 | 800 | (% class="wikigeneratedid" %) |
| |
25.1 | 801 | **Response Parameters** |
| |
23.1 | 802 | |
| |
24.1 | 803 | (% class="table-bordered" %) |
| 804 | |=Field|=Type|=Description | ||
| 805 | |packages|array|An array of packages available. Each package contains: | ||
| 806 | |cacheKey|string|A unique identifier for the cache. | ||
| 807 | |id|string|A unique identifier for the package. | ||
| 808 | |priceCurrency|string|The currency in which the price is displayed. | ||
| 809 | |totalPrice|float|The total price of the package. | ||
| 810 | |agentCommissionPercent|float|The commission percentage for the agent. | ||
| 811 | |agentCommissionAmount|float|The commission amount for the agent. | ||
| 812 | |includedExtrasAmount|integer|The amount of extras included in the package. | ||
| 813 | |priceDifference|integer|The difference in price from the original price. | ||
| 814 | |hotel|object|An object containing details about the hotel. | ||
| 815 | |hotelPriceId|string|A unique identifier for the hotel price. | ||
| 816 | |providerId|integer|A unique identifier for the provider. | ||
| 817 | |hotelName|string|The name of the hotel. | ||
| 818 | |hotelCode|string|A unique code for the hotel. | ||
| 819 | |nigths|integer|The number of nights for the stay. | ||
| 820 | |mealPlan|string|The meal plan for the stay. | ||
| 821 | |hotelClass|string|The class or rating of the hotel. | ||
| 822 | |availabilityType|string|The availability type of the hotel. | ||
| 823 | |availableRoomsCount|integer|The number of available rooms in the hotel. | ||
| 824 | |fewRooms|boolean|Indicates whether there are few rooms left. | ||
| 825 | |roomCategoryCode|string|A unique code for the room category. | ||
| 826 | |roomCategoryName|string|The name of the room category. | ||
| 827 | |placementTypeName|string|The name of the placement type. | ||
| 828 | |checkInDate|string|The check-in date in ISO 8601 format. | ||
| 829 | |checkOutDate|string|The check-out date in ISO 8601 format. | ||
| 830 | |adults|integer|The number of adults for the stay. | ||
| 831 | |children|integer|The number of children for the stay. | ||
| 832 | |districtUID|string|A unique identifier for the district. | ||
| 833 | |districtName|string|The name of the district. | ||
| 834 | |cityUID|string|A unique identifier for the city. | ||
| 835 | |cityName|string|The name of the city. | ||
| 836 | |countryCode|string|The ISO 3166-1 alpha-2 country code. | ||
| 837 | |countryName|string|The name of the country. | ||
| 838 | |hasAlcohol|boolean|Indicates whether the hotel serves alcohol. | ||
| 839 | |hasFreeWifi|boolean|Indicates whether the hotel offers free Wi-Fi. | ||
| 840 | |hasMetro|boolean|Indicates whether the hotel is near a metro station. | ||
| 841 | |hasPool|boolean|Indicates whether the hotel has a pool. | ||
| 842 | |hasMall|boolean|Indicates whether the hotel is near a shopping mall. | ||
| 843 | |cancellationPolicyDescription|string|The description of the cancellation policy. | ||
| 844 | |cancellationPolicy|object|An object containing details about the cancellation policy. | ||
| 845 | |flight|object|An object containing details about the flight. | ||
| 846 | |id|string|A unique identifier for the flight. | ||
| 847 | |departureDate|string|The departure date in ISO 8601 format. | ||
| 848 | |returnDate|string|The return date in ISO 8601 format. | ||
| 849 | |departureTicketsLeft|integer|The number of departure tickets left. | ||
| 850 | |returnTicketsLeft|integer|The number of return tickets left. | ||
| 851 | |departureAvailabilityType|string|The availability type of the departure flight. | ||
| 852 | |returnAvailabilityType|string|The availability type of the return flight. | ||
| 853 | |isTwoWay|boolean|Indicates whether the flight is two-way. | ||
| 854 | |sameBaggageForAll|boolean|Indicates whether the same baggage is applicable for all passengers. | ||
| 855 | |totalBaggage|boolean|Indicates whether total baggage is included. | ||
| 856 | |departureSegments|array|An array of objects, each representing a departure segment. | ||
| 857 | |returnSegments|array|An array of objects, each representing a return segment. | ||
| 858 | |passengers|array|An array of objects, each representing a passenger. | ||
| 859 | |extraServices|array|An array of extra services included in the package. | ||
| 860 | |insurancePrice|object|An object containing details about the insurance price. | ||
| 861 | |pagingId|string|The paging ID for paginated results. | ||
| 862 | |pageNumber|integer|The page number for paginated results. | ||
| 863 | |pageCount|integer|The total number of pages. | ||
| 864 | |totalCount|integer|The total count of packages. | ||
| 865 | |error|boolean|Indicates whether there was an error. | ||
| 866 | |||
| |
15.1 | 867 | === Paging and Caching === |
| 868 | |||
| |
17.1 | 869 | 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: |
| |
15.1 | 870 | |
| 871 | |||
| 872 | ==== first request ==== | ||
| 873 | |||
| 874 | {{code language="Json"}} | ||
| 875 | { | ||
| 876 | "pagingId": "", | ||
| 877 | "pageNumber": 1, | ||
| 878 | "pageRowCount":10 | ||
| 879 | } | ||
| 880 | {{/code}} | ||
| 881 | |||
| 882 | |||
| 883 | ==== Request with caching ==== | ||
| 884 | |||
| |
17.1 | 885 | 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 |
| 886 | |||
| |
15.1 | 887 | {{code language="Json"}} |
| 888 | { | ||
| 889 | "pagingId": "80", | ||
| 890 | "pageNumber": 1, | ||
| 891 | "pageRowCount":10 | ||
| 892 | } | ||
| 893 | {{/code}} | ||
| 894 | |||
| 895 | |||
| 896 | === search parameter options === | ||
| 897 | |||
| 898 | in the request body it's available to filter search results with parameters. parameter examples: | ||
| 899 | |||
| 900 | {{code language="Json"}} | ||
| 901 | { "totalPriceFrom": 500, | ||
| 902 | "totalPriceTo": 10000, | ||
| 903 | "hotelTypes": [ | ||
| 904 | "CityHotel", | ||
| 905 | "BeachHotel", | ||
| 906 | "SecondLineBeach" | ||
| 907 | ], | ||
| 908 | "hotelClasses": [ | ||
| 909 | "1", | ||
| 910 | "2", | ||
| 911 | "3", | ||
| 912 | "4", | ||
| 913 | "5", | ||
| 914 | "6" | ||
| 915 | ], | ||
| 916 | "hotelServices": [ | ||
| 917 | "HasAlcohol", | ||
| 918 | "HasFreeWifi", | ||
| 919 | "HasMetro", | ||
| 920 | "HasPool", | ||
| 921 | "HasMall" | ||
| 922 | ], | ||
| 923 | "mealPlans": [ | ||
| 924 | "RO", | ||
| 925 | "BB", | ||
| 926 | "HB", | ||
| 927 | "FB", | ||
| 928 | "AL" | ||
| 929 | ] | ||
| 930 | } | ||
| 931 | {{/code}} | ||
| 932 | |||
| 933 | |||
| |
16.1 | 934 | |
| |
17.1 | 935 | == Important == |
| |
16.1 | 936 | |
| 937 | {{error}} | ||
| 938 | It's Important to in every other request header, put Auth token | ||
| 939 | |||
| 940 | **Key **- Authorization | ||
| 941 | |||
| 942 | **Value **- Bearer Token what is given in this response. | ||
| 943 | |||
| 944 | |||
| 945 | **also note in headers that:** | ||
| 946 | |||
| 947 | Content-Type - application/json | ||
| 948 | |||
| 949 | **Key - **X-nugios-timezone | ||
| 950 | |||
| 951 | **Value **- 240 | ||
| 952 | {{/error}} |