{"files":{"SKILL.md":"---\nname: hotel-search-api\ndescription: \"Hotel Search API skill. Use when working with Hotel Search for shopping. Covers 2 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Hotel Search API\nAPI version: 3.0.9\n\n## Auth\nNo authentication required.\n\n## Base URL\nhttps://test.api.amadeus.com/v3\n\n## Setup\n1. No auth setup needed\n2. GET /shopping/hotel-offers -- getmultihoteloffers\n3. Explore available endpoints below\n\n## Endpoints\n2 endpoints across 1 group. See references/api-spec.lap for full details.\n\n### Shopping\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /shopping/hotel-offers | getMultiHotelOffers |\n| GET | /shopping/hotel-offers/{offerId} | getOfferPricing |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all hotel-offers?\" -> GET /shopping/hotel-offers\n- \"Get hotel-offer details?\" -> GET /shopping/hotel-offers/{offerId}\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Error responses include status codes and descriptions in the spec\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Hotel Search API\n@base https://test.api.amadeus.com/v3\n@version 3.0.9\n@endpoints 2\n@toc shopping(2)\n\n@endpoint GET /shopping/hotel-offers\n@desc getMultiHotelOffers\n@required {hotelIds: any # Amadeus property codes on 8 chars. Mandatory parameter for a search by predefined list of hotels.}\n@optional {adults: any # Number of adult guests (1-9) per room., checkInDate: any # Check-in date of the stay (hotel local date). Format YYYY-MM-DD. The lowest accepted value is the present date (no dates in the past). If not present, the default value will be today's date in the GMT time zone., checkOutDate: any # Check-out date of the stay (hotel local date). Format YYYY-MM-DD. The lowest accepted value is checkInDate+1. If not present, it will default to checkInDate +1., countryOfResidence: any # Code of the country of residence of the traveler expressed using ISO 3166-1 format., roomQuantity: any # Number of rooms requested (1-9)., priceRange: any # Filter hotel offers by price per night interval (ex: 200-300 or -300 or 100). It is mandatory to include a currency when this field is set., currency: any # Use this parameter to request a specific currency. ISO currency code (http://www.iso.org/iso/home/standards/currency_codes.htm). If a hotel does not support the requested currency, the prices for the hotel will be returned in the local currency of the hotel., paymentPolicy: any # Filter the response based on a specific payment type. NONE means all types (default)., boardType: any # Filter response based on available meals:         * ROOM_ONLY = Room Only         * BREAKFAST = Breakfast         * HALF_BOARD = Diner & Breakfast (only for Aggregators)         * FULL_BOARD = Full Board (only for Aggregators)         * ALL_INCLUSIVE = All Inclusive (only for Aggregators), includeClosed: any # Show all properties (include sold out) or available only. For sold out properties, please check availability on other dates., bestRateOnly: any # Used to return only the cheapest offer per hotel or all available offers., lang: any # Requested language of descriptive texts.  Examples: FR , fr , fr-FR. If a language is not available the text will be returned in english. ISO language code (https://www.iso.org/iso-639-language-codes.html).}\n@returns(200) OK\n@errors {400: Bad request:  | Code | Title  | |-----|-----| | 23   | PASSENGER TYPE NOT SUPPORTED   | | 61 | INVALID CURRENCY CODE| | 137 | INVALID ADULTS OCCUPANCY REQUESTED| | 145 | DURATION PERIOD OR DATES INCORRECT| | 195 | SERVICE RESTRICTION| | 249 | INVALID RATE CODE| | 377 | MAX STAY DURATION IS EXCEEDED| | 381 | INVALID CHECK-IN DATE| | 382 | INVALID CHECK-OUT DATE| | 383 | INVALID CITY CODE| | 392 | INVALID HOTEL CODE| | 397 | INVALID NUMBER OF ADULTS| | 400 | INVALID PROPERTY CODE| | 404 | CHECK_OUT DATE MUST BE FURTHER IN THE FUTURE THAN CHECK-IN DATE| | 424 | NO HOTELS FOUND WHICH MATCH THIS INPUT| | 431 | CHECK-OUT DATE IS TOO FAR IN THE FUTURE THAN CHECK-IN DATE| | 424 | NO HOTELS FOUND WHICH MATCH THIS INPUT| | 431 | CHECK-OUT DATE IS TOO FAR IN THE FUTURE| | 450 | INVALID PROVIDER RESPONSE| | 451 | INVALID CREDENTIALS| | 562 | RESTRICTED ACCESS FOR THE REQUESTED RATES AND CHAINS| | 784 | PROVIDER TIME OUT| | 790 | RATE SECURITY NOT LOADED|, 500: Internal server error.}\n\n@endpoint GET /shopping/hotel-offers/{offerId}\n@desc getOfferPricing\n@required {offerId: any # Unique identifier of an offer. Either the GDS booking code or the aggregator offerId with a limited lifetime.}\n@optional {lang: any # Requested language of descriptive texts.  Examples: FR , fr , fr-FR. If a language is not available the text will be returned in english. ISO language code (https://www.iso.org/iso-639-language-codes.html).}\n@returns(200) OK\n@errors {400: Bad Request: code| title ------- | ------------------------------------- 23 | PASSENGER TYPE NOT SUPPORTED 61 |INVALID CURRENCY CODE 137 | INVALID ADULTS OCCUPANCY REQUESTED 145 | DURATION PERIOD OR DATES INCORRECT 195 | SERVICE RESTRICTION 249 | INVALID RATE CODE 377 | MAX STAY DURATION IS EXCEEDED 381 | INVALID CHECK-IN DATE 382 | INVALID CHECK-OUT DATE 383 | INVALID CITY CODE 392 | INVALID HOTEL CODE 397 | INVALID NUMBER OF ADULTS 400 | INVALID PROPERTY CODE 402 | INVALID ROOM TYPE 404 | CHECK_OUT DATE MUST BE FURTHER IN THE FUTURE THAN CHECK-IN DATE 424 | NO HOTELS FOUND WHICH MATCH THIS INPUT 431 | CHECK-OUT DATE IS TOO FAR IN THE FUTURE 450 | INVALID PROVIDER RESPONSE 451 | INVALID CREDENTIAL 562 | RESTRICTED ACCESS FOR THE REQUESTED RATES AND CHAINS 784 | PROVIDER TIME OUT 790 | NO PROPERTIES FOUND WITHIN THIS RADIUS 795 | NO SIMILAR NAME FOUND, PLEASE ENLARGE YOUR SEARCH CRITERIA 842 | RATE SECURITY NOT LOADED, 404: Hotel or offer not found, 500: Internal server error.}\n\n@end\n"}}