Changes for page 1. SearchTourPackages
Last modified by Giorgi Mdivnishvili on 2025/10/22 15:30
From version 37.1
edited by Giorgi Mdivnishvili
on 2024/04/11 17:29
on 2024/04/11 17:29
Change comment:
There is no comment for this version
To version 9.1
edited by Giorgi Mdivnishvili
on 2023/12/15 12:20
on 2023/12/15 12:20
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 - 1.SearchTourPackages1 +SearchTourPackages - Content
-
... ... @@ -6,43 +6,21 @@ 6 6 7 7 = Method Description = 8 8 9 -T ourpackagemean,tour withhotel and flighttogetherIn caseofvariationalso with transferoption.Using thismethod givesdataaboutfullpackage availabilitywith flightand hotel options.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. 10 10 11 -It's possible to receive data as current dates, also in date ranges using parameter "stayDays": 0, "stayDaysTo": 0. the maximum difference between the days can be 7. Below you can see examples. 12 12 13 - 14 -in more details: 15 - 16 -A tour package encapsulates a bundled offering that includes both hotel accommodations and flight arrangements. In certain variations, it may also incorporate transfer options, providing a comprehensive travel solution. The method detailed herein facilitates the retrieval of data concerning the complete availability of such tour packages, including pertinent flight and hotel options. 17 - 18 -**Data Retrieval Parameters:** 19 - 20 -* **Parameter Usage**: To query package data, the system utilizes the following parameters within the request payload: 21 -** stayDays: Defines the minimum duration of stay (in days) as part of the tour package. The value is set to 0 by default, indicating no minimum duration constraint. 22 -** stayDaysTo: Specifies the maximum duration of stay (in days) allowable within the package offerings. A default value of 0 implies no maximum limit; however, the system enforces a maximum duration difference of 7 days between stayDays and stayDaysTo. 23 - 24 -**Constraints:** 25 - 26 -* The system imposes a constraint wherein the difference between stayDays and stayDaysTo cannot exceed 7 days. This limit is designed to refine search results and maintain query performance. 27 - 28 -**Example Requests:** Below are examples illustrating how to structure requests for retrieving tour package data, utilizing the stayDays and stayDaysTo parameters to define the desired range of stay durations. 29 - 30 -(Note: Actual example requests are not included in this response but should typically be provided here, showcasing the structure and format of API calls or query parameters used to fetch the tour package data.) 31 - 32 -This documentation aims to guide developers in effectively querying for tour package options, employing specified parameters to tailor the search according to the duration of stay requirements. 33 - 34 - 35 35 == Endpoint URL - [POST] == 36 36 37 37 {{info}} 38 - [[https:~~/~~/integration.kazunion.com/api/TourPackages/SearchTourPackages>>https://integration.kazunion.com/api/TourPackages/SearchTourPackages]]15 +{{{ }}} 39 39 {{/info}} 40 40 18 + 41 41 == Request Parameters == 42 42 43 43 (% class="box infomessage" %) 44 44 ((( 45 -None 23 +None 46 46 ))) 47 47 48 48 ... ... @@ -63,13 +63,13 @@ 63 63 "tag": "string" 64 64 } 65 65 ], 66 - "checkInDate": "2023-12-14", 67 - "checkInDateTo": "2023-12-14", 68 - "checkOutDate": "2023-12-14", 44 + "checkInDate": "2023-12-14T13:43:54.766Z", 45 + "checkInDateTo": "2023-12-14T13:43:54.766Z", 46 + "checkOutDate": "2023-12-14T13:43:54.766Z", 69 69 "stayDays": 0, 70 70 "stayDaysTo": 0, 71 - "departureDate": "2023-12-14", 72 - "returnDate": "2023-12-14", 49 + "departureDate": "2023-12-14T13:43:54.766Z", 50 + "returnDate": "2023-12-14T13:43:54.766Z", 73 73 "airlineCode": "string", 74 74 "ticketType": "string", 75 75 "directFlightsOnly": true, ... ... @@ -108,65 +108,6 @@ 108 108 {{/code}} 109 109 110 110 111 -== Request example == 112 - 113 -{{code language="Json"}} 114 -{ 115 - "departureCountryCode": "KZ", 116 - "departureCityUID": "f0ba6324-f337-405c-8cc7-23d62cf664e8", 117 - "arrivalCountryCode": "AE", 118 - "arrivalLocations": [ 119 - { 120 - "type": "city", 121 - "label": "Dubai", 122 - "value": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", 123 - "tag": "Dubai" 124 - } 125 - ], 126 - "checkInDate": "2024-02-05T20:00:00.000Z", 127 - "checkInDateTo": "2024-02-10T20:00:00.000Z", 128 - 129 - "stayDays": 3, 130 - "stayDaysTo": 6, 131 - 132 - "airlineCode": "", 133 - "ticketType": "", 134 - "directFlightsOnly": true, 135 - "longConnectTime": true, 136 - "adults": 1, 137 - "children": 1, 138 - "childrenAges": [ 139 - 2 140 - ], 141 - "extendedSearch": false, 142 - "totalPriceFrom": 100, 143 - "totalPriceTo": 15000, 144 - "recommended": true, 145 - "popular": true, 146 - "freeSale": true, 147 - "groupByHotel": true, 148 - "hotelCodes": [ 149 - 150 - ], 151 - "mealPlans": [ 152 - 153 - ], 154 - "hotelClasses": [ 155 - 156 - ], 157 - "hotelTypes": [ 158 - 159 - ], 160 - "hotelServices": [ 161 - 162 - ], 163 - "pagingId": "", 164 - "pageNumber": 10, 165 - "pageRowCount": 10 166 -} 167 -{{/code}} 168 - 169 - 170 170 == Response Body == 171 171 172 172 {{code language="json"}} ... ... @@ -346,628 +346,271 @@ 346 346 {{/code}} 347 347 348 348 349 -== Response example ==268 +=== example === 350 350 351 351 {{code language="Json"}} 352 -{ 353 - "packages": [ 354 - { 355 - "cacheKey": "c705ab31e00e4f9a81c2fd46b2cdbb47f6fd9a6e16984236beb979b31aefafa4:{79}:i:10", 356 - "id": "tour:b01c168e-2ea7-4ea6-b6e0-55abb8cab0a0:da894a1e-88c0-4877-b216-0eeeabe186f3:4298d06f-4344-4a39-ad98-071b7760cf30", 357 - "priceCurrency": "USD", 358 - "totalPrice": 1033.53, 359 - "agentCommissionPercent": 0.0, 360 - "agentCommissionAmount": 0.0, 361 - "includedExtrasAmount": 0, 362 - "priceDifference": 0, 363 - "hotel": { 364 - "hotelPriceId": "da894a1e-88c0-4877-b216-0eeeabe186f3", 365 - "providerId": 13, 366 - "hotelName": "Mercure Dubai Barsha Heights Suites Apartments", 367 - "hotelCode": "5f125310-7025-4807-a4c6-49cd284c9c14", 368 - "nigths": 3, 369 - "mealPlan": "BB", 370 - "hotelClass": "4", 371 - "availabilityType": "FreeSale", 372 - "availableRoomsCount": 0, 373 - "fewRooms": true, 374 - "roomCategoryCode": "bc5f2224-bd4c-49b2-ab57-01eb7fa80d41", 375 - "roomCategoryName": "1 B/R Suite City View", 376 - "placementTypeName": "DBL", 377 - "checkInDate": "2024-02-09T20:00:00.000Z", 378 - "checkOutDate": "2024-02-12T20:00:00.000Z", 379 - "adults": 1, 380 - "children": 1, 381 - "districtUID": "4c65f6ed-902b-4fd8-9419-af7884c22c5e", 382 - "districtName": "Al Barsha", 383 - "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", 384 - "cityName": "Dubai", 385 - "countryCode": "AE", 386 - "countryName": "United Arab Emirates", 387 - "hasAlcohol": false, 388 - "hasFreeWifi": true, 389 - "hasMetro": true, 390 - "hasPool": true, 391 - "hasMall": false, 392 - "cancellationPolicyDescription": "Cancellation Policy: 5 Day Before Arrival: 100.00 %, Early Departure: 100.00 %, NoShow: 100.00 %", 393 - "cancellationPolicy": { 394 - "noShowChargeValue": 100.0, 395 - "noShowChargeValueType": "%", 396 - "earlyDepartureChargeValue": 100.0, 397 - "earlyDepartureChargeValueType": "%", 398 - "conditions": [ 399 - { 400 - "timeunits": 5, 401 - "timeunitType": "Day", 402 - "timeOffsetTypeName": "Before Arrival", 403 - "chargeValue": 100.0, 404 - "chargeValueType": "%" 405 - } 406 - ] 407 - } 408 - }, 409 - "flight": { 410 - "id": "4298d06f-4344-4a39-ad98-071b7760cf30", 411 - "departureDate": "2024-02-09T20:00:00.000Z", 412 - "returnDate": "2024-02-12T20:00:00.000Z", 413 - "departureTicketsLeft": 7, 414 - "returnTicketsLeft": 7, 415 - "departureAvailabilityType": "FewPlaces", 416 - "returnAvailabilityType": "FewPlaces", 417 - "isTwoWay": true, 418 - "sameBaggageForAll": false, 419 - "totalBaggage": false, 420 - "departureSegments": [ 421 - { 422 - "airlineCode": "KC", 423 - "airlineName": "Air Astana-", 424 - "flightCode": "KC897", 425 - "class": "econom", 426 - "lugageWeight": 20, 427 - "handLugageWeight": 6, 428 - "departureFlightDate": "2024-02-09T20:00:00.000Z", 429 - "departureCountryName": "Kazakhstan", 430 - "departureCityName": "Almaty", 431 - "departureAirportCode": "ALA", 432 - "departureAirportName": "Almaty Intl Airport", 433 - "departureTerminalCode": "ALA", 434 - "arrivalFlightDate": "2024-02-09T20:00:00.000Z", 435 - "arrivalCountryName": "United Arab Emirates", 436 - "arrivalCityName": "Dubai", 437 - "arrivalAirportCode": "DXB", 438 - "arrivalAirportName": "Dubai Intl Airport", 439 - "arrivalTerminalCode": "DXB1", 440 - "flightDuration": "0h 50m" 441 - } 442 - ], 443 - "returnSegments": [ 444 - { 445 - "airlineCode": "KC", 446 - "airlineName": "Air Astana-", 447 - "flightCode": "KC900", 448 - "class": "econom", 449 - "lugageWeight": 20, 450 - "handLugageWeight": 6, 451 - "departureFlightDate": "2024-02-12T20:00:00.000Z", 452 - "departureCountryName": "United Arab Emirates", 453 - "departureCityName": "Dubai", 454 - "departureAirportCode": "DXB", 455 - "departureAirportName": "Dubai Intl Airport", 456 - "departureTerminalCode": "DXB1", 457 - "arrivalFlightDate": "2024-02-12T20:00:00.000Z", 458 - "arrivalCountryName": "Kazakhstan", 459 - "arrivalCityName": "Almaty", 460 - "arrivalAirportCode": "ALA", 461 - "arrivalAirportName": "Almaty Intl Airport", 462 - "arrivalTerminalCode": "ALA", 463 - "flightDuration": "8h 15m" 464 - } 465 - ], 466 - "passengers": [ 467 - { 468 - "id": "42768722011000004-A1", 469 - "isAdult": true, 470 - "forwardBaggages": [], 471 - "backwardBaggages": [] 472 - }, 473 - { 474 - "id": "42768722011000004-C1", 475 - "isAdult": false, 476 - "forwardBaggages": [], 477 - "backwardBaggages": [] 478 - } 479 - ] 480 - }, 481 - "extraServices": [], 482 - "insurancePrice": { 483 - "name": "Medical INS (N10000)", 484 - "price": 17.92, 485 - "priceSurcarge": 0.0, 486 - "actualStartDate": "2024-02-09T20:00:00.000Z", 487 - "actualEndDate": "2024-02-12T20:00:00.000Z", 488 - "optional": false, 489 - "includedInPackagePrice": true 490 - } 491 - } 492 - ], 493 - "pagingId": "79", 494 - "pageNumber": 10, 495 - "pageCount": 2452, 496 - "totalCount": 2452, 497 - "error": false 498 -} 271 +X 499 499 {{/code}} 500 500 501 501 502 502 === Schema === 503 503 504 -{{ success}}277 +{{code language="none"}} 505 505 SearchTourPackagesResponse{ 506 - 507 -|error|boolean 508 -|errorCode|string 509 -nullable: true 510 -|errorDescription|string 511 -nullable: true 512 -|userErrorDescription|string 513 -nullable: true 514 -|packages|[ 515 -nullable: trueTourPackage{((( 516 -|cacheKey|string 517 -nullable: true 518 -|id|string 519 -nullable: true 520 -|priceCurrency|string 521 -nullable: true 522 -|totalPrice|number($double) 523 -|agentCommissionPercent|number($double) 524 -|agentCommissionAmount|number($double) 525 -|includedExtrasAmount|number($double) 526 -|priceDifference|number($double) 527 -|hotel|PackageHotel{((( 528 -|hotelPriceId|string 529 -nullable: true 530 -|providerId|integer($int32) 531 -|hotelName|string 532 -nullable: true 533 -|hotelCode|string 534 -nullable: true 535 -|nigths|integer($int32) 536 -|mealPlan|string 537 -nullable: true 538 -|hotelClass|string 539 -nullable: true 540 -|availabilityType|RoomAvailabilityTypeEnumstringEnum: 541 -[ OnRequest, FreeSale, StopSale ] 542 -|availableRoomsCount|integer($int32) 543 -|fewRooms|boolean 544 -|roomCategoryCode|string 545 -nullable: true 546 -|roomCategoryName|string 547 -nullable: true 548 -|placementTypeName|string 549 -nullable: true 550 -|placementDescription|string 551 -nullable: true 552 -|checkInDate|string($date-time) 553 -|checkOutDate|string($date-time) 554 -|adults|integer($int32) 555 -|children|integer($int32) 556 -|districtUID|string($uuid) 557 -nullable: true 558 -|districtName|string 559 -nullable: true 560 -|cityUID|string($uuid) 561 -nullable: true 562 -|cityName|string 563 -nullable: true 564 -|countryCode|string 565 -nullable: true 566 -|countryName|string 567 -nullable: true 568 -|hasAlcohol|boolean 569 -|hasFreeWifi|boolean 570 -|hasMetro|boolean 571 -|hasPool|boolean 572 -|hasMall|boolean 573 -|cancellationPolicyDescription|string 574 -nullable: true 575 -|cancellationPolicy|CancellationPolicyExchange{((( 576 -|cancellationPolicyCode|string 577 -nullable: true 578 -|noShowChargeValue|number($double) 579 -nullable: true 580 -|noShowChargeValueType|string 581 -nullable: true 582 -|earlyDepartureChargeValue|number($double) 583 -nullable: true 584 -|earlyDepartureChargeValueType|string 585 -nullable: true 586 -|conditions|[ 587 -nullable: trueCancellationPolicyConditionExchange{((( 588 -|timeunits|integer($int32) 589 -|timeunitType|string 590 -nullable: true 591 -|timeOffsetTypeName|string 592 -nullable: true 593 -|chargeValue|number($double) 594 -nullable: true 595 -|chargeValueType|string 596 -nullable: true 597 - 279 +error boolean 280 +errorCode string 281 +nullable: true 282 +errorDescription string 283 +nullable: true 284 +userErrorDescription string 285 +nullable: true 286 +packages [ 287 +nullable: true 288 +TourPackage{ 289 +cacheKey string 290 +nullable: true 291 +id string 292 +nullable: true 293 +priceCurrency string 294 +nullable: true 295 +totalPrice number($double) 296 +agentCommissionPercent number($double) 297 +agentCommissionAmount number($double) 298 +includedExtrasAmount number($double) 299 +priceDifference number($double) 300 +hotel PackageHotel{ 301 +hotelPriceId string 302 +nullable: true 303 +providerId integer($int32) 304 +hotelName string 305 +nullable: true 306 +hotelCode string 307 +nullable: true 308 +nigths integer($int32) 309 +mealPlan string 310 +nullable: true 311 +hotelClass string 312 +nullable: true 313 +availabilityType RoomAvailabilityTypeEnum[...] 314 +availableRoomsCount integer($int32) 315 +fewRooms boolean 316 +roomCategoryCode string 317 +nullable: true 318 +roomCategoryName string 319 +nullable: true 320 +placementTypeName string 321 +nullable: true 322 +placementDescription string 323 +nullable: true 324 +checkInDate string($date-time) 325 +checkOutDate string($date-time) 326 +adults integer($int32) 327 +children integer($int32) 328 +districtUID string($uuid) 329 +nullable: true 330 +districtName string 331 +nullable: true 332 +cityUID string($uuid) 333 +nullable: true 334 +cityName string 335 +nullable: true 336 +countryCode string 337 +nullable: true 338 +countryName string 339 +nullable: true 340 +hasAlcohol boolean 341 +hasFreeWifi boolean 342 +hasMetro boolean 343 +hasPool boolean 344 +hasMall boolean 345 +cancellationPolicyDescription string 346 +nullable: true 347 +cancellationPolicy CancellationPolicyExchange{ 348 +cancellationPolicyCode string 349 +nullable: true 350 +noShowChargeValue number($double) 351 +nullable: true 352 +noShowChargeValueType string 353 +nullable: true 354 +earlyDepartureChargeValue number($double) 355 +nullable: true 356 +earlyDepartureChargeValueType string 357 +nullable: true 358 +conditions [ 359 +nullable: true 360 +CancellationPolicyConditionExchange{ 361 +timeunits integer($int32) 362 +timeunitType string 363 +nullable: true 364 +timeOffsetTypeName string 365 +nullable: true 366 +chargeValue number($double) 367 +nullable: true 368 +chargeValueType string 369 +nullable: true 598 598 }] 599 -))) 600 - 601 601 } 602 -))) 603 - 604 604 } 605 -))) 606 -|flight|PackageFlight{((( 607 -|id|string 608 -nullable: true 609 -|departureDate|string($date-time) 610 -|returnDate|string($date-time) 611 -nullable: true 612 -|departureTicketsLeft|integer($int32) 613 -|returnTicketsLeft|integer($int32) 614 -|departureAvailabilityType|FlightAvailabilityTypestringEnum: 615 -[ OnRequest, FreeSale, FewPlaces, StopSale ] 616 -|returnAvailabilityType|FlightAvailabilityTypestringEnum: 617 -[ OnRequest, FreeSale, FewPlaces, StopSale ] 618 -|isTwoWay|boolean 619 -|departureSegments|[ 620 -nullable: trueFlightSegment{((( 621 -|airlineCode|string 622 -nullable: true 623 -|airlineName|string 624 -nullable: true 625 -|flightCode|string 626 -nullable: true 627 -|class|string 628 -nullable: true 629 -|lugageWeight|number($double) 630 -|handLugageWeight|number($double) 631 -|departureFlightDate|string($date-time) 632 -|departureCountryName|string 633 -nullable: true 634 -|departureCityName|string 635 -nullable: true 636 -|departureAirportCode|string 637 -nullable: true 638 -|departureAirportName|string 639 -nullable: true 640 -|departureTerminalCode|string 641 -nullable: true 642 -|arrivalFlightDate|string($date-time) 643 -|arrivalCountryName|string 644 -nullable: true 645 -|arrivalCityName|string 646 -nullable: true 647 -|arrivalAirportCode|string 648 -nullable: true 649 -|arrivalAirportName|string 650 -nullable: true 651 -|arrivalTerminalCode|string 652 -nullable: true 653 -|flightDuration|string 654 -nullable: true 655 -|baggages|[ 656 -nullable: trueBaggage{((( 657 -|baggageCode|string 658 -nullable: true 659 -|description|string 660 -nullable: true 661 -|price|number($double) 662 -|currency|string 663 -nullable: true 664 -|included|boolean 665 - 373 +flight PackageFlight{ 374 +id string 375 +nullable: true 376 +departureDate string($date-time) 377 +returnDate string($date-time) 378 +nullable: true 379 +departureTicketsLeft integer($int32) 380 +returnTicketsLeft integer($int32) 381 +departureAvailabilityType FlightAvailabilityTypestring 382 +Enum: 383 +[ OnRequest, FreeSale, FewPlaces, StopSale ] 384 +returnAvailabilityType FlightAvailabilityTypestring 385 +Enum: 386 +[ OnRequest, FreeSale, FewPlaces, StopSale ] 387 +isTwoWay boolean 388 +departureSegments [ 389 +nullable: true 390 +FlightSegment{ 391 +airlineCode string 392 +nullable: true 393 +airlineName string 394 +nullable: true 395 +flightCode string 396 +nullable: true 397 +class string 398 +nullable: true 399 +lugageWeight number($double) 400 +handLugageWeight number($double) 401 +departureFlightDate string($date-time) 402 +departureCountryName string 403 +nullable: true 404 +departureCityName string 405 +nullable: true 406 +departureAirportCode string 407 +nullable: true 408 +departureAirportName string 409 +nullable: true 410 +departureTerminalCode string 411 +nullable: true 412 +arrivalFlightDate string($date-time) 413 +arrivalCountryName string 414 +nullable: true 415 +arrivalCityName string 416 +nullable: true 417 +arrivalAirportCode string 418 +nullable: true 419 +arrivalAirportName string 420 +nullable: true 421 +arrivalTerminalCode string 422 +nullable: true 423 +flightDuration string 424 +nullable: true 425 +baggages [ 426 +nullable: true 427 +Baggage{ 428 +baggageCode string 429 +nullable: true 430 +description string 431 +nullable: true 432 +price number($double) 433 +currency string 434 +nullable: true 435 +included boolean 666 666 }] 667 -))) 668 - 669 669 }] 670 - )))671 - |returnSegments|[672 - nullable: trueFlightSegment{(((673 - |airlineCode|string674 -nullable: true675 - |airlineName|string676 -nullable: true677 - |flightCode|string678 -nullable: true679 - |class|string680 -nullable: true681 - |lugageWeight|number($double)682 - |handLugageWeight|number($double)683 - |departureFlightDate|string($date-time)684 - |departureCountryName|string685 -nullable: true686 - |departureCityName|string687 -nullable: true688 - |departureAirportCode|string689 -nullable: true690 - |departureAirportName|string691 -nullable: true692 - |departureTerminalCode|string693 -nullable: true694 - |arrivalFlightDate|string($date-time)695 - |arrivalCountryName|string696 -nullable: true697 - |arrivalCityName|string698 -nullable: true699 - |arrivalAirportCode|string700 -nullable: true701 - |arrivalAirportName|string702 -nullable: true703 - |arrivalTerminalCode|string704 -nullable: true705 - |flightDuration|string706 -nullable: true707 - |baggages|[708 -nullable: trueBaggage{(((709 - |baggageCode|string710 - nullable:true711 - |description|string712 - nullable:true713 - |price|number($double)714 - |currency|string715 - nullable:true716 - |included|boolean717 - 438 +returnSegments [ 439 +nullable: true 440 +FlightSegment{ 441 +airlineCode string 442 +nullable: true 443 +airlineName string 444 +nullable: true 445 +flightCode string 446 +nullable: true 447 +class string 448 +nullable: true 449 +lugageWeight number($double) 450 +handLugageWeight number($double) 451 +departureFlightDate string($date-time) 452 +departureCountryName string 453 +nullable: true 454 +departureCityName string 455 +nullable: true 456 +departureAirportCode string 457 +nullable: true 458 +departureAirportName string 459 +nullable: true 460 +departureTerminalCode string 461 +nullable: true 462 +arrivalFlightDate string($date-time) 463 +arrivalCountryName string 464 +nullable: true 465 +arrivalCityName string 466 +nullable: true 467 +arrivalAirportCode string 468 +nullable: true 469 +arrivalAirportName string 470 +nullable: true 471 +arrivalTerminalCode string 472 +nullable: true 473 +flightDuration string 474 +nullable: true 475 +baggages [ 476 +nullable: true 477 +Baggage{ 478 +baggageCode string 479 +nullable: true 480 +description string 481 +nullable: true 482 +price number($double) 483 +currency string 484 +nullable: true 485 +included boolean 718 718 }] 719 -))) 720 - 721 721 }] 722 -))) 723 - 724 724 } 725 - )))726 - |extraServices|[727 - nullable: trueHotelExtraServiceBase{(((728 - |extraServiceCode|string729 -nullable: true730 - |extraServiceTypeCode|string731 -nullable: true732 - |isMandatory|integer($int32)733 - |extraServiceName|string734 -nullable: true735 - |minimalServiceAmount|number($double)736 - |includedPriceCode|string737 -nullable: true738 - |prices|[739 -nullable: trueHotelExtraServicePriceBase{(((740 - |extraServicePriceCode|string741 - nullable:true742 - |displayName|string743 - nullable:true744 - |restrictionInfo|string745 - nullable:true746 - |additionalInfo|string747 -n ullable:true748 - |price|number($double)749 - |extraPrice|number($double)750 - |currency|string751 - nullable:true752 - 489 +extraServices [ 490 +nullable: true 491 +HotelExtraServiceBase{ 492 +extraServiceCode string 493 +nullable: true 494 +extraServiceTypeCode string 495 +nullable: true 496 +isMandatory integer($int32) 497 +extraServiceName string 498 +nullable: true 499 +minimalServiceAmount number($double) 500 +includedPriceCode string 501 +nullable: true 502 +prices [ 503 +nullable: true 504 +HotelExtraServicePriceBase{ 505 +extraServicePriceCode string 506 +nullable: true 507 +displayName string 508 +nullable: true 509 +restrictionInfo string 510 +nullable: true 511 +additionalInfo string 512 +nullable: true 513 +price number($double) 514 +extraPrice number($double) 515 +currency string 516 +nullable: true 753 753 }] 754 -))) 755 - 756 756 }] 757 -))) 758 -|insurancePrice|InsurancePrice{((( 759 -|name|string 760 -nullable: true 761 -|price|number($double) 762 -|priceSurcarge|number($double) 763 -|actualStartDate|string($date-time) 764 -|actualEndDate|string($date-time) 765 -|optional|boolean 766 -|includedInPackagePrice|boolean 767 - 519 +insurancePrice InsurancePrice{ 520 +name string 521 +nullable: true 522 +price number($double) 523 +priceSurcarge number($double) 524 +actualStartDate string($date-time) 525 +actualEndDate string($date-time) 526 +optional boolean 527 +includedInPackagePrice boolean 768 768 } 769 -))) 770 - 771 771 }] 772 -))) 773 -|pagingId|string 774 -nullable: true 775 -|pageNumber|integer($int64) 776 -|pageCount|integer($int64) 777 - 530 +pagingId string 531 +nullable: true 532 +pageNumber integer($int64) 533 +pageCount integer($int64) 778 778 } 779 -{{/success}} 780 - 781 - 782 -== Definitions == 783 - 784 -**Request Parameters ** 785 - 786 -(% class="table-bordered" %) 787 -|=Field|=Type|=Description 788 -|departureCountryCode|string|The ISO 3166-1 alpha-2 country code for the departure country. For example, "KZ" for Kazakhstan. 789 -|departureCityUID|string|The unique identifier for the departure city. 790 -|arrivalCountryCode|string|The ISO 3166-1 alpha-2 country code for the arrival country. For example, "AE" for United Arab Emirates. 791 -|arrivalLocations|array|An array of objects, each representing an arrival location. Each object contains: type (string) - The type of the location. This can be "city". label (string) - The name of the location. value (string) - The unique identifier for the location. tag (string) - A tag for the location. 792 -|checkInDate|string|The check-in date in ISO 8601 format. 793 -|checkInDateTo|string|The latest possible check-in date in ISO 8601 format. 794 -|stayDays|integer|The minimum number of days to stay. 795 -|stayDaysTo|integer|The maximum number of days to stay. 796 -|airlineCode|string|The code of the airline. This field can be empty. 797 -|ticketType|string|The type of the ticket. This field can be empty. 798 -|directFlightsOnly|boolean|Indicates whether to search for direct flights only. 799 -|longConnectTime|boolean|Indicates whether to include flights with long connection times. 800 -|adults|integer|The number of adults. 801 -|children|integer|The number of children. 802 -|childrenAges|array|An array of integers, each representing the age of a child. 803 -|extendedSearch|boolean|Indicates whether to perform an extended search. 804 -|totalPriceFrom|float|The minimum total price. 805 -|totalPriceTo|float|The maximum total price. 806 -|recommended|boolean|Indicates whether to include recommended packages. 807 -|popular|boolean|Indicates whether to include popular packages. 808 -|freeSale|boolean|Indicates whether to include free sale packages. 809 -|groupByHotel|boolean|Indicates whether to group the results by hotel. 810 -|hotelCodes|array|An array of strings, each representing a hotel code. This field can be empty. 811 -|mealPlans|array|An array of meal plans. This field can be empty. 812 -|hotelClasses|array|An array of hotel classes. This field can be empty. 813 -|hotelTypes|array|An array of hotel types. This field can be empty. 814 -|hotelServices|array|An array of hotel services. This field can be empty. 815 -|pagingId|string|The paging ID for paginated results. This field can be empty. 816 -|pageNumber|integer|The page number for paginated results. 817 -|pageRowCount|integer|The number of rows per page for paginated results. 818 - 819 -(% class="wikigeneratedid" %) 820 -**Response Parameters** 821 - 822 -(% class="table-bordered" %) 823 -|=Field|=Type|=Description 824 -|packages|array|An array of packages available. Each package contains: 825 -|cacheKey|string|A unique identifier for the cache. 826 -|id|string|A unique identifier for the package. 827 -|priceCurrency|string|The currency in which the price is displayed. 828 -|totalPrice|float|The total price of the package. 829 -|agentCommissionPercent|float|The commission percentage for the agent. 830 -|agentCommissionAmount|float|The commission amount for the agent. 831 -|includedExtrasAmount|integer|The amount of extras included in the package. 832 -|priceDifference|integer|The difference in price from the original price. 833 -|hotel|object|An object containing details about the hotel. 834 -|hotelPriceId|string|A unique identifier for the hotel price. 835 -|providerId|integer|A unique identifier for the provider. 836 -|hotelName|string|The name of the hotel. 837 -|hotelCode|string|A unique code for the hotel. 838 -|nigths|integer|The number of nights for the stay. 839 -|mealPlan|string|The meal plan for the stay. 840 -|hotelClass|string|The class or rating of the hotel. 841 -|availabilityType|string|The availability type of the hotel. 842 -|availableRoomsCount|integer|The number of available rooms in the hotel. 843 -|fewRooms|boolean|Indicates whether there are few rooms left. 844 -|roomCategoryCode|string|A unique code for the room category. 845 -|roomCategoryName|string|The name of the room category. 846 -|placementTypeName|string|The name of the placement type. 847 -|checkInDate|string|The check-in date in ISO 8601 format. 848 -|checkOutDate|string|The check-out date in ISO 8601 format. 849 -|adults|integer|The number of adults for the stay. 850 -|children|integer|The number of children for the stay. 851 -|districtUID|string|A unique identifier for the district. 852 -|districtName|string|The name of the district. 853 -|cityUID|string|A unique identifier for the city. 854 -|cityName|string|The name of the city. 855 -|countryCode|string|The ISO 3166-1 alpha-2 country code. 856 -|countryName|string|The name of the country. 857 -|hasAlcohol|boolean|Indicates whether the hotel serves alcohol. 858 -|hasFreeWifi|boolean|Indicates whether the hotel offers free Wi-Fi. 859 -|hasMetro|boolean|Indicates whether the hotel is near a metro station. 860 -|hasPool|boolean|Indicates whether the hotel has a pool. 861 -|hasMall|boolean|Indicates whether the hotel is near a shopping mall. 862 -|cancellationPolicyDescription|string|The description of the cancellation policy. 863 -|cancellationPolicy|object|An object containing details about the cancellation policy. 864 -|flight|object|An object containing details about the flight. 865 -|id|string|A unique identifier for the flight. 866 -|departureDate|string|The departure date in ISO 8601 format. 867 -|returnDate|string|The return date in ISO 8601 format. 868 -|departureTicketsLeft|integer|The number of departure tickets left. 869 -|returnTicketsLeft|integer|The number of return tickets left. 870 -|departureAvailabilityType|string|The availability type of the departure flight. 871 -|returnAvailabilityType|string|The availability type of the return flight. 872 -|isTwoWay|boolean|Indicates whether the flight is two-way. 873 -|sameBaggageForAll|boolean|Indicates whether the same baggage is applicable for all passengers. 874 -|totalBaggage|boolean|Indicates whether total baggage is included. 875 -|departureSegments|array|An array of objects, each representing a departure segment. 876 -|returnSegments|array|An array of objects, each representing a return segment. 877 -|passengers|array|An array of objects, each representing a passenger. 878 -|extraServices|array|An array of extra services included in the package. 879 -|insurancePrice|object|An object containing details about the insurance price. 880 -|pagingId|string|The paging ID for paginated results. 881 -|pageNumber|integer|The page number for paginated results. 882 -|pageCount|integer|The total number of pages. 883 -|totalCount|integer|The total count of packages. 884 -|error|boolean|Indicates whether there was an error. 885 - 886 -=== Paging and Caching === 887 - 888 -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: 889 - 890 - 891 -==== First request ==== 892 - 893 -{{code language="Json"}} 894 - { 895 - "pagingId": "", 896 - "pageNumber": 1, 897 - "pageRowCount":10 898 - } 899 899 {{/code}} 900 - 901 -While making first search request, paging id should be empty, "pageNumber": and "pageRowCount":10 means that, in response there will be returned maximum 10 packages per page. 902 - 903 - 904 -==== Request with caching ==== 905 - 906 -after receiving response from first search request, in the end we can see pagingId- number, wchich we can use for caching, and (pageinatoin) for switch pagenumbers, and displaying results as we whant. For cleaning cache, it's important to make new request without cllear pagingID, like this "pagingId": "", 907 - 908 -{{code language="Json"}} 909 - { 910 - "pagingId": "80", 911 - "pageNumber": 1, 912 - "pageRowCount":10 913 - } 914 -{{/code}} 915 - 916 - 917 -=== Search parameter options === 918 - 919 -in the request body it's available to filter search results with parameters. parameter examples: 920 - 921 -{{code language="Json"}} 922 - { "totalPriceFrom": 500, 923 - "totalPriceTo": 10000, 924 - "hotelTypes": [ 925 - "CityHotel", 926 - "BeachHotel", 927 - "SecondLineBeach" 928 - ], 929 - "hotelClasses": [ 930 - "1", 931 - "2", 932 - "3", 933 - "4", 934 - "5", 935 - "6" 936 - ], 937 - "hotelServices": [ 938 - "HasAlcohol", 939 - "HasFreeWifi", 940 - "HasMetro", 941 - "HasPool", 942 - "HasMall" 943 - ], 944 - "mealPlans": [ 945 - "RO", 946 - "BB", 947 - "HB", 948 - "FB", 949 - "AL" 950 - ] 951 -} 952 -{{/code}} 953 - 954 - 955 - 956 -== Important == 957 - 958 -{{error}} 959 -=== Implementing Authorization in Subsequent Requests === 960 - 961 -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: 962 - 963 -* **Header Key:** Authorization 964 -* **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. 965 - 966 -Additionally, to ensure your requests are properly formatted and recognized, include the following headers: 967 - 968 -* **Content-Type:** Specify this header as application/json to indicate the format of the request body. 969 -* **Header Key:** X-nugios-timezone 970 -* **Header Value:** 240 - Adjust this value to match your local timezone offset in minutes. 971 - 972 -Incorporating these headers with their respective values is essential for the successful processing of your API requests. 973 -{{/error}}