Changes for page 1. SearchTourPackages
Last modified by Giorgi Mdivnishvili on 2025/02/12 15:25
From version 11.1
edited by Giorgi Mdivnishvili
on 2023/12/15 12:22
on 2023/12/15 12:22
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,13 +6,15 @@ 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 -[[https:~~/~~/ online-api.kazunion.com/api/TourPackages/SearchTourPackages>>https://online-api.kazunion.com/api/TourPackages/SearchTourPackages]]17 +[[https:~~/~~/integration.kazunion.com/api/TourPackages/SearchTourPackages>>https://integration.kazunion.com/api/TourPackages/SearchTourPackages]] 16 16 {{/info}} 17 17 18 18 == Request Parameters == ... ... @@ -40,13 +40,13 @@ 40 40 "tag": "string" 41 41 } 42 42 ], 43 - "checkInDate": "2023-12-14 T13:43:54.766Z",44 - "checkInDateTo": "2023-12-14 T13:43:54.766Z",45 - "checkOutDate": "2023-12-14 T13:43:54.766Z",45 + "checkInDate": "2023-12-14", 46 + "checkInDateTo": "2023-12-14", 47 + "checkOutDate": "2023-12-14", 46 46 "stayDays": 0, 47 47 "stayDaysTo": 0, 48 - "departureDate": "2023-12-14 T13:43:54.766Z",49 - "returnDate": "2023-12-14 T13:43:54.766Z",50 + "departureDate": "2023-12-14", 51 + "returnDate": "2023-12-14", 50 50 "airlineCode": "string", 51 51 "ticketType": "string", 52 52 "directFlightsOnly": true, ... ... @@ -85,6 +85,65 @@ 85 85 {{/code}} 86 86 87 87 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 + 88 88 == Response Body == 89 89 90 90 {{code language="json"}} ... ... @@ -264,271 +264,629 @@ 264 264 {{/code}} 265 265 266 266 267 -== =example ===328 +== Response example == 268 268 269 269 {{code language="Json"}} 270 -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 +} 271 271 {{/code}} 272 272 273 273 274 274 === Schema === 275 275 276 -{{c odelanguage="none"}}483 +{{success}} 277 277 SearchTourPackagesResponse{ 278 -error boolean 279 -errorCode string 280 -nullable: true 281 -errorDescription string 282 -nullable: true 283 -userErrorDescription string 284 -nullable: true 285 -packages [ 286 -nullable: true 287 -TourPackage{ 288 -cacheKey string 289 -nullable: true 290 -id string 291 -nullable: true 292 -priceCurrency string 293 -nullable: true 294 -totalPrice number($double) 295 -agentCommissionPercent number($double) 296 -agentCommissionAmount number($double) 297 -includedExtrasAmount number($double) 298 -priceDifference number($double) 299 -hotel PackageHotel{ 300 -hotelPriceId string 301 -nullable: true 302 -providerId integer($int32) 303 -hotelName string 304 -nullable: true 305 -hotelCode string 306 -nullable: true 307 -nigths integer($int32) 308 -mealPlan string 309 -nullable: true 310 -hotelClass string 311 -nullable: true 312 -availabilityType RoomAvailabilityTypeEnum[...] 313 -availableRoomsCount integer($int32) 314 -fewRooms boolean 315 -roomCategoryCode string 316 -nullable: true 317 -roomCategoryName string 318 -nullable: true 319 -placementTypeName string 320 -nullable: true 321 -placementDescription string 322 -nullable: true 323 -checkInDate string($date-time) 324 -checkOutDate string($date-time) 325 -adults integer($int32) 326 -children integer($int32) 327 -districtUID string($uuid) 328 -nullable: true 329 -districtName string 330 -nullable: true 331 -cityUID string($uuid) 332 -nullable: true 333 -cityName string 334 -nullable: true 335 -countryCode string 336 -nullable: true 337 -countryName string 338 -nullable: true 339 -hasAlcohol boolean 340 -hasFreeWifi boolean 341 -hasMetro boolean 342 -hasPool boolean 343 -hasMall boolean 344 -cancellationPolicyDescription string 345 -nullable: true 346 -cancellationPolicy CancellationPolicyExchange{ 347 -cancellationPolicyCode string 348 -nullable: true 349 -noShowChargeValue number($double) 350 -nullable: true 351 -noShowChargeValueType string 352 -nullable: true 353 -earlyDepartureChargeValue number($double) 354 -nullable: true 355 -earlyDepartureChargeValueType string 356 -nullable: true 357 -conditions [ 358 -nullable: true 359 -CancellationPolicyConditionExchange{ 360 -timeunits integer($int32) 361 -timeunitType string 362 -nullable: true 363 -timeOffsetTypeName string 364 -nullable: true 365 -chargeValue number($double) 366 -nullable: true 367 -chargeValueType string 368 -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 + 369 369 }] 578 +))) 579 + 370 370 } 581 +))) 582 + 371 371 } 372 -flight PackageFlight{ 373 -id string 374 -nullable: true 375 -departureDate string($date-time) 376 -returnDate string($date-time) 377 -nullable: true 378 -departureTicketsLeft integer($int32) 379 -returnTicketsLeft integer($int32) 380 -departureAvailabilityType FlightAvailabilityTypestring 381 -Enum: 382 -[ OnRequest, FreeSale, FewPlaces, StopSale ] 383 -returnAvailabilityType FlightAvailabilityTypestring 384 -Enum: 385 -[ OnRequest, FreeSale, FewPlaces, StopSale ] 386 -isTwoWay boolean 387 -departureSegments [ 388 -nullable: true 389 -FlightSegment{ 390 -airlineCode string 391 -nullable: true 392 -airlineName string 393 -nullable: true 394 -flightCode string 395 -nullable: true 396 -class string 397 -nullable: true 398 -lugageWeight number($double) 399 -handLugageWeight number($double) 400 -departureFlightDate string($date-time) 401 -departureCountryName string 402 -nullable: true 403 -departureCityName string 404 -nullable: true 405 -departureAirportCode string 406 -nullable: true 407 -departureAirportName string 408 -nullable: true 409 -departureTerminalCode string 410 -nullable: true 411 -arrivalFlightDate string($date-time) 412 -arrivalCountryName string 413 -nullable: true 414 -arrivalCityName string 415 -nullable: true 416 -arrivalAirportCode string 417 -nullable: true 418 -arrivalAirportName string 419 -nullable: true 420 -arrivalTerminalCode string 421 -nullable: true 422 -flightDuration string 423 -nullable: true 424 -baggages [ 425 -nullable: true 426 -Baggage{ 427 -baggageCode string 428 -nullable: true 429 -description string 430 -nullable: true 431 -price number($double) 432 -currency string 433 -nullable: true 434 -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 + 435 435 }] 646 +))) 647 + 436 436 }] 437 - returnSegments [438 - nullable:true439 -FlightSegment{ 440 -airlineCode 441 -nullable: 442 -airlineName 443 -nullable: 444 -flightCode 445 -nullable: 446 -class 447 -nullable: 448 -lugageWeight 449 -handLugageWeight 450 -departureFlightDate 451 -departureCountryName 452 -nullable: 453 -departureCityName 454 -nullable: 455 -departureAirportCode 456 -nullable: 457 -departureAirportName 458 -nullable: 459 -departureTerminalCode 460 -nullable: 461 -arrivalFlightDate 462 -arrivalCountryName 463 -nullable: 464 -arrivalCityName 465 -nullable: 466 -arrivalAirportCode 467 -nullable: 468 -arrivalAirportName 469 -nullable: 470 -arrivalTerminalCode 471 -nullable: 472 -flightDuration 473 -nullable: 474 -baggages 475 -nullable: 476 - Baggage{477 - baggageCode string478 - nullable:true479 - description string480 -nu llable: true481 - price number($double)482 - currency string483 -n ullable: true484 - 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 + 485 485 }] 698 +))) 699 + 486 486 }] 701 +))) 702 + 487 487 } 488 - extraServices [489 - nullable:true490 -HotelExtraServiceBase{ 491 -extraServiceCode 492 -nullable: 493 -extraServiceTypeCode 494 -nullable: 495 -isMandatory 496 -extraServiceName 497 -nullable: 498 -minimalServiceAmount 499 -includedPriceCode 500 -nullable: 501 -prices 502 -nullable: 503 - HotelExtraServicePriceBase{504 - extraServicePriceCode string505 - nullable:true506 - displayNamestring507 - nullable:true508 - restrictionInfo string509 -n ullable:true510 - additionalInfo string511 -nu llable: true512 - price513 - extraPriceumber($double)514 - currency string515 - 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 + 516 516 }] 733 +))) 734 + 517 517 }] 518 -insurancePrice InsurancePrice{ 519 -name string 520 -nullable: true 521 -price number($double) 522 -priceSurcarge number($double) 523 -actualStartDate string($date-time) 524 -actualEndDate string($date-time) 525 -optional boolean 526 -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 + 527 527 } 748 +))) 749 + 528 528 }] 529 -pagingId string 530 -nullable: true 531 -pageNumber integer($int64) 532 -pageCount integer($int64) 751 +))) 752 +|pagingId|string 753 +nullable: true 754 +|pageNumber|integer($int64) 755 +|pageCount|integer($int64) 756 + 533 533 } 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 + } 534 534 {{/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}}