Changes for page 3. CalcCheckout

Last modified by Giorgi Mdivnishvili on 2025/02/03 12:34

From version 1.2
edited by Giorgi Mdivnishvili
on 2024/04/12 18:43
Change comment: There is no comment for this version
To version 1.5
edited by Giorgi Mdivnishvili
on 2024/04/12 18:56
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -7,36 +7,13 @@
7 7  = Method Description =
8 8  
9 9  
10 -This method is specifically designed for the retrieval of hotel pricing information. It supports queries for both current date prices and for prices over a specified date range.
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 -**Parameters:**
13 13  
14 -* stayDays (integer): Indicates the starting point of the stay duration in days. A default value of 0 signifies immediate date pricing retrieval.
15 -* stayDaysTo (integer): Specifies the endpoint of the stay duration in days. The initial value is set to 0, indicating the system will fetch prices for the immediate date by default.
16 -
17 -**Constraints:**
18 -
19 -* The difference between stayDays and stayDaysTo must not exceed 7 days. This limitation is imposed to optimize the query performance and ensure the relevance of the returned data.
20 -
21 -**Implementation:**
22 -
23 -1. **Query Initialization**: Begin by defining the stayDays and stayDaysTo parameters to frame your search criteria. These parameters enable the system to understand the desired duration for which the hotel pricing information is required.
24 -1. **Data Retrieval**: Execute the method with the provided parameters. The system processes the input and queries the database for hotel prices that match the specified duration, taking into account the constraint on the maximum duration difference.
25 -1. **Result Processing**: Upon successful retrieval, the system presents the hotel pricing data. This data is either for the current date (when both parameters are set to 0) or for the defined date range, adhering to the specified duration constraints.
26 -
27 -**Example Usage:** (Examples of API calls or function usage would typically be provided here, demonstrating how to correctly implement the method to retrieve hotel prices based on immediate dates or a specified date range.)
28 -
29 -**Notes:**
30 -
31 -* This method ensures efficient access to hotel pricing information, catering to both immediate and short-term planning needs by leveraging a simple, parameter-driven query mechanism.
32 -
33 -This documentation provides a detailed guide for developers on utilizing the hotel pricing retrieval method, emphasizing parameter usage, operational constraints, and the process flow for executing queries and handling results.
34 -
35 -
36 36  == Endpoint URL - [POST] ==
37 37  
38 38  {{info}}
39 -[[https:~~/~~/integration.kazunion.com/api/OnlyHotelPackages/SearchHotelPrices>>https://integration.kazunion.com/api/OnlyHotelPackages/SearchHotelPrices]]
16 +[[https:~~/~~/integration.kazunion.com/api/OnlyHotelPackages/CalcPackage>>https://integration.kazunion.com/api/OnlyHotelPackages/CalcPackage]]
40 40  {{/info}}
41 41  
42 42  
... ... @@ -47,157 +47,861 @@
47 47  None
48 48  )))
49 49  
27 +
50 50  == Request Body ==
51 51  
52 52  {{code language="Json"}}
53 53  {
54 - "countryCode": "string",
55 - "locations": [
32 + "reservationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
33 + "calcTourPackageRequests": [
56 56   {
57 - "type": "string",
58 - "parent": "string",
59 - "label": "string",
60 - "subLabel": "string",
61 - "value": "string",
62 - "tag": "string"
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
63 63   }
64 64   ],
65 - "checkInDate": "2023-12-14",
66 - "checkInDateTo": "2023-12-14",
67 - "checkOutDate": "2023-12-14",
68 - "stayDays": 0,
69 - "stayDaysTo": 0,
70 - "adults": 0,
71 - "children": 0,
72 - "childrenAges": [
73 - 0
50 + "calcOnlyHotelPackageRequests": [
51 + {
52 + "packageId": "string",
53 + "extraServicePriceCodes": [
54 + "string"
55 + ],
56 + "includeInsurance": true,
57 + "refreshPrices": true
58 + }
74 74   ],
75 - "extendedSearch": true,
76 - "totalPriceFrom": 0,
77 - "totalPriceTo": 0,
78 - "recommended": true,
79 - "popular": true,
80 - "freeSale": true,
81 - "groupByHotel": true,
82 - "hotelCodes": [
83 - "string"
60 + "calcOnlyAviaPackageRequests": [
61 + {
62 + "packageId": "string",
63 + "refreshPrices": true,
64 + "flightPassengers": [
65 + {
66 + "id": "string",
67 + "selectedForwardBaggageCode": "string",
68 + "selectedBackwardBaggageCode": "string"
69 + }
70 + ]
71 + }
84 84   ],
85 - "mealPlans": [
86 - "string"
73 + "hotels": [
74 + {
75 + "hotelPriceId": "string",
76 + "agentConfirmationNumber": "string",
77 + "note": "string",
78 + "touristIds": [
79 + "3fa85f64-5717-4562-b3fc-2c963f66afa6"
80 + ]
81 + }
87 87   ],
88 - "hotelClasses": [
89 - "string"
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 + }
90 90   ],
91 - "hotelTypes": [
92 - "CityHotel"
93 - ],
94 - "hotelServices": [
95 - "HasAlcohol"
96 - ],
97 - "pagingId": "string",
98 - "pageNumber": 0,
99 - "pageRowCount": 0
119 + "note": "string",
120 + "contactPhone": "string"
100 100  }
122 +
101 101  {{/code}}
102 102  
103 -== Request Body example ==
125 +(% class="wikigeneratedid" id="HRequestBodyexample" %)
126 +(% id="cke_bm_10575S" style="display:none" %)
104 104  
105 105  
129 +
130 +== Request Body example ==
131 +
106 106  {{code language="Json"}}
107 107  {
108 - "countryCode": "AE",
109 - "checkInDate": "2024-02-15",
110 - "checkInDateTo": "2024-02-20",
111 -
112 - "stayDays": 4,
113 - "stayDaysTo": 6,
114 - "adults": 1,
115 - "children": 1,
116 - "childrenAges": [
117 - 1
118 - ],
119 - "extendedSearch": false,
120 - "totalPriceFrom": 10,
121 - "totalPriceTo": 10000,
122 - "recommended": false,
123 - "popular": true,
124 - "freeSale": true,
125 - "groupByHotel": true,
126 - "hotelCodes": [
127 -
128 - ],
129 - "mealPlans": [
130 -
131 - ],
132 - "hotelClasses": [
133 -
134 - ],
135 - "hotelTypes": [
136 -
137 - ],
138 - "hotelServices": [
139 -
140 - ],
141 - "pagingId": "",
142 - "pageNumber": 3,
143 - "pageRowCount": 10
134 + "calcTourPackageRequests": [],
135 + "calcOnlyHotelPackageRequests": [
136 + {
137 + "refreshPrices": true,
138 + "packageId": "onlyhotel:25a0ce83-047e-485a-8fd7-f2b5a7a1fa37:9963330c-2346-4330-b9cf-7abbb0f64636",
139 + "extraServicePriceCodes": [],
140 + "includeInsurance": false
141 + }
142 + ],
143 + "calcOnlyAviaPackageRequests": []
144 144  }
145 145  {{/code}}
146 146  
147 -== Response Body ==
148 148  
148 +== Response ==
149 +
149 149  {{code language="json"}}
150 -[
151 - {
152 - "hotelCode": "string",
153 - "hotelName": "string",
154 - "hotelClass": "string",
155 - "cityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
156 - "countryCode": "string",
157 - "countryName": "string",
158 - "districtUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
159 - "cityName": "string",
160 - "districtName": "string",
161 - "hotelType": "CityHotel",
162 - "latitude": "string",
163 - "longitude": "string",
164 - "hasAlcohol": true,
165 - "hasFreeWifi": true,
166 - "hasMetro": true,
167 - "hasPool": true,
168 - "hasMall": true
169 - }
170 -]
151 +{
152 + "priceCurrency": "USD",
153 + "totalPrice": 47,
154 + "agentCommissionPercent": 0.00,
155 + "agentCommissionAmount": 0,
156 + "requiredCitizenIdentifiers": [
157 + {
158 + "countryCode": "KZ",
159 + "identifierType": "TIN"
160 + },
161 + {
162 + "countryCode": "AZ",
163 + "identifierType": "FIN"
164 + }
165 + ],
166 + "hotels": [
167 + {
168 + "hotelPriceId": "9963330c-2346-4330-b9cf-7abbb0f64636",
169 + "touristIds": [
170 + "5652e3ba-23d1-4392-bcd9-03442b48e385",
171 + "5e395a1b-982b-4686-b078-b8ffd3332c0e"
172 + ],
173 + "description": "Royal Continental Hotel"
174 + }
175 + ],
176 + "tourists": [
177 + {
178 + "id": "5652e3ba-23d1-4392-bcd9-03442b48e385",
179 + "isAdult": true,
180 + "flightIds": [],
181 + "flights": [],
182 + "arrivalFlightInfo": {
183 + "terminalCode": "DXB2",
184 + "date": "2024-06-30T00:00:00.000"
185 + },
186 + "departureFlightInfo": {
187 + "terminalCode": "DXB2",
188 + "date": "2024-07-01T00:00:00.000"
189 + },
190 + "selectedVisaId": "00000000-0000-0000-0000-000000000000",
191 + "transfers": [
192 + {
193 + "id": "DXB2-03cf038c-df96-4926-af5f-0f285e600405",
194 + "type": "Arrival",
195 + "flightInfo": {
196 + "terminalCode": "DXB2",
197 + "date": "2024-06-30T00:00:00.000"
198 + },
199 + "checkInHotelId": "9963330c-2346-4330-b9cf-7abbb0f64636",
200 + "selectedTransferPriceId": "9b4d2a8e-1f85-4d0d-8b39-c3b516d15c01",
201 + "transferPrices": [
202 + {
203 + "id": "9b4d2a8e-1f85-4d0d-8b39-c3b516d15c01",
204 + "name": "WITHOUT",
205 + "adultPlaces": 0,
206 + "childPlaces": 0,
207 + "perPersonPrice": false,
208 + "adultPrice": 0.00000000,
209 + "childPrice": 0
210 + },
211 + {
212 + "id": "9bc3625d-017e-4e72-a4bc-b1e57dc2a146",
213 + "name": "MINIVAN",
214 + "adultPlaces": 5,
215 + "childPlaces": 0,
216 + "perPersonPrice": false,
217 + "adultPrice": 45.00000000,
218 + "childPrice": 0
219 + },
220 + {
221 + "id": "fc3815bb-af00-4733-9134-4b6334ce3854",
222 + "name": "TOYOTA HIACE",
223 + "adultPlaces": 9,
224 + "childPlaces": 0,
225 + "perPersonPrice": false,
226 + "adultPrice": 50.00000000,
227 + "childPrice": 0
228 + },
229 + {
230 + "id": "1df09212-11e3-44b1-b615-fbb6338efaf2",
231 + "name": "HIGER BUS (27 SEATERS)",
232 + "adultPlaces": 27,
233 + "childPlaces": 0,
234 + "perPersonPrice": false,
235 + "adultPrice": 85.00000000,
236 + "childPrice": 0
237 + },
238 + {
239 + "id": "bd26e2cf-15ed-41c0-8e6f-743834b12dfb",
240 + "name": "HIGER 53",
241 + "adultPlaces": 51,
242 + "childPlaces": 0,
243 + "perPersonPrice": false,
244 + "adultPrice": 120.00000000,
245 + "childPrice": 0
246 + },
247 + {
248 + "id": "5d67ad4f-5e8a-4dd2-abc0-74e5389e8c04",
249 + "name": "MERCEDES S CLASS 400",
250 + "adultPlaces": 3,
251 + "childPlaces": 0,
252 + "perPersonPrice": false,
253 + "adultPrice": 140.00000000,
254 + "childPrice": 0
255 + },
256 + {
257 + "id": "f6fe44b2-574d-47b5-a15c-b0560cfc71a6",
258 + "name": "MERCEDES V CLASS",
259 + "adultPlaces": 7,
260 + "childPlaces": 0,
261 + "perPersonPrice": false,
262 + "adultPrice": 140.00000000,
263 + "childPrice": 0
264 + },
265 + {
266 + "id": "50cf907a-2145-4b46-bb67-0dde2e7b7326",
267 + "name": "MERCEDES S CLASS 500",
268 + "adultPlaces": 3,
269 + "childPlaces": 0,
270 + "perPersonPrice": false,
271 + "adultPrice": 165.00000000,
272 + "childPrice": 0
273 + }
274 + ]
275 + },
276 + {
277 + "id": "03cf038c-df96-4926-af5f-0f285e600405-DXB2",
278 + "type": "Departure",
279 + "flightInfo": {
280 + "terminalCode": "DXB2",
281 + "date": "2024-07-01T00:00:00.000"
282 + },
283 + "checkOutHotelId": "9963330c-2346-4330-b9cf-7abbb0f64636",
284 + "selectedTransferPriceId": "9b4d2a8e-1f85-4d0d-8b39-c3b516d15c01",
285 + "transferPrices": [
286 + {
287 + "id": "9b4d2a8e-1f85-4d0d-8b39-c3b516d15c01",
288 + "name": "WITHOUT",
289 + "adultPlaces": 0,
290 + "childPlaces": 0,
291 + "perPersonPrice": false,
292 + "adultPrice": 0.00000000,
293 + "childPrice": 0
294 + },
295 + {
296 + "id": "9bc3625d-017e-4e72-a4bc-b1e57dc2a146",
297 + "name": "MINIVAN",
298 + "adultPlaces": 5,
299 + "childPlaces": 0,
300 + "perPersonPrice": false,
301 + "adultPrice": 45.00000000,
302 + "childPrice": 0
303 + },
304 + {
305 + "id": "fc3815bb-af00-4733-9134-4b6334ce3854",
306 + "name": "TOYOTA HIACE",
307 + "adultPlaces": 9,
308 + "childPlaces": 0,
309 + "perPersonPrice": false,
310 + "adultPrice": 50.00000000,
311 + "childPrice": 0
312 + },
313 + {
314 + "id": "1df09212-11e3-44b1-b615-fbb6338efaf2",
315 + "name": "HIGER BUS (27 SEATERS)",
316 + "adultPlaces": 27,
317 + "childPlaces": 0,
318 + "perPersonPrice": false,
319 + "adultPrice": 85.00000000,
320 + "childPrice": 0
321 + },
322 + {
323 + "id": "bd26e2cf-15ed-41c0-8e6f-743834b12dfb",
324 + "name": "HIGER 53",
325 + "adultPlaces": 51,
326 + "childPlaces": 0,
327 + "perPersonPrice": false,
328 + "adultPrice": 120.00000000,
329 + "childPrice": 0
330 + },
331 + {
332 + "id": "5d67ad4f-5e8a-4dd2-abc0-74e5389e8c04",
333 + "name": "MERCEDES S CLASS 400",
334 + "adultPlaces": 3,
335 + "childPlaces": 0,
336 + "perPersonPrice": false,
337 + "adultPrice": 140.00000000,
338 + "childPrice": 0
339 + },
340 + {
341 + "id": "f6fe44b2-574d-47b5-a15c-b0560cfc71a6",
342 + "name": "MERCEDES V CLASS",
343 + "adultPlaces": 7,
344 + "childPlaces": 0,
345 + "perPersonPrice": false,
346 + "adultPrice": 140.00000000,
347 + "childPrice": 0
348 + },
349 + {
350 + "id": "50cf907a-2145-4b46-bb67-0dde2e7b7326",
351 + "name": "MERCEDES S CLASS 500",
352 + "adultPlaces": 3,
353 + "childPlaces": 0,
354 + "perPersonPrice": false,
355 + "adultPrice": 165.00000000,
356 + "childPrice": 0
357 + }
358 + ]
359 + }
360 + ],
361 + "description": " "
362 + },
363 + {
364 + "id": "5e395a1b-982b-4686-b078-b8ffd3332c0e",
365 + "isAdult": true,
366 + "flightIds": [],
367 + "flights": [],
368 + "arrivalFlightInfo": {
369 + "terminalCode": "DXB2",
370 + "date": "2024-06-30T00:00:00.000"
371 + },
372 + "departureFlightInfo": {
373 + "terminalCode": "DXB2",
374 + "date": "2024-07-01T00:00:00.000"
375 + },
376 + "selectedVisaId": "00000000-0000-0000-0000-000000000000",
377 + "transfers": [
378 + {
379 + "id": "DXB2-03cf038c-df96-4926-af5f-0f285e600405",
380 + "type": "Arrival",
381 + "flightInfo": {
382 + "terminalCode": "DXB2",
383 + "date": "2024-06-30T00:00:00.000"
384 + },
385 + "checkInHotelId": "9963330c-2346-4330-b9cf-7abbb0f64636",
386 + "selectedTransferPriceId": "9b4d2a8e-1f85-4d0d-8b39-c3b516d15c01",
387 + "transferPrices": [
388 + {
389 + "id": "9b4d2a8e-1f85-4d0d-8b39-c3b516d15c01",
390 + "name": "WITHOUT",
391 + "adultPlaces": 0,
392 + "childPlaces": 0,
393 + "perPersonPrice": false,
394 + "adultPrice": 0.00000000,
395 + "childPrice": 0
396 + },
397 + {
398 + "id": "9bc3625d-017e-4e72-a4bc-b1e57dc2a146",
399 + "name": "MINIVAN",
400 + "adultPlaces": 5,
401 + "childPlaces": 0,
402 + "perPersonPrice": false,
403 + "adultPrice": 45.00000000,
404 + "childPrice": 0
405 + },
406 + {
407 + "id": "fc3815bb-af00-4733-9134-4b6334ce3854",
408 + "name": "TOYOTA HIACE",
409 + "adultPlaces": 9,
410 + "childPlaces": 0,
411 + "perPersonPrice": false,
412 + "adultPrice": 50.00000000,
413 + "childPrice": 0
414 + },
415 + {
416 + "id": "1df09212-11e3-44b1-b615-fbb6338efaf2",
417 + "name": "HIGER BUS (27 SEATERS)",
418 + "adultPlaces": 27,
419 + "childPlaces": 0,
420 + "perPersonPrice": false,
421 + "adultPrice": 85.00000000,
422 + "childPrice": 0
423 + },
424 + {
425 + "id": "bd26e2cf-15ed-41c0-8e6f-743834b12dfb",
426 + "name": "HIGER 53",
427 + "adultPlaces": 51,
428 + "childPlaces": 0,
429 + "perPersonPrice": false,
430 + "adultPrice": 120.00000000,
431 + "childPrice": 0
432 + },
433 + {
434 + "id": "5d67ad4f-5e8a-4dd2-abc0-74e5389e8c04",
435 + "name": "MERCEDES S CLASS 400",
436 + "adultPlaces": 3,
437 + "childPlaces": 0,
438 + "perPersonPrice": false,
439 + "adultPrice": 140.00000000,
440 + "childPrice": 0
441 + },
442 + {
443 + "id": "f6fe44b2-574d-47b5-a15c-b0560cfc71a6",
444 + "name": "MERCEDES V CLASS",
445 + "adultPlaces": 7,
446 + "childPlaces": 0,
447 + "perPersonPrice": false,
448 + "adultPrice": 140.00000000,
449 + "childPrice": 0
450 + },
451 + {
452 + "id": "50cf907a-2145-4b46-bb67-0dde2e7b7326",
453 + "name": "MERCEDES S CLASS 500",
454 + "adultPlaces": 3,
455 + "childPlaces": 0,
456 + "perPersonPrice": false,
457 + "adultPrice": 165.00000000,
458 + "childPrice": 0
459 + }
460 + ]
461 + },
462 + {
463 + "id": "03cf038c-df96-4926-af5f-0f285e600405-DXB2",
464 + "type": "Departure",
465 + "flightInfo": {
466 + "terminalCode": "DXB2",
467 + "date": "2024-07-01T00:00:00.000"
468 + },
469 + "checkOutHotelId": "9963330c-2346-4330-b9cf-7abbb0f64636",
470 + "selectedTransferPriceId": "9b4d2a8e-1f85-4d0d-8b39-c3b516d15c01",
471 + "transferPrices": [
472 + {
473 + "id": "9b4d2a8e-1f85-4d0d-8b39-c3b516d15c01",
474 + "name": "WITHOUT",
475 + "adultPlaces": 0,
476 + "childPlaces": 0,
477 + "perPersonPrice": false,
478 + "adultPrice": 0.00000000,
479 + "childPrice": 0
480 + },
481 + {
482 + "id": "9bc3625d-017e-4e72-a4bc-b1e57dc2a146",
483 + "name": "MINIVAN",
484 + "adultPlaces": 5,
485 + "childPlaces": 0,
486 + "perPersonPrice": false,
487 + "adultPrice": 45.00000000,
488 + "childPrice": 0
489 + },
490 + {
491 + "id": "fc3815bb-af00-4733-9134-4b6334ce3854",
492 + "name": "TOYOTA HIACE",
493 + "adultPlaces": 9,
494 + "childPlaces": 0,
495 + "perPersonPrice": false,
496 + "adultPrice": 50.00000000,
497 + "childPrice": 0
498 + },
499 + {
500 + "id": "1df09212-11e3-44b1-b615-fbb6338efaf2",
501 + "name": "HIGER BUS (27 SEATERS)",
502 + "adultPlaces": 27,
503 + "childPlaces": 0,
504 + "perPersonPrice": false,
505 + "adultPrice": 85.00000000,
506 + "childPrice": 0
507 + },
508 + {
509 + "id": "bd26e2cf-15ed-41c0-8e6f-743834b12dfb",
510 + "name": "HIGER 53",
511 + "adultPlaces": 51,
512 + "childPlaces": 0,
513 + "perPersonPrice": false,
514 + "adultPrice": 120.00000000,
515 + "childPrice": 0
516 + },
517 + {
518 + "id": "5d67ad4f-5e8a-4dd2-abc0-74e5389e8c04",
519 + "name": "MERCEDES S CLASS 400",
520 + "adultPlaces": 3,
521 + "childPlaces": 0,
522 + "perPersonPrice": false,
523 + "adultPrice": 140.00000000,
524 + "childPrice": 0
525 + },
526 + {
527 + "id": "f6fe44b2-574d-47b5-a15c-b0560cfc71a6",
528 + "name": "MERCEDES V CLASS",
529 + "adultPlaces": 7,
530 + "childPlaces": 0,
531 + "perPersonPrice": false,
532 + "adultPrice": 140.00000000,
533 + "childPrice": 0
534 + },
535 + {
536 + "id": "50cf907a-2145-4b46-bb67-0dde2e7b7326",
537 + "name": "MERCEDES S CLASS 500",
538 + "adultPlaces": 3,
539 + "childPlaces": 0,
540 + "perPersonPrice": false,
541 + "adultPrice": 165.00000000,
542 + "childPrice": 0
543 + }
544 + ]
545 + }
546 + ],
547 + "description": " "
548 + }
549 + ],
550 + "visas": [
551 + {
552 + "prid": "00000000-0000-0000-0000-000000000000",
553 + "prName": "WITHOUT VISA",
554 + "prValue": 0.00000000,
555 + "sortingOrder": 4
556 + },
557 + {
558 + "prid": "40d3b511-c5b3-4395-b51f-11fb1b8e555b",
559 + "prName": "TOURIST VISA",
560 + "prValue": 80.01000000,
561 + "sortingOrder": 2
562 + },
563 + {
564 + "prid": "80490edd-a7ef-43dc-98cf-3f709efe68cb",
565 + "prName": "SERVICE VISA",
566 + "prValue": 120.08000000,
567 + "sortingOrder": 3
568 + }
569 + ],
570 + "terminals": [
571 + {
572 + "terminalCode": "DXB2",
573 + "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2",
574 + "districtUID": "e6ce358e-22d4-413f-a39f-983a14a8e28e",
575 + "terminalName": "DXB2",
576 + "countryCode": "AE"
577 + },
578 + {
579 + "terminalCode": "DXB",
580 + "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2",
581 + "districtUID": "e6ce358e-22d4-413f-a39f-983a14a8e28e",
582 + "terminalName": "DXB",
583 + "countryCode": "AE"
584 + },
585 + {
586 + "terminalCode": "SHJ",
587 + "cityUID": "f78ac3bc-f040-46d0-8319-2c52083080a6",
588 + "districtUID": "18a915ca-74de-4613-a2fb-616ea300d16d",
589 + "terminalName": "SHJ",
590 + "countryCode": "AE"
591 + },
592 + {
593 + "terminalCode": "AUH3",
594 + "cityUID": "28c794fe-3c7e-4da2-ba93-f24bd3d4730d",
595 + "districtUID": "5460739a-fb6e-4d94-a35b-6f4e0612581b",
596 + "terminalName": "AUH3",
597 + "countryCode": "AE"
598 + },
599 + {
600 + "terminalCode": "AUH",
601 + "cityUID": "28c794fe-3c7e-4da2-ba93-f24bd3d4730d",
602 + "districtUID": "5460739a-fb6e-4d94-a35b-6f4e0612581b",
603 + "terminalName": "AUH",
604 + "countryCode": "AE"
605 + },
606 + {
607 + "terminalCode": "QIW",
608 + "cityUID": "9aabae22-f2f8-408c-b295-55cce1393c88",
609 + "districtUID": "9834149a-17ef-431e-b1f2-ab093bd55d94",
610 + "terminalName": "Um Al Quwain Terminal ",
611 + "countryCode": "AE"
612 + },
613 + {
614 + "terminalCode": "QAJ",
615 + "cityUID": "a7e023c1-c654-4e1d-8a83-7e571bd3a78d",
616 + "districtUID": "70e57708-9de2-4505-b550-f4627ae40877",
617 + "terminalName": "Ajman Terminal ",
618 + "countryCode": "AE"
619 + },
620 + {
621 + "terminalCode": "RKT",
622 + "cityUID": "607fbe3a-68e6-4523-bf6e-e419fac86a8b",
623 + "districtUID": "7f82fcc7-65ee-48d8-b0ea-200fa2ffdb42",
624 + "terminalName": "Ras Al Khaimah Terminal ",
625 + "countryCode": "AE"
626 + },
627 + {
628 + "terminalCode": "FJR",
629 + "cityUID": "857a6d87-d1e4-4a17-a867-c65307559222",
630 + "districtUID": "3a894ed3-8021-45c9-ae0c-aa5e7379bb82",
631 + "terminalName": "Fujairah Terminal ",
632 + "countryCode": "AE"
633 + },
634 + {
635 + "terminalCode": "DXB3",
636 + "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2",
637 + "districtUID": "e6ce358e-22d4-413f-a39f-983a14a8e28e",
638 + "terminalName": "DXB3",
639 + "countryCode": "AE"
640 + },
641 + {
642 + "terminalCode": "Etihad Bus Station",
643 + "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2",
644 + "districtUID": "1fa8bb75-707b-40e6-8212-f705eeeaa16b",
645 + "terminalName": "Etihad Bus Station",
646 + "countryCode": "AE"
647 + },
648 + {
649 + "terminalCode": "ETD",
650 + "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2",
651 + "districtUID": "1fa8bb75-707b-40e6-8212-f705eeeaa16b",
652 + "terminalName": "Etihad Main Office Dubai",
653 + "countryCode": "AE",
654 + "note": "Noor Islamic Bank MS"
655 + },
656 + {
657 + "terminalCode": "XGD",
658 + "cityUID": "28c794fe-3c7e-4da2-ba93-f24bd3d4730d",
659 + "districtUID": "88ece1b0-cb91-49f3-86a0-eedc6c8e5aaf",
660 + "terminalName": "Dnata - Clock Tower",
661 + "countryCode": "AE"
662 + },
663 + {
664 + "terminalCode": "DXB1",
665 + "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2",
666 + "districtUID": "e6ce358e-22d4-413f-a39f-983a14a8e28e",
667 + "terminalName": "DXB1",
668 + "countryCode": "AE"
669 + },
670 + {
671 + "terminalCode": "DWC",
672 + "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2",
673 + "districtUID": "42ace7f3-c109-4e81-8959-9c5adf193444",
674 + "terminalName": "DWC",
675 + "countryCode": "AE",
676 + "note": "Al Maktoum intl. airport"
677 + }
678 + ],
679 + "containsError": false,
680 + "refreshPriceResult": "Success",
681 + "reservationId": "39b50207-50b0-4b86-8a5d-a026866acf6d",
682 + "reservationDetailsUnavailable": false,
683 + "error": false
684 +}
171 171  {{/code}}
172 172  
173 173  
174 -=== Response Body example ===
688 +=== Response example ===
175 175  
176 176  {{code language="Json"}}
177 177  {
178 - "packages": [
692 + "package": {
693 + "id": "tour:1d0fa533-4261-4254-93bb-83599d581ffc:193990fa-41a5-46e6-9805-50f82c3c377f:0c299240-6fc6-4f79-ba99-3548f2de3f57",
694 + "priceCurrency": "USD",
695 + "totalPrice": 937.16,
696 + "agentCommissionPercent": 0.00,
697 + "agentCommissionAmount": 0.00,
698 + "includedExtrasAmount": 0,
699 + "priceDifference": 0,
700 + "hotel": {
701 + "hotelPriceId": "193990fa-41a5-46e6-9805-50f82c3c377f",
702 + "providerId": 13,
703 + "hotelName": "Mercure Dubai Barsha Heights Suites Apartments",
704 + "hotelCode": "5f125310-7025-4807-a4c6-49cd284c9c14",
705 + "nigths": 2,
706 + "mealPlan": "BB",
707 + "hotelClass": "4",
708 + "availabilityType": "StopSale",
709 + "availableRoomsCount": 0,
710 + "fewRooms": true,
711 + "roomCategoryCode": "f8e1ffe5-25cc-46a4-80e8-586d1c049de4",
712 + "roomCategoryName": "1 B/R Apartment City View",
713 + "placementTypeName": "SNGL + CHILD(2-5.99)sharing",
714 + "checkInDate": "2024-02-15T20:00:00.000Z",
715 + "checkOutDate": "2024-02-17T20:00:00.000Z",
716 + "adults": 1,
717 + "children": 1,
718 + "districtUID": "4c65f6ed-902b-4fd8-9419-af7884c22c5e",
719 + "districtName": "Al Barsha",
720 + "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2",
721 + "cityName": "Dubai",
722 + "countryCode": "AE",
723 + "countryName": "United Arab Emirates",
724 + "hasAlcohol": false,
725 + "hasFreeWifi": true,
726 + "hasMetro": true,
727 + "hasPool": true,
728 + "hasMall": false,
729 + "cancellationPolicyDescription": "Cancellation Policy: 5 Day Before Arrival: 100.00 %, Early Departure: 100.00 %, NoShow: 100.00 %",
730 + "cancellationPolicy": {
731 + "noShowChargeValue": 100.00,
732 + "noShowChargeValueType": "%",
733 + "earlyDepartureChargeValue": 100.00,
734 + "earlyDepartureChargeValueType": "%",
735 + "conditions": [
736 + {
737 + "timeunits": 5,
738 + "timeunitType": "Day",
739 + "timeOffsetTypeName": "Before Arrival",
740 + "chargeValue": 100.00,
741 + "chargeValueType": "%"
742 + }
743 + ]
744 + }
745 + },
746 + "flight": {
747 + "id": "0c299240-6fc6-4f79-ba99-3548f2de3f57",
748 + "departureDate": "2024-02-15T20:00:00.000Z",
749 + "returnDate": "2024-02-17T20:00:00.000Z",
750 + "departureTicketsLeft": 7,
751 + "returnTicketsLeft": 7,
752 + "departureAvailabilityType": "FewPlaces",
753 + "returnAvailabilityType": "FewPlaces",
754 + "isTwoWay": true,
755 + "sameBaggageForAll": false,
756 + "totalBaggage": true,
757 + "departureSegments": [
758 + {
759 + "airlineCode": "KC",
760 + "airlineName": "Air Astana-",
761 + "flightCode": "KC899",
762 + "class": "econom",
763 + "lugageWeight": 20,
764 + "handLugageWeight": 6,
765 + "departureFlightDate": "2024-02-15T20:00:00.000Z",
766 + "departureCountryName": "Kazakhstan",
767 + "departureCityName": "Almaty",
768 + "departureAirportCode": "ALA",
769 + "departureAirportName": "Almaty Intl Airport",
770 + "departureTerminalCode": "ALA",
771 + "arrivalFlightDate": "2024-02-15T20:00:00.000Z",
772 + "arrivalCountryName": "United Arab Emirates",
773 + "arrivalCityName": "Dubai",
774 + "arrivalAirportCode": "DXB",
775 + "arrivalAirportName": "Dubai Intl Airport",
776 + "arrivalTerminalCode": "DXB1",
777 + "flightDuration": "0h 50m"
778 + }
779 + ],
780 + "returnSegments": [
781 + {
782 + "airlineCode": "KC",
783 + "airlineName": "Air Astana-",
784 + "flightCode": "KC900",
785 + "class": "econom",
786 + "lugageWeight": 20,
787 + "handLugageWeight": 6,
788 + "departureFlightDate": "2024-02-17T20:00:00.000Z",
789 + "departureCountryName": "United Arab Emirates",
790 + "departureCityName": "Dubai",
791 + "departureAirportCode": "DXB",
792 + "departureAirportName": "Dubai Intl Airport",
793 + "departureTerminalCode": "DXB1",
794 + "arrivalFlightDate": "2024-02-17T20:00:00.000Z",
795 + "arrivalCountryName": "Kazakhstan",
796 + "arrivalCityName": "Almaty",
797 + "arrivalAirportCode": "ALA",
798 + "arrivalAirportName": "Almaty Intl Airport",
799 + "arrivalTerminalCode": "ALA",
800 + "flightDuration": "8h 15m"
801 + }
802 + ],
803 + "passengers": [
804 + {
805 + "id": "42779531011000004-A1",
806 + "isAdult": true,
807 + "forwardBaggages": [
808 + {
809 + "baggageCode": "TOTAL_BAGGAGE",
810 + "description": "1 piece included, UP TO 50 POUNDS/23 KILOGRAMS, OVER 62 LINEAR INCHES/158 LINEAR CENTIMETERS",
811 + "price": 45.00,
812 + "currency": "USD",
813 + "included": false
814 + }
815 + ],
816 + "backwardBaggages": [
817 + {
818 + "baggageCode": "INCLUDED_IN_FORWARD",
819 + "price": 0,
820 + "included": false
821 + }
822 + ]
823 + },
824 + {
825 + "id": "42779531011000004-C1",
826 + "isAdult": false,
827 + "forwardBaggages": [
828 + {
829 + "baggageCode": "TOTAL_BAGGAGE",
830 + "description": "1 piece included, UP TO 50 POUNDS/23 KILOGRAMS, OVER 62 LINEAR INCHES/158 LINEAR CENTIMETERS",
831 + "price": 45.00,
832 + "currency": "USD",
833 + "included": false
834 + }
835 + ],
836 + "backwardBaggages": [
837 + {
838 + "baggageCode": "INCLUDED_IN_FORWARD",
839 + "price": 0,
840 + "included": false
841 + }
842 + ]
843 + }
844 + ]
845 + },
846 + "extraServices": [],
847 + "insurancePrice": {
848 + "name": "Medical INS (N10000)",
849 + "price": 13.44,
850 + "priceSurcarge": 0.00,
851 + "actualStartDate": "2024-02-15T20:00:00.000Z",
852 + "actualEndDate": "2024-02-17T20:00:00.000Z",
853 + "optional": false,
854 + "includedInPackagePrice": true
855 + }
856 + },
857 + "altPackages": [
179 179   {
180 - "id": "onlyhotel:c4e23e7e-3d54-4efa-a3db-88508230ce91:504f63ca-6dd5-4d84-8245-cf7e77ccff73",
859 + "id": "tour:1d0fa533-4261-4254-93bb-83599d581ffc:193990fa-41a5-46e6-9805-50f82c3c377f:63d79c94-1e19-443f-8a17-50e59e633ea8",
181 181   "priceCurrency": "USD",
182 - "totalPrice": 381.7,
183 - "agentCommissionPercent": 0.0,
184 - "agentCommissionAmount": 0.0,
861 + "totalPrice": 968.40,
862 + "agentCommissionPercent": 0.00,
863 + "agentCommissionAmount": 0.00,
864 + "includedExtrasAmount": 0,
865 + "priceDifference": 31.24,
185 185   "hotel": {
186 - "hotelPriceId": "504f63ca-6dd5-4d84-8245-cf7e77ccff73",
867 + "hotelPriceId": "193990fa-41a5-46e6-9805-50f82c3c377f",
187 187   "providerId": 13,
188 - "hotelName": "Golden Tulip Al Barsha Hotel",
189 - "hotelCode": "ed0820c5-29b0-4e1b-8bcf-9f3c181e7961",
190 - "nigths": 4,
191 - "mealPlan": "RO",
869 + "hotelName": "Mercure Dubai Barsha Heights Suites Apartments",
870 + "hotelCode": "5f125310-7025-4807-a4c6-49cd284c9c14",
871 + "nigths": 2,
872 + "mealPlan": "BB",
192 192   "hotelClass": "4",
193 - "availabilityType": "FreeSale",
874 + "availabilityType": "StopSale",
194 194   "availableRoomsCount": 0,
195 195   "fewRooms": true,
196 - "roomCategoryCode": "e63ea5ac-4883-4059-bb0a-795a534bbbfb",
197 - "roomCategoryName": "Superior Twin",
198 - "placementTypeName": "SNGL + CHILD(6-11.99)sharing",
199 - "checkInDate": "2024-02-17T08:00:00.000Z",
200 - "checkOutDate": "2024-02-21T08:00:00.000Z",
877 + "roomCategoryCode": "f8e1ffe5-25cc-46a4-80e8-586d1c049de4",
878 + "roomCategoryName": "1 B/R Apartment City View",
879 + "placementTypeName": "SNGL + CHILD(2-5.99)sharing",
880 + "checkInDate": "2024-02-15T20:00:00.000Z",
881 + "checkOutDate": "2024-02-17T20:00:00.000Z",
201 201   "adults": 1,
202 202   "children": 1,
203 203   "districtUID": "4c65f6ed-902b-4fd8-9419-af7884c22c5e",
... ... @@ -206,30 +206,148 @@
206 206   "cityName": "Dubai",
207 207   "countryCode": "AE",
208 208   "countryName": "United Arab Emirates",
209 - "hasAlcohol": true,
890 + "hasAlcohol": false,
210 210   "hasFreeWifi": true,
211 - "hasMetro": false,
892 + "hasMetro": true,
212 212   "hasPool": true,
213 213   "hasMall": false,
214 - "cancellationPolicyDescription": "Cancellation Policy: 15 Day Before Arrival: 100.00 %, Early Departure: 100.00 %, NoShow: 100.00 %",
895 + "cancellationPolicyDescription": "Cancellation Policy: 5 Day Before Arrival: 100.00 %, Early Departure: 100.00 %, NoShow: 100.00 %",
215 215   "cancellationPolicy": {
216 - "noShowChargeValue": 100.0,
897 + "noShowChargeValue": 100.00,
217 217   "noShowChargeValueType": "%",
218 - "earlyDepartureChargeValue": 100.0,
899 + "earlyDepartureChargeValue": 100.00,
219 219   "earlyDepartureChargeValueType": "%",
220 220   "conditions": [
221 221   {
222 - "timeunits": 15,
903 + "timeunits": 5,
223 223   "timeunitType": "Day",
224 224   "timeOffsetTypeName": "Before Arrival",
225 - "chargeValue": 100.0,
906 + "chargeValue": 100.00,
226 226   "chargeValueType": "%"
227 227   }
228 228   ]
229 229   }
230 230   },
231 - "extraServices": []
912 + "flight": {
913 + "id": "63d79c94-1e19-443f-8a17-50e59e633ea8",
914 + "departureDate": "2024-02-15T20:00:00.000Z",
915 + "returnDate": "2024-02-17T20:00:00.000Z",
916 + "departureTicketsLeft": 50,
917 + "returnTicketsLeft": 50,
918 + "departureAvailabilityType": "FewPlaces",
919 + "returnAvailabilityType": "FewPlaces",
920 + "isTwoWay": true,
921 + "sameBaggageForAll": false,
922 + "totalBaggage": false,
923 + "departureSegments": [
924 + {
925 + "airlineCode": "FZ",
926 + "airlineName": "Fly Dubai.",
927 + "flightCode": "FZ1722",
928 + "class": "econom",
929 + "lugageWeight": 20,
930 + "handLugageWeight": 6,
931 + "departureFlightDate": "2024-02-15T20:00:00.000Z",
932 + "departureCountryName": "Kazakhstan",
933 + "departureCityName": "Almaty",
934 + "departureAirportCode": "ALA",
935 + "departureAirportName": "Almaty Intl Airport",
936 + "departureTerminalCode": "ALA",
937 + "arrivalFlightDate": "2024-02-15T20:00:00.000Z",
938 + "arrivalCountryName": "United Arab Emirates",
939 + "arrivalCityName": "Dubai",
940 + "arrivalAirportCode": "DXB",
941 + "arrivalAirportName": "Dubai Intl Airport",
942 + "arrivalTerminalCode": "DXB3",
943 + "flightDuration": "0h 55m"
944 + }
945 + ],
946 + "returnSegments": [
947 + {
948 + "airlineCode": "FZ",
949 + "airlineName": "Fly Dubai.",
950 + "flightCode": "FZ1721",
951 + "class": "econom",
952 + "lugageWeight": 20,
953 + "handLugageWeight": 6,
954 + "departureFlightDate": "2024-02-17T20:00:00.000Z",
955 + "departureCountryName": "United Arab Emirates",
956 + "departureCityName": "Dubai",
957 + "departureAirportCode": "DXB",
958 + "departureAirportName": "Dubai Intl Airport",
959 + "departureTerminalCode": "DXB3",
960 + "arrivalFlightDate": "2024-02-18T20:00:00.000Z",
961 + "arrivalCountryName": "Kazakhstan",
962 + "arrivalCityName": "Almaty",
963 + "arrivalAirportCode": "ALA",
964 + "arrivalAirportName": "Almaty Intl Airport",
965 + "arrivalTerminalCode": "DXB3",
966 + "flightDuration": "8h 10m"
967 + }
968 + ],
969 + "passengers": [
970 + {
971 + "id": "42779547001000004-A1",
972 + "isAdult": true,
973 + "selectedForwardBaggageCode": "INCLUDED",
974 + "selectedBackwardBaggageCode": "INCLUDED",
975 + "forwardBaggages": [
976 + {
977 + "baggageCode": "INCLUDED",
978 + "description": "20 KG INCLUDED",
979 + "price": 0.0,
980 + "currency": "USD",
981 + "included": true
982 + }
983 + ],
984 + "backwardBaggages": [
985 + {
986 + "baggageCode": "INCLUDED",
987 + "description": "20 KG INCLUDED",
988 + "price": 0.0,
989 + "currency": "USD",
990 + "included": true
991 + }
992 + ]
993 + },
994 + {
995 + "id": "42779547001000004-C1",
996 + "isAdult": false,
997 + "selectedForwardBaggageCode": "INCLUDED",
998 + "selectedBackwardBaggageCode": "INCLUDED",
999 + "forwardBaggages": [
1000 + {
1001 + "baggageCode": "INCLUDED",
1002 + "description": "20 KG INCLUDED",
1003 + "price": 0.0,
1004 + "currency": "USD",
1005 + "included": true
1006 + }
1007 + ],
1008 + "backwardBaggages": [
1009 + {
1010 + "baggageCode": "INCLUDED",
1011 + "description": "20 KG INCLUDED",
1012 + "price": 0.0,
1013 + "currency": "USD",
1014 + "included": true
1015 + }
1016 + ]
1017 + }
1018 + ]
1019 + },
1020 + "extraServices": [],
1021 + "insurancePrice": {
1022 + "name": "Medical INS (N10000)",
1023 + "price": 13.44,
1024 + "priceSurcarge": 0.00,
1025 + "actualStartDate": "2024-02-15T20:00:00.000Z",
1026 + "actualEndDate": "2024-02-17T20:00:00.000Z",
1027 + "optional": false,
1028 + "includedInPackagePrice": true
1029 + }
232 232   },
1031 + {
233 233  {{/code}}
234 234  
235 235  
... ... @@ -236,222 +236,289 @@
236 236  === Schema ===
237 237  
238 238  {{success}}
239 -SearchOnlyHotelPackagesResponse{
1038 +CheckoutFormIn{
240 240  
241 -|packages|[
242 -nullable: trueOnlyHotelPackage{(((
1040 +|reservationId|string($uuid)
1041 +nullable: true
1042 +|calcTourPackageRequests|[
1043 +nullable: trueCalcTourPackageRequest{(((
1044 +|packageId|string
1045 +nullable: true
1046 +|extraServicePriceCodes|[
1047 +nullable: truestring]
1048 +|flightPassengers|[
1049 +nullable: trueFlightPassengerIn{(((
243 243  |id|string
244 244  nullable: true
245 -|priceCurrency|string
1052 +|selectedForwardBaggageCode|string
246 246  nullable: true
247 -|totalPrice|number($double)
248 -|agentCommissionPercent|number($double)
249 -|agentCommissionAmount|number($double)
250 -|hotel|PackageHotel{(((
251 -|hotelPriceId|string
1054 +|selectedBackwardBaggageCode|string
252 252  nullable: true
253 -|providerId|integer($int32)
254 -|hotelName|string
1056 +
1057 +}]
1058 +)))
1059 +|includeInsurance|boolean
255 255  nullable: true
256 -|hotelCode|string
1061 +|refreshPrices|boolean
1062 +
1063 +}]
1064 +)))
1065 +|calcOnlyHotelPackageRequests|[
1066 +nullable: trueCalcOnlyHotelPackageRequest{(((
1067 +|packageId|string
257 257  nullable: true
258 -|nigths|integer($int32)
259 -|mealPlan|string
1069 +|extraServicePriceCodes|[
1070 +nullable: truestring]
1071 +|includeInsurance|boolean
1072 +|refreshPrices|boolean
1073 +
1074 +}]
1075 +)))
1076 +|calcOnlyAviaPackageRequests|[
1077 +nullable: trueCalcOnlyAviaPackageRequest{(((
1078 +|packageId|string
260 260  nullable: true
261 -|hotelClass|string
1080 +|refreshPrices|boolean
1081 +|flightPassengers|[
1082 +nullable: trueFlightPassengerIn{(((
1083 +|id|string
262 262  nullable: true
263 -|availabilityType|RoomAvailabilityTypeEnumstringEnum:
264 -[ OnRequest, FreeSale, StopSale ]
265 -|availableRoomsCount|integer($int32)
266 -|fewRooms|boolean
267 -|roomCategoryCode|string
1085 +|selectedForwardBaggageCode|string
268 268  nullable: true
269 -|roomCategoryName|string
1087 +|selectedBackwardBaggageCode|string
270 270  nullable: true
271 -|placementTypeName|string
1089 +
1090 +}]
1091 +)))
1092 +
1093 +}]
1094 +)))
1095 +|hotels|[
1096 +nullable: trueCheckoutHotelIn{(((
1097 +|hotelPriceId|string
272 272  nullable: true
273 -|placementDescription|string
1099 +|agentConfirmationNumber|string
274 274  nullable: true
275 -|checkInDate|string($date-time)
276 -|checkOutDate|string($date-time)
277 -|adults|integer($int32)
278 -|children|integer($int32)
279 -|districtUID|string($uuid)
1101 +|note|string
280 280  nullable: true
281 -|districtName|string
1103 +|touristIds|[
1104 +nullable: truestring($uuid)]
1105 +
1106 +}]
1107 +)))
1108 +|tourists|[
1109 +nullable: trueCheckoutTouristIn{(((
1110 +|id|string($uuid)
1111 +|firstName|string
282 282  nullable: true
283 -|cityUID|string($uuid)
1113 +|lastName|string
284 284  nullable: true
285 -|cityName|string
1115 +|birthDate|string($date-time)
286 286  nullable: true
287 -|countryCode|string
1117 +|passportNumber|string
288 288  nullable: true
289 -|countryName|string
1119 +|passportExpiry|string($date-time)
290 290  nullable: true
291 -|hasAlcohol|boolean
292 -|hasFreeWifi|boolean
293 -|hasMetro|boolean
294 -|hasPool|boolean
295 -|hasMall|boolean
296 -|cancellationPolicyDescription|string
1121 +|passportIssue|string($date-time)
297 297  nullable: true
298 -|cancellationPolicy|CancellationPolicyExchange{(((
299 -|cancellationPolicyCode|string
1123 +|citizenship|string
300 300  nullable: true
301 -|noShowChargeValue|number($double)
1125 +|tin|string
302 302  nullable: true
303 -|noShowChargeValueType|string
1127 +|isMale|boolean
304 304  nullable: true
305 -|earlyDepartureChargeValue|number($double)
1129 +|flightIds|[
1130 +nullable: truestring]
1131 +|arrivalFlightInfo|ManualFlightInfo{(((
1132 +|flightNumber|string
306 306  nullable: true
307 -|earlyDepartureChargeValueType|string
1134 +|terminalCode|string
308 308  nullable: true
309 -|conditions|[
310 -nullable: trueCancellationPolicyConditionExchange{(((
311 -|timeunits|integer($int32)
312 -|timeunitType|string
1136 +|date|string($date-time)
313 313  nullable: true
314 -|timeOffsetTypeName|string
1138 +|time|string
315 315  nullable: true
316 -|chargeValue|number($double)
1140 +
1141 +}
1142 +)))
1143 +|departureFlightInfo|ManualFlightInfo{(((
1144 +|flightNumber|string
317 317  nullable: true
318 -|chargeValueType|string
1146 +|terminalCode|string
319 319  nullable: true
1148 +|date|string($date-time)
1149 +nullable: true
1150 +|time|string
1151 +nullable: true
320 320  
1153 +}
1154 +)))
1155 +|selectedVisaId|string
1156 +nullable: true
1157 +|transfers|[
1158 +nullable: trueCheckoutTransferIn{(((
1159 +|id|string
1160 +nullable: true
1161 +|selectedTransferPriceId|string
1162 +nullable: true
1163 +
321 321  }]
322 322  )))
323 323  
324 -}
1167 +}]
325 325  )))
1169 +|note|string
1170 +nullable: true
1171 +|contactPhone|string
1172 +nullable: true
326 326  
327 327  }
328 -)))
329 -|extraServices|[
330 -nullable: trueHotelExtraServiceBase{(((
331 -|extraServiceCode|string
1175 +{{/success}}
1176 +
1177 +{{success}}
1178 +CheckoutFormOut{
1179 +
1180 +|error|boolean
1181 +|errorCode|string
332 332  nullable: true
333 -|extraServiceTypeCode|string
1183 +|errorDescription|string
334 334  nullable: true
335 -|isMandatory|integer($int32)
336 -|extraServiceName|string
1185 +|userErrorDescription|string
337 337  nullable: true
338 -|minimalServiceAmount|number($double)
339 -|includedPriceCode|string
1187 +|priceCurrency|string
340 340  nullable: true
341 -|prices|[
342 -nullable: trueHotelExtraServicePriceBase{(((
343 -|extraServicePriceCode|string
1189 +|totalPrice|number($double)
1190 +|agentCommissionPercent|number($double)
1191 +|agentCommissionAmount|number($double)
1192 +|requiredCitizenIdentifiers|[
1193 +nullable: trueCitizenIdentifier{(((
1194 +|countryCode|string
344 344  nullable: true
345 -|displayName|string
1196 +|identifierType|IdentifierTypeEnumstringEnum:
1197 +[ TIN, FIN ]
1198 +
1199 +}]
1200 +)))
1201 +|hotels|[
1202 +nullable: trueCheckoutHotelOut{(((
1203 +|hotelPriceId|string
346 346  nullable: true
347 -|restrictionInfo|string
1205 +|touristIds|[
1206 +nullable: truestring($uuid)]
1207 +|errorCode|string
348 348  nullable: true
349 -|additionalInfo|string
1209 +|errorMessage|string
350 350  nullable: true
351 -|price|number($double)
352 -|extraPrice|number($double)
353 -|currency|string
1211 +|description|string
354 354  nullable: true
355 355  
356 356  }]
357 357  )))
1216 +|tourists|[
1217 +nullable: trueCheckoutTouristOut{...}]
1218 +|visas|[
1219 +nullable: trueServicePrice{(((
1220 +|prid|string($uuid)
1221 +|prName|string
1222 +nullable: true
1223 +|prValue|number($double)
1224 +|sortingOrder|integer($int32)
358 358  
359 359  }]
360 360  )))
1228 +|terminals|[
1229 +nullable: trueTerminal{(((
1230 +|terminalCode|string
1231 +nullable: true
1232 +|cityUID|string($uuid)
1233 +nullable: true
1234 +|districtUID|string($uuid)
1235 +nullable: true
1236 +|terminalName|string
1237 +nullable: true
1238 +|countryCode|string
1239 +nullable: true
1240 +|note|string
1241 +nullable: true
361 361  
362 362  }]
363 363  )))
364 -|pagingId|string
365 -nullable: true
366 -|pageNumber|integer($int64)
367 -|pageCount|integer($int64)
1245 +|containsError|boolean
1246 +|refreshPriceResult|RefreshPriceResultEnumstringEnum:
1247 +[ Success, HotelPriceNoMoreAvailable, FlightPriceNoMoreAvailable ]
1248 +|reservationId|string($uuid)
1249 +|reservationDetailsUnavailable|boolean
368 368  
369 369  }
370 370  {{/success}}
371 371  
372 372  
373 -== Definitions ==
1255 +== Descriptions ==
374 374  
375 375  
376 -=== Paging and Caching ===
1258 +=== Request ===
377 377  
378 -During the first request, Paging id must be  empty like this  ( "pagingId": "",)  pagenumber is the number of the page, pagerowcount means number of the given result in one page. So in the first request we can search like this:
1260 +Here's a table describing each parameter of the JSON request:
379 379  
1262 +(% class="table-bordered" %)
1263 +|=Parameter|=Data Type|=Description
1264 +|calcTourPackageRequests|Array|An array of objects, each representing a tour package request.
1265 +|refreshPrices|Boolean|If true, the prices for the tour package will be refreshed.
1266 +|packageId|String|A unique identifier for the tour package.
1267 +|flightPassengers|Array|An array of objects, each representing a flight passenger.
1268 +|id|String|A unique identifier for each flight passenger.
1269 +|selectedForwardBaggageCode|String|The selected baggage option for the forward journey. there is two optoions ""
1270 +|selectedBackwardBaggageCode|String|The selected baggage option for the backward journey.
1271 +|extraServicePriceCodes|Array|An array of extra service price codes. If empty, no extra services are selected.
1272 +|includeInsurance|Boolean|If true, insurance will be included in the tour package.
1273 +|calcOnlyHotelPackageRequests|Array|An array of objects, each representing a hotel-only package request. If empty, no hotel-only packages are requested.
1274 +|calcOnlyAviaPackageRequests|Array|An array of objects, each representing an avia-only package request. If empty, no avia-only packages are requested.
380 380  
381 -==== first request ====
1276 +=== Response ===
382 382  
383 -{{code language="Json"}}
384 - {
385 - "pagingId": "",
386 - "pageNumber": 1,
387 - "pageRowCount":10
388 - }
389 -{{/code}}
1278 +(% class="table-bordered" %)
1279 +|=Parameter|=Data Type|=Description
1280 +|priceCurrency|String|The currency code (ISO 4217) for all prices mentioned in the response.
1281 +|totalPrice|Number|The total price of the booking.
1282 +|agentCommissionPercent|Number|The commission percentage for the agent.
1283 +|agentCommissionAmount|Number|The total commission amount for the agent in priceCurrency.
1284 +|requiredCitizenIdentifiers[*].countryCode|String|The ISO 3166-1 alpha-2 country code.
1285 +|requiredCitizenIdentifiers[*].identifierType|String|The type of identifier required (e.g., "TIN", "FIN"). **TIN (Taxpayer Identification Number) & FIN (Financial Identification Number)**
1286 +|hotels[*].hotelPriceId|String|Unique identifier for the hotel price.
1287 +|hotels[*].touristIds[*]|String|List of tourist IDs that are booked in this hotel.
1288 +|hotels[*].description|String|A brief description of the hotel.
1289 +|tourists[*].id|String|Unique identifier for the tourist.
1290 +|tourists[*].isAdult|Boolean|Indicates if the tourist is an adult.
1291 +|tourists[*].flightIds[*]|String|Identifiers for flights associated with the tourist.
1292 +|tourists[*].flights[*].flightId|String|Unique identifier for the flight.
1293 +|tourists[*].flights[*].note|String|Additional information about the flight, such as baggage allowance.
1294 +|tourists[*].insurancePrice.insuranceId|String|Unique identifier for the insurance product.
1295 +|tourists[*].insurancePrice.insuranceServiceId|String|Identifier for the insurance service provider.
1296 +|...|...|Additional fields for insurancePrice as detailed previously.
1297 +|tourists[*].transfers[*].id|String|Unique identifier for the transfer service.
1298 +|tourists[*].transfers[*].type|String|The type of transfer (e.g., "Arrival", "Departure").
1299 +|tourists[*].transfers[*].flightId|String|Identifier of the flight associated with this transfer.
1300 +|tourists[*].transfers[*].checkInHotelId|String|Hotel ID for check-in associated with this transfer (for arrival type).
1301 +|tourists[*].transfers[*].checkOutHotelId|String|Hotel ID for check-out associated with this transfer (for departure type).
1302 +|tourists[*].transfers[*].selectedTransferPriceId|String|The ID of the selected pricing option for the transfer.
1303 +|tourists[*].transfers[*].transferPrices[*].id|String|Unique identifier for the transfer price option.
1304 +|tourists[*].transfers[*].transferPrices[*].name|String|The name of the transfer service (e.g., "GROUP", "MINIVAN").
1305 +|...|...|Additional fields for transferPrices as detailed previously.
1306 +|visas[*].prid|String|Unique identifier for the visa option.
1307 +|visas[*].prName|String|The name of the visa option.
1308 +|visas[*].prValue|Number|The cost associated with this visa option.
1309 +|visas[*].sortingOrder|Number|Used to sort visa options in the response or UI.
1310 +|terminals[*].terminalCode|String|The code representing the terminal.
1311 +|terminals[*].cityUID|String|Unique identifier for the city where the terminal is located.
1312 +|...|...|Additional fields for terminals as detailed previously.
1313 +|containsError|Boolean|Indicates if the response contains any errors.
1314 +|refreshPriceResult|String|The result of attempting to refresh the price (e.g., "Success").
1315 +|reservationId|String|Unique identifier for the reservation.
1316 +|reservationDetailsUnavailable|Boolean|Indicates if the reservation details are currently unavailable.
1317 +|error|Boolean|A generic error indicator, presumably redundant with containsError.
390 390  
1319 +== ==
391 391  
392 -==== Request with caching ====
393 -
394 -as we receive response, in the end we can see pagingId- number, chich we can use for caching, and then just switch pagenumbers. for cleaning cache, it's important to make new request without pagingID
395 -
396 -{{code language="Json"}}
397 - {
398 - "pagingId": "80",
399 - "pageNumber": 1,
400 - "pageRowCount":10
401 - }
402 -{{/code}}
403 -
404 -
405 -**Overview:** The Paging and Caching mechanism is designed to efficiently manage data retrieval in a paginated format. This mechanism is essential for handling large datasets by dividing the data into manageable pages, thereby optimizing the performance and scalability of data retrieval operations.
406 -
407 -**Initial Request:**
408 -
409 -* **Purpose**: The first request initiates the paging process and is designed to fetch the initial set of data without utilizing a pagingId.
410 -* **Parameters**:
411 -** pagingId: Should be set to an empty string ("") to indicate that this is the initial request.
412 -** pageNumber: Indicates the specific page of data to retrieve, starting with 1.
413 -** pageRowCount: Specifies the number of results to be included on each page.
414 -
415 -**Example - First Request**:
416 -
417 -{{{{
418 - "pagingId": "",
419 -  "pageNumber": 1,
420 -  "pageRowCount": 10
421 -}
422 -}}}
423 -
424 -
425 -**Subsequent Requests with Caching:**
426 -
427 -* **Purpose**: Following the initial data retrieval, subsequent requests utilize the pagingId obtained from the previous response. This pagingId serves as a cache identifier, enabling the system to quickly access the relevant dataset and efficiently paginate through the data.
428 -* **Cache Utilization**:
429 -** Upon receiving a response, a pagingId value is provided. This pagingId should be used in subsequent requests to reference the cached data.
430 -** To navigate through the dataset, adjust the pageNumber while keeping the pagingId constant.
431 -** To refresh the dataset and clear the cache, initiate a new request without a pagingId.
432 -
433 -**Example - Request with Caching**:
434 -
435 -{{{ {
436 - "pagingId": "80",
437 - "pageNumber": 2, // Adjusted to fetch the next page
438 - "pageRowCount": 10
439 - }
440 -}}}
441 -
442 -
443 -**Cache Management:**
444 -
445 -* Clearing the cache and fetching a fresh set of data requires sending a new request with the pagingId parameter omitted or set to an empty string. This action resets the pagination and caching context.
446 -
447 -**Implementation Notes**:
448 -
449 -* The paging and caching mechanism significantly enhances data retrieval efficiency by minimizing server load and optimizing response times.
450 -* Developers should ensure that the pagingId is correctly managed between requests to maintain session continuity and data consistency.
451 -
452 -This documentation outlines the procedural framework for implementing a robust paging and caching strategy within data retrieval systems, detailing parameter usage and operational best practices for both initial and subsequent data fetch operations.
453 -
454 -
455 455  == Important ==
456 456  
457 457  {{error}}
... ... @@ -459,14 +459,14 @@
459 459  
460 460  For every API request after the initial authentication, it's crucial to include the authorization token in the request header. This ensures your requests are authorized and can access the necessary resources. Here's how to properly include your token:
461 461  
462 -* **Header Key:** Authorization
463 -* **Header Value:** Bearer [Your Token Here] - Use the bearer token provided in the initial authentication response. The authorization type should be specified as Bearer Token.
1328 +* **Header Key:** Authorization
1329 +* **Header Value:** Bearer [Your Token Here] - Use the bearer token provided in the initial authentication response. The authorization type should be specified as Bearer Token.
464 464  
465 465  Additionally, to ensure your requests are properly formatted and recognized, include the following headers:
466 466  
467 -* **Content-Type:** Specify this header as application/json to indicate the format of the request body.
468 -* **Header Key:** X-nugios-timezone
469 -* **Header Value:** 240 - Adjust this value to match your local timezone offset in minutes.
1333 +* **Content-Type:** Specify this header as application/json to indicate the format of the request body.
1334 +* **Header Key:** X-nugios-timezone
1335 +* **Header Value:** 240 - Adjust this value to match your local timezone offset in minutes.
470 470  
471 471  Incorporating these headers with their respective values is essential for the successful processing of your API requests.
472 472  {{/error}}