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.3
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,293 @@
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 +
786 +
787 +
788 +{{success}}
789 +CheckoutFormOut{
790 +
791 +|error|boolean
792 +|errorCode|string
890 890  nullable: true
891 -|extraServiceTypeCode|string
794 +|errorDescription|string
892 892  nullable: true
893 -|isMandatory|integer($int32)
894 -|extraServiceName|string
796 +|userErrorDescription|string
895 895  nullable: true
896 -|minimalServiceAmount|number($double)
897 -|includedPriceCode|string
798 +|priceCurrency|string
898 898  nullable: true
899 -|prices|[
900 -nullable: trueHotelExtraServicePriceBase{(((
901 -|extraServicePriceCode|string
800 +|totalPrice|number($double)
801 +|agentCommissionPercent|number($double)
802 +|agentCommissionAmount|number($double)
803 +|requiredCitizenIdentifiers|[
804 +nullable: trueCitizenIdentifier{(((
805 +|countryCode|string
902 902  nullable: true
903 -|displayName|string
807 +|identifierType|IdentifierTypeEnumstringEnum:
808 +[ TIN, FIN ]
809 +
810 +}]
811 +)))
812 +|hotels|[
813 +nullable: trueCheckoutHotelOut{(((
814 +|hotelPriceId|string
904 904  nullable: true
905 -|restrictionInfo|string
816 +|touristIds|[
817 +nullable: truestring($uuid)]
818 +|errorCode|string
906 906  nullable: true
907 -|additionalInfo|string
820 +|errorMessage|string
908 908  nullable: true
909 -|price|number($double)
910 -|extraPrice|number($double)
911 -|currency|string
822 +|description|string
912 912  nullable: true
913 913  
914 914  }]
915 915  )))
827 +|tourists|[
828 +nullable: trueCheckoutTouristOut{...}]
829 +|visas|[
830 +nullable: trueServicePrice{(((
831 +|prid|string($uuid)
832 +|prName|string
833 +nullable: true
834 +|prValue|number($double)
835 +|sortingOrder|integer($int32)
916 916  
917 917  }]
918 918  )))
839 +|terminals|[
840 +nullable: trueTerminal{(((
841 +|terminalCode|string
842 +nullable: true
843 +|cityUID|string($uuid)
844 +nullable: true
845 +|districtUID|string($uuid)
846 +nullable: true
847 +|terminalName|string
848 +nullable: true
849 +|countryCode|string
850 +nullable: true
851 +|note|string
852 +nullable: true
919 919  
920 -}
854 +}]
921 921  )))
856 +|containsError|boolean
857 +|refreshPriceResult|RefreshPriceResultEnumstringEnum:
858 +[ Success, HotelPriceNoMoreAvailable, FlightPriceNoMoreAvailable ]
859 +|reservationId|string($uuid)
860 +|reservationDetailsUnavailable|boolean
922 922  
923 923  }
924 924  {{/success}}
864 +
865 +
866 +== Descriptions ==
867 +
868 +
869 +=== Request ===
870 +
871 +Here's a table describing each parameter of the JSON request:
872 +
873 +(% class="table-bordered" %)
874 +|=Parameter|=Data Type|=Description
875 +|calcTourPackageRequests|Array|An array of objects, each representing a tour package request.
876 +|refreshPrices|Boolean|If true, the prices for the tour package will be refreshed.
877 +|packageId|String|A unique identifier for the tour package.
878 +|flightPassengers|Array|An array of objects, each representing a flight passenger.
879 +|id|String|A unique identifier for each flight passenger.
880 +|selectedForwardBaggageCode|String|The selected baggage option for the forward journey. there is two optoions ""
881 +|selectedBackwardBaggageCode|String|The selected baggage option for the backward journey.
882 +|extraServicePriceCodes|Array|An array of extra service price codes. If empty, no extra services are selected.
883 +|includeInsurance|Boolean|If true, insurance will be included in the tour package.
884 +|calcOnlyHotelPackageRequests|Array|An array of objects, each representing a hotel-only package request. If empty, no hotel-only packages are requested.
885 +|calcOnlyAviaPackageRequests|Array|An array of objects, each representing an avia-only package request. If empty, no avia-only packages are requested.
886 +
887 +=== Response ===
888 +
889 +(% class="table-bordered" %)
890 +|=Parameter|=Data Type|=Description
891 +|priceCurrency|String|The currency code (ISO 4217) for all prices mentioned in the response.
892 +|totalPrice|Number|The total price of the booking.
893 +|agentCommissionPercent|Number|The commission percentage for the agent.
894 +|agentCommissionAmount|Number|The total commission amount for the agent in priceCurrency.
895 +|requiredCitizenIdentifiers[*].countryCode|String|The ISO 3166-1 alpha-2 country code.
896 +|requiredCitizenIdentifiers[*].identifierType|String|The type of identifier required (e.g., "TIN", "FIN"). **TIN (Taxpayer Identification Number) & FIN (Financial Identification Number)**
897 +|hotels[*].hotelPriceId|String|Unique identifier for the hotel price.
898 +|hotels[*].touristIds[*]|String|List of tourist IDs that are booked in this hotel.
899 +|hotels[*].description|String|A brief description of the hotel.
900 +|tourists[*].id|String|Unique identifier for the tourist.
901 +|tourists[*].isAdult|Boolean|Indicates if the tourist is an adult.
902 +|tourists[*].flightIds[*]|String|Identifiers for flights associated with the tourist.
903 +|tourists[*].flights[*].flightId|String|Unique identifier for the flight.
904 +|tourists[*].flights[*].note|String|Additional information about the flight, such as baggage allowance.
905 +|tourists[*].insurancePrice.insuranceId|String|Unique identifier for the insurance product.
906 +|tourists[*].insurancePrice.insuranceServiceId|String|Identifier for the insurance service provider.
907 +|...|...|Additional fields for insurancePrice as detailed previously.
908 +|tourists[*].transfers[*].id|String|Unique identifier for the transfer service.
909 +|tourists[*].transfers[*].type|String|The type of transfer (e.g., "Arrival", "Departure").
910 +|tourists[*].transfers[*].flightId|String|Identifier of the flight associated with this transfer.
911 +|tourists[*].transfers[*].checkInHotelId|String|Hotel ID for check-in associated with this transfer (for arrival type).
912 +|tourists[*].transfers[*].checkOutHotelId|String|Hotel ID for check-out associated with this transfer (for departure type).
913 +|tourists[*].transfers[*].selectedTransferPriceId|String|The ID of the selected pricing option for the transfer.
914 +|tourists[*].transfers[*].transferPrices[*].id|String|Unique identifier for the transfer price option.
915 +|tourists[*].transfers[*].transferPrices[*].name|String|The name of the transfer service (e.g., "GROUP", "MINIVAN").
916 +|...|...|Additional fields for transferPrices as detailed previously.
917 +|visas[*].prid|String|Unique identifier for the visa option.
918 +|visas[*].prName|String|The name of the visa option.
919 +|visas[*].prValue|Number|The cost associated with this visa option.
920 +|visas[*].sortingOrder|Number|Used to sort visa options in the response or UI.
921 +|terminals[*].terminalCode|String|The code representing the terminal.
922 +|terminals[*].cityUID|String|Unique identifier for the city where the terminal is located.
923 +|...|...|Additional fields for terminals as detailed previously.
924 +|containsError|Boolean|Indicates if the response contains any errors.
925 +|refreshPriceResult|String|The result of attempting to refresh the price (e.g., "Success").
926 +|reservationId|String|Unique identifier for the reservation.
927 +|reservationDetailsUnavailable|Boolean|Indicates if the reservation details are currently unavailable.
928 +|error|Boolean|A generic error indicator, presumably redundant with containsError.
929 +
930 +