All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amadeus.resources.HotelOffer Maven / Gradle / Ivy

package com.amadeus.resources;

import lombok.Getter;
import lombok.ToString;

/**
 * An HotelOffer object as returned by the HotelOffers API.
 * @see com.amadeus.shopping.HotelOffers#get()
 */
@ToString
public class HotelOffer extends Resource {
  protected HotelOffer() {}

  private @Getter String type;
  private @Getter Hotel hotel;
  private @Getter boolean available;
  private @Getter Offer[] offers;

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class Hotel {
    protected Hotel() {}

    private @Getter String type;
    private @Getter String hotelId;
    private @Getter String chainCode;
    private @Getter String brandCode;
    private @Getter String dupeId;
    private @Getter String name;
    private @Getter Integer rating;
    private @Getter TextWithLanguageType description;
    private @Getter String[] amenities;
    private @Getter MediaURI[] media;
    private @Getter String cityCode;
    private @Getter double latitude;
    private @Getter double longitude;
    private @Getter HotelDistance hotelDistance;
    private @Getter AddressType address;
    private @Getter HotelContact contact;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class Offer extends Resource {
    protected Offer() {}

    private @Getter String type;
    private @Getter String id;
    private @Getter Integer roomQuantity;
    private @Getter String rateCode;
    private @Getter RateFamily rateFamilyEstimated;
    private @Getter String category;
    private @Getter TextWithLanguageType description;
    private @Getter Commission commission;
    private @Getter String boardType;
    private @Getter RoomDetails room;
    private @Getter Guests guests;
    private @Getter HotelPrice price;
    private @Getter PolicyDetails policies;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class HotelDistance {
    protected HotelDistance() {}

    private @Getter String description;
    private @Getter double distance;
    private @Getter String distanceUnit;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class RateFamily {
    protected RateFamily() {}

    private @Getter String code;
    private @Getter String type;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class Commission {
    protected Commission() {}

    private @Getter String percentage;
    private @Getter String amount;
    private @Getter TextWithLanguageType description;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class RoomDetails {
    protected RoomDetails() {}

    private @Getter String type;
    private @Getter EstimatedRoomType typeEstimated;
    private @Getter TextWithLanguageType description;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class EstimatedRoomType {
    protected EstimatedRoomType() {}

    private @Getter String category;
    private @Getter Integer beds;
    private @Getter String bedType;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class HotelPrice {
    protected HotelPrice() {}

    private @Getter String currency;
    private @Getter String total;
    private @Getter String base;
    private @Getter HotelTax[] taxes;
    private @Getter PriceVariations variations;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class HotelTax {
    protected HotelTax() {}

    private @Getter String currency;
    private @Getter String amount;
    private @Getter String code;
    private @Getter String percentage;
    private @Getter boolean included;
    private @Getter String description;
    private @Getter String pricingFrequency;
    private @Getter String pricingMode;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class PriceVariations {
    protected PriceVariations() {}

    private @Getter BaseTotalAmount average;
    private @Getter PriceVariation[] changes;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class PriceVariation {
    protected PriceVariation() {}

    private @Getter String startDate;
    private @Getter String endDate;
    private @Getter String base;
    private @Getter String total;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class BaseTotalAmount {
    protected BaseTotalAmount() {}

    private @Getter String base;
    private @Getter String total;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class Guests {
    protected Guests() {}

    private @Getter Integer adults;
    private @Getter Integer[] childAges;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class TextWithLanguageType {
    protected TextWithLanguageType() {}

    private @Getter String lang;
    private @Getter String text;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class MediaURI {
    protected MediaURI() {}

    private @Getter String uri;
    private @Getter String category;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class AddressType {
    protected AddressType() {}

    private @Getter String[] lines;
    private @Getter String postalCode;
    private @Getter String cityName;
    private @Getter String countryCode;
    private @Getter String stateCode;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class HotelContact {
    protected HotelContact() {}

    private @Getter String phone;
    private @Getter String fax;
    private @Getter String email;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class PolicyDetails {
    protected PolicyDetails() {}

    private @Getter GuaranteePolicy guarantee;
    private @Getter GuaranteePolicy deposit;
    private @Getter GuaranteePolicy prepay;
    private @Getter GuaranteePolicy holdTime;
    private @Getter CancellationPolicy cancellation;
    private @Getter CheckInOutPolicy checkInOut;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class CheckInOutPolicy {

    protected CheckInOutPolicy() {}

    private @Getter String checkIn;
    private @Getter TextWithLanguageType checkInDescription;
    private @Getter String checkOut;
    private @Getter TextWithLanguageType checkOutDescription;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class GuaranteePolicy {
    protected GuaranteePolicy() {}

    private @Getter String amount;
    private @Getter String deadline;
    private @Getter TextWithLanguageType description;
    private @Getter PaymentPolicy acceptedPayments;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class CancellationPolicy {
    protected CancellationPolicy() {}

    private @Getter String type;
    private @Getter String amount;
    private @Getter Integer numberOfNights;
    private @Getter String percentage;
    private @Getter String deadline;
    private @Getter TextWithLanguageType description;
  }

  /**
   * An HotelOffer-related object as returned by the HotelOffers API.
   * @see com.amadeus.shopping.HotelOffers#get()
   */
  @ToString
  public class PaymentPolicy {
    protected PaymentPolicy() {}

    private @Getter String[] creditCards;
    private @Getter String method;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy