Code Monkey home page Code Monkey logo

developer-guides's Introduction

Developer Guides

This repository hosts the developer documentation for Amadeus for Developers, offering a comprehensive guide for developers seeking to work with Amadeus Self-Service APIs.

The documentation contains information such as:

  • โœ…Code examples that you can copy and paste to build
  • ๐Ÿ“API Tutorials to explain functionalities and use-cases per API category
  • ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ปDeveloper Tools and ๐Ÿ“ฑPrototypes (Demo Apps) for you to use and refer to
  • Quick start, Test Data Collection, FAQ and more

You can access the documentation โญ๏ธHere

Contributing

Want to contribute? Read our Contributors guide for more information.

developer-guides's People

Contributors

alnacle avatar anthonyroux avatar cpearrow avatar dependabot[bot] avatar gabbor avatar jabrena avatar jordan-gillard avatar minjikarin avatar nicoongit avatar samheyman avatar tsolakoua avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

developer-guides's Issues

Remove category Travel Safety

Remove the category Travel Safety and move the Safe Place API in the category "Destination Experiences" in all the references, such as API tutorials and test data collection.

/shopping/flight-offers/pricing is returning http 500

I am posting the following payload:

{ "data": { "type": "flight-offers-pricing", "flightOffers": [ { "id": "1", "type": "flight-offer", "source": "GDS", "instantTicketingRequired": false, "nonHomogeneous": false, "oneWay": false, "lastTicketingDate": "2020-05-27T00:00:00", "numberOfBookableSeats": 2, "itineraries": [ { "duration": "PT17H5M", "segments": [ { "id": "6", "number": "6", "departure": { "iataCode": "LHR", "terminal": "4", "at": "2020-05-27T22:05:00" }, "arrival": { "iataCode": "BAH", "at": "2020-05-28T06:50:00" }, "operating": { "carrierCode": "GF" }, "aircraft": { "code": "789" }, "duration": "PT6H45M", "carrierCode": "GF", "numberOfStops": 0, "blacklistedInEU": false }, { "id": "7", "number": "508", "departure": { "iataCode": "BAH", "at": "2020-05-28T15:45:00" }, "arrival": { "iataCode": "DXB", "terminal": "1", "at": "2020-05-28T18:10:00" }, "operating": { "carrierCode": "GF" }, "aircraft": { "code": "320" }, "duration": "PT1H25M", "carrierCode": "GF", "numberOfStops": 0, "blacklistedInEU": false } ] }, { "duration": "PT10H20M", "segments": [ { "id": "16", "number": "501", "departure": { "iataCode": "DXB", "terminal": "1", "at": "2020-05-30T08:00:00" }, "arrival": { "iataCode": "BAH", "at": "2020-05-30T08:15:00" }, "operating": { "carrierCode": "GF" }, "aircraft": { "code": "320" }, "duration": "PT1H15M", "carrierCode": "GF", "numberOfStops": 0, "blacklistedInEU": false }, { "id": "17", "number": "3", "departure": { "iataCode": "BAH", "at": "2020-05-30T10:05:00" }, "arrival": { "iataCode": "LHR", "terminal": "4", "at": "2020-05-30T15:20:00" }, "operating": { "carrierCode": "GF" }, "aircraft": { "code": "789" }, "duration": "PT7H15M", "carrierCode": "GF", "numberOfStops": 0, "blacklistedInEU": false } ] } ], "price": { "currency": "EUR", "total": "822.66", "base": "204.00", "fees": [ { "type": "SUPPLIER", "amount": "0.00" }, { "type": "TICKETING", "amount": "0.00" } ], "grandTotal": "822.66" }, "pricingOptions": { "fareType": [ "PUBLISHED" ], "includedCheckedBagsOnly": true }, "validatingAirlineCodes": [ "GF" ], "travelerPricings": [ { "travelerId": "1", "fareOption": "STANDARD", "travelerType": "ADULT", "price": { "currency": "EUR", "total": "411.33", "base": "102.00" }, "fareDetailsBySegment": [ { "segmentId": "6", "cabin": "ECONOMY", "fareBasis": "W9WUK4A", "class": "W", "includedCheckedBags": { "quantity": 1 } }, { "segmentId": "7", "cabin": "ECONOMY", "fareBasis": "W9WUK4A", "class": "W", "includedCheckedBags": { "quantity": 1 } }, { "segmentId": "16", "cabin": "ECONOMY", "fareBasis": "S9WUK4A", "class": "S", "includedCheckedBags": { "quantity": 1 } }, { "segmentId": "17", "cabin": "ECONOMY", "fareBasis": "S9WUK4A", "class": "S", "includedCheckedBags": { "quantity": 1 } } ] }, { "travelerId": "2", "fareOption": "STANDARD", "travelerType": "ADULT", "price": { "currency": "EUR", "total": "411.33", "base": "102.00" }, "fareDetailsBySegment": [ { "segmentId": "6", "cabin": "ECONOMY", "fareBasis": "W9WUK4A", "class": "W", "includedCheckedBags": { "quantity": 1 } }, { "segmentId": "7", "cabin": "ECONOMY", "fareBasis": "W9WUK4A", "class": "W", "includedCheckedBags": { "quantity": 1 } }, { "segmentId": "16", "cabin": "ECONOMY", "fareBasis": "S9WUK4A", "class": "S", "includedCheckedBags": { "quantity": 1 } }, { "segmentId": "17", "cabin": "ECONOMY", "fareBasis": "S9WUK4A", "class": "S", "includedCheckedBags": { "quantity": 1 } } ] } ] } ] } }

And it is returning:

{ "errors": [ { "code": "38189", "title": "Internal error", "detail": "An internal error occurred, please contact your administrator", "status": "500" } ] }

How to add traveller count for adult and child

Hi @tsolakoua How can I pass travelers count dynamically

{
"currencyCode": "USD",
"originDestinations": [
  {
    "id": "1",
    "originLocationCode": "JFK",
    "destinationLocationCode": "LHR",
    "departureDateTimeRange": {
      "date": "2022-03-01",
      "time": "10:00:00"
    },
  },
  {
    "id": "2",
    "originLocationCode": "LHR",
    "destinationLocationCode": "JFK",
    "departureDateTimeRange": {
      "date": "2022-03-05",
      "time": "17:00:00"
    }
  }
],
"travelers": [
  {
    "id": "1"
    "travelerType": "ADULT"
  },
  {
    "id": "2"
    "travelerType": "ADULT"
  }
],
"sources": [
  "GDS"
],
"searchCriteria": {
  "maxFlightOffers": 1,
  "flightFilters": {
     "connectionRestriction": {
              "maxNumberOfConnections": 0
            },
    "cabinRestrictions": [
      {
        "cabin": "BUSINESS",
        "coverage": "ALL_SEGMENTS",
        "originDestinationIds": [
          "1"
        ]
      }
    ]
  }
}
}

Glossary with travel terms

  • Fare: the price of a ticket for a particular flight or travel itinerary
  • Booking: the process of reserving a seat on a flight or a room in a hotel
  • Ticketing: The process of issuing a travel document, typically a paper or electronic ticket, that confirms that a passenger has purchased a seat on a flight, train, bus, or other form of transportation.
  • Baggage allowance: the amount of luggage that a passenger is allowed to carry on a flight without additional charges
  • Additional Baggage: Luggage beyond the standard allowance provided by an airline, subject to additional fees.
  • Fare Rules: The terms and conditions that apply to a specific airline ticket or fare, including restrictions and information on refunds, cancellations, changes, baggage, seat assignments, upgrades, and frequent flyer programs.
  • Direct flight: a flight that goes from one destination to another without any stops in between
  • Layover: a stopover in a destination en route to the final destination
  • Non-stop flight: a flight that goes from one destination to another without any stops in between
  • Round-trip: a trip that includes travel to a destination and then back to the original departure point
  • Multi-stop flight: a flight itinerary that includes stops at multiple destinations before reaching the final destination
  • GDS (Global Distribution System): a computerized system used by travel agents and airlines to search for and book flights, hotels, rental cars, and other travel-related services
  • PNR (Passenger Name Record): a record in a computer reservation system that contains the details of a passenger's itinerary and contact information
  • Airline consolidators: are wholesalers of air tickets that usually partner with airlines to get negotiated rates for air tickets, and then resell the air tickets to travel agents or consumers.
  • Cabin: The section of an aircraft or train where passengers sit during their trip. It is divided into different classes, such as first class, business class, and economy class, each one with different amenities and prices.
  • Seatmap: A map or diagram of the seating layout in the cabin of an aircraft or train. It shows the location of different types of seats, such as exit row, bulkhead seat, aisle seat, window seat. It can be used to choose a seat or to see the availability of seats for a certain flight.
  • Ticketing: The process of issuing a travel document, typically a paper or electronic ticket, that confirms that a passenger has purchased a seat on a flight, train, bus, or other form of transportation. It can be refundable or non-refundable, one-way or round-trip, and open-jaw.
  • Amenities: Additional services or features offered to enhance the experience of the passengers, such as food, entertainment, Wi-Fi, extra legroom, baggage allowance, frequent flyer programs, and lounge access. They can vary depending on the class of service and the airline/train company.
  • Travel Classes: Differentiation of service level and amenities offered to passengers on an aircraft or train, like first class, business class, economy class.
  • Commission: Fee paid to intermediaries for booking travel-related services, usually a percentage of the total cost.
  • Amadeus Office ID: An identification number assigned to travel agencies to access Amadeus system and book reservations.
  • Pricing: The process of determining the cost of a product or service, in the context of travel it refers to the cost of airline tickets, hotel rooms, rental cars, etc. which can change frequently based on demand and other factors.

HTTP Error 500

Hello. I'm using POI API to create an app, and everything worked fine yesterday. Today I'm not able to make API calls anywhere seemingly. I've tried using the curl command in a terminal, the API Explorer from the Docs page, and launching the app on a physical phone and an emulator. I just get the error mentioned in the title. Is there somewhere it's possible to view the status of the APIs, and whether they're up or not? Thanks.

Token expire too early

test_api
Figure 1. Laravel sample codes

response-edited
Figure 2. Respond for Access Granted Client Credentials

{ "errors": [ { "code": 38190, "title": "Invalid access token", "detail": "The access token provided in the Authorization header is invalid", "status": 401 } ] }

I am trying to use Amadeus APIs in laravel (PHP framework), but whenever I obtain the access_token for example in Figure 2 and use it, it produces the error above.
I tried the same information (credentials) in the postman everything works fine.
So I am wondering if the problem is my implementation in Figure 1 or something else.
I attach sample codes in Figure 1 that I used to test APIs.

Hotel Search v3 multiple rooms pricing

When a user search for several rooms, the price returned is per room. That means that the developer will need to calculate the final price. We need to also add it in the guides, such as "The current version of the Hotel Search API returns the price per room. To get the total price of a reservation for multiple rooms, you must multiply the price by roomQuantity. "

Question: nearest airport service fails on certain locations?

For some locations, the Airport Nearest Relevant service seems to return an empty list. For example, I'm trying to make this request work:

https://test.api.amadeus.com/v1/reference-data/locations/airports?latitude=33.929524&longitude=-4.981168&radius=50&page[limit]=10&page[offset]=0&sort=relevance

The location is somewhere inside Fรจs airport (FEZ), but the request returns no result:

Status: 200 OK

{
  "meta": {
    "count": 0,
    "links": {
      "self": "https://test.api.amadeus.com/v1/reference-data/locations/airports?latitude=33.929524&longitude=-4.981168&radius=50&sort=relevance&page%5Boffset%5D=0&page%5Blimit%5D=10"
    }
  },
  "data": []
}

I also tried to get the airport info to see if the location I have is wrong, I used this request:

https://test.api.amadeus.com/v1/reference-data/locations?subType=CITY&keyword=FEZ&page[limit]=10&page[offset]=0&sort=analytics.travelers.score&view=FULL

Which also outputs no result.

I've tried the same with other airports (for example Nantes airport NTE) with similar outcomes.

Is there something wrong in these request? And if nothing is wrong, how can I retrieve these airport codes?

Internal error "code": 38189,

"code": 38189,
"title": "Internal error",
"detail": "An internal error occurred, please contact your administrator",
"status": 500
}

Update test collection

The categories of developers.amadeus.com have now changed. We need to update the test data collection page accordingly.

Question: Too many requests (code 38194)

When calling https://test.api.amadeus.com/v1/reference-data/locations/airports I often end up with the following error.

{
  "errors": [
    {
      "code": "38194",
      "title": "Too many requests",
      "detail": "The network rate limit is exceeded, please try again later",
      "status": "429"
    }
  ]
}

The occurrence of the error seems a bit random to me. Sometimes it shows, but a few seconds after it will not, then it will happen again.

My test is the following: I launch 6 asynchronous requests (more or less simultaneously) then I wait for all 6 answers to come back. I've looked a bit at the python SDK and I noticed that you do everything in a synchronous way, is that the reason? Or is it possible to achieve what I'm trying to do? Is there a place where all error code are available to us?

Co2 emission info to be added in FAQ section

''Do you provide Co2 emission?
You can return Co2 emissions for a flight only after booking it. The information will be included in the response of Flight Create Orders API.''

Answer should be:
''You can return Co2 emission in the Flight Offers Price response when you are validating the price and available, or after the booking step in the Flight Create Orders response.''

Amadeus - Retrieve Time limit

Can anyone guide me how I can retrieve the time limit by the airline. I am getting the date of travel presently as the time limit. I am searching thru pnr_retrieve and unable to find it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.