Wiki source code of 4. CalcCheckout

Last modified by Giorgi Mdivnishvili on 2024/04/11 16:59

Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2
3
4 {{toc/}}
5 {{/box}}
6
7 = Method Description =
8
9
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.
11
12
13 == Endpoint URL - [POST] ==
14
15 {{info}}
16 [[https:~~/~~/integration.kazunion.com/api/Checkout/CalcCheckout>>https://integration.kazunion.com/api/Checkout/CalcCheckout]]
17 {{/info}}
18
19
20 == Request Parameters ==
21
22 (% class="box infomessage" %)
23 (((
24 None
25 )))
26
27
28 == Request Body ==
29
30 {{code language="Json"}}
31 {
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 }
49 ],
50 "calcOnlyHotelPackageRequests": [
51 {
52 "packageId": "string",
53 "extraServicePriceCodes": [
54 "string"
55 ],
56 "includeInsurance": true,
57 "refreshPrices": true
58 }
59 ],
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"
121 }
122
123 {{/code}}
124
125 (% class="wikigeneratedid" id="HRequestBodyexample" %)
126 (% id="cke_bm_10575S" style="display:none" %)
127
128
129
130 == Request Body example ==
131
132 {{code language="Json"}}
133 {
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": []
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",
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 {
180 "hotelPriceId": "string",
181 "touristIds": [
182 "3fa85f64-5717-4562-b3fc-2c963f66afa6"
183 ],
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": [
198 {
199 "flightId": "string",
200 "note": "string"
201 }
202 ],
203 "arrivalFlightInfo": {
204 "flightNumber": "string",
205 "terminalCode": "string",
206 "date": "2024-04-11T05:03:16.796Z",
207 "time": "string"
208 },
209 "departureFlightInfo": {
210 "flightNumber": "string",
211 "terminalCode": "string",
212 "date": "2024-04-11T05:03:16.796Z",
213 "time": "string"
214 },
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": [
235 {
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": [
249 {
250 "id": "string",
251 "name": "string",
252 "adultPlaces": 0,
253 "childPlaces": 0,
254 "perPersonPrice": true,
255 "adultPrice": 0,
256 "childPrice": 0
257 }
258 ]
259 }
260 ],
261 "errorCode": "string",
262 "errorMessage": "string",
263 "description": "string"
264 }
265 ],
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
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
641
642
643 {{success}}
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}}
786 CheckoutFormOut{
787
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)
800 |requiredCitizenIdentifiers|[
801 nullable: trueCitizenIdentifier{(((
802 |countryCode|string
803 nullable: true
804 |identifierType|IdentifierTypeEnumstringEnum:
805 [ TIN, FIN ]
806
807 }]
808 )))
809 |hotels|[
810 nullable: trueCheckoutHotelOut{(((
811 |hotelPriceId|string
812 nullable: true
813 |touristIds|[
814 nullable: truestring($uuid)]
815 |errorCode|string
816 nullable: true
817 |errorMessage|string
818 nullable: true
819 |description|string
820 nullable: true
821
822 }]
823 )))
824 |tourists|[
825 nullable: trueCheckoutTouristOut{...}]
826 |visas|[
827 nullable: trueServicePrice{(((
828 |prid|string($uuid)
829 |prName|string
830 nullable: true
831 |prValue|number($double)
832 |sortingOrder|integer($int32)
833
834 }]
835 )))
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
850
851 }]
852 )))
853 |containsError|boolean
854 |refreshPriceResult|RefreshPriceResultEnumstringEnum:
855 [ Success, HotelPriceNoMoreAvailable, FlightPriceNoMoreAvailable ]
856 |reservationId|string($uuid)
857 |reservationDetailsUnavailable|boolean
858
859 }
860 {{/success}}
861
862
863 == Descriptions ==
864
865
866 === Request ===
867
868 Here's a table describing each parameter of the JSON request:
869
870 (% class="table-bordered" %)
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.
877 |selectedForwardBaggageCode|String|The selected baggage option for the forward journey. there is two optoions ""
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
886 (% class="table-bordered" %)
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.
893 |requiredCitizenIdentifiers[*].identifierType|String|The type of identifier required (e.g., "TIN", "FIN"). **TIN (Taxpayer Identification Number) & FIN (Financial Identification Number)**
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