You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
3 days ago | |
|---|---|---|
| .idea | 3 days ago | |
| src | 3 days ago | |
| .gitignore | 3 days ago | |
| List of supported endpoints.txt | 3 days ago | |
| README.md | 3 days ago | |
| debug.log | 3 days ago | |
| pom.xml | 3 days ago | |
README.md
旅游 API 项目
本项目演示了如何使用 Amadeus 旅游 API 访问各种与旅游相关的端点。
目录
项目概述
本项目提供了如何使用 Amadeus 旅游 API 执行各种与旅游相关操作的示例,例如搜索航班、酒店、景点等。
参考地址:
https://github.com/amadeus4dev/amadeus-java
接口地址
https://developers.amadeus.com/self-service/apis-docs/guides/developer-guides/resources/hotels/
机场地址查询
https://www.iata.org/en/publications/directories/code-search/?airport.search=WUH
接口列表 参考github
// Flight Inspiration Search
FlightDestination[] flightDestinations = amadeus.shopping.flightDestinations.get(Params
.with("origin", "MAD"));
// Flight Cheapest Date Search
FlightDate[] flightDates = amadeus.shopping.flightDates.get(Params
.with("origin", "MAD")
.and("destination", "MUC"));
// Flight Offers Search v2 GET
FlightOfferSearch[] flightOffersSearches = amadeus.shopping.flightOffersSearch.get(
Params.with("originLocationCode", "SYD")
.and("destinationLocationCode", "BKK")
.and("departureDate", "2023-11-01")
.and("returnDate", "2023-11-08")
.and("adults", 2)
.and("max", 3));
// Flight Offers Search v2 POST
// body can be a String version of your JSON or a JsonObject
FlightOfferSearch[] flightOffersSearches = amadeus.shopping.flightOffersSearch.post(body);
// Flight Order Management
// The flightOrderID comes from the Flight Create Orders (in test environment it's temporary)
// Retrieve a flight order
FlightOrder order = amadeus.booking.flightOrder("eJzTd9f3NjIJdzUGAAp%2fAiY=").get();
// Cancel a flight order
Response order = amadeus.booking.flightOrder("eJzTd9f3NjIJdzUGAAp%2fAiY=").delete();
// Flight Offers price
FlightPrice[] flightPricing = amadeus.shopping.flightOffersSearch.pricing.post(
body,
Params.with("include", "other-services")
.and("forceClass", "false"));
// Flight Choice Prediction
// Note that the example calls 2 APIs: Flight Offers Search & Flight Choice Prediction
FlightOfferSearch[] flightOffers = amadeus.shopping.flightOffersSearch.get(
Params.with("originLocationCode", "NYC")
.and("destinationLocationCode", "MAD")
.and("departureDate", "2024-04-01")
.and("returnDate", "2024-04-08")
.and("adults", 1));
// Using a JSonObject
JsonObject result = flightOffers[0].getResponse().getResult();
FlightOfferSearch[] flightOffersPrediction = amadeus.shopping.flightOffers.prediction.post(result);
// Using a String
String body = flightOffers[0].getResponse().getBody();
FlightOfferSearch[] flightOffersPrediction = amadeus.shopping.flightOffers.prediction.post(body);
// Flight Check-in Links
CheckinLink[] checkinLinks = amadeus.referenceData.urls.checkinLinks.get(Params
.with("airlineCode", "BA"));
// Airline Code LookUp
Airline[] airlines = amadeus.referenceData.airlines.get(Params
.with("airlineCodes", "BA"));
// Airport & City Search (autocomplete)
// Find all the cities and airports starting by the keyword 'LON'
Location[] locations = amadeus.referenceData.locations.get(Params
.with("keyword", "LON")
.and("subType", Locations.ANY));
// Get a specific city or airport based on its id
Location location = amadeus.referenceData
.location("ALHR").get();
// Airport Nearest Relevant (for London)
Location[] locations = amadeus.referenceData.locations.airports.get(Params
.with("latitude", 0.1278)
.and("longitude", 51.5074));
// City Search
City[] cities = amadeus.referenceData.locations.cities.get(Params
.with("keyword","PARIS"));
// Flight Most Booked Destinations
AirTraffic[] airTraffics = amadeus.travel.analytics.airTraffic.booked.get(Params
.with("originCityCode", "MAD")
.and("period", "2017-08"));
// Flight Most Traveled Destinations
AirTraffic[] airTraffics = amadeus.travel.analytics.airTraffic.traveled.get(Params
.with("originCityCode", "MAD")
.and("period", "2017-01"));
// Flight Busiest Traveling Period
Period[] busiestPeriods = amadeus.travel.analytics.airTraffic.busiestPeriod.get(Params
.with("cityCode", "MAD")
.and("period", "2017")
.and("direction", BusiestPeriod.ARRIVING));
// Points of Interest
// What are the popular places in Barcelona (based a geo location and a radius)
PointOfInterest[] pointsOfInterest = amadeus.referenceData.locations.pointsOfInterest.get(Params
.with("latitude", "41.39715")
.and("longitude", "2.160873"));
// What are the popular places in Barcelona? (based on a square)
PointOfInterest[] pointsOfInterest = amadeus.referenceData.locations.pointsOfInterest.bySquare.get(Params
.with("north", "41.397158")
.and("west", "2.160873")
.and("south", "41.394582")
.and("east", "2.177181"));
// Returns a single Point of Interest from a given id
PointOfInterest pointOfInterest = amadeus.referenceData.locations.pointOfInterest("9CB40CB5D0").get();
// Tours and Activities
// What are the popular activities in Barcelona (based a geo location and a radius)
Activity[] activities = amadeus.shopping.activities.get(Params
.with("latitude", "41.39715")
.and("longitude", "2.160873"));
// What are the popular activities in Barcelona? (based on a square)
Activity[] activities = amadeus.shopping.activities.bySquare.get(Params
.with("north", "41.397158")
.and("west", "2.160873")
.and("south", "41.394582")
.and("east", "2.177181"));
// Returns a single activity from a given id
Activity activity = amadeus.shopping.activity("4615").get();
// What's the likelihood flights from this airport will leave on time?
Prediction AirportOnTime = amadeus.airport.predictions.onTime.get(Params
.with("airportCode", "NCE")
.and("date", "2024-04-01"));
// What's the likelihood of a given flight to be delayed?
Prediction[] flightDelay = amadeus.travel.predictions.flightDelay.get(Params
.with("originLocationCode", "NCE")
.and("destinationLocationCode", "IST")
.and("departureDate", "2020-08-01")
.and("departureTime", "18:20:00")
.and("arrivalDate", "2020-08-01")
.and("arrivalTime", "22:15:00")
.and("aircraftCode", "321")
.and("carrierCode", "TK")
.and("flightNumber", "1816")
.and("duration", "PT31H10M"));
// Flight Create Orders to book a flight
// Using a JSonObject or String
FlightOrder createdOrder = amadeus.booking.flightOrders.post(body);
// Using a JsonObject for flight offer and Traveler[] as traveler information
// see example at src/main/java/examples/flight/createorders/FlightCreateOrders.java
FlightOrder createdOrder = amadeus.booking.flightOrders.post(flightOffersSearches, travelerArray);
// What is the the seat map of a given flight?
SeatMap[] seatmap = amadeus.shopping.seatMaps.get(Params
.with("flight-orderId", "eJzTd9f3NjIJdzUGAAp%2fAiY="));
// What is the the seat map of a given flight?
// The body can be a String version of your JSON or a JsonObject
SeatMap[] seatmap = amadeus.shopping.seatMaps.post(body);
// Trip Purpose Prediction
Prediction tripPurpose = amadeus.travel.predictions.tripPurpose.get(Params
.with("originLocationCode", "NYC")
.and("destinationLocationCode", "MAD")
.and("departureDate", "2024-04-01")
.and("returnDate", "2024-04-08"));
// Travel Recommendations
Location destinations = amadeus.referenceData.recommendedLocations.get(Params
.with("cityCodes", "PAR")
.and("travelerCountryCode", "FR"));
// On Demand Flight Status
DatedFlight[] flightStatus = amadeus.schedule.flights.get(Params
.with("carrierCode", "AZ")
.and("flightNumber", "319")
.and("scheduledDepartureDate", "2024-03-13"));
// Flight Price Analysis
ItineraryPriceMetric[] metrics = amadeus.analytics.itineraryPriceMetrics.get(Params
.with("originIataCode", "MAD")
.and("destinationIataCode", "CDG")
.and("departureDate", "2024-03-21"));
// Airport Routes
Destination[] directDestinations = amadeus.airport.directDestinations.get(Params
.with("departureAirportCode","MAD")
.and("max","2"));
// Flight Availabilites Search POST
// body can be a String version of your JSON or a JsonObject
FlightAvailability[] flightAvailabilities
= amadeus.shopping.availability.flightAvailabilities.post(body);
// Location Score GET
ScoredLocation[] scoredLocations
= amadeus.location.analytics.categoryRatedAreas.get(Params
.with("latitude", "41.397158")
.and("longitude", "2.160873"));
// Branded Fares Upsell Post
// body can be a String version of your JSON or a JsonObject
FlightOfferSearch[] upsellFlightOffers
= amadeus.shopping.flightOffers.upselling.post(body);
// Hotel List
// Get list of hotels by hotel id
Hotel[] hotels = amadeus.referenceData.locations.hotels.byHotels.get(Params
.with("hotelIds", "ADPAR001"));
// Get list of hotels by city code
Hotel[] hotels = amadeus.referenceData.locations.hotels.byCity.get(Params
.with("cityCode", "PAR"));
// Get list of hotels by a geocode
Hotel[] hotels = amadeus.referenceData.locations.hotels.byGeocode.get(Params
.with("longitude", 2.160873)
.and("latitude", 41.397158));
// Hotel autocomplete names
Hotel[] result = amadeus.referenceData.locations.hotel.get(Params
.with("keyword", "PARI")
.and("subType", "HOTEL_GDS")
.and("countryCode", "FR")
.and("lang", "EN")
.and("max", "20"));
// Hotel Offers Search API v3
// Get multiple hotel offers
HotelOfferSearch[] offers = amadeus.shopping.hotelOffersSearch.get(Params
.with("hotelIds", "MCLONGHM")
.and("adults", 1)
.and("checkInDate", "2023-11-22")
.and("roomQuantity", 1)
.and("paymentPolicy", "NONE")
.and("bestRateOnly", true));
// Get hotel offer pricing by offer id
HotelOfferSearch offer = amadeus.shopping.hotelOfferSearch("QF3MNOBDQ8").get();
// Hotel Booking
// The body can be a String version of your JSON or a JsonObject
HotelBooking[] hotel = amadeus.booking.hotelBookings.post(body);
// Hotel Booking v2
HotelOrder hotel = amadeus.booking.hotelOrders.post(body);
// Hotel Ratings / Sentiments
HotelSentiment[] hotelSentiments = amadeus.ereputation.hotelSentiments.get(Params.with("hotelIds", "ELONMFS,ADNYCCTB"));
// Airline Routes
// Get airline destinations
Destination[] destinations = amadeus.airline.destinations.get(Params
.with("airlineCode", "BA")
.and("max", 2));
// Transfer Search
TransferOffersPost[] transfers = amadeus.shopping.transferOffers.post(body);
// Transfer Booking
TransferOrder transfers = amadeus.ordering.transferOrders.post(body, params);
// Transfer Management
TransferCancellation transfers = amadeus.ordering.transferOrder("123456").transfers.cancellation.post(params);