Changes for page 4. CalcCheckout

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

From version 3.1
edited by Giorgi Mdivnishvili
on 2024/04/11 05:00
Change comment: There is no comment for this version
To version 11.1
edited by Giorgi Mdivnishvili
on 2024/04/11 16:59
Change comment: There is no comment for this version

Summary

Details

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