Changes for page 3. CalcCheckout

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

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

Summary

Details

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