Changes for page 4. CalcCheckout

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

From version 4.1
edited by Giorgi Mdivnishvili
on 2024/04/11 06:28
Change comment: There is no comment for this version
To version 10.5
edited by Giorgi Mdivnishvili
on 2024/04/11 16:58
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -6,9 +6,10 @@
6 6  
7 7  = Method Description =
8 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 10  
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 11  
12 +
12 12  == Endpoint URL - [POST] ==
13 13  
14 14  {{info}}
... ... @@ -28,20 +28,97 @@
28 28  
29 29  {{code language="Json"}}
30 30  {
31 - "packageId": "string",
32 - "extraServicePriceCodes": [
33 - "string"
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 + }
34 34   ],
35 - "flightPassengers": [
50 + "calcOnlyHotelPackageRequests": [
36 36   {
37 - "id": "string",
38 - "selectedForwardBaggageCode": "string",
39 - "selectedBackwardBaggageCode": "string"
52 + "packageId": "string",
53 + "extraServicePriceCodes": [
54 + "string"
55 + ],
56 + "includeInsurance": true,
57 + "refreshPrices": true
40 40   }
41 41   ],
42 - "includeInsurance": true,
43 - "refreshPrices": true
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"
44 44  }
122 +
45 45  {{/code}}
46 46  
47 47  (% class="wikigeneratedid" id="HRequestBodyexample" %)
... ... @@ -87,353 +87,126 @@
87 87   "errorCode": "string",
88 88   "errorDescription": "string",
89 89   "userErrorDescription": "string",
90 - "package": {
91 - "cacheKey": "string",
92 - "id": "string",
93 - "priceCurrency": "string",
94 - "totalPrice": 0,
95 - "agentCommissionPercent": 0,
96 - "agentCommissionAmount": 0,
97 - "includedExtrasAmount": 0,
98 - "priceDifference": 0,
99 - "hotel": {
100 - "hotelPriceId": "string",
101 - "providerId": 0,
102 - "hotelName": "string",
103 - "hotelCode": "string",
104 - "nigths": 0,
105 - "mealPlan": "string",
106 - "hotelClass": "string",
107 - "availabilityType": "OnRequest",
108 - "availableRoomsCount": 0,
109 - "fewRooms": true,
110 - "roomCategoryCode": "string",
111 - "roomCategoryName": "string",
112 - "placementTypeName": "string",
113 - "placementDescription": "string",
114 - "checkInDate": "2023-12-26T12:55:59.433Z",
115 - "checkOutDate": "2023-12-26T12:55:59.433Z",
116 - "adults": 0,
117 - "children": 0,
118 - "districtUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
119 - "districtName": "string",
120 - "cityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
121 - "cityName": "string",
168 + "priceCurrency": "string",
169 + "totalPrice": 0,
170 + "agentCommissionPercent": 0,
171 + "agentCommissionAmount": 0,
172 + "requiredCitizenIdentifiers": [
173 + {
122 122   "countryCode": "string",
123 - "countryName": "string",
124 - "hasAlcohol": true,
125 - "hasFreeWifi": true,
126 - "hasMetro": true,
127 - "hasPool": true,
128 - "hasMall": true,
129 - "cancellationPolicyDescription": "string",
130 - "cancellationPolicy": {
131 - "cancellationPolicyCode": "string",
132 - "noShowChargeValue": 0,
133 - "noShowChargeValueType": "string",
134 - "earlyDepartureChargeValue": 0,
135 - "earlyDepartureChargeValueType": "string",
136 - "conditions": [
137 - {
138 - "timeunits": 0,
139 - "timeunitType": "string",
140 - "timeOffsetTypeName": "string",
141 - "chargeValue": 0,
142 - "chargeValueType": "string"
143 - }
144 - ]
145 - }
146 - },
147 - "flight": {
148 - "id": "string",
149 - "departureDate": "2023-12-26T12:55:59.433Z",
150 - "returnDate": "2023-12-26T12:55:59.433Z",
151 - "departureTicketsLeft": 0,
152 - "returnTicketsLeft": 0,
153 - "departureAvailabilityType": "OnRequest",
154 - "returnAvailabilityType": "OnRequest",
155 - "isTwoWay": true,
156 - "sameBaggageForAll": true,
157 - "totalBaggage": true,
158 - "departureSegments": [
159 - {
160 - "airlineCode": "string",
161 - "airlineName": "string",
162 - "flightCode": "string",
163 - "class": "string",
164 - "lugageWeight": 0,
165 - "handLugageWeight": 0,
166 - "departureFlightDate": "2023-12-26T12:55:59.433Z",
167 - "departureCountryName": "string",
168 - "departureCityName": "string",
169 - "departureAirportCode": "string",
170 - "departureAirportName": "string",
171 - "departureTerminalCode": "string",
172 - "arrivalFlightDate": "2023-12-26T12:55:59.433Z",
173 - "arrivalCountryName": "string",
174 - "arrivalCityName": "string",
175 - "arrivalAirportCode": "string",
176 - "arrivalAirportName": "string",
177 - "arrivalTerminalCode": "string",
178 - "flightDuration": "string"
179 - }
175 + "identifierType": "TIN"
176 + }
177 + ],
178 + "hotels": [
179 + {
180 + "hotelPriceId": "string",
181 + "touristIds": [
182 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"
180 180   ],
181 - "returnSegments": [
182 - {
183 - "airlineCode": "string",
184 - "airlineName": "string",
185 - "flightCode": "string",
186 - "class": "string",
187 - "lugageWeight": 0,
188 - "handLugageWeight": 0,
189 - "departureFlightDate": "2023-12-26T12:55:59.433Z",
190 - "departureCountryName": "string",
191 - "departureCityName": "string",
192 - "departureAirportCode": "string",
193 - "departureAirportName": "string",
194 - "departureTerminalCode": "string",
195 - "arrivalFlightDate": "2023-12-26T12:55:59.433Z",
196 - "arrivalCountryName": "string",
197 - "arrivalCityName": "string",
198 - "arrivalAirportCode": "string",
199 - "arrivalAirportName": "string",
200 - "arrivalTerminalCode": "string",
201 - "flightDuration": "string"
202 - }
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"
203 203   ],
204 - "passengers": [
197 + "flights": [
205 205   {
206 - "id": "string",
207 - "isAdult": true,
208 - "selectedForwardBaggageCode": "string",
209 - "selectedBackwardBaggageCode": "string",
210 - "forwardBaggages": [
211 - {
212 - "baggageCode": "string",
213 - "description": "string",
214 - "price": 0,
215 - "currency": "string",
216 - "included": true
217 - }
218 - ],
219 - "backwardBaggages": [
220 - {
221 - "baggageCode": "string",
222 - "description": "string",
223 - "price": 0,
224 - "currency": "string",
225 - "included": true
226 - }
227 - ]
199 + "flightId": "string",
200 + "note": "string"
228 228   }
229 - ]
230 - },
231 - "extraServices": [
232 - {
233 - "extraServiceCode": "string",
234 - "extraServiceTypeCode": "string",
235 - "isMandatory": 0,
236 - "extraServiceName": "string",
237 - "minimalServiceAmount": 0,
238 - "includedPriceCode": "string",
239 - "prices": [
240 - {
241 - "extraServicePriceCode": "string",
242 - "displayName": "string",
243 - "restrictionInfo": "string",
244 - "additionalInfo": "string",
245 - "price": 0,
246 - "extraPrice": 0,
247 - "currency": "string"
248 - }
249 - ]
250 - }
251 - ],
252 - "insurancePrice": {
253 - "name": "string",
254 - "price": 0,
255 - "priceSurcarge": 0,
256 - "actualStartDate": "2023-12-26T12:55:59.433Z",
257 - "actualEndDate": "2023-12-26T12:55:59.433Z",
258 - "optional": true,
259 - "includedInPackagePrice": true
260 - }
261 - },
262 - "altPackages": [
263 - {
264 - "cacheKey": "string",
265 - "id": "string",
266 - "priceCurrency": "string",
267 - "totalPrice": 0,
268 - "agentCommissionPercent": 0,
269 - "agentCommissionAmount": 0,
270 - "includedExtrasAmount": 0,
271 - "priceDifference": 0,
272 - "hotel": {
273 - "hotelPriceId": "string",
274 - "providerId": 0,
275 - "hotelName": "string",
276 - "hotelCode": "string",
277 - "nigths": 0,
278 - "mealPlan": "string",
279 - "hotelClass": "string",
280 - "availabilityType": "OnRequest",
281 - "availableRoomsCount": 0,
282 - "fewRooms": true,
283 - "roomCategoryCode": "string",
284 - "roomCategoryName": "string",
285 - "placementTypeName": "string",
286 - "placementDescription": "string",
287 - "checkInDate": "2023-12-26T12:55:59.433Z",
288 - "checkOutDate": "2023-12-26T12:55:59.433Z",
289 - "adults": 0,
290 - "children": 0,
291 - "districtUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
292 - "districtName": "string",
293 - "cityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
294 - "cityName": "string",
295 - "countryCode": "string",
296 - "countryName": "string",
297 - "hasAlcohol": true,
298 - "hasFreeWifi": true,
299 - "hasMetro": true,
300 - "hasPool": true,
301 - "hasMall": true,
302 - "cancellationPolicyDescription": "string",
303 - "cancellationPolicy": {
304 - "cancellationPolicyCode": "string",
305 - "noShowChargeValue": 0,
306 - "noShowChargeValueType": "string",
307 - "earlyDepartureChargeValue": 0,
308 - "earlyDepartureChargeValueType": "string",
309 - "conditions": [
310 - {
311 - "timeunits": 0,
312 - "timeunitType": "string",
313 - "timeOffsetTypeName": "string",
314 - "chargeValue": 0,
315 - "chargeValueType": "string"
316 - }
317 - ]
318 - }
202 + ],
203 + "arrivalFlightInfo": {
204 + "flightNumber": "string",
205 + "terminalCode": "string",
206 + "date": "2024-04-11T05:03:16.796Z",
207 + "time": "string"
319 319   },
320 - "flight": {
321 - "id": "string",
322 - "departureDate": "2023-12-26T12:55:59.433Z",
323 - "returnDate": "2023-12-26T12:55:59.433Z",
324 - "departureTicketsLeft": 0,
325 - "returnTicketsLeft": 0,
326 - "departureAvailabilityType": "OnRequest",
327 - "returnAvailabilityType": "OnRequest",
328 - "isTwoWay": true,
329 - "sameBaggageForAll": true,
330 - "totalBaggage": true,
331 - "departureSegments": [
332 - {
333 - "airlineCode": "string",
334 - "airlineName": "string",
335 - "flightCode": "string",
336 - "class": "string",
337 - "lugageWeight": 0,
338 - "handLugageWeight": 0,
339 - "departureFlightDate": "2023-12-26T12:55:59.433Z",
340 - "departureCountryName": "string",
341 - "departureCityName": "string",
342 - "departureAirportCode": "string",
343 - "departureAirportName": "string",
344 - "departureTerminalCode": "string",
345 - "arrivalFlightDate": "2023-12-26T12:55:59.433Z",
346 - "arrivalCountryName": "string",
347 - "arrivalCityName": "string",
348 - "arrivalAirportCode": "string",
349 - "arrivalAirportName": "string",
350 - "arrivalTerminalCode": "string",
351 - "flightDuration": "string"
352 - }
353 - ],
354 - "returnSegments": [
355 - {
356 - "airlineCode": "string",
357 - "airlineName": "string",
358 - "flightCode": "string",
359 - "class": "string",
360 - "lugageWeight": 0,
361 - "handLugageWeight": 0,
362 - "departureFlightDate": "2023-12-26T12:55:59.433Z",
363 - "departureCountryName": "string",
364 - "departureCityName": "string",
365 - "departureAirportCode": "string",
366 - "departureAirportName": "string",
367 - "departureTerminalCode": "string",
368 - "arrivalFlightDate": "2023-12-26T12:55:59.433Z",
369 - "arrivalCountryName": "string",
370 - "arrivalCityName": "string",
371 - "arrivalAirportCode": "string",
372 - "arrivalAirportName": "string",
373 - "arrivalTerminalCode": "string",
374 - "flightDuration": "string"
375 - }
376 - ],
377 - "passengers": [
378 - {
379 - "id": "string",
380 - "isAdult": true,
381 - "selectedForwardBaggageCode": "string",
382 - "selectedBackwardBaggageCode": "string",
383 - "forwardBaggages": [
384 - {
385 - "baggageCode": "string",
386 - "description": "string",
387 - "price": 0,
388 - "currency": "string",
389 - "included": true
390 - }
391 - ],
392 - "backwardBaggages": [
393 - {
394 - "baggageCode": "string",
395 - "description": "string",
396 - "price": 0,
397 - "currency": "string",
398 - "included": true
399 - }
400 - ]
401 - }
402 - ]
209 + "departureFlightInfo": {
210 + "flightNumber": "string",
211 + "terminalCode": "string",
212 + "date": "2024-04-11T05:03:16.796Z",
213 + "time": "string"
403 403   },
404 - "extraServices": [
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": [
405 405   {
406 - "extraServiceCode": "string",
407 - "extraServiceTypeCode": "string",
408 - "isMandatory": 0,
409 - "extraServiceName": "string",
410 - "minimalServiceAmount": 0,
411 - "includedPriceCode": "string",
412 - "prices": [
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": [
413 413   {
414 - "extraServicePriceCode": "string",
415 - "displayName": "string",
416 - "restrictionInfo": "string",
417 - "additionalInfo": "string",
418 - "price": 0,
419 - "extraPrice": 0,
420 - "currency": "string"
250 + "id": "string",
251 + "name": "string",
252 + "adultPlaces": 0,
253 + "childPlaces": 0,
254 + "perPersonPrice": true,
255 + "adultPrice": 0,
256 + "childPrice": 0
421 421   }
422 422   ]
423 423   }
424 424   ],
425 - "insurancePrice": {
426 - "name": "string",
427 - "price": 0,
428 - "priceSurcarge": 0,
429 - "actualStartDate": "2023-12-26T12:55:59.433Z",
430 - "actualEndDate": "2023-12-26T12:55:59.433Z",
431 - "optional": true,
432 - "includedInPackagePrice": true
433 - }
261 + "errorCode": "string",
262 + "errorMessage": "string",
263 + "description": "string"
434 434   }
435 435   ],
436 - "refreshPriceResult": "Success"
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
437 437  }
438 438  {{/code}}
439 439  
... ... @@ -787,138 +787,290 @@
787 787  
788 788  === Schema ===
789 789  
641 +
642 +
790 790  {{success}}
791 -CalcOnlyHotelPackageResponse{
644 +CheckoutFormIn{
792 792  
793 -|error|boolean
794 -|errorCode|string
646 +|reservationId|string($uuid)
795 795  nullable: true
796 -|errorDescription|string
648 +|calcTourPackageRequests|[
649 +nullable: trueCalcTourPackageRequest{(((
650 +|packageId|string
797 797  nullable: true
798 -|userErrorDescription|string
799 -nullable: true
800 -|package|OnlyHotelPackage{(((
652 +|extraServicePriceCodes|[
653 +nullable: truestring]
654 +|flightPassengers|[
655 +nullable: trueFlightPassengerIn{(((
801 801  |id|string
802 802  nullable: true
803 -|priceCurrency|string
658 +|selectedForwardBaggageCode|string
804 804  nullable: true
805 -|totalPrice|number($double)
806 -|agentCommissionPercent|number($double)
807 -|agentCommissionAmount|number($double)
808 -|hotel|PackageHotel{(((
809 -|hotelPriceId|string
660 +|selectedBackwardBaggageCode|string
810 810  nullable: true
811 -|providerId|integer($int32)
812 -|hotelName|string
662 +
663 +}]
664 +)))
665 +|includeInsurance|boolean
813 813  nullable: true
814 -|hotelCode|string
667 +|refreshPrices|boolean
668 +
669 +}]
670 +)))
671 +|calcOnlyHotelPackageRequests|[
672 +nullable: trueCalcOnlyHotelPackageRequest{(((
673 +|packageId|string
815 815  nullable: true
816 -|nigths|integer($int32)
817 -|mealPlan|string
675 +|extraServicePriceCodes|[
676 +nullable: truestring]
677 +|includeInsurance|boolean
678 +|refreshPrices|boolean
679 +
680 +}]
681 +)))
682 +|calcOnlyAviaPackageRequests|[
683 +nullable: trueCalcOnlyAviaPackageRequest{(((
684 +|packageId|string
818 818  nullable: true
819 -|hotelClass|string
686 +|refreshPrices|boolean
687 +|flightPassengers|[
688 +nullable: trueFlightPassengerIn{(((
689 +|id|string
820 820  nullable: true
821 -|availabilityType|RoomAvailabilityTypeEnumstringEnum:
822 -[ OnRequest, FreeSale, StopSale ]
823 -|availableRoomsCount|integer($int32)
824 -|fewRooms|boolean
825 -|roomCategoryCode|string
691 +|selectedForwardBaggageCode|string
826 826  nullable: true
827 -|roomCategoryName|string
693 +|selectedBackwardBaggageCode|string
828 828  nullable: true
829 -|placementTypeName|string
695 +
696 +}]
697 +)))
698 +
699 +}]
700 +)))
701 +|hotels|[
702 +nullable: trueCheckoutHotelIn{(((
703 +|hotelPriceId|string
830 830  nullable: true
831 -|placementDescription|string
705 +|agentConfirmationNumber|string
832 832  nullable: true
833 -|checkInDate|string($date-time)
834 -|checkOutDate|string($date-time)
835 -|adults|integer($int32)
836 -|children|integer($int32)
837 -|districtUID|string($uuid)
707 +|note|string
838 838  nullable: true
839 -|districtName|string
709 +|touristIds|[
710 +nullable: truestring($uuid)]
711 +
712 +}]
713 +)))
714 +|tourists|[
715 +nullable: trueCheckoutTouristIn{(((
716 +|id|string($uuid)
717 +|firstName|string
840 840  nullable: true
841 -|cityUID|string($uuid)
719 +|lastName|string
842 842  nullable: true
843 -|cityName|string
721 +|birthDate|string($date-time)
844 844  nullable: true
845 -|countryCode|string
723 +|passportNumber|string
846 846  nullable: true
847 -|countryName|string
725 +|passportExpiry|string($date-time)
848 848  nullable: true
849 -|hasAlcohol|boolean
850 -|hasFreeWifi|boolean
851 -|hasMetro|boolean
852 -|hasPool|boolean
853 -|hasMall|boolean
854 -|cancellationPolicyDescription|string
727 +|passportIssue|string($date-time)
855 855  nullable: true
856 -|cancellationPolicy|CancellationPolicyExchange{(((
857 -|cancellationPolicyCode|string
729 +|citizenship|string
858 858  nullable: true
859 -|noShowChargeValue|number($double)
731 +|tin|string
860 860  nullable: true
861 -|noShowChargeValueType|string
733 +|isMale|boolean
862 862  nullable: true
863 -|earlyDepartureChargeValue|number($double)
735 +|flightIds|[
736 +nullable: truestring]
737 +|arrivalFlightInfo|ManualFlightInfo{(((
738 +|flightNumber|string
864 864  nullable: true
865 -|earlyDepartureChargeValueType|string
740 +|terminalCode|string
866 866  nullable: true
867 -|conditions|[
868 -nullable: trueCancellationPolicyConditionExchange{(((
869 -|timeunits|integer($int32)
870 -|timeunitType|string
742 +|date|string($date-time)
871 871  nullable: true
872 -|timeOffsetTypeName|string
744 +|time|string
873 873  nullable: true
874 -|chargeValue|number($double)
746 +
747 +}
748 +)))
749 +|departureFlightInfo|ManualFlightInfo{(((
750 +|flightNumber|string
875 875  nullable: true
876 -|chargeValueType|string
752 +|terminalCode|string
877 877  nullable: true
754 +|date|string($date-time)
755 +nullable: true
756 +|time|string
757 +nullable: true
878 878  
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 +
879 879  }]
880 880  )))
881 881  
882 -}
773 +}]
883 883  )))
775 +|note|string
776 +nullable: true
777 +|contactPhone|string
778 +nullable: true
884 884  
885 885  }
886 -)))
887 -|extraServices|[
888 -nullable: trueHotelExtraServiceBase{(((
889 -|extraServiceCode|string
781 +{{/success}}
782 +
783 +
784 +
785 +{{success}}
786 +CheckoutFormOut{
787 +
788 +|error|boolean
789 +|errorCode|string
890 890  nullable: true
891 -|extraServiceTypeCode|string
791 +|errorDescription|string
892 892  nullable: true
893 -|isMandatory|integer($int32)
894 -|extraServiceName|string
793 +|userErrorDescription|string
895 895  nullable: true
896 -|minimalServiceAmount|number($double)
897 -|includedPriceCode|string
795 +|priceCurrency|string
898 898  nullable: true
899 -|prices|[
900 -nullable: trueHotelExtraServicePriceBase{(((
901 -|extraServicePriceCode|string
797 +|totalPrice|number($double)
798 +|agentCommissionPercent|number($double)
799 +|agentCommissionAmount|number($double)
800 +|requiredCitizenIdentifiers|[
801 +nullable: trueCitizenIdentifier{(((
802 +|countryCode|string
902 902  nullable: true
903 -|displayName|string
804 +|identifierType|IdentifierTypeEnumstringEnum:
805 +[ TIN, FIN ]
806 +
807 +}]
808 +)))
809 +|hotels|[
810 +nullable: trueCheckoutHotelOut{(((
811 +|hotelPriceId|string
904 904  nullable: true
905 -|restrictionInfo|string
813 +|touristIds|[
814 +nullable: truestring($uuid)]
815 +|errorCode|string
906 906  nullable: true
907 -|additionalInfo|string
817 +|errorMessage|string
908 908  nullable: true
909 -|price|number($double)
910 -|extraPrice|number($double)
911 -|currency|string
819 +|description|string
912 912  nullable: true
913 913  
914 914  }]
915 915  )))
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)
916 916  
917 917  }]
918 918  )))
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
919 919  
920 -}
851 +}]
921 921  )))
853 +|containsError|boolean
854 +|refreshPriceResult|RefreshPriceResultEnumstringEnum:
855 +[ Success, HotelPriceNoMoreAvailable, FlightPriceNoMoreAvailable ]
856 +|reservationId|string($uuid)
857 +|reservationDetailsUnavailable|boolean
922 922  
923 923  }
924 924  {{/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 +