Changes for page 2. CalcPackage

Last modified by Giorgi Mdivnishvili on 2024/04/12 18:58

From version 2.1
edited by Giorgi Mdivnishvili
on 2023/12/14 12:07
Change comment: There is no comment for this version
To version 12.2
edited by Giorgi Mdivnishvili
on 2024/04/12 18:58
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -CalcPackage
1 +2. CalcPackage
Content
... ... @@ -6,13 +6,13 @@
6 6  
7 7  = Method Description =
8 8  
9 -The initial method of the integration process is authorization. You will be provided with a test user username and password to generate the access token that you will need to pass in all the following methods.
9 +This method is used to calculate package only hotels, to recheck prices, availability, prices and cancelation policy before book.
10 10  
11 11  
12 -== Endpoint URL - [GET] ==
12 +== Endpoint URL - [POST] ==
13 13  
14 14  {{info}}
15 -[[http:~~/~~/online-api.kazunion.com/api/Catalogue/GetHotels>>http://online-api.kazunion.com/api/Catalogue/GetHotels]]
15 +[[https:~~/~~/integration.kazunion.com/api/OnlyHotelPackages/CalcPackage>>https://integration.kazunion.com/api/OnlyHotelPackages/CalcPackage]]
16 16  {{/info}}
17 17  
18 18  
... ... @@ -20,12 +20,7 @@
20 20  
21 21  (% class="box infomessage" %)
22 22  (((
23 -
24 -
25 -|**Key**|**Value**|**Request URL**
26 -|CountryCode|AE|[[http:~~/~~/online-api.kazunion.com/api/Catalogue/GetHotels?countryCode=AE>>http://online-api.kazunion.com/api/Catalogue/GetHotels?countryCode=AE]]
27 -
28 -
23 +None
29 29  )))
30 30  
31 31  
... ... @@ -32,112 +32,351 @@
32 32  == Request Body ==
33 33  
34 34  {{code language="Json"}}
35 -none
30 +none{
31 + "packageId": "string",
32 + "extraServicePriceCodes": [
33 + "string"
34 + ]
35 +}
36 36  {{/code}}
37 37  
38 +== (% id="cke_bm_10575S" style="display:none" %) (%%)Request Body example ==
38 38  
39 -== Response Body ==
40 +{{code language="Json"}}
41 +{
42 + "packageId": "onlyhotel:25a0ce83-047e-485a-8fd7-f2b5a7a1fa37:9963330c-2346-4330-b9cf-7abbb0f64636",
43 + "includeInsurance": false
44 +}
45 +{{/code}}
40 40  
47 +
48 +== Response ==
49 +
41 41  {{code language="json"}}
42 -[
43 - {
44 - "hotelCode": "string",
45 - "hotelName": "string",
46 - "hotelClass": "string",
47 - "cityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
48 - "countryCode": "string",
49 - "countryName": "string",
50 - "districtUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
51 - "cityName": "string",
52 - "districtName": "string",
53 - "hotelType": "CityHotel",
54 - "latitude": "string",
55 - "longitude": "string",
56 - "hasAlcohol": true,
57 - "hasFreeWifi": true,
58 - "hasMetro": true,
59 - "hasPool": true,
60 - "hasMall": true
51 +{
52 + "error": true,
53 + "errorCode": "string",
54 + "errorDescription": "string",
55 + "userErrorDescription": "string",
56 + "package": {
57 + "id": "string",
58 + "priceCurrency": "string",
59 + "totalPrice": 0,
60 + "agentCommissionPercent": 0,
61 + "agentCommissionAmount": 0,
62 + "hotel": {
63 + "hotelPriceId": "string",
64 + "providerId": 0,
65 + "hotelName": "string",
66 + "hotelCode": "string",
67 + "nigths": 0,
68 + "mealPlan": "string",
69 + "hotelClass": "string",
70 + "availabilityType": "OnRequest",
71 + "availableRoomsCount": 0,
72 + "fewRooms": true,
73 + "roomCategoryCode": "string",
74 + "roomCategoryName": "string",
75 + "placementTypeName": "string",
76 + "placementDescription": "string",
77 + "checkInDate": "2023-12-14T08:49:36.703Z",
78 + "checkOutDate": "2023-12-14T08:49:36.703Z",
79 + "adults": 0,
80 + "children": 0,
81 + "districtUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
82 + "districtName": "string",
83 + "cityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
84 + "cityName": "string",
85 + "countryCode": "string",
86 + "countryName": "string",
87 + "hasAlcohol": true,
88 + "hasFreeWifi": true,
89 + "hasMetro": true,
90 + "hasPool": true,
91 + "hasMall": true,
92 + "cancellationPolicyDescription": "string",
93 + "cancellationPolicy": {
94 + "cancellationPolicyCode": "string",
95 + "noShowChargeValue": 0,
96 + "noShowChargeValueType": "string",
97 + "earlyDepartureChargeValue": 0,
98 + "earlyDepartureChargeValueType": "string",
99 + "conditions": [
100 + {
101 + "timeunits": 0,
102 + "timeunitType": "string",
103 + "timeOffsetTypeName": "string",
104 + "chargeValue": 0,
105 + "chargeValueType": "string"
106 + }
107 + ]
108 + }
109 + },
110 + "extraServices": [
111 + {
112 + "extraServiceCode": "string",
113 + "extraServiceTypeCode": "string",
114 + "isMandatory": 0,
115 + "extraServiceName": "string",
116 + "minimalServiceAmount": 0,
117 + "includedPriceCode": "string",
118 + "prices": [
119 + {
120 + "extraServicePriceCode": "string",
121 + "displayName": "string",
122 + "restrictionInfo": "string",
123 + "additionalInfo": "string",
124 + "price": 0,
125 + "extraPrice": 0,
126 + "currency": "string"
127 + }
128 + ]
129 + }
130 + ]
61 61   }
62 -]
132 +}
63 63  {{/code}}
64 64  
65 65  
66 -=== example ===
136 +=== Response example ===
67 67  
68 68  {{code language="Json"}}
69 69  {
70 - "hotelCode": "cfbca5b5-4090-4bcd-805a-463d83423b86",
71 - "hotelName": "Ramada Abu Dhabi Corniche",
72 - "hotelClass": "4",
73 - "cityUID": "28c794fe-3c7e-4da2-ba93-f24bd3d4730d",
74 - "countryCode": "AE",
75 - "districtUID": "ee402984-6d1d-4fcf-915d-f31b14fa8b0f",
76 - "cityName": "Abu Dhabi",
77 - "districtName": "Abu Dhabi",
78 - "hotelType": "CityHotel",
79 - "latitude": "24.503759",
80 - "longitude": "54.374577",
81 - "hasAlcohol": false,
82 - "hasFreeWifi": true,
83 - "hasMetro": false,
84 - "hasPool": true,
85 - "hasMall": false
140 + "package": {
141 + "id": "onlyhotel:25a0ce83-047e-485a-8fd7-f2b5a7a1fa37:9963330c-2346-4330-b9cf-7abbb0f64636",
142 + "priceCurrency": "USD",
143 + "totalPrice": 46.94,
144 + "agentCommissionPercent": 0.00,
145 + "agentCommissionAmount": 0.00,
146 + "hotel": {
147 + "hotelPriceId": "9963330c-2346-4330-b9cf-7abbb0f64636",
148 + "hotelName": "Royal Continental Hotel",
149 + "hotelCode": "03cf038c-df96-4926-af5f-0f285e600405",
150 + "nigths": 1,
151 + "mealPlan": "RO",
152 + "hotelClass": "4",
153 + "hotelColor": "#000000",
154 + "availabilityType": "FreeSale",
155 + "availableRoomsCount": 0,
156 + "fewRooms": true,
157 + "roomCategoryCode": "ff13e5ec-2116-46d1-9ff4-ae76be84ff91",
158 + "roomCategoryName": "Superior King Room",
159 + "placementTypeName": "DBL",
160 + "checkInDate": "2024-06-30T00:00:00.000",
161 + "checkOutDate": "2024-07-01T00:00:00.000",
162 + "adults": 2,
163 + "children": 0,
164 + "districtUID": "aaff2238-fa72-4900-83f8-a16990415547",
165 + "districtName": "Deira",
166 + "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2",
167 + "cityName": "Dubai",
168 + "countryCode": "AE",
169 + "countryName": "United Arab Emirates",
170 + "hasAlcohol": false,
171 + "hasFreeWifi": true,
172 + "hasMetro": false,
173 + "hasPool": true,
174 + "hasMall": false,
175 + "infantMaxAge": 5.99,
176 + "childMinAge": 6.00,
177 + "childMaxAge": 11.99,
178 + "teenMinAge": 0.0,
179 + "teenMaxAge": 0.0,
180 + "adultMinAge": 12.00,
181 + "cancellationPolicyDescription": "Cancellation Policy: 1 Day Before Arrival: 1.00 Night, Early Departure: 100.00 %, NoShow: 100.00 %",
182 + "cancellationPolicy": {
183 + "noShowChargeValue": 100.00,
184 + "noShowChargeValueType": "%",
185 + "earlyDepartureChargeValue": 100.00,
186 + "earlyDepartureChargeValueType": "%",
187 + "conditions": [
188 + {
189 + "timeunits": 1,
190 + "timeunitType": "Day",
191 + "timeOffsetTypeName": "Before Arrival",
192 + "chargeValue": 1.00,
193 + "chargeValueType": "Night"
194 + }
195 + ]
196 + }
197 + },
198 + "extraServices": [],
199 + "insurancePrice": {
200 + "name": "Insurance (10000 USD) with COVID coverage",
201 + "price": 8.96,
202 + "actualStartDate": "2024-06-30T00:00:00.000",
203 + "actualEndDate": "2024-07-01T00:00:00.000",
204 + "optional": true,
205 + "includedInPackagePrice": false
206 + },
207 + "sortCheckInOut": "30.06.2024-01.07.2024",
208 + "sortHotelName": "royal continental hotel",
209 + "sortDetails": "ro",
210 + "sortPlacement": "superior king room dbl"
86 86   },
87 - {
88 - "hotelCode": "c64b6082-2337-4519-8c33-4bcdef76b16b",
89 - "hotelName": "Emirates Palace Mandarin Oriental, Abu Dhabi",
90 - "hotelClass": "5",
91 - "cityUID": "28c794fe-3c7e-4da2-ba93-f24bd3d4730d",
92 - "countryCode": "AE",
93 - "districtUID": "ee402984-6d1d-4fcf-915d-f31b14fa8b0f",
94 - "cityName": "Abu Dhabi",
95 - "districtName": "Abu Dhabi",
96 - "hotelType": "BeachHotel",
97 - "latitude": "24.461556",
98 - "longitude": "54.317404",
99 - "hasAlcohol": false,
100 - "hasFreeWifi": true,
101 - "hasMetro": false,
102 - "hasPool": true,
103 - "hasMall": false
104 - },
212 + "refreshPriceResult": "Success",
213 + "error": false
214 +}
105 105  {{/code}}
106 106  
107 107  
108 108  === Schema ===
109 109  
110 -{{code language="none"}}
111 -[Hotel{
112 -hotelCode string
113 -nullable: true
114 -hotelName string
115 -nullable: true
116 -hotelClass string
117 -nullable: true
118 -cityUID string($uuid)
119 -nullable: true
120 -countryCode string
121 -nullable: true
122 -countryName string
123 -nullable: true
124 -districtUID string($uuid)
125 -nullable: true
126 -cityName string
127 -nullable: true
128 -districtName string
129 -nullable: true
130 -hotelType HotelTypeEnumstring
131 -Enum:
132 -[ CityHotel, BeachHotel, SecondLineBeach ]
133 -latitude string
134 -nullable: true
135 -longitude string
136 -nullable: true
137 -hasAlcohol boolean
138 -hasFreeWifi boolean
139 -hasMetro boolean
140 -hasPool boolean
141 -hasMall boolean
220 +{{success}}
221 +CalcOnlyHotelPackageResponse{
222 +
223 +|error|boolean
224 +|errorCode|string
225 +nullable: true
226 +|errorDescription|string
227 +nullable: true
228 +|userErrorDescription|string
229 +nullable: true
230 +|package|OnlyHotelPackage{(((
231 +|id|string
232 +nullable: true
233 +|priceCurrency|string
234 +nullable: true
235 +|totalPrice|number($double)
236 +|agentCommissionPercent|number($double)
237 +|agentCommissionAmount|number($double)
238 +|hotel|PackageHotel{(((
239 +|hotelPriceId|string
240 +nullable: true
241 +|providerId|integer($int32)
242 +|hotelName|string
243 +nullable: true
244 +|hotelCode|string
245 +nullable: true
246 +|nigths|integer($int32)
247 +|mealPlan|string
248 +nullable: true
249 +|hotelClass|string
250 +nullable: true
251 +|availabilityType|RoomAvailabilityTypeEnumstringEnum:
252 +[ OnRequest, FreeSale, StopSale ]
253 +|availableRoomsCount|integer($int32)
254 +|fewRooms|boolean
255 +|roomCategoryCode|string
256 +nullable: true
257 +|roomCategoryName|string
258 +nullable: true
259 +|placementTypeName|string
260 +nullable: true
261 +|placementDescription|string
262 +nullable: true
263 +|checkInDate|string($date-time)
264 +|checkOutDate|string($date-time)
265 +|adults|integer($int32)
266 +|children|integer($int32)
267 +|districtUID|string($uuid)
268 +nullable: true
269 +|districtName|string
270 +nullable: true
271 +|cityUID|string($uuid)
272 +nullable: true
273 +|cityName|string
274 +nullable: true
275 +|countryCode|string
276 +nullable: true
277 +|countryName|string
278 +nullable: true
279 +|hasAlcohol|boolean
280 +|hasFreeWifi|boolean
281 +|hasMetro|boolean
282 +|hasPool|boolean
283 +|hasMall|boolean
284 +|cancellationPolicyDescription|string
285 +nullable: true
286 +|cancellationPolicy|CancellationPolicyExchange{(((
287 +|cancellationPolicyCode|string
288 +nullable: true
289 +|noShowChargeValue|number($double)
290 +nullable: true
291 +|noShowChargeValueType|string
292 +nullable: true
293 +|earlyDepartureChargeValue|number($double)
294 +nullable: true
295 +|earlyDepartureChargeValueType|string
296 +nullable: true
297 +|conditions|[
298 +nullable: trueCancellationPolicyConditionExchange{(((
299 +|timeunits|integer($int32)
300 +|timeunitType|string
301 +nullable: true
302 +|timeOffsetTypeName|string
303 +nullable: true
304 +|chargeValue|number($double)
305 +nullable: true
306 +|chargeValueType|string
307 +nullable: true
308 +
142 142  }]
143 -{{/code}}
310 +)))
311 +
312 +}
313 +)))
314 +
315 +}
316 +)))
317 +|extraServices|[
318 +nullable: trueHotelExtraServiceBase{(((
319 +|extraServiceCode|string
320 +nullable: true
321 +|extraServiceTypeCode|string
322 +nullable: true
323 +|isMandatory|integer($int32)
324 +|extraServiceName|string
325 +nullable: true
326 +|minimalServiceAmount|number($double)
327 +|includedPriceCode|string
328 +nullable: true
329 +|prices|[
330 +nullable: trueHotelExtraServicePriceBase{(((
331 +|extraServicePriceCode|string
332 +nullable: true
333 +|displayName|string
334 +nullable: true
335 +|restrictionInfo|string
336 +nullable: true
337 +|additionalInfo|string
338 +nullable: true
339 +|price|number($double)
340 +|extraPrice|number($double)
341 +|currency|string
342 +nullable: true
343 +
344 +}]
345 +)))
346 +
347 +}]
348 +)))
349 +
350 +}
351 +)))
352 +
353 +}
354 +{{/success}}
355 +
356 +
357 +
358 +== Important ==
359 +
360 +{{error}}
361 +=== Implementing Authorization in Subsequent Requests ===
362 +
363 +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:
364 +
365 +* **Header Key:** Authorization
366 +* **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.
367 +
368 +Additionally, to ensure your requests are properly formatted and recognized, include the following headers:
369 +
370 +* **Content-Type:** Specify this header as application/json to indicate the format of the request body.
371 +* **Header Key:** X-nugios-timezone
372 +* **Header Value:** 240 - Adjust this value to match your local timezone offset in minutes.
373 +
374 +Incorporating these headers with their respective values is essential for the successful processing of your API requests.
375 +{{/error}}
376 +
377 +