Wiki source code of 2. CalcPackage

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

Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2
3
4 {{toc/}}
5 {{/box}}
6
7 = Method Description =
8
9 This method is used to calculate package only hotels, to recheck prices, availability, prices and cancelation policy before book.
10
11
12 == Endpoint URL - [POST] ==
13
14 {{info}}
15 [[https:~~/~~/integration.kazunion.com/api/OnlyHotelPackages/CalcPackage>>https://integration.kazunion.com/api/OnlyHotelPackages/CalcPackage]]
16 {{/info}}
17
18
19 == Request Parameters ==
20
21 (% class="box infomessage" %)
22 (((
23 None
24 )))
25
26
27 == Request Body ==
28
29 {{code language="Json"}}
30 none{
31 "packageId": "string",
32 "extraServicePriceCodes": [
33 "string"
34 ]
35 }
36 {{/code}}
37
38 == (% id="cke_bm_10575S" style="display:none" %) (%%)Request Body example ==
39
40 {{code language="Json"}}
41 {
42 "packageId": "onlyhotel:25a0ce83-047e-485a-8fd7-f2b5a7a1fa37:9963330c-2346-4330-b9cf-7abbb0f64636",
43 "includeInsurance": false
44 }
45 {{/code}}
46
47
48 == Response ==
49
50 {{code language="json"}}
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 ]
131 }
132 }
133 {{/code}}
134
135
136 === Response example ===
137
138 {{code language="Json"}}
139 {
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"
211 },
212 "refreshPriceResult": "Success",
213 "error": false
214 }
215 {{/code}}
216
217
218 === Schema ===
219
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
309 }]
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}}