Changes for page 1. SearchTourPackages
Last modified by Giorgi Mdivnishvili on 2025/02/12 15:25
From version 10.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
To version 27.1
edited by Giorgi Mdivnishvili
on 2024/04/11 11:34
on 2024/04/11 11:34
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 -SearchTourPackages 1 +1. SearchTourPackages - Content
-
... ... @@ -6,21 +6,22 @@ 6 6 7 7 = Method Description = 8 8 9 -T he initial method of the integrationprocessisauthorization.Youwill be providedwithatestuser username andpasswordtonerate the accesstokenthatyouwillneed topassinallthefollowingmethods.9 +Tour package mean, tour with hotel and flight together. Using this method gives data about full package availability with flight and hotel options. 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. 11 11 13 + 12 12 == Endpoint URL - [POST] == 13 13 14 14 {{info}} 15 - {{{}}}17 +[[https:~~/~~/integration.kazunion.com/api/TourPackages/SearchTourPackages>>https://integration.kazunion.com/api/TourPackages/SearchTourPackages]] 16 16 {{/info}} 17 17 18 - 19 19 == Request Parameters == 20 20 21 21 (% class="box infomessage" %) 22 22 ((( 23 -None 24 +None 24 24 ))) 25 25 26 26 ... ... @@ -41,13 +41,13 @@ 41 41 "tag": "string" 42 42 } 43 43 ], 44 - "checkInDate": "2023-12-14 T13:43:54.766Z",45 - "checkInDateTo": "2023-12-14 T13:43:54.766Z",46 - "checkOutDate": "2023-12-14 T13:43:54.766Z",45 + "checkInDate": "2023-12-14", 46 + "checkInDateTo": "2023-12-14", 47 + "checkOutDate": "2023-12-14", 47 47 "stayDays": 0, 48 48 "stayDaysTo": 0, 49 - "departureDate": "2023-12-14 T13:43:54.766Z",50 - "returnDate": "2023-12-14 T13:43:54.766Z",50 + "departureDate": "2023-12-14", 51 + "returnDate": "2023-12-14", 51 51 "airlineCode": "string", 52 52 "ticketType": "string", 53 53 "directFlightsOnly": true, ... ... @@ -86,6 +86,65 @@ 86 86 {{/code}} 87 87 88 88 90 +== Request example == 91 + 92 +{{code language="Json"}} 93 +{ 94 + "departureCountryCode": "KZ", 95 + "departureCityUID": "f0ba6324-f337-405c-8cc7-23d62cf664e8", 96 + "arrivalCountryCode": "AE", 97 + "arrivalLocations": [ 98 + { 99 + "type": "city", 100 + "label": "Dubai", 101 + "value": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", 102 + "tag": "Dubai" 103 + } 104 + ], 105 + "checkInDate": "2024-02-05T20:00:00.000Z", 106 + "checkInDateTo": "2024-02-10T20:00:00.000Z", 107 + 108 + "stayDays": 3, 109 + "stayDaysTo": 6, 110 + 111 + "airlineCode": "", 112 + "ticketType": "", 113 + "directFlightsOnly": true, 114 + "longConnectTime": true, 115 + "adults": 1, 116 + "children": 1, 117 + "childrenAges": [ 118 + 2 119 + ], 120 + "extendedSearch": false, 121 + "totalPriceFrom": 100, 122 + "totalPriceTo": 15000, 123 + "recommended": true, 124 + "popular": true, 125 + "freeSale": true, 126 + "groupByHotel": true, 127 + "hotelCodes": [ 128 + 129 + ], 130 + "mealPlans": [ 131 + 132 + ], 133 + "hotelClasses": [ 134 + 135 + ], 136 + "hotelTypes": [ 137 + 138 + ], 139 + "hotelServices": [ 140 + 141 + ], 142 + "pagingId": "", 143 + "pageNumber": 10, 144 + "pageRowCount": 10 145 +} 146 +{{/code}} 147 + 148 + 89 89 == Response Body == 90 90 91 91 {{code language="json"}} ... ... @@ -265,271 +265,629 @@ 265 265 {{/code}} 266 266 267 267 268 -== =example ===328 +== Response example == 269 269 270 270 {{code language="Json"}} 271 -X 331 +{ 332 + "packages": [ 333 + { 334 + "cacheKey": "c705ab31e00e4f9a81c2fd46b2cdbb47f6fd9a6e16984236beb979b31aefafa4:{79}:i:10", 335 + "id": "tour:b01c168e-2ea7-4ea6-b6e0-55abb8cab0a0:da894a1e-88c0-4877-b216-0eeeabe186f3:4298d06f-4344-4a39-ad98-071b7760cf30", 336 + "priceCurrency": "USD", 337 + "totalPrice": 1033.53, 338 + "agentCommissionPercent": 0.0, 339 + "agentCommissionAmount": 0.0, 340 + "includedExtrasAmount": 0, 341 + "priceDifference": 0, 342 + "hotel": { 343 + "hotelPriceId": "da894a1e-88c0-4877-b216-0eeeabe186f3", 344 + "providerId": 13, 345 + "hotelName": "Mercure Dubai Barsha Heights Suites Apartments", 346 + "hotelCode": "5f125310-7025-4807-a4c6-49cd284c9c14", 347 + "nigths": 3, 348 + "mealPlan": "BB", 349 + "hotelClass": "4", 350 + "availabilityType": "FreeSale", 351 + "availableRoomsCount": 0, 352 + "fewRooms": true, 353 + "roomCategoryCode": "bc5f2224-bd4c-49b2-ab57-01eb7fa80d41", 354 + "roomCategoryName": "1 B/R Suite City View", 355 + "placementTypeName": "DBL", 356 + "checkInDate": "2024-02-09T20:00:00.000Z", 357 + "checkOutDate": "2024-02-12T20:00:00.000Z", 358 + "adults": 1, 359 + "children": 1, 360 + "districtUID": "4c65f6ed-902b-4fd8-9419-af7884c22c5e", 361 + "districtName": "Al Barsha", 362 + "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", 363 + "cityName": "Dubai", 364 + "countryCode": "AE", 365 + "countryName": "United Arab Emirates", 366 + "hasAlcohol": false, 367 + "hasFreeWifi": true, 368 + "hasMetro": true, 369 + "hasPool": true, 370 + "hasMall": false, 371 + "cancellationPolicyDescription": "Cancellation Policy: 5 Day Before Arrival: 100.00 %, Early Departure: 100.00 %, NoShow: 100.00 %", 372 + "cancellationPolicy": { 373 + "noShowChargeValue": 100.0, 374 + "noShowChargeValueType": "%", 375 + "earlyDepartureChargeValue": 100.0, 376 + "earlyDepartureChargeValueType": "%", 377 + "conditions": [ 378 + { 379 + "timeunits": 5, 380 + "timeunitType": "Day", 381 + "timeOffsetTypeName": "Before Arrival", 382 + "chargeValue": 100.0, 383 + "chargeValueType": "%" 384 + } 385 + ] 386 + } 387 + }, 388 + "flight": { 389 + "id": "4298d06f-4344-4a39-ad98-071b7760cf30", 390 + "departureDate": "2024-02-09T20:00:00.000Z", 391 + "returnDate": "2024-02-12T20:00:00.000Z", 392 + "departureTicketsLeft": 7, 393 + "returnTicketsLeft": 7, 394 + "departureAvailabilityType": "FewPlaces", 395 + "returnAvailabilityType": "FewPlaces", 396 + "isTwoWay": true, 397 + "sameBaggageForAll": false, 398 + "totalBaggage": false, 399 + "departureSegments": [ 400 + { 401 + "airlineCode": "KC", 402 + "airlineName": "Air Astana-", 403 + "flightCode": "KC897", 404 + "class": "econom", 405 + "lugageWeight": 20, 406 + "handLugageWeight": 6, 407 + "departureFlightDate": "2024-02-09T20:00:00.000Z", 408 + "departureCountryName": "Kazakhstan", 409 + "departureCityName": "Almaty", 410 + "departureAirportCode": "ALA", 411 + "departureAirportName": "Almaty Intl Airport", 412 + "departureTerminalCode": "ALA", 413 + "arrivalFlightDate": "2024-02-09T20:00:00.000Z", 414 + "arrivalCountryName": "United Arab Emirates", 415 + "arrivalCityName": "Dubai", 416 + "arrivalAirportCode": "DXB", 417 + "arrivalAirportName": "Dubai Intl Airport", 418 + "arrivalTerminalCode": "DXB1", 419 + "flightDuration": "0h 50m" 420 + } 421 + ], 422 + "returnSegments": [ 423 + { 424 + "airlineCode": "KC", 425 + "airlineName": "Air Astana-", 426 + "flightCode": "KC900", 427 + "class": "econom", 428 + "lugageWeight": 20, 429 + "handLugageWeight": 6, 430 + "departureFlightDate": "2024-02-12T20:00:00.000Z", 431 + "departureCountryName": "United Arab Emirates", 432 + "departureCityName": "Dubai", 433 + "departureAirportCode": "DXB", 434 + "departureAirportName": "Dubai Intl Airport", 435 + "departureTerminalCode": "DXB1", 436 + "arrivalFlightDate": "2024-02-12T20:00:00.000Z", 437 + "arrivalCountryName": "Kazakhstan", 438 + "arrivalCityName": "Almaty", 439 + "arrivalAirportCode": "ALA", 440 + "arrivalAirportName": "Almaty Intl Airport", 441 + "arrivalTerminalCode": "ALA", 442 + "flightDuration": "8h 15m" 443 + } 444 + ], 445 + "passengers": [ 446 + { 447 + "id": "42768722011000004-A1", 448 + "isAdult": true, 449 + "forwardBaggages": [], 450 + "backwardBaggages": [] 451 + }, 452 + { 453 + "id": "42768722011000004-C1", 454 + "isAdult": false, 455 + "forwardBaggages": [], 456 + "backwardBaggages": [] 457 + } 458 + ] 459 + }, 460 + "extraServices": [], 461 + "insurancePrice": { 462 + "name": "Medical INS (N10000)", 463 + "price": 17.92, 464 + "priceSurcarge": 0.0, 465 + "actualStartDate": "2024-02-09T20:00:00.000Z", 466 + "actualEndDate": "2024-02-12T20:00:00.000Z", 467 + "optional": false, 468 + "includedInPackagePrice": true 469 + } 470 + } 471 + ], 472 + "pagingId": "79", 473 + "pageNumber": 10, 474 + "pageCount": 2452, 475 + "totalCount": 2452, 476 + "error": false 477 +} 272 272 {{/code}} 273 273 274 274 275 275 === Schema === 276 276 277 -{{c odelanguage="none"}}483 +{{success}} 278 278 SearchTourPackagesResponse{ 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 485 + 486 +|error|boolean 487 +|errorCode|string 488 +nullable: true 489 +|errorDescription|string 490 +nullable: true 491 +|userErrorDescription|string 492 +nullable: true 493 +|packages|[ 494 +nullable: trueTourPackage{((( 495 +|cacheKey|string 496 +nullable: true 497 +|id|string 498 +nullable: true 499 +|priceCurrency|string 500 +nullable: true 501 +|totalPrice|number($double) 502 +|agentCommissionPercent|number($double) 503 +|agentCommissionAmount|number($double) 504 +|includedExtrasAmount|number($double) 505 +|priceDifference|number($double) 506 +|hotel|PackageHotel{((( 507 +|hotelPriceId|string 508 +nullable: true 509 +|providerId|integer($int32) 510 +|hotelName|string 511 +nullable: true 512 +|hotelCode|string 513 +nullable: true 514 +|nigths|integer($int32) 515 +|mealPlan|string 516 +nullable: true 517 +|hotelClass|string 518 +nullable: true 519 +|availabilityType|RoomAvailabilityTypeEnumstringEnum: 520 +[ OnRequest, FreeSale, StopSale ] 521 +|availableRoomsCount|integer($int32) 522 +|fewRooms|boolean 523 +|roomCategoryCode|string 524 +nullable: true 525 +|roomCategoryName|string 526 +nullable: true 527 +|placementTypeName|string 528 +nullable: true 529 +|placementDescription|string 530 +nullable: true 531 +|checkInDate|string($date-time) 532 +|checkOutDate|string($date-time) 533 +|adults|integer($int32) 534 +|children|integer($int32) 535 +|districtUID|string($uuid) 536 +nullable: true 537 +|districtName|string 538 +nullable: true 539 +|cityUID|string($uuid) 540 +nullable: true 541 +|cityName|string 542 +nullable: true 543 +|countryCode|string 544 +nullable: true 545 +|countryName|string 546 +nullable: true 547 +|hasAlcohol|boolean 548 +|hasFreeWifi|boolean 549 +|hasMetro|boolean 550 +|hasPool|boolean 551 +|hasMall|boolean 552 +|cancellationPolicyDescription|string 553 +nullable: true 554 +|cancellationPolicy|CancellationPolicyExchange{((( 555 +|cancellationPolicyCode|string 556 +nullable: true 557 +|noShowChargeValue|number($double) 558 +nullable: true 559 +|noShowChargeValueType|string 560 +nullable: true 561 +|earlyDepartureChargeValue|number($double) 562 +nullable: true 563 +|earlyDepartureChargeValueType|string 564 +nullable: true 565 +|conditions|[ 566 +nullable: trueCancellationPolicyConditionExchange{((( 567 +|timeunits|integer($int32) 568 +|timeunitType|string 569 +nullable: true 570 +|timeOffsetTypeName|string 571 +nullable: true 572 +|chargeValue|number($double) 573 +nullable: true 574 +|chargeValueType|string 575 +nullable: true 576 + 370 370 }] 578 +))) 579 + 371 371 } 581 +))) 582 + 372 372 } 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 584 +))) 585 +|flight|PackageFlight{((( 586 +|id|string 587 +nullable: true 588 +|departureDate|string($date-time) 589 +|returnDate|string($date-time) 590 +nullable: true 591 +|departureTicketsLeft|integer($int32) 592 +|returnTicketsLeft|integer($int32) 593 +|departureAvailabilityType|FlightAvailabilityTypestringEnum: 594 +[ OnRequest, FreeSale, FewPlaces, StopSale ] 595 +|returnAvailabilityType|FlightAvailabilityTypestringEnum: 596 +[ OnRequest, FreeSale, FewPlaces, StopSale ] 597 +|isTwoWay|boolean 598 +|departureSegments|[ 599 +nullable: trueFlightSegment{((( 600 +|airlineCode|string 601 +nullable: true 602 +|airlineName|string 603 +nullable: true 604 +|flightCode|string 605 +nullable: true 606 +|class|string 607 +nullable: true 608 +|lugageWeight|number($double) 609 +|handLugageWeight|number($double) 610 +|departureFlightDate|string($date-time) 611 +|departureCountryName|string 612 +nullable: true 613 +|departureCityName|string 614 +nullable: true 615 +|departureAirportCode|string 616 +nullable: true 617 +|departureAirportName|string 618 +nullable: true 619 +|departureTerminalCode|string 620 +nullable: true 621 +|arrivalFlightDate|string($date-time) 622 +|arrivalCountryName|string 623 +nullable: true 624 +|arrivalCityName|string 625 +nullable: true 626 +|arrivalAirportCode|string 627 +nullable: true 628 +|arrivalAirportName|string 629 +nullable: true 630 +|arrivalTerminalCode|string 631 +nullable: true 632 +|flightDuration|string 633 +nullable: true 634 +|baggages|[ 635 +nullable: trueBaggage{((( 636 +|baggageCode|string 637 +nullable: true 638 +|description|string 639 +nullable: true 640 +|price|number($double) 641 +|currency|string 642 +nullable: true 643 +|included|boolean 644 + 436 436 }] 646 +))) 647 + 437 437 }] 438 - returnSegments [439 - nullable:true440 -FlightSegment{ 441 -airlineCode 442 -nullable: 443 -airlineName 444 -nullable: 445 -flightCode 446 -nullable: 447 -class 448 -nullable: 449 -lugageWeight 450 -handLugageWeight 451 -departureFlightDate 452 -departureCountryName 453 -nullable: 454 -departureCityName 455 -nullable: 456 -departureAirportCode 457 -nullable: 458 -departureAirportName 459 -nullable: 460 -departureTerminalCode 461 -nullable: 462 -arrivalFlightDate 463 -arrivalCountryName 464 -nullable: 465 -arrivalCityName 466 -nullable: 467 -arrivalAirportCode 468 -nullable: 469 -arrivalAirportName 470 -nullable: 471 -arrivalTerminalCode 472 -nullable: 473 -flightDuration 474 -nullable: 475 -baggages 476 -nullable: 477 - Baggage{478 - baggageCode string479 - nullable:true480 - description string481 -nu llable: true482 - price number($double)483 - currency string484 -n ullable: true485 - included boolean649 +))) 650 +|returnSegments|[ 651 +nullable: trueFlightSegment{((( 652 +|airlineCode|string 653 +nullable: true 654 +|airlineName|string 655 +nullable: true 656 +|flightCode|string 657 +nullable: true 658 +|class|string 659 +nullable: true 660 +|lugageWeight|number($double) 661 +|handLugageWeight|number($double) 662 +|departureFlightDate|string($date-time) 663 +|departureCountryName|string 664 +nullable: true 665 +|departureCityName|string 666 +nullable: true 667 +|departureAirportCode|string 668 +nullable: true 669 +|departureAirportName|string 670 +nullable: true 671 +|departureTerminalCode|string 672 +nullable: true 673 +|arrivalFlightDate|string($date-time) 674 +|arrivalCountryName|string 675 +nullable: true 676 +|arrivalCityName|string 677 +nullable: true 678 +|arrivalAirportCode|string 679 +nullable: true 680 +|arrivalAirportName|string 681 +nullable: true 682 +|arrivalTerminalCode|string 683 +nullable: true 684 +|flightDuration|string 685 +nullable: true 686 +|baggages|[ 687 +nullable: trueBaggage{((( 688 +|baggageCode|string 689 +nullable: true 690 +|description|string 691 +nullable: true 692 +|price|number($double) 693 +|currency|string 694 +nullable: true 695 +|included|boolean 696 + 486 486 }] 698 +))) 699 + 487 487 }] 701 +))) 702 + 488 488 } 489 - extraServices [490 - nullable:true491 -HotelExtraServiceBase{ 492 -extraServiceCode 493 -nullable: 494 -extraServiceTypeCode 495 -nullable: 496 -isMandatory 497 -extraServiceName 498 -nullable: 499 -minimalServiceAmount 500 -includedPriceCode 501 -nullable: 502 -prices 503 -nullable: 504 - HotelExtraServicePriceBase{505 - extraServicePriceCode string506 - nullable:true507 - displayNamestring508 - nullable:true509 - restrictionInfo string510 -n ullable:true511 - additionalInfo string512 -nu llable: true513 - price514 - extraPriceumber($double)515 - currency string516 - nullable: true704 +))) 705 +|extraServices|[ 706 +nullable: trueHotelExtraServiceBase{((( 707 +|extraServiceCode|string 708 +nullable: true 709 +|extraServiceTypeCode|string 710 +nullable: true 711 +|isMandatory|integer($int32) 712 +|extraServiceName|string 713 +nullable: true 714 +|minimalServiceAmount|number($double) 715 +|includedPriceCode|string 716 +nullable: true 717 +|prices|[ 718 +nullable: trueHotelExtraServicePriceBase{((( 719 +|extraServicePriceCode|string 720 +nullable: true 721 +|displayName|string 722 +nullable: true 723 +|restrictionInfo|string 724 +nullable: true 725 +|additionalInfo|string 726 +nullable: true 727 +|price|number($double) 728 +|extraPrice|number($double) 729 +|currency|string 730 +nullable: true 731 + 517 517 }] 733 +))) 734 + 518 518 }] 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 736 +))) 737 +|insurancePrice|InsurancePrice{((( 738 +|name|string 739 +nullable: true 740 +|price|number($double) 741 +|priceSurcarge|number($double) 742 +|actualStartDate|string($date-time) 743 +|actualEndDate|string($date-time) 744 +|optional|boolean 745 +|includedInPackagePrice|boolean 746 + 528 528 } 748 +))) 749 + 529 529 }] 530 -pagingId string 531 -nullable: true 532 -pageNumber integer($int64) 533 -pageCount integer($int64) 751 +))) 752 +|pagingId|string 753 +nullable: true 754 +|pageNumber|integer($int64) 755 +|pageCount|integer($int64) 756 + 534 534 } 758 +{{/success}} 759 + 760 + 761 +== Definitions == 762 + 763 + 764 +**Request Parameters ** 765 + 766 +(% class="table-bordered" %) 767 +|=Field|=Type|=Description 768 +|departureCountryCode|string|The ISO 3166-1 alpha-2 country code for the departure country. For example, "KZ" for Kazakhstan. 769 +|departureCityUID|string|The unique identifier for the departure city. 770 +|arrivalCountryCode|string|The ISO 3166-1 alpha-2 country code for the arrival country. For example, "AE" for United Arab Emirates. 771 +|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. 772 +|checkInDate|string|The check-in date in ISO 8601 format. 773 +|checkInDateTo|string|The latest possible check-in date in ISO 8601 format. 774 +|stayDays|integer|The minimum number of days to stay. 775 +|stayDaysTo|integer|The maximum number of days to stay. 776 +|airlineCode|string|The code of the airline. This field can be empty. 777 +|ticketType|string|The type of the ticket. This field can be empty. 778 +|directFlightsOnly|boolean|Indicates whether to search for direct flights only. 779 +|longConnectTime|boolean|Indicates whether to include flights with long connection times. 780 +|adults|integer|The number of adults. 781 +|children|integer|The number of children. 782 +|childrenAges|array|An array of integers, each representing the age of a child. 783 +|extendedSearch|boolean|Indicates whether to perform an extended search. 784 +|totalPriceFrom|float|The minimum total price. 785 +|totalPriceTo|float|The maximum total price. 786 +|recommended|boolean|Indicates whether to include recommended packages. 787 +|popular|boolean|Indicates whether to include popular packages. 788 +|freeSale|boolean|Indicates whether to include free sale packages. 789 +|groupByHotel|boolean|Indicates whether to group the results by hotel. 790 +|hotelCodes|array|An array of strings, each representing a hotel code. This field can be empty. 791 +|mealPlans|array|An array of meal plans. This field can be empty. 792 +|hotelClasses|array|An array of hotel classes. This field can be empty. 793 +|hotelTypes|array|An array of hotel types. This field can be empty. 794 +|hotelServices|array|An array of hotel services. This field can be empty. 795 +|pagingId|string|The paging ID for paginated results. This field can be empty. 796 +|pageNumber|integer|The page number for paginated results. 797 +|pageRowCount|integer|The number of rows per page for paginated results. 798 + 799 +(% class="wikigeneratedid" %) 800 +**Response Parameters** 801 + 802 +(% class="table-bordered" %) 803 +|=Field|=Type|=Description 804 +|packages|array|An array of packages available. Each package contains: 805 +|cacheKey|string|A unique identifier for the cache. 806 +|id|string|A unique identifier for the package. 807 +|priceCurrency|string|The currency in which the price is displayed. 808 +|totalPrice|float|The total price of the package. 809 +|agentCommissionPercent|float|The commission percentage for the agent. 810 +|agentCommissionAmount|float|The commission amount for the agent. 811 +|includedExtrasAmount|integer|The amount of extras included in the package. 812 +|priceDifference|integer|The difference in price from the original price. 813 +|hotel|object|An object containing details about the hotel. 814 +|hotelPriceId|string|A unique identifier for the hotel price. 815 +|providerId|integer|A unique identifier for the provider. 816 +|hotelName|string|The name of the hotel. 817 +|hotelCode|string|A unique code for the hotel. 818 +|nigths|integer|The number of nights for the stay. 819 +|mealPlan|string|The meal plan for the stay. 820 +|hotelClass|string|The class or rating of the hotel. 821 +|availabilityType|string|The availability type of the hotel. 822 +|availableRoomsCount|integer|The number of available rooms in the hotel. 823 +|fewRooms|boolean|Indicates whether there are few rooms left. 824 +|roomCategoryCode|string|A unique code for the room category. 825 +|roomCategoryName|string|The name of the room category. 826 +|placementTypeName|string|The name of the placement type. 827 +|checkInDate|string|The check-in date in ISO 8601 format. 828 +|checkOutDate|string|The check-out date in ISO 8601 format. 829 +|adults|integer|The number of adults for the stay. 830 +|children|integer|The number of children for the stay. 831 +|districtUID|string|A unique identifier for the district. 832 +|districtName|string|The name of the district. 833 +|cityUID|string|A unique identifier for the city. 834 +|cityName|string|The name of the city. 835 +|countryCode|string|The ISO 3166-1 alpha-2 country code. 836 +|countryName|string|The name of the country. 837 +|hasAlcohol|boolean|Indicates whether the hotel serves alcohol. 838 +|hasFreeWifi|boolean|Indicates whether the hotel offers free Wi-Fi. 839 +|hasMetro|boolean|Indicates whether the hotel is near a metro station. 840 +|hasPool|boolean|Indicates whether the hotel has a pool. 841 +|hasMall|boolean|Indicates whether the hotel is near a shopping mall. 842 +|cancellationPolicyDescription|string|The description of the cancellation policy. 843 +|cancellationPolicy|object|An object containing details about the cancellation policy. 844 +|flight|object|An object containing details about the flight. 845 +|id|string|A unique identifier for the flight. 846 +|departureDate|string|The departure date in ISO 8601 format. 847 +|returnDate|string|The return date in ISO 8601 format. 848 +|departureTicketsLeft|integer|The number of departure tickets left. 849 +|returnTicketsLeft|integer|The number of return tickets left. 850 +|departureAvailabilityType|string|The availability type of the departure flight. 851 +|returnAvailabilityType|string|The availability type of the return flight. 852 +|isTwoWay|boolean|Indicates whether the flight is two-way. 853 +|sameBaggageForAll|boolean|Indicates whether the same baggage is applicable for all passengers. 854 +|totalBaggage|boolean|Indicates whether total baggage is included. 855 +|departureSegments|array|An array of objects, each representing a departure segment. 856 +|returnSegments|array|An array of objects, each representing a return segment. 857 +|passengers|array|An array of objects, each representing a passenger. 858 +|extraServices|array|An array of extra services included in the package. 859 +|insurancePrice|object|An object containing details about the insurance price. 860 +|pagingId|string|The paging ID for paginated results. 861 +|pageNumber|integer|The page number for paginated results. 862 +|pageCount|integer|The total number of pages. 863 +|totalCount|integer|The total count of packages. 864 +|error|boolean|Indicates whether there was an error. 865 + 866 +=== Paging and Caching === 867 + 868 +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: 869 + 870 + 871 +==== first request ==== 872 + 873 +{{code language="Json"}} 874 + { 875 + "pagingId": "", 876 + "pageNumber": 1, 877 + "pageRowCount":10 878 + } 535 535 {{/code}} 880 + 881 +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. 882 + 883 + 884 +==== Request with caching ==== 885 + 886 +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": "", 887 + 888 +{{code language="Json"}} 889 + { 890 + "pagingId": "80", 891 + "pageNumber": 1, 892 + "pageRowCount":10 893 + } 894 +{{/code}} 895 + 896 + 897 +=== search parameter options === 898 + 899 +in the request body it's available to filter search results with parameters. parameter examples: 900 + 901 +{{code language="Json"}} 902 + { "totalPriceFrom": 500, 903 + "totalPriceTo": 10000, 904 + "hotelTypes": [ 905 + "CityHotel", 906 + "BeachHotel", 907 + "SecondLineBeach" 908 + ], 909 + "hotelClasses": [ 910 + "1", 911 + "2", 912 + "3", 913 + "4", 914 + "5", 915 + "6" 916 + ], 917 + "hotelServices": [ 918 + "HasAlcohol", 919 + "HasFreeWifi", 920 + "HasMetro", 921 + "HasPool", 922 + "HasMall" 923 + ], 924 + "mealPlans": [ 925 + "RO", 926 + "BB", 927 + "HB", 928 + "FB", 929 + "AL" 930 + ] 931 +} 932 +{{/code}} 933 + 934 + 935 + 936 +== Important == 937 + 938 +{{error}} 939 +It's Important to in every other request header, put Auth token 940 + 941 +**Key **- Authorization 942 + 943 +**Value **- Bearer Token what is given in this response. 944 + 945 + 946 +**also note in headers that:** 947 + 948 +Content-Type - application/json 949 + 950 +**Key - **X-nugios-timezone 951 + 952 +**Value **- 240 953 +{{/error}}