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