Wiki source code of SearchTourPackages - Basic version
Version 9.1 by Giorgi Mdivnishvili on 2024/04/11 11:27
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{box cssClass="floatinginfobox" title="**Contents**"}} | ||
2 | |||
3 | |||
4 | {{toc/}} | ||
5 | {{/box}} | ||
6 | |||
7 | = Method Description = | ||
8 | |||
9 | Tour package mean, tour with hotel and flight together. Using this method gives data about full package availability with flight and hotel options. | ||
10 | |||
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. | ||
12 | |||
13 | |||
14 | == Endpoint URL - [POST] == | ||
15 | |||
16 | {{info}} | ||
17 | [[https:~~/~~/integration.kazunion.com/api/TourPackages/SearchTourPackages>>https://integration.kazunion.com/api/TourPackages/SearchTourPackages]] | ||
18 | {{/info}} | ||
19 | |||
20 | == Request Parameters == | ||
21 | |||
22 | (% class="box infomessage" %) | ||
23 | ((( | ||
24 | None | ||
25 | ))) | ||
26 | |||
27 | |||
28 | == Request example == | ||
29 | |||
30 | {{code language="Json"}} | ||
31 | { | ||
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" | ||
46 | } | ||
47 | {{/code}} | ||
48 | |||
49 | == Request example 2Adults 2Child == | ||
50 | |||
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", | ||
70 | |||
71 | "pagingId": "", | ||
72 | "pageNumber": 1, | ||
73 | "pageRowCount":5 | ||
74 | } | ||
75 | {{/code}} | ||
76 | |||
77 | |||
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 | { | ||
263 | "id": "tour:556ce3c2-4062-4181-9970-f41e1aeb3b8b:ce81c22f-7d91-4237-9a2a-43c4c4bcb62f:1d8793e6-346e-4b5c-933f-3d8637684d7e", | ||
264 | "priceCurrency": "USD", | ||
265 | "totalPrice": 909.78, | ||
266 | "agentCommissionPercent": 0.0, | ||
267 | "agentCommissionAmount": 0.0, | ||
268 | "includedExtrasAmount": 0, | ||
269 | "priceDifference": 0, | ||
270 | "hotel": { | ||
271 | "hotelPriceId": "ce81c22f-7d91-4237-9a2a-43c4c4bcb62f", | ||
272 | "hotelName": "CityMax Sharjah", | ||
273 | "hotelCode": "CMAXBSHJNUG", | ||
274 | "nigths": 7, | ||
275 | "mealPlan": "BB", | ||
276 | "hotelClass": "3", | ||
277 | "hotelColor": "#228B22", | ||
278 | "availabilityType": "FreeSale", | ||
279 | "availableRoomsCount": 0, | ||
280 | "fewRooms": true, | ||
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": { | ||
324 | "id": "1d8793e6-346e-4b5c-933f-3d8637684d7e", | ||
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 | { | ||
384 | "id": "1d8793e6-346e-4b5c-933f-3d8637684d7e-A1", | ||
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 | { | ||
408 | "id": "1d8793e6-346e-4b5c-933f-3d8637684d7e-A2", | ||
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 | }, | ||
442 | "cacheKey": "bd7e9a28fb744528a2deb043f05e0502602ea56f943a4dc9805321db85d51137:{9}:i: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" | ||
448 | } | ||
449 | ], | ||
450 | "pagingId": "9", | ||
451 | "pageNumber": 1, | ||
452 | "pageCount": 883, | ||
453 | "totalCount": 883, | ||
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 | |||
742 | === **Request Parameters ** === | ||
743 | |||
744 | (% class="table-bordered" %) | ||
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 | |||
761 | === === | ||
762 | |||
763 | === **Response Parameters** === | ||
764 | |||
765 | (% class="table-bordered" %) | ||
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. | ||
842 | |||
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}} |