Wiki source code of 4. CalcCheckout
Version 8.1 by Giorgi Mdivnishvili on 2024/04/11 12:48
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 | This method is used to calculate full package with hotels and flights, to recheck prices, availability, prices and cancelation policy before book. | ||
10 | |||
11 | |||
12 | == Endpoint URL - [POST] == | ||
13 | |||
14 | {{info}} | ||
15 | [[https:~~/~~/integration.kazunion.com/api/Checkout/CalcCheckout>>https://integration.kazunion.com/api/Checkout/CalcCheckout]] | ||
16 | {{/info}} | ||
17 | |||
18 | |||
19 | == Request Parameters == | ||
20 | |||
21 | (% class="box infomessage" %) | ||
22 | ((( | ||
23 | None | ||
24 | ))) | ||
25 | |||
26 | |||
27 | == Request Body == | ||
28 | |||
29 | {{code language="Json"}} | ||
30 | { | ||
31 | "reservationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", | ||
32 | "calcTourPackageRequests": [ | ||
33 | { | ||
34 | "packageId": "string", | ||
35 | "extraServicePriceCodes": [ | ||
36 | "string" | ||
37 | ], | ||
38 | "flightPassengers": [ | ||
39 | { | ||
40 | "id": "string", | ||
41 | "selectedForwardBaggageCode": "string", | ||
42 | "selectedBackwardBaggageCode": "string" | ||
43 | } | ||
44 | ], | ||
45 | "includeInsurance": true, | ||
46 | "refreshPrices": true | ||
47 | } | ||
48 | ], | ||
49 | "calcOnlyHotelPackageRequests": [ | ||
50 | { | ||
51 | "packageId": "string", | ||
52 | "extraServicePriceCodes": [ | ||
53 | "string" | ||
54 | ], | ||
55 | "includeInsurance": true, | ||
56 | "refreshPrices": true | ||
57 | } | ||
58 | ], | ||
59 | "calcOnlyAviaPackageRequests": [ | ||
60 | { | ||
61 | "packageId": "string", | ||
62 | "refreshPrices": true, | ||
63 | "flightPassengers": [ | ||
64 | { | ||
65 | "id": "string", | ||
66 | "selectedForwardBaggageCode": "string", | ||
67 | "selectedBackwardBaggageCode": "string" | ||
68 | } | ||
69 | ] | ||
70 | } | ||
71 | ], | ||
72 | "hotels": [ | ||
73 | { | ||
74 | "hotelPriceId": "string", | ||
75 | "agentConfirmationNumber": "string", | ||
76 | "note": "string", | ||
77 | "touristIds": [ | ||
78 | "3fa85f64-5717-4562-b3fc-2c963f66afa6" | ||
79 | ] | ||
80 | } | ||
81 | ], | ||
82 | "tourists": [ | ||
83 | { | ||
84 | "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", | ||
85 | "firstName": "string", | ||
86 | "lastName": "string", | ||
87 | "birthDate": "2024-04-11T03:34:15.828Z", | ||
88 | "passportNumber": "string", | ||
89 | "passportExpiry": "2024-04-11T03:34:15.828Z", | ||
90 | "passportIssue": "2024-04-11T03:34:15.828Z", | ||
91 | "citizenship": "string", | ||
92 | "tin": "string", | ||
93 | "isMale": true, | ||
94 | "flightIds": [ | ||
95 | "string" | ||
96 | ], | ||
97 | "arrivalFlightInfo": { | ||
98 | "flightNumber": "string", | ||
99 | "terminalCode": "string", | ||
100 | "date": "2024-04-11T03:34:15.828Z", | ||
101 | "time": "string" | ||
102 | }, | ||
103 | "departureFlightInfo": { | ||
104 | "flightNumber": "string", | ||
105 | "terminalCode": "string", | ||
106 | "date": "2024-04-11T03:34:15.828Z", | ||
107 | "time": "string" | ||
108 | }, | ||
109 | "selectedVisaId": "string", | ||
110 | "transfers": [ | ||
111 | { | ||
112 | "id": "string", | ||
113 | "selectedTransferPriceId": "string" | ||
114 | } | ||
115 | ] | ||
116 | } | ||
117 | ], | ||
118 | "note": "string", | ||
119 | "contactPhone": "string" | ||
120 | } | ||
121 | |||
122 | {{/code}} | ||
123 | |||
124 | (% class="wikigeneratedid" id="HRequestBodyexample" %) | ||
125 | (% id="cke_bm_10575S" style="display:none" %) | ||
126 | |||
127 | |||
128 | |||
129 | == Request Body example == | ||
130 | |||
131 | {{code language="Json"}} | ||
132 | { | ||
133 | "calcTourPackageRequests": [ | ||
134 | { | ||
135 | "refreshPrices": true, | ||
136 | "packageId": "tour:7caef71d-25e3-4882-b0db-81e766af2b72:fa7a89d5-1c20-4004-b3d2-f8d08163827f:53552191-59ea-469d-ae9d-5b848da8839d", | ||
137 | "flightPassengers": [ | ||
138 | { | ||
139 | "id": "53552191-59ea-469d-ae9d-5b848da8839d-A1", | ||
140 | "selectedForwardBaggageCode": "INCLUDED", | ||
141 | "selectedBackwardBaggageCode": "INCLUDED" | ||
142 | }, | ||
143 | { | ||
144 | "id": "53552191-59ea-469d-ae9d-5b848da8839d-A2", | ||
145 | "selectedForwardBaggageCode": "INCLUDED", | ||
146 | "selectedBackwardBaggageCode": "INCLUDED" | ||
147 | } | ||
148 | ], | ||
149 | "extraServicePriceCodes": [], | ||
150 | "includeInsurance": true | ||
151 | } | ||
152 | ], | ||
153 | "calcOnlyHotelPackageRequests": [], | ||
154 | "calcOnlyAviaPackageRequests": [] | ||
155 | } | ||
156 | {{/code}} | ||
157 | |||
158 | |||
159 | == Response == | ||
160 | |||
161 | {{code language="json"}} | ||
162 | { | ||
163 | "error": true, | ||
164 | "errorCode": "string", | ||
165 | "errorDescription": "string", | ||
166 | "userErrorDescription": "string", | ||
167 | "priceCurrency": "string", | ||
168 | "totalPrice": 0, | ||
169 | "agentCommissionPercent": 0, | ||
170 | "agentCommissionAmount": 0, | ||
171 | "requiredCitizenIdentifiers": [ | ||
172 | { | ||
173 | "countryCode": "string", | ||
174 | "identifierType": "TIN" | ||
175 | } | ||
176 | ], | ||
177 | "hotels": [ | ||
178 | { | ||
179 | "hotelPriceId": "string", | ||
180 | "touristIds": [ | ||
181 | "3fa85f64-5717-4562-b3fc-2c963f66afa6" | ||
182 | ], | ||
183 | "errorCode": "string", | ||
184 | "errorMessage": "string", | ||
185 | "description": "string" | ||
186 | } | ||
187 | ], | ||
188 | "tourists": [ | ||
189 | { | ||
190 | "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", | ||
191 | "age": 0, | ||
192 | "isAdult": true, | ||
193 | "flightIds": [ | ||
194 | "string" | ||
195 | ], | ||
196 | "flights": [ | ||
197 | { | ||
198 | "flightId": "string", | ||
199 | "note": "string" | ||
200 | } | ||
201 | ], | ||
202 | "arrivalFlightInfo": { | ||
203 | "flightNumber": "string", | ||
204 | "terminalCode": "string", | ||
205 | "date": "2024-04-11T05:03:16.796Z", | ||
206 | "time": "string" | ||
207 | }, | ||
208 | "departureFlightInfo": { | ||
209 | "flightNumber": "string", | ||
210 | "terminalCode": "string", | ||
211 | "date": "2024-04-11T05:03:16.796Z", | ||
212 | "time": "string" | ||
213 | }, | ||
214 | "insurancePrice": { | ||
215 | "insuranceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", | ||
216 | "insuranceServiceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", | ||
217 | "insurancePriceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", | ||
218 | "touristId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", | ||
219 | "insuranceName": "string", | ||
220 | "insuranceDescription": "string", | ||
221 | "contragentName": "string", | ||
222 | "contragentFullName": "string", | ||
223 | "actualStartDate": "2024-04-11T05:03:16.796Z", | ||
224 | "actualEndDate": "2024-04-11T05:03:16.796Z", | ||
225 | "costCurrencyCode": "string", | ||
226 | "costAmount": 0, | ||
227 | "priceCurrencyCode": "string", | ||
228 | "priceAmount": 0, | ||
229 | "coverageCurrencyCode": "string", | ||
230 | "coverageAmount": 0 | ||
231 | }, | ||
232 | "selectedVisaId": "string", | ||
233 | "transfers": [ | ||
234 | { | ||
235 | "id": "string", | ||
236 | "type": "Arrival", | ||
237 | "flightId": "string", | ||
238 | "flightInfo": { | ||
239 | "flightNumber": "string", | ||
240 | "terminalCode": "string", | ||
241 | "date": "2024-04-11T05:03:16.796Z", | ||
242 | "time": "string" | ||
243 | }, | ||
244 | "checkInHotelId": "string", | ||
245 | "checkOutHotelId": "string", | ||
246 | "selectedTransferPriceId": "string", | ||
247 | "transferPrices": [ | ||
248 | { | ||
249 | "id": "string", | ||
250 | "name": "string", | ||
251 | "adultPlaces": 0, | ||
252 | "childPlaces": 0, | ||
253 | "perPersonPrice": true, | ||
254 | "adultPrice": 0, | ||
255 | "childPrice": 0 | ||
256 | } | ||
257 | ] | ||
258 | } | ||
259 | ], | ||
260 | "errorCode": "string", | ||
261 | "errorMessage": "string", | ||
262 | "description": "string" | ||
263 | } | ||
264 | ], | ||
265 | "visas": [ | ||
266 | { | ||
267 | "prid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", | ||
268 | "prName": "string", | ||
269 | "prValue": 0, | ||
270 | "sortingOrder": 0 | ||
271 | } | ||
272 | ], | ||
273 | "terminals": [ | ||
274 | { | ||
275 | "terminalCode": "string", | ||
276 | "cityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6", | ||
277 | "districtUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6", | ||
278 | "terminalName": "string", | ||
279 | "countryCode": "string", | ||
280 | "note": "string" | ||
281 | } | ||
282 | ], | ||
283 | "containsError": true, | ||
284 | "refreshPriceResult": "Success", | ||
285 | "reservationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", | ||
286 | "reservationDetailsUnavailable": true | ||
287 | } | ||
288 | {{/code}} | ||
289 | |||
290 | |||
291 | === Response example === | ||
292 | |||
293 | {{code language="Json"}} | ||
294 | { | ||
295 | "package": { | ||
296 | "id": "tour:1d0fa533-4261-4254-93bb-83599d581ffc:193990fa-41a5-46e6-9805-50f82c3c377f:0c299240-6fc6-4f79-ba99-3548f2de3f57", | ||
297 | "priceCurrency": "USD", | ||
298 | "totalPrice": 937.16, | ||
299 | "agentCommissionPercent": 0.00, | ||
300 | "agentCommissionAmount": 0.00, | ||
301 | "includedExtrasAmount": 0, | ||
302 | "priceDifference": 0, | ||
303 | "hotel": { | ||
304 | "hotelPriceId": "193990fa-41a5-46e6-9805-50f82c3c377f", | ||
305 | "providerId": 13, | ||
306 | "hotelName": "Mercure Dubai Barsha Heights Suites Apartments", | ||
307 | "hotelCode": "5f125310-7025-4807-a4c6-49cd284c9c14", | ||
308 | "nigths": 2, | ||
309 | "mealPlan": "BB", | ||
310 | "hotelClass": "4", | ||
311 | "availabilityType": "StopSale", | ||
312 | "availableRoomsCount": 0, | ||
313 | "fewRooms": true, | ||
314 | "roomCategoryCode": "f8e1ffe5-25cc-46a4-80e8-586d1c049de4", | ||
315 | "roomCategoryName": "1 B/R Apartment City View", | ||
316 | "placementTypeName": "SNGL + CHILD(2-5.99)sharing", | ||
317 | "checkInDate": "2024-02-15T20:00:00.000Z", | ||
318 | "checkOutDate": "2024-02-17T20:00:00.000Z", | ||
319 | "adults": 1, | ||
320 | "children": 1, | ||
321 | "districtUID": "4c65f6ed-902b-4fd8-9419-af7884c22c5e", | ||
322 | "districtName": "Al Barsha", | ||
323 | "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", | ||
324 | "cityName": "Dubai", | ||
325 | "countryCode": "AE", | ||
326 | "countryName": "United Arab Emirates", | ||
327 | "hasAlcohol": false, | ||
328 | "hasFreeWifi": true, | ||
329 | "hasMetro": true, | ||
330 | "hasPool": true, | ||
331 | "hasMall": false, | ||
332 | "cancellationPolicyDescription": "Cancellation Policy: 5 Day Before Arrival: 100.00 %, Early Departure: 100.00 %, NoShow: 100.00 %", | ||
333 | "cancellationPolicy": { | ||
334 | "noShowChargeValue": 100.00, | ||
335 | "noShowChargeValueType": "%", | ||
336 | "earlyDepartureChargeValue": 100.00, | ||
337 | "earlyDepartureChargeValueType": "%", | ||
338 | "conditions": [ | ||
339 | { | ||
340 | "timeunits": 5, | ||
341 | "timeunitType": "Day", | ||
342 | "timeOffsetTypeName": "Before Arrival", | ||
343 | "chargeValue": 100.00, | ||
344 | "chargeValueType": "%" | ||
345 | } | ||
346 | ] | ||
347 | } | ||
348 | }, | ||
349 | "flight": { | ||
350 | "id": "0c299240-6fc6-4f79-ba99-3548f2de3f57", | ||
351 | "departureDate": "2024-02-15T20:00:00.000Z", | ||
352 | "returnDate": "2024-02-17T20:00:00.000Z", | ||
353 | "departureTicketsLeft": 7, | ||
354 | "returnTicketsLeft": 7, | ||
355 | "departureAvailabilityType": "FewPlaces", | ||
356 | "returnAvailabilityType": "FewPlaces", | ||
357 | "isTwoWay": true, | ||
358 | "sameBaggageForAll": false, | ||
359 | "totalBaggage": true, | ||
360 | "departureSegments": [ | ||
361 | { | ||
362 | "airlineCode": "KC", | ||
363 | "airlineName": "Air Astana-", | ||
364 | "flightCode": "KC899", | ||
365 | "class": "econom", | ||
366 | "lugageWeight": 20, | ||
367 | "handLugageWeight": 6, | ||
368 | "departureFlightDate": "2024-02-15T20:00:00.000Z", | ||
369 | "departureCountryName": "Kazakhstan", | ||
370 | "departureCityName": "Almaty", | ||
371 | "departureAirportCode": "ALA", | ||
372 | "departureAirportName": "Almaty Intl Airport", | ||
373 | "departureTerminalCode": "ALA", | ||
374 | "arrivalFlightDate": "2024-02-15T20:00:00.000Z", | ||
375 | "arrivalCountryName": "United Arab Emirates", | ||
376 | "arrivalCityName": "Dubai", | ||
377 | "arrivalAirportCode": "DXB", | ||
378 | "arrivalAirportName": "Dubai Intl Airport", | ||
379 | "arrivalTerminalCode": "DXB1", | ||
380 | "flightDuration": "0h 50m" | ||
381 | } | ||
382 | ], | ||
383 | "returnSegments": [ | ||
384 | { | ||
385 | "airlineCode": "KC", | ||
386 | "airlineName": "Air Astana-", | ||
387 | "flightCode": "KC900", | ||
388 | "class": "econom", | ||
389 | "lugageWeight": 20, | ||
390 | "handLugageWeight": 6, | ||
391 | "departureFlightDate": "2024-02-17T20:00:00.000Z", | ||
392 | "departureCountryName": "United Arab Emirates", | ||
393 | "departureCityName": "Dubai", | ||
394 | "departureAirportCode": "DXB", | ||
395 | "departureAirportName": "Dubai Intl Airport", | ||
396 | "departureTerminalCode": "DXB1", | ||
397 | "arrivalFlightDate": "2024-02-17T20:00:00.000Z", | ||
398 | "arrivalCountryName": "Kazakhstan", | ||
399 | "arrivalCityName": "Almaty", | ||
400 | "arrivalAirportCode": "ALA", | ||
401 | "arrivalAirportName": "Almaty Intl Airport", | ||
402 | "arrivalTerminalCode": "ALA", | ||
403 | "flightDuration": "8h 15m" | ||
404 | } | ||
405 | ], | ||
406 | "passengers": [ | ||
407 | { | ||
408 | "id": "42779531011000004-A1", | ||
409 | "isAdult": true, | ||
410 | "forwardBaggages": [ | ||
411 | { | ||
412 | "baggageCode": "TOTAL_BAGGAGE", | ||
413 | "description": "1 piece included, UP TO 50 POUNDS/23 KILOGRAMS, OVER 62 LINEAR INCHES/158 LINEAR CENTIMETERS", | ||
414 | "price": 45.00, | ||
415 | "currency": "USD", | ||
416 | "included": false | ||
417 | } | ||
418 | ], | ||
419 | "backwardBaggages": [ | ||
420 | { | ||
421 | "baggageCode": "INCLUDED_IN_FORWARD", | ||
422 | "price": 0, | ||
423 | "included": false | ||
424 | } | ||
425 | ] | ||
426 | }, | ||
427 | { | ||
428 | "id": "42779531011000004-C1", | ||
429 | "isAdult": false, | ||
430 | "forwardBaggages": [ | ||
431 | { | ||
432 | "baggageCode": "TOTAL_BAGGAGE", | ||
433 | "description": "1 piece included, UP TO 50 POUNDS/23 KILOGRAMS, OVER 62 LINEAR INCHES/158 LINEAR CENTIMETERS", | ||
434 | "price": 45.00, | ||
435 | "currency": "USD", | ||
436 | "included": false | ||
437 | } | ||
438 | ], | ||
439 | "backwardBaggages": [ | ||
440 | { | ||
441 | "baggageCode": "INCLUDED_IN_FORWARD", | ||
442 | "price": 0, | ||
443 | "included": false | ||
444 | } | ||
445 | ] | ||
446 | } | ||
447 | ] | ||
448 | }, | ||
449 | "extraServices": [], | ||
450 | "insurancePrice": { | ||
451 | "name": "Medical INS (N10000)", | ||
452 | "price": 13.44, | ||
453 | "priceSurcarge": 0.00, | ||
454 | "actualStartDate": "2024-02-15T20:00:00.000Z", | ||
455 | "actualEndDate": "2024-02-17T20:00:00.000Z", | ||
456 | "optional": false, | ||
457 | "includedInPackagePrice": true | ||
458 | } | ||
459 | }, | ||
460 | "altPackages": [ | ||
461 | { | ||
462 | "id": "tour:1d0fa533-4261-4254-93bb-83599d581ffc:193990fa-41a5-46e6-9805-50f82c3c377f:63d79c94-1e19-443f-8a17-50e59e633ea8", | ||
463 | "priceCurrency": "USD", | ||
464 | "totalPrice": 968.40, | ||
465 | "agentCommissionPercent": 0.00, | ||
466 | "agentCommissionAmount": 0.00, | ||
467 | "includedExtrasAmount": 0, | ||
468 | "priceDifference": 31.24, | ||
469 | "hotel": { | ||
470 | "hotelPriceId": "193990fa-41a5-46e6-9805-50f82c3c377f", | ||
471 | "providerId": 13, | ||
472 | "hotelName": "Mercure Dubai Barsha Heights Suites Apartments", | ||
473 | "hotelCode": "5f125310-7025-4807-a4c6-49cd284c9c14", | ||
474 | "nigths": 2, | ||
475 | "mealPlan": "BB", | ||
476 | "hotelClass": "4", | ||
477 | "availabilityType": "StopSale", | ||
478 | "availableRoomsCount": 0, | ||
479 | "fewRooms": true, | ||
480 | "roomCategoryCode": "f8e1ffe5-25cc-46a4-80e8-586d1c049de4", | ||
481 | "roomCategoryName": "1 B/R Apartment City View", | ||
482 | "placementTypeName": "SNGL + CHILD(2-5.99)sharing", | ||
483 | "checkInDate": "2024-02-15T20:00:00.000Z", | ||
484 | "checkOutDate": "2024-02-17T20:00:00.000Z", | ||
485 | "adults": 1, | ||
486 | "children": 1, | ||
487 | "districtUID": "4c65f6ed-902b-4fd8-9419-af7884c22c5e", | ||
488 | "districtName": "Al Barsha", | ||
489 | "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", | ||
490 | "cityName": "Dubai", | ||
491 | "countryCode": "AE", | ||
492 | "countryName": "United Arab Emirates", | ||
493 | "hasAlcohol": false, | ||
494 | "hasFreeWifi": true, | ||
495 | "hasMetro": true, | ||
496 | "hasPool": true, | ||
497 | "hasMall": false, | ||
498 | "cancellationPolicyDescription": "Cancellation Policy: 5 Day Before Arrival: 100.00 %, Early Departure: 100.00 %, NoShow: 100.00 %", | ||
499 | "cancellationPolicy": { | ||
500 | "noShowChargeValue": 100.00, | ||
501 | "noShowChargeValueType": "%", | ||
502 | "earlyDepartureChargeValue": 100.00, | ||
503 | "earlyDepartureChargeValueType": "%", | ||
504 | "conditions": [ | ||
505 | { | ||
506 | "timeunits": 5, | ||
507 | "timeunitType": "Day", | ||
508 | "timeOffsetTypeName": "Before Arrival", | ||
509 | "chargeValue": 100.00, | ||
510 | "chargeValueType": "%" | ||
511 | } | ||
512 | ] | ||
513 | } | ||
514 | }, | ||
515 | "flight": { | ||
516 | "id": "63d79c94-1e19-443f-8a17-50e59e633ea8", | ||
517 | "departureDate": "2024-02-15T20:00:00.000Z", | ||
518 | "returnDate": "2024-02-17T20:00:00.000Z", | ||
519 | "departureTicketsLeft": 50, | ||
520 | "returnTicketsLeft": 50, | ||
521 | "departureAvailabilityType": "FewPlaces", | ||
522 | "returnAvailabilityType": "FewPlaces", | ||
523 | "isTwoWay": true, | ||
524 | "sameBaggageForAll": false, | ||
525 | "totalBaggage": false, | ||
526 | "departureSegments": [ | ||
527 | { | ||
528 | "airlineCode": "FZ", | ||
529 | "airlineName": "Fly Dubai.", | ||
530 | "flightCode": "FZ1722", | ||
531 | "class": "econom", | ||
532 | "lugageWeight": 20, | ||
533 | "handLugageWeight": 6, | ||
534 | "departureFlightDate": "2024-02-15T20:00:00.000Z", | ||
535 | "departureCountryName": "Kazakhstan", | ||
536 | "departureCityName": "Almaty", | ||
537 | "departureAirportCode": "ALA", | ||
538 | "departureAirportName": "Almaty Intl Airport", | ||
539 | "departureTerminalCode": "ALA", | ||
540 | "arrivalFlightDate": "2024-02-15T20:00:00.000Z", | ||
541 | "arrivalCountryName": "United Arab Emirates", | ||
542 | "arrivalCityName": "Dubai", | ||
543 | "arrivalAirportCode": "DXB", | ||
544 | "arrivalAirportName": "Dubai Intl Airport", | ||
545 | "arrivalTerminalCode": "DXB3", | ||
546 | "flightDuration": "0h 55m" | ||
547 | } | ||
548 | ], | ||
549 | "returnSegments": [ | ||
550 | { | ||
551 | "airlineCode": "FZ", | ||
552 | "airlineName": "Fly Dubai.", | ||
553 | "flightCode": "FZ1721", | ||
554 | "class": "econom", | ||
555 | "lugageWeight": 20, | ||
556 | "handLugageWeight": 6, | ||
557 | "departureFlightDate": "2024-02-17T20:00:00.000Z", | ||
558 | "departureCountryName": "United Arab Emirates", | ||
559 | "departureCityName": "Dubai", | ||
560 | "departureAirportCode": "DXB", | ||
561 | "departureAirportName": "Dubai Intl Airport", | ||
562 | "departureTerminalCode": "DXB3", | ||
563 | "arrivalFlightDate": "2024-02-18T20:00:00.000Z", | ||
564 | "arrivalCountryName": "Kazakhstan", | ||
565 | "arrivalCityName": "Almaty", | ||
566 | "arrivalAirportCode": "ALA", | ||
567 | "arrivalAirportName": "Almaty Intl Airport", | ||
568 | "arrivalTerminalCode": "DXB3", | ||
569 | "flightDuration": "8h 10m" | ||
570 | } | ||
571 | ], | ||
572 | "passengers": [ | ||
573 | { | ||
574 | "id": "42779547001000004-A1", | ||
575 | "isAdult": true, | ||
576 | "selectedForwardBaggageCode": "INCLUDED", | ||
577 | "selectedBackwardBaggageCode": "INCLUDED", | ||
578 | "forwardBaggages": [ | ||
579 | { | ||
580 | "baggageCode": "INCLUDED", | ||
581 | "description": "20 KG INCLUDED", | ||
582 | "price": 0.0, | ||
583 | "currency": "USD", | ||
584 | "included": true | ||
585 | } | ||
586 | ], | ||
587 | "backwardBaggages": [ | ||
588 | { | ||
589 | "baggageCode": "INCLUDED", | ||
590 | "description": "20 KG INCLUDED", | ||
591 | "price": 0.0, | ||
592 | "currency": "USD", | ||
593 | "included": true | ||
594 | } | ||
595 | ] | ||
596 | }, | ||
597 | { | ||
598 | "id": "42779547001000004-C1", | ||
599 | "isAdult": false, | ||
600 | "selectedForwardBaggageCode": "INCLUDED", | ||
601 | "selectedBackwardBaggageCode": "INCLUDED", | ||
602 | "forwardBaggages": [ | ||
603 | { | ||
604 | "baggageCode": "INCLUDED", | ||
605 | "description": "20 KG INCLUDED", | ||
606 | "price": 0.0, | ||
607 | "currency": "USD", | ||
608 | "included": true | ||
609 | } | ||
610 | ], | ||
611 | "backwardBaggages": [ | ||
612 | { | ||
613 | "baggageCode": "INCLUDED", | ||
614 | "description": "20 KG INCLUDED", | ||
615 | "price": 0.0, | ||
616 | "currency": "USD", | ||
617 | "included": true | ||
618 | } | ||
619 | ] | ||
620 | } | ||
621 | ] | ||
622 | }, | ||
623 | "extraServices": [], | ||
624 | "insurancePrice": { | ||
625 | "name": "Medical INS (N10000)", | ||
626 | "price": 13.44, | ||
627 | "priceSurcarge": 0.00, | ||
628 | "actualStartDate": "2024-02-15T20:00:00.000Z", | ||
629 | "actualEndDate": "2024-02-17T20:00:00.000Z", | ||
630 | "optional": false, | ||
631 | "includedInPackagePrice": true | ||
632 | } | ||
633 | }, | ||
634 | { | ||
635 | {{/code}} | ||
636 | |||
637 | |||
638 | === Schema === | ||
639 | |||
640 | {{success}} | ||
641 | |error|boolean | ||
642 | |errorCode|string | ||
643 | nullable: true | ||
644 | |errorDescription|string | ||
645 | nullable: true | ||
646 | |userErrorDescription|string | ||
647 | nullable: true | ||
648 | |priceCurrency|string | ||
649 | nullable: true | ||
650 | |totalPrice|number($double) | ||
651 | |agentCommissionPercent|number($double) | ||
652 | |agentCommissionAmount|number($double) | ||
653 | |requiredCitizenIdentifiers|[ | ||
654 | nullable: trueCitizenIdentifier{((( | ||
655 | |countryCode|[...] | ||
656 | |identifierType|IdentifierTypeEnumstringEnum: | ||
657 | [ TIN, FIN ] | ||
658 | |||
659 | }] | ||
660 | ))) | ||
661 | |hotels|[ | ||
662 | nullable: trueCheckoutHotelOut{((( | ||
663 | |hotelPriceId|string | ||
664 | nullable: true | ||
665 | |touristIds|[ | ||
666 | nullable: truestring($uuid)] | ||
667 | |errorCode|string | ||
668 | nullable: true | ||
669 | |errorMessage|string | ||
670 | nullable: true | ||
671 | |description|string | ||
672 | nullable: true | ||
673 | |||
674 | }] | ||
675 | ))) | ||
676 | |tourists|[ | ||
677 | nullable: trueCheckoutTouristOut{((( | ||
678 | |id|[...] | ||
679 | |age|[...] | ||
680 | |isAdult|[...] | ||
681 | |flightIds|[...] | ||
682 | |flights|[...] | ||
683 | |arrivalFlightInfo|ManualFlightInfo{((( | ||
684 | |flightNumber|string | ||
685 | nullable: true | ||
686 | |terminalCode|string | ||
687 | nullable: true | ||
688 | |date|string($date-time) | ||
689 | nullable: true | ||
690 | |time|string | ||
691 | nullable: true | ||
692 | |||
693 | } | ||
694 | ))) | ||
695 | |departureFlightInfo|ManualFlightInfo{((( | ||
696 | |flightNumber|string | ||
697 | nullable: true | ||
698 | |terminalCode|string | ||
699 | nullable: true | ||
700 | |date|string($date-time) | ||
701 | nullable: true | ||
702 | |time|string | ||
703 | nullable: true | ||
704 | |||
705 | } | ||
706 | ))) | ||
707 | |insurancePrice|InsurancePriceForTourist{((( | ||
708 | |insuranceId|string($uuid) | ||
709 | |insuranceServiceId|string($uuid) | ||
710 | |insurancePriceId|string($uuid) | ||
711 | |touristId|string($uuid) | ||
712 | |insuranceName|string | ||
713 | nullable: true | ||
714 | |insuranceDescription|string | ||
715 | nullable: true | ||
716 | |contragentName|string | ||
717 | nullable: true | ||
718 | |contragentFullName|string | ||
719 | nullable: true | ||
720 | |actualStartDate|string($date-time) | ||
721 | |actualEndDate|string($date-time) | ||
722 | |costCurrencyCode|string | ||
723 | nullable: true | ||
724 | |costAmount|number($double) | ||
725 | |priceCurrencyCode|string | ||
726 | nullable: true | ||
727 | |priceAmount|number($double) | ||
728 | |coverageCurrencyCode|string | ||
729 | nullable: true | ||
730 | |coverageAmount|number($double) | ||
731 | |||
732 | } | ||
733 | ))) | ||
734 | |selectedVisaId|string | ||
735 | nullable: true | ||
736 | |transfers|[ | ||
737 | nullable: trueCheckoutTransferOut{((( | ||
738 | |id|string | ||
739 | nullable: true | ||
740 | |type|CheckoutTransferTypeEnumstringEnum: | ||
741 | [ Arrival, Departure, HotelToHotel ] | ||
742 | |flightId|string | ||
743 | nullable: true | ||
744 | |flightInfo|ManualFlightInfo{((( | ||
745 | |flightNumber|string | ||
746 | nullable: true | ||
747 | |terminalCode|string | ||
748 | nullable: true | ||
749 | |date|string($date-time) | ||
750 | nullable: true | ||
751 | |time|string | ||
752 | nullable: true | ||
753 | |||
754 | } | ||
755 | ))) | ||
756 | |checkInHotelId|string | ||
757 | nullable: true | ||
758 | |checkOutHotelId|string | ||
759 | nullable: true | ||
760 | |selectedTransferPriceId|string | ||
761 | nullable: true | ||
762 | |transferPrices|[ | ||
763 | nullable: trueCheckoutTransferPrice{((( | ||
764 | |id|string | ||
765 | nullable: true | ||
766 | |name|string | ||
767 | nullable: true | ||
768 | |adultPlaces|integer($int32) | ||
769 | |childPlaces|integer($int32) | ||
770 | |perPersonPrice|boolean | ||
771 | |adultPrice|number($double) | ||
772 | |childPrice|number($double) | ||
773 | |||
774 | }] | ||
775 | ))) | ||
776 | |||
777 | }] | ||
778 | ))) | ||
779 | |errorCode|string | ||
780 | nullable: true | ||
781 | |errorMessage|string | ||
782 | nullable: true | ||
783 | |description|string | ||
784 | nullable: true | ||
785 | |||
786 | }] | ||
787 | ))) | ||
788 | |visas|[ | ||
789 | nullable: trueServicePrice{((( | ||
790 | |prid|string($uuid) | ||
791 | |prName|string | ||
792 | nullable: true | ||
793 | |prValue|number($double) | ||
794 | |sortingOrder|integer($int32) | ||
795 | |||
796 | }] | ||
797 | ))) | ||
798 | |terminals|[ | ||
799 | nullable: trueTerminal{((( | ||
800 | |terminalCode|string | ||
801 | nullable: true | ||
802 | |cityUID|string($uuid) | ||
803 | nullable: true | ||
804 | |districtUID|string($uuid) | ||
805 | nullable: true | ||
806 | |terminalName|string | ||
807 | nullable: true | ||
808 | |countryCode|string | ||
809 | nullable: true | ||
810 | |note|string | ||
811 | nullable: true | ||
812 | |||
813 | }] | ||
814 | ))) | ||
815 | |containsError|boolean | ||
816 | |refreshPriceResult|RefreshPriceResultEnumstringEnum: | ||
817 | [ Success, HotelPriceNoMoreAvailable, FlightPriceNoMoreAvailable ] | ||
818 | |reservationId|string($uuid) | ||
819 | |reservationDetailsUnavailable|boolean | ||
820 | |||
821 | } | ||
822 | {{/success}} | ||
823 | |||
824 | |||
825 | == Descriptions == | ||
826 | |||
827 | |||
828 | === Request === | ||
829 | |||
830 | Here's a table describing each parameter of the JSON request: | ||
831 | |||
832 | (% class="table-bordered" %) | ||
833 | |=Parameter|=Data Type|=Description | ||
834 | |calcTourPackageRequests|Array|An array of objects, each representing a tour package request. | ||
835 | |refreshPrices|Boolean|If true, the prices for the tour package will be refreshed. | ||
836 | |packageId|String|A unique identifier for the tour package. | ||
837 | |flightPassengers|Array|An array of objects, each representing a flight passenger. | ||
838 | |id|String|A unique identifier for each flight passenger. | ||
839 | |selectedForwardBaggageCode|String|The selected baggage option for the forward journey. | ||
840 | |selectedBackwardBaggageCode|String|The selected baggage option for the backward journey. | ||
841 | |extraServicePriceCodes|Array|An array of extra service price codes. If empty, no extra services are selected. | ||
842 | |includeInsurance|Boolean|If true, insurance will be included in the tour package. | ||
843 | |calcOnlyHotelPackageRequests|Array|An array of objects, each representing a hotel-only package request. If empty, no hotel-only packages are requested. | ||
844 | |calcOnlyAviaPackageRequests|Array|An array of objects, each representing an avia-only package request. If empty, no avia-only packages are requested. | ||
845 | |||
846 | |||
847 | === Response === | ||
848 | |||
849 | (% class="table-bordered" %) | ||
850 | |=Parameter|=Data Type|=Description | ||
851 | |priceCurrency|String|The currency code (ISO 4217) for all prices mentioned in the response. | ||
852 | |totalPrice|Number|The total price of the booking. | ||
853 | |agentCommissionPercent|Number|The commission percentage for the agent. | ||
854 | |agentCommissionAmount|Number|The total commission amount for the agent in priceCurrency. | ||
855 | |requiredCitizenIdentifiers[*].countryCode|String|The ISO 3166-1 alpha-2 country code. | ||
856 | |requiredCitizenIdentifiers[*].identifierType|String|The type of identifier required (e.g., "TIN", "FIN"). | ||
857 | |hotels[*].hotelPriceId|String|Unique identifier for the hotel price. | ||
858 | |hotels[*].touristIds[*]|String|List of tourist IDs that are booked in this hotel. | ||
859 | |hotels[*].description|String|A brief description of the hotel. | ||
860 | |tourists[*].id|String|Unique identifier for the tourist. | ||
861 | |tourists[*].isAdult|Boolean|Indicates if the tourist is an adult. | ||
862 | |tourists[*].flightIds[*]|String|Identifiers for flights associated with the tourist. | ||
863 | |tourists[*].flights[*].flightId|String|Unique identifier for the flight. | ||
864 | |tourists[*].flights[*].note|String|Additional information about the flight, such as baggage allowance. | ||
865 | |tourists[*].insurancePrice.insuranceId|String|Unique identifier for the insurance product. | ||
866 | |tourists[*].insurancePrice.insuranceServiceId|String|Identifier for the insurance service provider. | ||
867 | |...|...|Additional fields for insurancePrice as detailed previously. | ||
868 | |tourists[*].transfers[*].id|String|Unique identifier for the transfer service. | ||
869 | |tourists[*].transfers[*].type|String|The type of transfer (e.g., "Arrival", "Departure"). | ||
870 | |tourists[*].transfers[*].flightId|String|Identifier of the flight associated with this transfer. | ||
871 | |tourists[*].transfers[*].checkInHotelId|String|Hotel ID for check-in associated with this transfer (for arrival type). | ||
872 | |tourists[*].transfers[*].checkOutHotelId|String|Hotel ID for check-out associated with this transfer (for departure type). | ||
873 | |tourists[*].transfers[*].selectedTransferPriceId|String|The ID of the selected pricing option for the transfer. | ||
874 | |tourists[*].transfers[*].transferPrices[*].id|String|Unique identifier for the transfer price option. | ||
875 | |tourists[*].transfers[*].transferPrices[*].name|String|The name of the transfer service (e.g., "GROUP", "MINIVAN"). | ||
876 | |...|...|Additional fields for transferPrices as detailed previously. | ||
877 | |visas[*].prid|String|Unique identifier for the visa option. | ||
878 | |visas[*].prName|String|The name of the visa option. | ||
879 | |visas[*].prValue|Number|The cost associated with this visa option. | ||
880 | |visas[*].sortingOrder|Number|Used to sort visa options in the response or UI. | ||
881 | |terminals[*].terminalCode|String|The code representing the terminal. | ||
882 | |terminals[*].cityUID|String|Unique identifier for the city where the terminal is located. | ||
883 | |...|...|Additional fields for terminals as detailed previously. | ||
884 | |containsError|Boolean|Indicates if the response contains any errors. | ||
885 | |refreshPriceResult|String|The result of attempting to refresh the price (e.g., "Success"). | ||
886 | |reservationId|String|Unique identifier for the reservation. | ||
887 | |reservationDetailsUnavailable|Boolean|Indicates if the reservation details are currently unavailable. | ||
888 | |error|Boolean|A generic error indicator, presumably redundant with containsError. | ||
889 | |||
890 |