Wiki source code of SearchTourPackages - Basic version
Version 9.1 by Giorgi Mdivnishvili on 2024/04/11 11:27
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 | |
| |
2.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 | |
| |
2.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 | |
| 13 | |||
| |
2.1 | 14 | == Endpoint URL - [POST] == |
| |
1.1 | 15 | |
| |
2.1 | 16 | {{info}} |
| 17 | [[https:~~/~~/integration.kazunion.com/api/TourPackages/SearchTourPackages>>https://integration.kazunion.com/api/TourPackages/SearchTourPackages]] | ||
| 18 | {{/info}} | ||
| |
1.1 | 19 | |
| |
2.1 | 20 | == Request Parameters == |
| |
1.1 | 21 | |
| |
2.1 | 22 | (% class="box infomessage" %) |
| 23 | ((( | ||
| 24 | None | ||
| 25 | ))) | ||
| |
1.1 | 26 | |
| 27 | |||
| |
2.1 | 28 | == Request example == |
| |
1.1 | 29 | |
| |
2.1 | 30 | {{code language="Json"}} |
| 31 | { | ||
| |
3.1 | 32 | "departureCountryCode": "KZ", |
| 33 | "departureCityUID": "f0ba6324-f337-405c-8cc7-23d62cf664e8", | ||
| 34 | "arrivalCountryCode": "AE", | ||
| 35 | "adults": 2, | ||
| 36 | "children": 0, | ||
| 37 | "departureDate": "2024-05-25T00:00:00", | ||
| 38 | "returnDate": "2024-06-01T00:00:00", | ||
| 39 | "departureAndReturnDaysCount": 7, | ||
| 40 | "checkInDate": "2024-05-25T00:00:00", | ||
| 41 | "checkOutDate": "2024-06-01T00:00:00", | ||
| 42 | "checkInAndCheckOutDaysCount": 7, | ||
| 43 | "directFlightsOnly": true, | ||
| 44 | "pageRowCount": 25, | ||
| 45 | "searchCurrency": "USD" | ||
| |
2.1 | 46 | } |
| 47 | {{/code}} | ||
| 48 | |||
| |
8.1 | 49 | == Request example 2Adults 2Child == |
| |
2.1 | 50 | |
| |
8.1 | 51 | {{code language="Json"}} |
| 52 | { | ||
| 53 | "departureCountryCode": "KZ", | ||
| 54 | "departureCityUID": "f0ba6324-f337-405c-8cc7-23d62cf664e8", | ||
| 55 | "arrivalCountryCode": "AE", | ||
| 56 | "adults": 2, | ||
| 57 | "children": 2, | ||
| 58 | "childrenAges": [ | ||
| 59 | 4, | ||
| 60 | 8 | ||
| 61 | ], | ||
| 62 | "departureDate": "2024-05-26T00:00:00", | ||
| 63 | "returnDate": "2024-06-02T00:00:00", | ||
| 64 | "departureAndReturnDaysCount": 7, | ||
| 65 | "checkInDate": "2024-05-26T00:00:00", | ||
| 66 | "checkOutDate": "2024-06-02T00:00:00", | ||
| 67 | "checkInAndCheckOutDaysCount": 7, | ||
| 68 | "directFlightsOnly": true, | ||
| 69 | "searchCurrency": "USD", | ||
| |
9.1 | 70 | |
| |
8.1 | 71 | "pagingId": "", |
| 72 | "pageNumber": 1, | ||
| 73 | "pageRowCount":5 | ||
| 74 | } | ||
| 75 | {{/code}} | ||
| 76 | |||
| 77 | |||
| |
2.1 | 78 | == Response Body == |
| 79 | |||
| 80 | {{code language="json"}} | ||
| 81 | { | ||
| 82 | "error": true, | ||
| 83 | "errorCode": "string", | ||
| 84 | "errorDescription": "string", | ||
| 85 | "userErrorDescription": "string", | ||
| 86 | "packages": [ | ||
| 87 | { | ||
| 88 | "cacheKey": "string", | ||
| 89 | "id": "string", | ||
| 90 | "priceCurrency": "string", | ||
| 91 | "totalPrice": 0, | ||
| 92 | "agentCommissionPercent": 0, | ||
| 93 | "agentCommissionAmount": 0, | ||
| 94 | "includedExtrasAmount": 0, | ||
| 95 | "priceDifference": 0, | ||
| 96 | "hotel": { | ||
| 97 | "hotelPriceId": "string", | ||
| 98 | "providerId": 0, | ||
| 99 | "hotelName": "string", | ||
| 100 | "hotelCode": "string", | ||
| 101 | "nigths": 0, | ||
| 102 | "mealPlan": "string", | ||
| 103 | "hotelClass": "string", | ||
| 104 | "availabilityType": "OnRequest", | ||
| 105 | "availableRoomsCount": 0, | ||
| 106 | "fewRooms": true, | ||
| 107 | "roomCategoryCode": "string", | ||
| 108 | "roomCategoryName": "string", | ||
| 109 | "placementTypeName": "string", | ||
| 110 | "placementDescription": "string", | ||
| 111 | "checkInDate": "2023-12-14T13:47:13.396Z", | ||
| 112 | "checkOutDate": "2023-12-14T13:47:13.396Z", | ||
| 113 | "adults": 0, | ||
| 114 | "children": 0, | ||
| 115 | "districtUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6", | ||
| 116 | "districtName": "string", | ||
| 117 | "cityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6", | ||
| 118 | "cityName": "string", | ||
| 119 | "countryCode": "string", | ||
| 120 | "countryName": "string", | ||
| 121 | "hasAlcohol": true, | ||
| 122 | "hasFreeWifi": true, | ||
| 123 | "hasMetro": true, | ||
| 124 | "hasPool": true, | ||
| 125 | "hasMall": true, | ||
| 126 | "cancellationPolicyDescription": "string", | ||
| 127 | "cancellationPolicy": { | ||
| 128 | "cancellationPolicyCode": "string", | ||
| 129 | "noShowChargeValue": 0, | ||
| 130 | "noShowChargeValueType": "string", | ||
| 131 | "earlyDepartureChargeValue": 0, | ||
| 132 | "earlyDepartureChargeValueType": "string", | ||
| 133 | "conditions": [ | ||
| 134 | { | ||
| 135 | "timeunits": 0, | ||
| 136 | "timeunitType": "string", | ||
| 137 | "timeOffsetTypeName": "string", | ||
| 138 | "chargeValue": 0, | ||
| 139 | "chargeValueType": "string" | ||
| 140 | } | ||
| 141 | ] | ||
| 142 | } | ||
| 143 | }, | ||
| 144 | "flight": { | ||
| 145 | "id": "string", | ||
| 146 | "departureDate": "2023-12-14T13:47:13.396Z", | ||
| 147 | "returnDate": "2023-12-14T13:47:13.396Z", | ||
| 148 | "departureTicketsLeft": 0, | ||
| 149 | "returnTicketsLeft": 0, | ||
| 150 | "departureAvailabilityType": "OnRequest", | ||
| 151 | "returnAvailabilityType": "OnRequest", | ||
| 152 | "isTwoWay": true, | ||
| 153 | "departureSegments": [ | ||
| 154 | { | ||
| 155 | "airlineCode": "string", | ||
| 156 | "airlineName": "string", | ||
| 157 | "flightCode": "string", | ||
| 158 | "class": "string", | ||
| 159 | "lugageWeight": 0, | ||
| 160 | "handLugageWeight": 0, | ||
| 161 | "departureFlightDate": "2023-12-14T13:47:13.396Z", | ||
| 162 | "departureCountryName": "string", | ||
| 163 | "departureCityName": "string", | ||
| 164 | "departureAirportCode": "string", | ||
| 165 | "departureAirportName": "string", | ||
| 166 | "departureTerminalCode": "string", | ||
| 167 | "arrivalFlightDate": "2023-12-14T13:47:13.396Z", | ||
| 168 | "arrivalCountryName": "string", | ||
| 169 | "arrivalCityName": "string", | ||
| 170 | "arrivalAirportCode": "string", | ||
| 171 | "arrivalAirportName": "string", | ||
| 172 | "arrivalTerminalCode": "string", | ||
| 173 | "flightDuration": "string", | ||
| 174 | "baggages": [ | ||
| 175 | { | ||
| 176 | "baggageCode": "string", | ||
| 177 | "description": "string", | ||
| 178 | "price": 0, | ||
| 179 | "currency": "string", | ||
| 180 | "included": true | ||
| 181 | } | ||
| 182 | ] | ||
| 183 | } | ||
| 184 | ], | ||
| 185 | "returnSegments": [ | ||
| 186 | { | ||
| 187 | "airlineCode": "string", | ||
| 188 | "airlineName": "string", | ||
| 189 | "flightCode": "string", | ||
| 190 | "class": "string", | ||
| 191 | "lugageWeight": 0, | ||
| 192 | "handLugageWeight": 0, | ||
| 193 | "departureFlightDate": "2023-12-14T13:47:13.396Z", | ||
| 194 | "departureCountryName": "string", | ||
| 195 | "departureCityName": "string", | ||
| 196 | "departureAirportCode": "string", | ||
| 197 | "departureAirportName": "string", | ||
| 198 | "departureTerminalCode": "string", | ||
| 199 | "arrivalFlightDate": "2023-12-14T13:47:13.396Z", | ||
| 200 | "arrivalCountryName": "string", | ||
| 201 | "arrivalCityName": "string", | ||
| 202 | "arrivalAirportCode": "string", | ||
| 203 | "arrivalAirportName": "string", | ||
| 204 | "arrivalTerminalCode": "string", | ||
| 205 | "flightDuration": "string", | ||
| 206 | "baggages": [ | ||
| 207 | { | ||
| 208 | "baggageCode": "string", | ||
| 209 | "description": "string", | ||
| 210 | "price": 0, | ||
| 211 | "currency": "string", | ||
| 212 | "included": true | ||
| 213 | } | ||
| 214 | ] | ||
| 215 | } | ||
| 216 | ] | ||
| 217 | }, | ||
| 218 | "extraServices": [ | ||
| 219 | { | ||
| 220 | "extraServiceCode": "string", | ||
| 221 | "extraServiceTypeCode": "string", | ||
| 222 | "isMandatory": 0, | ||
| 223 | "extraServiceName": "string", | ||
| 224 | "minimalServiceAmount": 0, | ||
| 225 | "includedPriceCode": "string", | ||
| 226 | "prices": [ | ||
| 227 | { | ||
| 228 | "extraServicePriceCode": "string", | ||
| 229 | "displayName": "string", | ||
| 230 | "restrictionInfo": "string", | ||
| 231 | "additionalInfo": "string", | ||
| 232 | "price": 0, | ||
| 233 | "extraPrice": 0, | ||
| 234 | "currency": "string" | ||
| 235 | } | ||
| 236 | ] | ||
| 237 | } | ||
| 238 | ], | ||
| 239 | "insurancePrice": { | ||
| 240 | "name": "string", | ||
| 241 | "price": 0, | ||
| 242 | "priceSurcarge": 0, | ||
| 243 | "actualStartDate": "2023-12-14T13:47:13.396Z", | ||
| 244 | "actualEndDate": "2023-12-14T13:47:13.396Z", | ||
| 245 | "optional": true, | ||
| 246 | "includedInPackagePrice": true | ||
| 247 | } | ||
| 248 | } | ||
| 249 | ], | ||
| 250 | "pagingId": "string", | ||
| 251 | "pageNumber": 0, | ||
| 252 | "pageCount": 0 | ||
| 253 | } | ||
| 254 | {{/code}} | ||
| 255 | |||
| 256 | |||
| 257 | == Response example == | ||
| 258 | |||
| 259 | {{code language="Json"}} | ||
| 260 | { | ||
| 261 | "packages": [ | ||
| 262 | { | ||
| |
4.1 | 263 | "id": "tour:556ce3c2-4062-4181-9970-f41e1aeb3b8b:ce81c22f-7d91-4237-9a2a-43c4c4bcb62f:1d8793e6-346e-4b5c-933f-3d8637684d7e", |
| |
2.1 | 264 | "priceCurrency": "USD", |
| |
3.1 | 265 | "totalPrice": 909.78, |
| |
2.1 | 266 | "agentCommissionPercent": 0.0, |
| 267 | "agentCommissionAmount": 0.0, | ||
| 268 | "includedExtrasAmount": 0, | ||
| 269 | "priceDifference": 0, | ||
| 270 | "hotel": { | ||
| |
4.1 | 271 | "hotelPriceId": "ce81c22f-7d91-4237-9a2a-43c4c4bcb62f", |
| |
3.1 | 272 | "hotelName": "CityMax Sharjah", |
| 273 | "hotelCode": "CMAXBSHJNUG", | ||
| 274 | "nigths": 7, | ||
| |
2.1 | 275 | "mealPlan": "BB", |
| |
3.1 | 276 | "hotelClass": "3", |
| 277 | "hotelColor": "#228B22", | ||
| |
2.1 | 278 | "availabilityType": "FreeSale", |
| 279 | "availableRoomsCount": 0, | ||
| 280 | "fewRooms": true, | ||
| |
3.1 | 281 | "roomCategoryCode": "DBL", |
| 282 | "roomCategoryName": "Standard Room", | ||
| 283 | "placementTypeName": "2 Adults", | ||
| 284 | "placementDescription": "MARPROMDMC02/RUS", | ||
| 285 | "checkInDate": "2024-05-25T00:00:00.000", | ||
| 286 | "checkOutDate": "2024-06-01T00:00:00.000", | ||
| 287 | "adults": 2, | ||
| 288 | "children": 0, | ||
| 289 | "districtUID": "7ac1bbc8-59ea-4977-b272-ed8553f94f9b", | ||
| 290 | "districtName": "Sharjah", | ||
| 291 | "cityUID": "f78ac3bc-f040-46d0-8319-2c52083080a6", | ||
| 292 | "cityName": "Sharjah", | ||
| 293 | "countryCode": "AE", | ||
| 294 | "countryName": "United Arab Emirates", | ||
| 295 | "hasAlcohol": false, | ||
| 296 | "hasFreeWifi": true, | ||
| 297 | "hasMetro": false, | ||
| 298 | "hasPool": false, | ||
| 299 | "hasMall": true, | ||
| 300 | "infantMaxAge": 4.99, | ||
| 301 | "childMinAge": 5.0, | ||
| 302 | "childMaxAge": 11.99, | ||
| 303 | "teenMinAge": 0.0, | ||
| 304 | "teenMaxAge": 0.0, | ||
| 305 | "adultMinAge": 12.0, | ||
| 306 | "cancellationPolicyDescription": "Cancellation Policy: 2 Day Before Arrival: 1.00 Night, Early Departure: 1.00 Night, NoShow: 1.00 Night", | ||
| 307 | "cancellationPolicy": { | ||
| 308 | "noShowChargeValue": 1.0, | ||
| 309 | "noShowChargeValueType": "Night", | ||
| 310 | "earlyDepartureChargeValue": 1.0, | ||
| 311 | "earlyDepartureChargeValueType": "Night", | ||
| 312 | "conditions": [ | ||
| 313 | { | ||
| 314 | "timeunits": 2, | ||
| 315 | "timeunitType": "Day", | ||
| 316 | "timeOffsetTypeName": "Before Arrival", | ||
| 317 | "chargeValue": 1.0, | ||
| 318 | "chargeValueType": "Night" | ||
| 319 | } | ||
| 320 | ] | ||
| 321 | } | ||
| 322 | }, | ||
| 323 | "flight": { | ||
| |
4.1 | 324 | "id": "1d8793e6-346e-4b5c-933f-3d8637684d7e", |
| |
3.1 | 325 | "departureDate": "2024-05-25T00:00:00.000", |
| 326 | "returnDate": "2024-06-01T00:00:00.000", | ||
| 327 | "departureTicketsLeft": 48, | ||
| 328 | "returnTicketsLeft": 33, | ||
| 329 | "departureAvailabilityType": "FreeSale", | ||
| 330 | "returnAvailabilityType": "FreeSale", | ||
| 331 | "isTwoWay": true, | ||
| 332 | "sameBaggageForAll": false, | ||
| 333 | "totalBaggage": false, | ||
| 334 | "isBlock": true, | ||
| 335 | "class": "Economy", | ||
| 336 | "departureSegments": [ | ||
| 337 | { | ||
| 338 | "airlineCode": "FZ", | ||
| 339 | "airlineName": "Fly Dubai", | ||
| 340 | "flightCode": "FZ1722", | ||
| 341 | "class": "Economy", | ||
| 342 | "lugageWeight": 20, | ||
| 343 | "handLugageWeight": 6, | ||
| 344 | "departureFlightDate": "2024-05-25T03:35:00.000", | ||
| 345 | "departureCountryName": "Kazakhstan", | ||
| 346 | "departureCityName": "Almaty", | ||
| 347 | "departureAirportCode": "ALA", | ||
| 348 | "departureAirportName": "Almaty Intl Airport", | ||
| 349 | "departureTerminalCode": "ALA", | ||
| 350 | "arrivalFlightDate": "2024-05-25T07:10:00.000", | ||
| 351 | "arrivalCountryName": "United Arab Emirates", | ||
| 352 | "arrivalCityName": "Dubai", | ||
| 353 | "arrivalAirportCode": "DXB", | ||
| 354 | "arrivalAirportName": "Dubai Intl Airport", | ||
| 355 | "arrivalTerminalCode": "DXB3", | ||
| 356 | "flightDuration": "5h 35m" | ||
| 357 | } | ||
| 358 | ], | ||
| 359 | "returnSegments": [ | ||
| 360 | { | ||
| 361 | "airlineCode": "FZ", | ||
| 362 | "airlineName": "Fly Dubai", | ||
| 363 | "flightCode": "FZ1721", | ||
| 364 | "class": "Economy", | ||
| 365 | "lugageWeight": 20, | ||
| 366 | "handLugageWeight": 6, | ||
| 367 | "departureFlightDate": "2024-06-01T21:25:00.000", | ||
| 368 | "departureCountryName": "United Arab Emirates", | ||
| 369 | "departureCityName": "Dubai", | ||
| 370 | "departureAirportCode": "DXB", | ||
| 371 | "departureAirportName": "Dubai Intl Airport", | ||
| 372 | "departureTerminalCode": "DXB3", | ||
| 373 | "arrivalFlightDate": "2024-06-02T02:35:00.000", | ||
| 374 | "arrivalCountryName": "Kazakhstan", | ||
| 375 | "arrivalCityName": "Almaty", | ||
| 376 | "arrivalAirportCode": "ALA", | ||
| 377 | "arrivalAirportName": "Almaty Intl Airport", | ||
| 378 | "arrivalTerminalCode": "ALA", | ||
| 379 | "flightDuration": "3h 10m" | ||
| 380 | } | ||
| 381 | ], | ||
| 382 | "passengers": [ | ||
| 383 | { | ||
| |
4.1 | 384 | "id": "1d8793e6-346e-4b5c-933f-3d8637684d7e-A1", |
| |
3.1 | 385 | "isAdult": true, |
| 386 | "selectedForwardBaggageCode": "INCLUDED", | ||
| 387 | "selectedBackwardBaggageCode": "INCLUDED", | ||
| 388 | "forwardBaggages": [ | ||
| 389 | { | ||
| 390 | "baggageCode": "INCLUDED", | ||
| 391 | "description": "20 Kg Included", | ||
| 392 | "price": 0.0, | ||
| 393 | "currency": "USD", | ||
| 394 | "included": true | ||
| 395 | } | ||
| 396 | ], | ||
| 397 | "backwardBaggages": [ | ||
| 398 | { | ||
| 399 | "baggageCode": "INCLUDED", | ||
| 400 | "description": "20 Kg Included", | ||
| 401 | "price": 0.0, | ||
| 402 | "currency": "USD", | ||
| 403 | "included": true | ||
| 404 | } | ||
| 405 | ] | ||
| 406 | }, | ||
| 407 | { | ||
| |
4.1 | 408 | "id": "1d8793e6-346e-4b5c-933f-3d8637684d7e-A2", |
| |
3.1 | 409 | "isAdult": true, |
| 410 | "selectedForwardBaggageCode": "INCLUDED", | ||
| 411 | "selectedBackwardBaggageCode": "INCLUDED", | ||
| 412 | "forwardBaggages": [ | ||
| 413 | { | ||
| 414 | "baggageCode": "INCLUDED", | ||
| 415 | "description": "20 Kg Included", | ||
| 416 | "price": 0.0, | ||
| 417 | "currency": "USD", | ||
| 418 | "included": true | ||
| 419 | } | ||
| 420 | ], | ||
| 421 | "backwardBaggages": [ | ||
| 422 | { | ||
| 423 | "baggageCode": "INCLUDED", | ||
| 424 | "description": "20 Kg Included", | ||
| 425 | "price": 0.0, | ||
| 426 | "currency": "USD", | ||
| 427 | "included": true | ||
| 428 | } | ||
| 429 | ] | ||
| 430 | } | ||
| 431 | ] | ||
| 432 | }, | ||
| 433 | "extraServices": [], | ||
| 434 | "insurancePrice": { | ||
| 435 | "name": "Medical INS (N10000)", | ||
| 436 | "price": 35.84, | ||
| 437 | "actualStartDate": "2024-05-25T00:00:00.000", | ||
| 438 | "actualEndDate": "2024-06-01T00:00:00.000", | ||
| 439 | "optional": false, | ||
| 440 | "includedInPackagePrice": true | ||
| 441 | }, | ||
| |
4.1 | 442 | "cacheKey": "bd7e9a28fb744528a2deb043f05e0502602ea56f943a4dc9805321db85d51137:{9}:i:1", |
| |
3.1 | 443 | "sortCheckInOut": "25.05.2024-01.06.2024", |
| 444 | "sortAirline": "fly dubai", | ||
| 445 | "sortHotelName": "citymax sharjah", | ||
| 446 | "sortDetails": "bb", | ||
| 447 | "sortPlacement": "standard room 2 adults" | ||
| |
2.1 | 448 | } |
| 449 | ], | ||
| |
4.1 | 450 | "pagingId": "9", |
| |
3.1 | 451 | "pageNumber": 1, |
| |
4.1 | 452 | "pageCount": 883, |
| |
3.1 | 453 | "totalCount": 883, |
| |
2.1 | 454 | "error": false |
| 455 | } | ||
| 456 | {{/code}} | ||
| 457 | |||
| 458 | |||
| 459 | === Schema === | ||
| 460 | |||
| 461 | {{success}} | ||
| 462 | SearchTourPackagesResponse{ | ||
| 463 | |||
| 464 | |error|boolean | ||
| 465 | |errorCode|string | ||
| 466 | nullable: true | ||
| 467 | |errorDescription|string | ||
| 468 | nullable: true | ||
| 469 | |userErrorDescription|string | ||
| 470 | nullable: true | ||
| 471 | |packages|[ | ||
| 472 | nullable: trueTourPackage{((( | ||
| 473 | |cacheKey|string | ||
| 474 | nullable: true | ||
| 475 | |id|string | ||
| 476 | nullable: true | ||
| 477 | |priceCurrency|string | ||
| 478 | nullable: true | ||
| 479 | |totalPrice|number($double) | ||
| 480 | |agentCommissionPercent|number($double) | ||
| 481 | |agentCommissionAmount|number($double) | ||
| 482 | |includedExtrasAmount|number($double) | ||
| 483 | |priceDifference|number($double) | ||
| 484 | |hotel|PackageHotel{((( | ||
| 485 | |hotelPriceId|string | ||
| 486 | nullable: true | ||
| 487 | |providerId|integer($int32) | ||
| 488 | |hotelName|string | ||
| 489 | nullable: true | ||
| 490 | |hotelCode|string | ||
| 491 | nullable: true | ||
| 492 | |nigths|integer($int32) | ||
| 493 | |mealPlan|string | ||
| 494 | nullable: true | ||
| 495 | |hotelClass|string | ||
| 496 | nullable: true | ||
| 497 | |availabilityType|RoomAvailabilityTypeEnumstringEnum: | ||
| 498 | [ OnRequest, FreeSale, StopSale ] | ||
| 499 | |availableRoomsCount|integer($int32) | ||
| 500 | |fewRooms|boolean | ||
| 501 | |roomCategoryCode|string | ||
| 502 | nullable: true | ||
| 503 | |roomCategoryName|string | ||
| 504 | nullable: true | ||
| 505 | |placementTypeName|string | ||
| 506 | nullable: true | ||
| 507 | |placementDescription|string | ||
| 508 | nullable: true | ||
| 509 | |checkInDate|string($date-time) | ||
| 510 | |checkOutDate|string($date-time) | ||
| 511 | |adults|integer($int32) | ||
| 512 | |children|integer($int32) | ||
| 513 | |districtUID|string($uuid) | ||
| 514 | nullable: true | ||
| 515 | |districtName|string | ||
| 516 | nullable: true | ||
| 517 | |cityUID|string($uuid) | ||
| 518 | nullable: true | ||
| 519 | |cityName|string | ||
| 520 | nullable: true | ||
| 521 | |countryCode|string | ||
| 522 | nullable: true | ||
| 523 | |countryName|string | ||
| 524 | nullable: true | ||
| 525 | |hasAlcohol|boolean | ||
| 526 | |hasFreeWifi|boolean | ||
| 527 | |hasMetro|boolean | ||
| 528 | |hasPool|boolean | ||
| 529 | |hasMall|boolean | ||
| 530 | |cancellationPolicyDescription|string | ||
| 531 | nullable: true | ||
| 532 | |cancellationPolicy|CancellationPolicyExchange{((( | ||
| 533 | |cancellationPolicyCode|string | ||
| 534 | nullable: true | ||
| 535 | |noShowChargeValue|number($double) | ||
| 536 | nullable: true | ||
| 537 | |noShowChargeValueType|string | ||
| 538 | nullable: true | ||
| 539 | |earlyDepartureChargeValue|number($double) | ||
| 540 | nullable: true | ||
| 541 | |earlyDepartureChargeValueType|string | ||
| 542 | nullable: true | ||
| 543 | |conditions|[ | ||
| 544 | nullable: trueCancellationPolicyConditionExchange{((( | ||
| 545 | |timeunits|integer($int32) | ||
| 546 | |timeunitType|string | ||
| 547 | nullable: true | ||
| 548 | |timeOffsetTypeName|string | ||
| 549 | nullable: true | ||
| 550 | |chargeValue|number($double) | ||
| 551 | nullable: true | ||
| 552 | |chargeValueType|string | ||
| 553 | nullable: true | ||
| 554 | |||
| 555 | }] | ||
| 556 | ))) | ||
| 557 | |||
| 558 | } | ||
| 559 | ))) | ||
| 560 | |||
| 561 | } | ||
| 562 | ))) | ||
| 563 | |flight|PackageFlight{((( | ||
| 564 | |id|string | ||
| 565 | nullable: true | ||
| 566 | |departureDate|string($date-time) | ||
| 567 | |returnDate|string($date-time) | ||
| 568 | nullable: true | ||
| 569 | |departureTicketsLeft|integer($int32) | ||
| 570 | |returnTicketsLeft|integer($int32) | ||
| 571 | |departureAvailabilityType|FlightAvailabilityTypestringEnum: | ||
| 572 | [ OnRequest, FreeSale, FewPlaces, StopSale ] | ||
| 573 | |returnAvailabilityType|FlightAvailabilityTypestringEnum: | ||
| 574 | [ OnRequest, FreeSale, FewPlaces, StopSale ] | ||
| 575 | |isTwoWay|boolean | ||
| 576 | |departureSegments|[ | ||
| 577 | nullable: trueFlightSegment{((( | ||
| 578 | |airlineCode|string | ||
| 579 | nullable: true | ||
| 580 | |airlineName|string | ||
| 581 | nullable: true | ||
| 582 | |flightCode|string | ||
| 583 | nullable: true | ||
| 584 | |class|string | ||
| 585 | nullable: true | ||
| 586 | |lugageWeight|number($double) | ||
| 587 | |handLugageWeight|number($double) | ||
| 588 | |departureFlightDate|string($date-time) | ||
| 589 | |departureCountryName|string | ||
| 590 | nullable: true | ||
| 591 | |departureCityName|string | ||
| 592 | nullable: true | ||
| 593 | |departureAirportCode|string | ||
| 594 | nullable: true | ||
| 595 | |departureAirportName|string | ||
| 596 | nullable: true | ||
| 597 | |departureTerminalCode|string | ||
| 598 | nullable: true | ||
| 599 | |arrivalFlightDate|string($date-time) | ||
| 600 | |arrivalCountryName|string | ||
| 601 | nullable: true | ||
| 602 | |arrivalCityName|string | ||
| 603 | nullable: true | ||
| 604 | |arrivalAirportCode|string | ||
| 605 | nullable: true | ||
| 606 | |arrivalAirportName|string | ||
| 607 | nullable: true | ||
| 608 | |arrivalTerminalCode|string | ||
| 609 | nullable: true | ||
| 610 | |flightDuration|string | ||
| 611 | nullable: true | ||
| 612 | |baggages|[ | ||
| 613 | nullable: trueBaggage{((( | ||
| 614 | |baggageCode|string | ||
| 615 | nullable: true | ||
| 616 | |description|string | ||
| 617 | nullable: true | ||
| 618 | |price|number($double) | ||
| 619 | |currency|string | ||
| 620 | nullable: true | ||
| 621 | |included|boolean | ||
| 622 | |||
| 623 | }] | ||
| 624 | ))) | ||
| 625 | |||
| 626 | }] | ||
| 627 | ))) | ||
| 628 | |returnSegments|[ | ||
| 629 | nullable: trueFlightSegment{((( | ||
| 630 | |airlineCode|string | ||
| 631 | nullable: true | ||
| 632 | |airlineName|string | ||
| 633 | nullable: true | ||
| 634 | |flightCode|string | ||
| 635 | nullable: true | ||
| 636 | |class|string | ||
| 637 | nullable: true | ||
| 638 | |lugageWeight|number($double) | ||
| 639 | |handLugageWeight|number($double) | ||
| 640 | |departureFlightDate|string($date-time) | ||
| 641 | |departureCountryName|string | ||
| 642 | nullable: true | ||
| 643 | |departureCityName|string | ||
| 644 | nullable: true | ||
| 645 | |departureAirportCode|string | ||
| 646 | nullable: true | ||
| 647 | |departureAirportName|string | ||
| 648 | nullable: true | ||
| 649 | |departureTerminalCode|string | ||
| 650 | nullable: true | ||
| 651 | |arrivalFlightDate|string($date-time) | ||
| 652 | |arrivalCountryName|string | ||
| 653 | nullable: true | ||
| 654 | |arrivalCityName|string | ||
| 655 | nullable: true | ||
| 656 | |arrivalAirportCode|string | ||
| 657 | nullable: true | ||
| 658 | |arrivalAirportName|string | ||
| 659 | nullable: true | ||
| 660 | |arrivalTerminalCode|string | ||
| 661 | nullable: true | ||
| 662 | |flightDuration|string | ||
| 663 | nullable: true | ||
| 664 | |baggages|[ | ||
| 665 | nullable: trueBaggage{((( | ||
| 666 | |baggageCode|string | ||
| 667 | nullable: true | ||
| 668 | |description|string | ||
| 669 | nullable: true | ||
| 670 | |price|number($double) | ||
| 671 | |currency|string | ||
| 672 | nullable: true | ||
| 673 | |included|boolean | ||
| 674 | |||
| 675 | }] | ||
| 676 | ))) | ||
| 677 | |||
| 678 | }] | ||
| 679 | ))) | ||
| 680 | |||
| 681 | } | ||
| 682 | ))) | ||
| 683 | |extraServices|[ | ||
| 684 | nullable: trueHotelExtraServiceBase{((( | ||
| 685 | |extraServiceCode|string | ||
| 686 | nullable: true | ||
| 687 | |extraServiceTypeCode|string | ||
| 688 | nullable: true | ||
| 689 | |isMandatory|integer($int32) | ||
| 690 | |extraServiceName|string | ||
| 691 | nullable: true | ||
| 692 | |minimalServiceAmount|number($double) | ||
| 693 | |includedPriceCode|string | ||
| 694 | nullable: true | ||
| 695 | |prices|[ | ||
| 696 | nullable: trueHotelExtraServicePriceBase{((( | ||
| 697 | |extraServicePriceCode|string | ||
| 698 | nullable: true | ||
| 699 | |displayName|string | ||
| 700 | nullable: true | ||
| 701 | |restrictionInfo|string | ||
| 702 | nullable: true | ||
| 703 | |additionalInfo|string | ||
| 704 | nullable: true | ||
| 705 | |price|number($double) | ||
| 706 | |extraPrice|number($double) | ||
| 707 | |currency|string | ||
| 708 | nullable: true | ||
| 709 | |||
| 710 | }] | ||
| 711 | ))) | ||
| 712 | |||
| 713 | }] | ||
| 714 | ))) | ||
| 715 | |insurancePrice|InsurancePrice{((( | ||
| 716 | |name|string | ||
| 717 | nullable: true | ||
| 718 | |price|number($double) | ||
| 719 | |priceSurcarge|number($double) | ||
| 720 | |actualStartDate|string($date-time) | ||
| 721 | |actualEndDate|string($date-time) | ||
| 722 | |optional|boolean | ||
| 723 | |includedInPackagePrice|boolean | ||
| 724 | |||
| 725 | } | ||
| 726 | ))) | ||
| 727 | |||
| 728 | }] | ||
| 729 | ))) | ||
| 730 | |pagingId|string | ||
| 731 | nullable: true | ||
| 732 | |pageNumber|integer($int64) | ||
| 733 | |pageCount|integer($int64) | ||
| 734 | |||
| 735 | } | ||
| 736 | {{/success}} | ||
| 737 | |||
| 738 | |||
| 739 | == Definitions == | ||
| 740 | |||
| 741 | |||
| |
5.1 | 742 | === **Request Parameters ** === |
| |
2.1 | 743 | |
| |
7.1 | 744 | (% class="table-bordered" %) |
| |
5.1 | 745 | |=Key|=Type|=Nullable|=Description |
| 746 | |departureCountryCode|String|No|The ISO 3166-1 alpha-2 code of the departure country. For example, "KZ" for Kazakhstan. | ||
| 747 | |departureCityUID|String (UUID)|No|The unique identifier of the departure city. This is a UUID, such as "f0ba6324-f337-405c-8cc7-23d62cf664e8". | ||
| 748 | |arrivalCountryCode|String|No|The ISO 3166-1 alpha-2 code of the arrival country. For example, "AE" for United Arab Emirates. | ||
| 749 | |adults|Integer|No|The number of adults for the trip. For example, 2 for two adults. | ||
| 750 | |children|Integer|No|The number of children for the trip. For example, 0 for no children. | ||
| 751 | |departureDate|String (date-time)|No|The departure date in ISO 8601 format. For example, "2024-05-25T00:00:00" for May 25, 2024. | ||
| 752 | |returnDate|String (date-time)|No|The return date in ISO 8601 format. For example, "2024-06-01T00:00:00" for June 1, 2024. | ||
| 753 | |departureAndReturnDaysCount|Integer|No|The total number of days for the departure and return trip. For example, 7 for a week-long trip. | ||
| 754 | |checkInDate|String (date-time)|No|The check-in date at the hotel in ISO 8601 format. For example, "2024-05-25T00:00:00" for May 25, 2024. | ||
| 755 | |checkOutDate|String (date-time)|No|The check-out date from the hotel in ISO 8601 format. For example, "2024-06-01T00:00:00" for June 1, 2024. | ||
| 756 | |checkInAndCheckOutDaysCount|Integer|No|The total number of days for the hotel stay. For example, 7 for a week-long stay. | ||
| 757 | |directFlightsOnly|Boolean|No|Whether to search for direct flights only. For example, true to only search for direct flights. | ||
| 758 | |pageRowCount|Integer|No|The number of results to return per page. For example, 1 to return 1 result per page. | ||
| 759 | |searchCurrency|String|No|The currency in which the search results should be displayed. For example, "USD" for United States Dollar. | ||
| 760 | |||
| |
6.1 | 761 | === === |
| |
5.1 | 762 | |
| |
6.1 | 763 | === **Response Parameters** === |
| |
5.1 | 764 | |
| |
7.1 | 765 | (% class="table-bordered" %) |
| |
6.1 | 766 | |=Key|=Type|=Description |
| 767 | |packages|Array|An array of travel packages. Each package includes various details about the package. | ||
| 768 | |packages[].id|String|A unique identifier for the package. This is used to uniquely identify each package. | ||
| 769 | |packages[].priceCurrency|String|The currency in which the price is denoted. This could be USD, EUR, etc. | ||
| 770 | |packages[].totalPrice|Number|The total price of the package. This includes all costs associated with the package. | ||
| 771 | |packages[].agentCommissionPercent|Number|The commission percentage for the agent. This is the percentage of the total price that the agent receives as commission. | ||
| 772 | |packages[].agentCommissionAmount|Number|The commission amount for the agent. This is the actual amount the agent receives as commission. | ||
| 773 | |packages[].includedExtrasAmount|Number|The amount for the included extras. This is the cost of any extra services included in the package. | ||
| 774 | |packages[].priceDifference|Number|The price difference. This could be a discount or a price increase. | ||
| 775 | |packages[].hotel|Object|An object containing details about the hotel included in the package. This includes information like the hotel name, class, availability, etc. | ||
| 776 | |packages[].hotel.hotelPriceId|String|The price ID of the hotel. This is used to uniquely identify the price for the hotel. | ||
| 777 | |packages[].hotel.hotelName|String|The name of the hotel. This is the actual name of the hotel. | ||
| 778 | |packages[].hotel.hotelCode|String|The code of the hotel. This is a unique code used to identify the hotel. | ||
| 779 | |packages[].hotel.nights|Number|The number of nights for the stay. This is the duration of the stay at the hotel. | ||
| 780 | |packages[].hotel.mealPlan|String|The meal plan for the stay. This could be breakfast included, all inclusive, etc. | ||
| 781 | |packages[].hotel.hotelClass|String|The class of the hotel. This could be 3-star, 4-star, 5-star, etc. | ||
| 782 | |packages[].hotel.hotelColor|String|The color associated with the hotel. This could be used for categorization or visualization purposes. | ||
| 783 | |packages[].hotel.availabilityType|String|The availability type of the hotel. This could be available, sold out, etc. | ||
| 784 | |packages[].hotel.availableRoomsCount|Number|The count of available rooms. This is the number of rooms that are currently available at the hotel. | ||
| 785 | |packages[].hotel.fewRooms|Boolean|A boolean indicating if there are few rooms left. If true, it means that there are only a few rooms left. | ||
| 786 | |packages[].hotel.roomCategoryCode|String|The code of the room category. This is a unique code used to identify the room category. | ||
| 787 | |packages[].hotel.roomCategoryName|String|The name of the room category. This is the actual name of the room category. | ||
| 788 | |packages[].hotel.placementTypeName|String|The name of the placement type. This could be sea view, garden view, etc. | ||
| 789 | |packages[].hotel.placementDescription|String|The description of the placement. This provides more details about the placement type. | ||
| 790 | |packages[].hotel.checkInDate|String|The check-in date. This is the date when the stay at the hotel begins. | ||
| 791 | |packages[].hotel.checkOutDate|String|The check-out date. This is the date when the stay at the hotel ends. | ||
| 792 | |packages[].hotel.adults|Number|The number of adults. This is the number of adults that will be staying at the hotel. | ||
| 793 | |packages[].hotel.children|Number|The number of children. This is the number of children that will be staying at the hotel. | ||
| 794 | |packages[].hotel.districtUID|String|The UID of the district. This is a unique identifier for the district where the hotel is located. | ||
| 795 | |packages[].hotel.districtName|String|The name of the district. This is the actual name of the district where the hotel is located. | ||
| 796 | |packages[].hotel.cityUID|String|The UID of the city. This is a unique identifier for the city where the hotel is located. | ||
| 797 | |packages[].hotel.cityName|String|The name of the city. This is the actual name of the city where the hotel is located. | ||
| 798 | |packages[].hotel.countryCode|String|The code of the country. This is a unique code used to identify the country where the hotel is located. | ||
| 799 | |packages[].hotel.countryName|String|The name of the country. This is the actual name of the country where the hotel is located. | ||
| 800 | |packages[].hotel.hasAlcohol|Boolean|A boolean indicating if alcohol is available. If true, it means that alcohol is available at the hotel. | ||
| 801 | |packages[].hotel.hasFreeWifi|Boolean|A boolean indicating if free Wi-Fi is available. If true, it means that free Wi-Fi is available at the hotel. | ||
| 802 | |packages[].hotel.hasMetro|Boolean|A boolean indicating if metro is available. If true, it means that there is a metro station near the hotel. | ||
| 803 | |packages[].hotel.hasPool|Boolean|A boolean indicating if a pool is available. If true, it means that the hotel has a pool. | ||
| 804 | |packages[].hotel.hasMall|Boolean|A boolean indicating if a mall is available. If true, it means that there is a mall near the hotel. | ||
| 805 | |packages[].hotel.infantMaxAge|Number|The maximum age for an infant. This is the maximum age at which a person is considered an infant. | ||
| 806 | |packages[].hotel.childMinAge|Number|The minimum age for a child. This is the minimum age at which a person is considered a child. | ||
| 807 | |packages[].hotel.childMaxAge|Number|The maximum age for a child. This is the maximum age at which a person is considered a child. | ||
| 808 | |packages[].hotel.teenMinAge|Number|The minimum age for a teen. This is the minimum age at which a person is considered a teen. | ||
| 809 | |packages[].hotel.teenMaxAge|Number|The maximum age for a teen. This is the maximum age at which a person is considered a teen. | ||
| 810 | |packages[].hotel.adultMinAge|Number|The minimum age for an adult. This is the minimum age at which a person is considered an adult. | ||
| 811 | |packages[].hotel.cancellationPolicyDescription|String|The description of the cancellation policy. This provides more details about the cancellation policy of the hotel. | ||
| 812 | |packages[].hotel.cancellationPolicy|Object|An object containing details about the cancellation policy. This includes information like the cancellation deadline, cancellation fee, etc. | ||
| 813 | |packages[].flight|Object|An object containing details about the flight included in the package. This includes information like the flight ID, departure date, return date, etc. | ||
| 814 | |packages[].flight.id|String|The ID of the flight. This is used to uniquely identify the flight. | ||
| 815 | |packages[].flight.departureDate|String|The departure date of the flight. This is the date when the flight departs. | ||
| 816 | |packages[].flight.returnDate|String|The return date of the flight. This is the date when the flight returns. | ||
| 817 | |packages[].flight.departureTicketsLeft|Number|The number of departure tickets left. This is the number of tickets that are still available for the departure flight. | ||
| 818 | |packages[].flight.returnTicketsLeft|Number|The number of return tickets left. This is the number of tickets that are still available for the return flight. | ||
| 819 | |packages[].flight.departureAvailabilityType|String|The availability type of the departure flight. This could be available, sold out, etc. | ||
| 820 | |packages[].flight.returnAvailabilityType|String|The availability type of the return flight. This could be available, sold out, etc. | ||
| 821 | |packages[].flight.isTwoWay|Boolean|A boolean indicating if the flight is two-way. If true, it means that the flight includes both departure and return. | ||
| 822 | |packages[].flight.sameBaggageForAll|Boolean|A boolean indicating if the same baggage is for all. If true, it means that the same baggage allowance applies to all passengers. | ||
| 823 | |packages[].flight.totalBaggage|Boolean|A boolean indicating if total baggage is included. If true, it means that the total baggage allowance is included in the price. | ||
| 824 | |packages[].flight.isBlock|Boolean|A boolean indicating if the flight is blocked. If true, it means that the flight is currently blocked and cannot be booked. | ||
| 825 | |packages[].flight.class|String|The class of the flight. This could be economy, business, first class, etc. | ||
| 826 | |packages[].flight.departureSegments|Array|An array containing details about the departure segments. Each segment includes information like the departure airport, arrival airport, departure time, arrival time, etc. | ||
| 827 | |packages[].flight.returnSegments|Array|An array containing details about the return segments. Each segment includes information like the departure airport, arrival airport, departure time, arrival time, etc. | ||
| 828 | |packages[].flight.passengers|Array|An array containing details about the passengers. Each passenger includes information like the passenger type, baggage allowance, etc. | ||
| 829 | |packages[].extraServices|Array|An array of any extra services included in the package. Each service includes information like the service name, service price, etc. | ||
| 830 | |packages[].insurancePrice|Object|An object containing details about the insurance price included in the package. This includes information like the insurance type, insurance price, etc. | ||
| 831 | |packages[].cacheKey|String|The cache key. This is used to cache the package details for faster retrieval. | ||
| 832 | |packages[].sortCheckInOut|String|The check-in and check-out dates for sorting. This is used to sort the packages based on the check-in and check-out dates. | ||
| 833 | |packages[].sortAirline|String|The airline for sorting. This is used to sort the packages based on the airline. | ||
| 834 | |packages[].sortHotelName|String|The hotel name for sorting. This is used to sort the packages based on the hotel name. | ||
| 835 | |packages[].sortDetails|String|The details for sorting. This is used to sort the packages based on various details. | ||
| 836 | |packages[].sortPlacement|String|The placement for sorting. This is used to sort the packages based on the placement. | ||
| 837 | |pagingId|String|An identifier for the page. This is used to uniquely identify each page of results. | ||
| 838 | |pageNumber|Number|The current page number. This is the number of the current page of results. | ||
| 839 | |pageCount|Number|The total number of pages. This is the total number of pages of results. | ||
| 840 | |totalCount|Number|The total count of packages. This is the total number of packages in all pages of results. | ||
| 841 | |error|Boolean|A boolean indicating whether there was an error. If true, it means that there was an error in retrieving the packages. | ||
| |
5.1 | 842 | |
| |
2.1 | 843 | ==== first request ==== |
| 844 | |||
| 845 | {{code language="Json"}} | ||
| 846 | { | ||
| 847 | "pagingId": "", | ||
| 848 | "pageNumber": 1, | ||
| 849 | "pageRowCount":10 | ||
| 850 | } | ||
| 851 | {{/code}} | ||
| 852 | |||
| 853 | |||
| 854 | ==== Request with caching ==== | ||
| 855 | |||
| 856 | 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 | ||
| 857 | |||
| 858 | {{code language="Json"}} | ||
| 859 | { | ||
| 860 | "pagingId": "80", | ||
| 861 | "pageNumber": 1, | ||
| 862 | "pageRowCount":10 | ||
| 863 | } | ||
| 864 | {{/code}} | ||
| 865 | |||
| 866 | |||
| 867 | === search parameter options === | ||
| 868 | |||
| 869 | in the request body it's available to filter search results with parameters. parameter examples: | ||
| 870 | |||
| 871 | {{code language="Json"}} | ||
| 872 | { "totalPriceFrom": 500, | ||
| 873 | "totalPriceTo": 10000, | ||
| 874 | "hotelTypes": [ | ||
| 875 | "CityHotel", | ||
| 876 | "BeachHotel", | ||
| 877 | "SecondLineBeach" | ||
| 878 | ], | ||
| 879 | "hotelClasses": [ | ||
| 880 | "1", | ||
| 881 | "2", | ||
| 882 | "3", | ||
| 883 | "4", | ||
| 884 | "5", | ||
| 885 | "6" | ||
| 886 | ], | ||
| 887 | "hotelServices": [ | ||
| 888 | "HasAlcohol", | ||
| 889 | "HasFreeWifi", | ||
| 890 | "HasMetro", | ||
| 891 | "HasPool", | ||
| 892 | "HasMall" | ||
| 893 | ], | ||
| 894 | "mealPlans": [ | ||
| 895 | "RO", | ||
| 896 | "BB", | ||
| 897 | "HB", | ||
| 898 | "FB", | ||
| 899 | "AL" | ||
| 900 | ] | ||
| 901 | } | ||
| 902 | {{/code}} | ||
| 903 | |||
| 904 | |||
| 905 | |||
| 906 | == Important == | ||
| 907 | |||
| 908 | {{error}} | ||
| 909 | It's Important to in every other request header, put Auth token | ||
| 910 | |||
| 911 | **Key **- Authorization | ||
| 912 | |||
| 913 | **Value **- Bearer Token what is given in this response. | ||
| 914 | |||
| 915 | |||
| 916 | **also note in headers that:** | ||
| 917 | |||
| 918 | Content-Type - application/json | ||
| 919 | |||
| 920 | **Key - **X-nugios-timezone | ||
| 921 | |||
| 922 | **Value **- 240 | ||
| 923 | {{/error}} |