content: /*
   * Adyen Checkout API
   *
   * The version of the OpenAPI document: 71
   *
   *
   * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
   * https://openapi-generator.tech
   * Do not edit the class manually.
   */
  
  package com.adyen.model.checkout;
  
  import com.fasterxml.jackson.annotation.JsonInclude;
  import com.fasterxml.jackson.annotation.JsonProperty;
  import com.fasterxml.jackson.annotation.JsonPropertyOrder;
  import com.fasterxml.jackson.core.JsonProcessingException;
  import java.util.*;
  
  /** AdditionalDataAirline */
  @JsonPropertyOrder({
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_AGENCY_INVOICE_NUMBER,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_AGENCY_PLAN_NAME,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_AIRLINE_CODE,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_AIRLINE_DESIGNATOR_CODE,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_BOARDING_FEE,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_COMPUTERIZED_RESERVATION_SYSTEM,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_CUSTOMER_REFERENCE_NUMBER,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_DOCUMENT_TYPE,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_FLIGHT_DATE,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_ISSUE_DATE,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_LEG_CARRIER_CODE,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_LEG_CLASS_OF_TRAVEL,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_LEG_DATE_OF_TRAVEL,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_LEG_DEPART_AIRPORT,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_LEG_DEPART_TAX,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_LEG_DESTINATION_CODE,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_LEG_FARE_BASE_CODE,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_LEG_FLIGHT_NUMBER,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_LEG_STOP_OVER_CODE,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_PASSENGER_DATE_OF_BIRTH,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_PASSENGER_FIRST_NAME,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_PASSENGER_LAST_NAME,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_PASSENGER_PHONE_NUMBER,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_PASSENGER_TRAVELLER_TYPE,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_PASSENGER_NAME,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_TICKET_ISSUE_ADDRESS,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_TICKET_NUMBER,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_TRAVEL_AGENCY_CODE,
    AdditionalDataAirline.JSON_PROPERTY_AIRLINE_TRAVEL_AGENCY_NAME
  })
  public class AdditionalDataAirline {
    public static final String JSON_PROPERTY_AIRLINE_AGENCY_INVOICE_NUMBER =
        "airline.agency_invoice_number";
    private String airlineAgencyInvoiceNumber;
  
    public static final String JSON_PROPERTY_AIRLINE_AGENCY_PLAN_NAME = "airline.agency_plan_name";
    private String airlineAgencyPlanName;
  
    public static final String JSON_PROPERTY_AIRLINE_AIRLINE_CODE = "airline.airline_code";
    private String airlineAirlineCode;
  
    public static final String JSON_PROPERTY_AIRLINE_AIRLINE_DESIGNATOR_CODE =
        "airline.airline_designator_code";
    private String airlineAirlineDesignatorCode;
  
    public static final String JSON_PROPERTY_AIRLINE_BOARDING_FEE = "airline.boarding_fee";
    private String airlineBoardingFee;
  
    public static final String JSON_PROPERTY_AIRLINE_COMPUTERIZED_RESERVATION_SYSTEM =
        "airline.computerized_reservation_system";
    private String airlineComputerizedReservationSystem;
  
    public static final String JSON_PROPERTY_AIRLINE_CUSTOMER_REFERENCE_NUMBER =
        "airline.customer_reference_number";
    private String airlineCustomerReferenceNumber;
  
    public static final String JSON_PROPERTY_AIRLINE_DOCUMENT_TYPE = "airline.document_type";
    private String airlineDocumentType;
  
    public static final String JSON_PROPERTY_AIRLINE_FLIGHT_DATE = "airline.flight_date";
    private String airlineFlightDate;
  
    public static final String JSON_PROPERTY_AIRLINE_ISSUE_DATE = "airline.issue_date";
    private String airlineIssueDate;
  
    public static final String JSON_PROPERTY_AIRLINE_LEG_CARRIER_CODE = "airline.leg.carrier_code";
    private String airlineLegCarrierCode;
  
    public static final String JSON_PROPERTY_AIRLINE_LEG_CLASS_OF_TRAVEL =
        "airline.leg.class_of_travel";
    private String airlineLegClassOfTravel;
  
    public static final String JSON_PROPERTY_AIRLINE_LEG_DATE_OF_TRAVEL =
        "airline.leg.date_of_travel";
    private String airlineLegDateOfTravel;
  
    public static final String JSON_PROPERTY_AIRLINE_LEG_DEPART_AIRPORT =
        "airline.leg.depart_airport";
    private String airlineLegDepartAirport;
  
    public static final String JSON_PROPERTY_AIRLINE_LEG_DEPART_TAX = "airline.leg.depart_tax";
    private String airlineLegDepartTax;
  
    public static final String JSON_PROPERTY_AIRLINE_LEG_DESTINATION_CODE =
        "airline.leg.destination_code";
    private String airlineLegDestinationCode;
  
    public static final String JSON_PROPERTY_AIRLINE_LEG_FARE_BASE_CODE =
        "airline.leg.fare_base_code";
    private String airlineLegFareBaseCode;
  
    public static final String JSON_PROPERTY_AIRLINE_LEG_FLIGHT_NUMBER = "airline.leg.flight_number";
    private String airlineLegFlightNumber;
  
    public static final String JSON_PROPERTY_AIRLINE_LEG_STOP_OVER_CODE =
        "airline.leg.stop_over_code";
    private String airlineLegStopOverCode;
  
    public static final String JSON_PROPERTY_AIRLINE_PASSENGER_DATE_OF_BIRTH =
        "airline.passenger.date_of_birth";
    private String airlinePassengerDateOfBirth;
  
    public static final String JSON_PROPERTY_AIRLINE_PASSENGER_FIRST_NAME =
        "airline.passenger.first_name";
    private String airlinePassengerFirstName;
  
    public static final String JSON_PROPERTY_AIRLINE_PASSENGER_LAST_NAME =
        "airline.passenger.last_name";
    private String airlinePassengerLastName;
  
    public static final String JSON_PROPERTY_AIRLINE_PASSENGER_PHONE_NUMBER =
        "airline.passenger.phone_number";
    private String airlinePassengerPhoneNumber;
  
    public static final String JSON_PROPERTY_AIRLINE_PASSENGER_TRAVELLER_TYPE =
        "airline.passenger.traveller_type";
    private String airlinePassengerTravellerType;
  
    public static final String JSON_PROPERTY_AIRLINE_PASSENGER_NAME = "airline.passenger_name";
    private String airlinePassengerName;
  
    public static final String JSON_PROPERTY_AIRLINE_TICKET_ISSUE_ADDRESS =
        "airline.ticket_issue_address";
    private String airlineTicketIssueAddress;
  
    public static final String JSON_PROPERTY_AIRLINE_TICKET_NUMBER = "airline.ticket_number";
    private String airlineTicketNumber;
  
    public static final String JSON_PROPERTY_AIRLINE_TRAVEL_AGENCY_CODE =
        "airline.travel_agency_code";
    private String airlineTravelAgencyCode;
  
    public static final String JSON_PROPERTY_AIRLINE_TRAVEL_AGENCY_NAME =
        "airline.travel_agency_name";
    private String airlineTravelAgencyName;
  
    public AdditionalDataAirline() {}
  
    /**
     * The reference number for the invoice, issued by the agency. * Encoding: ASCII * minLength: 1
     * character * maxLength: 6 characters
     *
     * @param airlineAgencyInvoiceNumber The reference number for the invoice, issued by the agency. *
     *     Encoding: ASCII * minLength: 1 character * maxLength: 6 characters
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineAgencyInvoiceNumber(String airlineAgencyInvoiceNumber) {
      this.airlineAgencyInvoiceNumber = airlineAgencyInvoiceNumber;
      return this;
    }
  
    /**
     * The reference number for the invoice, issued by the agency. * Encoding: ASCII * minLength: 1
     * character * maxLength: 6 characters
     *
     * @return airlineAgencyInvoiceNumber The reference number for the invoice, issued by the agency.
     *     * Encoding: ASCII * minLength: 1 character * maxLength: 6 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_AGENCY_INVOICE_NUMBER)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineAgencyInvoiceNumber() {
      return airlineAgencyInvoiceNumber;
    }
  
    /**
     * The reference number for the invoice, issued by the agency. * Encoding: ASCII * minLength: 1
     * character * maxLength: 6 characters
     *
     * @param airlineAgencyInvoiceNumber The reference number for the invoice, issued by the agency. *
     *     Encoding: ASCII * minLength: 1 character * maxLength: 6 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_AGENCY_INVOICE_NUMBER)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineAgencyInvoiceNumber(String airlineAgencyInvoiceNumber) {
      this.airlineAgencyInvoiceNumber = airlineAgencyInvoiceNumber;
    }
  
    /**
     * The two-letter agency plan identifier. * Encoding: ASCII * minLength: 2 characters * maxLength:
     * 2 characters
     *
     * @param airlineAgencyPlanName The two-letter agency plan identifier. * Encoding: ASCII *
     *     minLength: 2 characters * maxLength: 2 characters
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineAgencyPlanName(String airlineAgencyPlanName) {
      this.airlineAgencyPlanName = airlineAgencyPlanName;
      return this;
    }
  
    /**
     * The two-letter agency plan identifier. * Encoding: ASCII * minLength: 2 characters * maxLength:
     * 2 characters
     *
     * @return airlineAgencyPlanName The two-letter agency plan identifier. * Encoding: ASCII *
     *     minLength: 2 characters * maxLength: 2 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_AGENCY_PLAN_NAME)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineAgencyPlanName() {
      return airlineAgencyPlanName;
    }
  
    /**
     * The two-letter agency plan identifier. * Encoding: ASCII * minLength: 2 characters * maxLength:
     * 2 characters
     *
     * @param airlineAgencyPlanName The two-letter agency plan identifier. * Encoding: ASCII *
     *     minLength: 2 characters * maxLength: 2 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_AGENCY_PLAN_NAME)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineAgencyPlanName(String airlineAgencyPlanName) {
      this.airlineAgencyPlanName = airlineAgencyPlanName;
    }
  
    /**
     * The [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX) that
     * identifies the carrier. * Format: IATA 3-digit accounting code (PAX) * Example: KLM &#x3D; 074
     * * minLength: 3 characters * maxLength: 3 characters * Must not be all spaces * Must not be all
     * zeros.
     *
     * @param airlineAirlineCode The [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit
     *     accounting code (PAX) that identifies the carrier. * Format: IATA 3-digit accounting code
     *     (PAX) * Example: KLM &#x3D; 074 * minLength: 3 characters * maxLength: 3 characters * Must
     *     not be all spaces * Must not be all zeros.
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineAirlineCode(String airlineAirlineCode) {
      this.airlineAirlineCode = airlineAirlineCode;
      return this;
    }
  
    /**
     * The [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX) that
     * identifies the carrier. * Format: IATA 3-digit accounting code (PAX) * Example: KLM &#x3D; 074
     * * minLength: 3 characters * maxLength: 3 characters * Must not be all spaces * Must not be all
     * zeros.
     *
     * @return airlineAirlineCode The [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit
     *     accounting code (PAX) that identifies the carrier. * Format: IATA 3-digit accounting code
     *     (PAX) * Example: KLM &#x3D; 074 * minLength: 3 characters * maxLength: 3 characters * Must
     *     not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_AIRLINE_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineAirlineCode() {
      return airlineAirlineCode;
    }
  
    /**
     * The [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit accounting code (PAX) that
     * identifies the carrier. * Format: IATA 3-digit accounting code (PAX) * Example: KLM &#x3D; 074
     * * minLength: 3 characters * maxLength: 3 characters * Must not be all spaces * Must not be all
     * zeros.
     *
     * @param airlineAirlineCode The [IATA](https://www.iata.org/services/pages/codes.aspx) 3-digit
     *     accounting code (PAX) that identifies the carrier. * Format: IATA 3-digit accounting code
     *     (PAX) * Example: KLM &#x3D; 074 * minLength: 3 characters * maxLength: 3 characters * Must
     *     not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_AIRLINE_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineAirlineCode(String airlineAirlineCode) {
      this.airlineAirlineCode = airlineAirlineCode;
    }
  
    /**
     * The [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX) that
     * identifies the carrier. * Encoding: ASCII * Example: KLM &#x3D; KL * minLength: 2 characters *
     * maxLength: 2 characters * Must not be all spaces * Must not be all zeros.
     *
     * @param airlineAirlineDesignatorCode The [IATA](https://www.iata.org/services/pages/codes.aspx)
     *     2-letter accounting code (PAX) that identifies the carrier. * Encoding: ASCII * Example:
     *     KLM &#x3D; KL * minLength: 2 characters * maxLength: 2 characters * Must not be all spaces
     *     * Must not be all zeros.
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineAirlineDesignatorCode(String airlineAirlineDesignatorCode) {
      this.airlineAirlineDesignatorCode = airlineAirlineDesignatorCode;
      return this;
    }
  
    /**
     * The [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX) that
     * identifies the carrier. * Encoding: ASCII * Example: KLM &#x3D; KL * minLength: 2 characters *
     * maxLength: 2 characters * Must not be all spaces * Must not be all zeros.
     *
     * @return airlineAirlineDesignatorCode The [IATA](https://www.iata.org/services/pages/codes.aspx)
     *     2-letter accounting code (PAX) that identifies the carrier. * Encoding: ASCII * Example:
     *     KLM &#x3D; KL * minLength: 2 characters * maxLength: 2 characters * Must not be all spaces
     *     * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_AIRLINE_DESIGNATOR_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineAirlineDesignatorCode() {
      return airlineAirlineDesignatorCode;
    }
  
    /**
     * The [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX) that
     * identifies the carrier. * Encoding: ASCII * Example: KLM &#x3D; KL * minLength: 2 characters *
     * maxLength: 2 characters * Must not be all spaces * Must not be all zeros.
     *
     * @param airlineAirlineDesignatorCode The [IATA](https://www.iata.org/services/pages/codes.aspx)
     *     2-letter accounting code (PAX) that identifies the carrier. * Encoding: ASCII * Example:
     *     KLM &#x3D; KL * minLength: 2 characters * maxLength: 2 characters * Must not be all spaces
     *     * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_AIRLINE_DESIGNATOR_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineAirlineDesignatorCode(String airlineAirlineDesignatorCode) {
      this.airlineAirlineDesignatorCode = airlineAirlineDesignatorCode;
    }
  
    /**
     * The amount charged for boarding the plane, in [minor
     * units](https://docs.adyen.com/development-resources/currency-codes). * Encoding: Numeric *
     * minLength: 1 character * maxLength: 18 characters
     *
     * @param airlineBoardingFee The amount charged for boarding the plane, in [minor
     *     units](https://docs.adyen.com/development-resources/currency-codes). * Encoding: Numeric *
     *     minLength: 1 character * maxLength: 18 characters
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineBoardingFee(String airlineBoardingFee) {
      this.airlineBoardingFee = airlineBoardingFee;
      return this;
    }
  
    /**
     * The amount charged for boarding the plane, in [minor
     * units](https://docs.adyen.com/development-resources/currency-codes). * Encoding: Numeric *
     * minLength: 1 character * maxLength: 18 characters
     *
     * @return airlineBoardingFee The amount charged for boarding the plane, in [minor
     *     units](https://docs.adyen.com/development-resources/currency-codes). * Encoding: Numeric *
     *     minLength: 1 character * maxLength: 18 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_BOARDING_FEE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineBoardingFee() {
      return airlineBoardingFee;
    }
  
    /**
     * The amount charged for boarding the plane, in [minor
     * units](https://docs.adyen.com/development-resources/currency-codes). * Encoding: Numeric *
     * minLength: 1 character * maxLength: 18 characters
     *
     * @param airlineBoardingFee The amount charged for boarding the plane, in [minor
     *     units](https://docs.adyen.com/development-resources/currency-codes). * Encoding: Numeric *
     *     minLength: 1 character * maxLength: 18 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_BOARDING_FEE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineBoardingFee(String airlineBoardingFee) {
      this.airlineBoardingFee = airlineBoardingFee;
    }
  
    /**
     * The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the
     * reservation and purchase the ticket. * Encoding: ASCII * minLength: 4 characters * maxLength: 4
     * characters
     *
     * @param airlineComputerizedReservationSystem The
     *     [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the
     *     reservation and purchase the ticket. * Encoding: ASCII * minLength: 4 characters *
     *     maxLength: 4 characters
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineComputerizedReservationSystem(
        String airlineComputerizedReservationSystem) {
      this.airlineComputerizedReservationSystem = airlineComputerizedReservationSystem;
      return this;
    }
  
    /**
     * The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the
     * reservation and purchase the ticket. * Encoding: ASCII * minLength: 4 characters * maxLength: 4
     * characters
     *
     * @return airlineComputerizedReservationSystem The
     *     [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the
     *     reservation and purchase the ticket. * Encoding: ASCII * minLength: 4 characters *
     *     maxLength: 4 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_COMPUTERIZED_RESERVATION_SYSTEM)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineComputerizedReservationSystem() {
      return airlineComputerizedReservationSystem;
    }
  
    /**
     * The [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the
     * reservation and purchase the ticket. * Encoding: ASCII * minLength: 4 characters * maxLength: 4
     * characters
     *
     * @param airlineComputerizedReservationSystem The
     *     [CRS](https://en.wikipedia.org/wiki/Computer_reservation_system) used to make the
     *     reservation and purchase the ticket. * Encoding: ASCII * minLength: 4 characters *
     *     maxLength: 4 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_COMPUTERIZED_RESERVATION_SYSTEM)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineComputerizedReservationSystem(String airlineComputerizedReservationSystem) {
      this.airlineComputerizedReservationSystem = airlineComputerizedReservationSystem;
    }
  
    /**
     * The alphanumeric customer reference number. * Encoding: ASCII * maxLength: 20 characters * If
     * you send more than 20 characters, the customer reference number is truncated * Must not be all
     * spaces
     *
     * @param airlineCustomerReferenceNumber The alphanumeric customer reference number. * Encoding:
     *     ASCII * maxLength: 20 characters * If you send more than 20 characters, the customer
     *     reference number is truncated * Must not be all spaces
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineCustomerReferenceNumber(
        String airlineCustomerReferenceNumber) {
      this.airlineCustomerReferenceNumber = airlineCustomerReferenceNumber;
      return this;
    }
  
    /**
     * The alphanumeric customer reference number. * Encoding: ASCII * maxLength: 20 characters * If
     * you send more than 20 characters, the customer reference number is truncated * Must not be all
     * spaces
     *
     * @return airlineCustomerReferenceNumber The alphanumeric customer reference number. * Encoding:
     *     ASCII * maxLength: 20 characters * If you send more than 20 characters, the customer
     *     reference number is truncated * Must not be all spaces
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_CUSTOMER_REFERENCE_NUMBER)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineCustomerReferenceNumber() {
      return airlineCustomerReferenceNumber;
    }
  
    /**
     * The alphanumeric customer reference number. * Encoding: ASCII * maxLength: 20 characters * If
     * you send more than 20 characters, the customer reference number is truncated * Must not be all
     * spaces
     *
     * @param airlineCustomerReferenceNumber The alphanumeric customer reference number. * Encoding:
     *     ASCII * maxLength: 20 characters * If you send more than 20 characters, the customer
     *     reference number is truncated * Must not be all spaces
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_CUSTOMER_REFERENCE_NUMBER)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineCustomerReferenceNumber(String airlineCustomerReferenceNumber) {
      this.airlineCustomerReferenceNumber = airlineCustomerReferenceNumber;
    }
  
    /**
     * A code that identifies the type of item bought. The description of the code can appear on
     * credit card statements. * Encoding: ASCII * Example: Passenger ticket &#x3D; 01 * minLength: 2
     * characters * maxLength: 2 characters
     *
     * @param airlineDocumentType A code that identifies the type of item bought. The description of
     *     the code can appear on credit card statements. * Encoding: ASCII * Example: Passenger
     *     ticket &#x3D; 01 * minLength: 2 characters * maxLength: 2 characters
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineDocumentType(String airlineDocumentType) {
      this.airlineDocumentType = airlineDocumentType;
      return this;
    }
  
    /**
     * A code that identifies the type of item bought. The description of the code can appear on
     * credit card statements. * Encoding: ASCII * Example: Passenger ticket &#x3D; 01 * minLength: 2
     * characters * maxLength: 2 characters
     *
     * @return airlineDocumentType A code that identifies the type of item bought. The description of
     *     the code can appear on credit card statements. * Encoding: ASCII * Example: Passenger
     *     ticket &#x3D; 01 * minLength: 2 characters * maxLength: 2 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_DOCUMENT_TYPE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineDocumentType() {
      return airlineDocumentType;
    }
  
    /**
     * A code that identifies the type of item bought. The description of the code can appear on
     * credit card statements. * Encoding: ASCII * Example: Passenger ticket &#x3D; 01 * minLength: 2
     * characters * maxLength: 2 characters
     *
     * @param airlineDocumentType A code that identifies the type of item bought. The description of
     *     the code can appear on credit card statements. * Encoding: ASCII * Example: Passenger
     *     ticket &#x3D; 01 * minLength: 2 characters * maxLength: 2 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_DOCUMENT_TYPE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineDocumentType(String airlineDocumentType) {
      this.airlineDocumentType = airlineDocumentType;
    }
  
    /**
     * The flight departure date. Local time &#x60;(HH:mm)&#x60; is optional. * Date format:
     * &#x60;yyyy-MM-dd&#x60; * Date and time format: &#x60;yyyy-MM-dd HH:mm&#x60; * minLength: 10
     * characters * maxLength: 16 characters
     *
     * @param airlineFlightDate The flight departure date. Local time &#x60;(HH:mm)&#x60; is optional.
     *     * Date format: &#x60;yyyy-MM-dd&#x60; * Date and time format: &#x60;yyyy-MM-dd HH:mm&#x60;
     *     * minLength: 10 characters * maxLength: 16 characters
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineFlightDate(String airlineFlightDate) {
      this.airlineFlightDate = airlineFlightDate;
      return this;
    }
  
    /**
     * The flight departure date. Local time &#x60;(HH:mm)&#x60; is optional. * Date format:
     * &#x60;yyyy-MM-dd&#x60; * Date and time format: &#x60;yyyy-MM-dd HH:mm&#x60; * minLength: 10
     * characters * maxLength: 16 characters
     *
     * @return airlineFlightDate The flight departure date. Local time &#x60;(HH:mm)&#x60; is
     *     optional. * Date format: &#x60;yyyy-MM-dd&#x60; * Date and time format: &#x60;yyyy-MM-dd
     *     HH:mm&#x60; * minLength: 10 characters * maxLength: 16 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_FLIGHT_DATE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineFlightDate() {
      return airlineFlightDate;
    }
  
    /**
     * The flight departure date. Local time &#x60;(HH:mm)&#x60; is optional. * Date format:
     * &#x60;yyyy-MM-dd&#x60; * Date and time format: &#x60;yyyy-MM-dd HH:mm&#x60; * minLength: 10
     * characters * maxLength: 16 characters
     *
     * @param airlineFlightDate The flight departure date. Local time &#x60;(HH:mm)&#x60; is optional.
     *     * Date format: &#x60;yyyy-MM-dd&#x60; * Date and time format: &#x60;yyyy-MM-dd HH:mm&#x60;
     *     * minLength: 10 characters * maxLength: 16 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_FLIGHT_DATE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineFlightDate(String airlineFlightDate) {
      this.airlineFlightDate = airlineFlightDate;
    }
  
    /**
     * The date that the ticket was issued to the passenger. * minLength: 6 characters * maxLength: 6
     * characters * Date format: YYMMDD
     *
     * @param airlineIssueDate The date that the ticket was issued to the passenger. * minLength: 6
     *     characters * maxLength: 6 characters * Date format: YYMMDD
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineIssueDate(String airlineIssueDate) {
      this.airlineIssueDate = airlineIssueDate;
      return this;
    }
  
    /**
     * The date that the ticket was issued to the passenger. * minLength: 6 characters * maxLength: 6
     * characters * Date format: YYMMDD
     *
     * @return airlineIssueDate The date that the ticket was issued to the passenger. * minLength: 6
     *     characters * maxLength: 6 characters * Date format: YYMMDD
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_ISSUE_DATE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineIssueDate() {
      return airlineIssueDate;
    }
  
    /**
     * The date that the ticket was issued to the passenger. * minLength: 6 characters * maxLength: 6
     * characters * Date format: YYMMDD
     *
     * @param airlineIssueDate The date that the ticket was issued to the passenger. * minLength: 6
     *     characters * maxLength: 6 characters * Date format: YYMMDD
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_ISSUE_DATE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineIssueDate(String airlineIssueDate) {
      this.airlineIssueDate = airlineIssueDate;
    }
  
    /**
     * The [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX) that
     * identifies the carrier. This field is required if the airline data includes leg details. *
     * Example: KLM &#x3D; KL * minLength: 2 characters * maxLength: 2 characters * Must not be all
     * spaces * Must not be all zeros.
     *
     * @param airlineLegCarrierCode The [IATA](https://www.iata.org/services/pages/codes.aspx)
     *     2-letter accounting code (PAX) that identifies the carrier. This field is required if the
     *     airline data includes leg details. * Example: KLM &#x3D; KL * minLength: 2 characters *
     *     maxLength: 2 characters * Must not be all spaces * Must not be all zeros.
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineLegCarrierCode(String airlineLegCarrierCode) {
      this.airlineLegCarrierCode = airlineLegCarrierCode;
      return this;
    }
  
    /**
     * The [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX) that
     * identifies the carrier. This field is required if the airline data includes leg details. *
     * Example: KLM &#x3D; KL * minLength: 2 characters * maxLength: 2 characters * Must not be all
     * spaces * Must not be all zeros.
     *
     * @return airlineLegCarrierCode The [IATA](https://www.iata.org/services/pages/codes.aspx)
     *     2-letter accounting code (PAX) that identifies the carrier. This field is required if the
     *     airline data includes leg details. * Example: KLM &#x3D; KL * minLength: 2 characters *
     *     maxLength: 2 characters * Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_CARRIER_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineLegCarrierCode() {
      return airlineLegCarrierCode;
    }
  
    /**
     * The [IATA](https://www.iata.org/services/pages/codes.aspx) 2-letter accounting code (PAX) that
     * identifies the carrier. This field is required if the airline data includes leg details. *
     * Example: KLM &#x3D; KL * minLength: 2 characters * maxLength: 2 characters * Must not be all
     * spaces * Must not be all zeros.
     *
     * @param airlineLegCarrierCode The [IATA](https://www.iata.org/services/pages/codes.aspx)
     *     2-letter accounting code (PAX) that identifies the carrier. This field is required if the
     *     airline data includes leg details. * Example: KLM &#x3D; KL * minLength: 2 characters *
     *     maxLength: 2 characters * Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_CARRIER_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineLegCarrierCode(String airlineLegCarrierCode) {
      this.airlineLegCarrierCode = airlineLegCarrierCode;
    }
  
    /**
     * A one-letter travel class identifier. The following are common: * F: first class * J: business
     * class * Y: economy class * W: premium economy * Encoding: ASCII * minLength: 1 character *
     * maxLength: 1 character * Must not be all spaces * Must not be all zeros.
     *
     * @param airlineLegClassOfTravel A one-letter travel class identifier. The following are common:
     *     * F: first class * J: business class * Y: economy class * W: premium economy * Encoding:
     *     ASCII * minLength: 1 character * maxLength: 1 character * Must not be all spaces * Must not
     *     be all zeros.
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineLegClassOfTravel(String airlineLegClassOfTravel) {
      this.airlineLegClassOfTravel = airlineLegClassOfTravel;
      return this;
    }
  
    /**
     * A one-letter travel class identifier. The following are common: * F: first class * J: business
     * class * Y: economy class * W: premium economy * Encoding: ASCII * minLength: 1 character *
     * maxLength: 1 character * Must not be all spaces * Must not be all zeros.
     *
     * @return airlineLegClassOfTravel A one-letter travel class identifier. The following are common:
     *     * F: first class * J: business class * Y: economy class * W: premium economy * Encoding:
     *     ASCII * minLength: 1 character * maxLength: 1 character * Must not be all spaces * Must not
     *     be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_CLASS_OF_TRAVEL)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineLegClassOfTravel() {
      return airlineLegClassOfTravel;
    }
  
    /**
     * A one-letter travel class identifier. The following are common: * F: first class * J: business
     * class * Y: economy class * W: premium economy * Encoding: ASCII * minLength: 1 character *
     * maxLength: 1 character * Must not be all spaces * Must not be all zeros.
     *
     * @param airlineLegClassOfTravel A one-letter travel class identifier. The following are common:
     *     * F: first class * J: business class * Y: economy class * W: premium economy * Encoding:
     *     ASCII * minLength: 1 character * maxLength: 1 character * Must not be all spaces * Must not
     *     be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_CLASS_OF_TRAVEL)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineLegClassOfTravel(String airlineLegClassOfTravel) {
      this.airlineLegClassOfTravel = airlineLegClassOfTravel;
    }
  
    /**
     * Date and time of travel in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format
     * &#x60;yyyy-MM-dd HH:mm&#x60;. * Encoding: ASCII * minLength: 16 characters * maxLength: 16
     * characters
     *
     * @param airlineLegDateOfTravel Date and time of travel in [ISO
     *     8601](https://en.wikipedia.org/wiki/ISO_8601) format &#x60;yyyy-MM-dd HH:mm&#x60;. *
     *     Encoding: ASCII * minLength: 16 characters * maxLength: 16 characters
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineLegDateOfTravel(String airlineLegDateOfTravel) {
      this.airlineLegDateOfTravel = airlineLegDateOfTravel;
      return this;
    }
  
    /**
     * Date and time of travel in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format
     * &#x60;yyyy-MM-dd HH:mm&#x60;. * Encoding: ASCII * minLength: 16 characters * maxLength: 16
     * characters
     *
     * @return airlineLegDateOfTravel Date and time of travel in [ISO
     *     8601](https://en.wikipedia.org/wiki/ISO_8601) format &#x60;yyyy-MM-dd HH:mm&#x60;. *
     *     Encoding: ASCII * minLength: 16 characters * maxLength: 16 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_DATE_OF_TRAVEL)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineLegDateOfTravel() {
      return airlineLegDateOfTravel;
    }
  
    /**
     * Date and time of travel in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format
     * &#x60;yyyy-MM-dd HH:mm&#x60;. * Encoding: ASCII * minLength: 16 characters * maxLength: 16
     * characters
     *
     * @param airlineLegDateOfTravel Date and time of travel in [ISO
     *     8601](https://en.wikipedia.org/wiki/ISO_8601) format &#x60;yyyy-MM-dd HH:mm&#x60;. *
     *     Encoding: ASCII * minLength: 16 characters * maxLength: 16 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_DATE_OF_TRAVEL)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineLegDateOfTravel(String airlineLegDateOfTravel) {
      this.airlineLegDateOfTravel = airlineLegDateOfTravel;
    }
  
    /**
     * The [IATA](https://www.iata.org/services/pages/codes.aspx) three-letter airport code of the
     * departure airport. This field is required if the airline data includes leg details. * Encoding:
     * ASCII * Example: Amsterdam &#x3D; AMS * minLength: 3 characters * maxLength: 3 characters *
     * Must not be all spaces * Must not be all zeros.
     *
     * @param airlineLegDepartAirport The [IATA](https://www.iata.org/services/pages/codes.aspx)
     *     three-letter airport code of the departure airport. This field is required if the airline
     *     data includes leg details. * Encoding: ASCII * Example: Amsterdam &#x3D; AMS * minLength: 3
     *     characters * maxLength: 3 characters * Must not be all spaces * Must not be all zeros.
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineLegDepartAirport(String airlineLegDepartAirport) {
      this.airlineLegDepartAirport = airlineLegDepartAirport;
      return this;
    }
  
    /**
     * The [IATA](https://www.iata.org/services/pages/codes.aspx) three-letter airport code of the
     * departure airport. This field is required if the airline data includes leg details. * Encoding:
     * ASCII * Example: Amsterdam &#x3D; AMS * minLength: 3 characters * maxLength: 3 characters *
     * Must not be all spaces * Must not be all zeros.
     *
     * @return airlineLegDepartAirport The [IATA](https://www.iata.org/services/pages/codes.aspx)
     *     three-letter airport code of the departure airport. This field is required if the airline
     *     data includes leg details. * Encoding: ASCII * Example: Amsterdam &#x3D; AMS * minLength: 3
     *     characters * maxLength: 3 characters * Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_DEPART_AIRPORT)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineLegDepartAirport() {
      return airlineLegDepartAirport;
    }
  
    /**
     * The [IATA](https://www.iata.org/services/pages/codes.aspx) three-letter airport code of the
     * departure airport. This field is required if the airline data includes leg details. * Encoding:
     * ASCII * Example: Amsterdam &#x3D; AMS * minLength: 3 characters * maxLength: 3 characters *
     * Must not be all spaces * Must not be all zeros.
     *
     * @param airlineLegDepartAirport The [IATA](https://www.iata.org/services/pages/codes.aspx)
     *     three-letter airport code of the departure airport. This field is required if the airline
     *     data includes leg details. * Encoding: ASCII * Example: Amsterdam &#x3D; AMS * minLength: 3
     *     characters * maxLength: 3 characters * Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_DEPART_AIRPORT)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineLegDepartAirport(String airlineLegDepartAirport) {
      this.airlineLegDepartAirport = airlineLegDepartAirport;
    }
  
    /**
     * The amount of [departure tax](https://en.wikipedia.org/wiki/Departure_tax) charged, in [minor
     * units](https://docs.adyen.com/development-resources/currency-codes). * Encoding: Numeric *
     * minLength: 1 * maxLength: 12 * Must not be all zeros.
     *
     * @param airlineLegDepartTax The amount of [departure
     *     tax](https://en.wikipedia.org/wiki/Departure_tax) charged, in [minor
     *     units](https://docs.adyen.com/development-resources/currency-codes). * Encoding: Numeric *
     *     minLength: 1 * maxLength: 12 * Must not be all zeros.
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineLegDepartTax(String airlineLegDepartTax) {
      this.airlineLegDepartTax = airlineLegDepartTax;
      return this;
    }
  
    /**
     * The amount of [departure tax](https://en.wikipedia.org/wiki/Departure_tax) charged, in [minor
     * units](https://docs.adyen.com/development-resources/currency-codes). * Encoding: Numeric *
     * minLength: 1 * maxLength: 12 * Must not be all zeros.
     *
     * @return airlineLegDepartTax The amount of [departure
     *     tax](https://en.wikipedia.org/wiki/Departure_tax) charged, in [minor
     *     units](https://docs.adyen.com/development-resources/currency-codes). * Encoding: Numeric *
     *     minLength: 1 * maxLength: 12 * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_DEPART_TAX)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineLegDepartTax() {
      return airlineLegDepartTax;
    }
  
    /**
     * The amount of [departure tax](https://en.wikipedia.org/wiki/Departure_tax) charged, in [minor
     * units](https://docs.adyen.com/development-resources/currency-codes). * Encoding: Numeric *
     * minLength: 1 * maxLength: 12 * Must not be all zeros.
     *
     * @param airlineLegDepartTax The amount of [departure
     *     tax](https://en.wikipedia.org/wiki/Departure_tax) charged, in [minor
     *     units](https://docs.adyen.com/development-resources/currency-codes). * Encoding: Numeric *
     *     minLength: 1 * maxLength: 12 * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_DEPART_TAX)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineLegDepartTax(String airlineLegDepartTax) {
      this.airlineLegDepartTax = airlineLegDepartTax;
    }
  
    /**
     * The [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code of the
     * destination airport. This field is required if the airline data includes leg details. *
     * Example: Amsterdam &#x3D; AMS * Encoding: ASCII * minLength: 3 characters * maxLength: 3
     * characters * Must not be all spaces * Must not be all zeros.
     *
     * @param airlineLegDestinationCode The [IATA](https://www.iata.org/services/pages/codes.aspx)
     *     3-letter airport code of the destination airport. This field is required if the airline
     *     data includes leg details. * Example: Amsterdam &#x3D; AMS * Encoding: ASCII * minLength: 3
     *     characters * maxLength: 3 characters * Must not be all spaces * Must not be all zeros.
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineLegDestinationCode(String airlineLegDestinationCode) {
      this.airlineLegDestinationCode = airlineLegDestinationCode;
      return this;
    }
  
    /**
     * The [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code of the
     * destination airport. This field is required if the airline data includes leg details. *
     * Example: Amsterdam &#x3D; AMS * Encoding: ASCII * minLength: 3 characters * maxLength: 3
     * characters * Must not be all spaces * Must not be all zeros.
     *
     * @return airlineLegDestinationCode The [IATA](https://www.iata.org/services/pages/codes.aspx)
     *     3-letter airport code of the destination airport. This field is required if the airline
     *     data includes leg details. * Example: Amsterdam &#x3D; AMS * Encoding: ASCII * minLength: 3
     *     characters * maxLength: 3 characters * Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_DESTINATION_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineLegDestinationCode() {
      return airlineLegDestinationCode;
    }
  
    /**
     * The [IATA](https://www.iata.org/services/pages/codes.aspx) 3-letter airport code of the
     * destination airport. This field is required if the airline data includes leg details. *
     * Example: Amsterdam &#x3D; AMS * Encoding: ASCII * minLength: 3 characters * maxLength: 3
     * characters * Must not be all spaces * Must not be all zeros.
     *
     * @param airlineLegDestinationCode The [IATA](https://www.iata.org/services/pages/codes.aspx)
     *     3-letter airport code of the destination airport. This field is required if the airline
     *     data includes leg details. * Example: Amsterdam &#x3D; AMS * Encoding: ASCII * minLength: 3
     *     characters * maxLength: 3 characters * Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_DESTINATION_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineLegDestinationCode(String airlineLegDestinationCode) {
      this.airlineLegDestinationCode = airlineLegDestinationCode;
    }
  
    /**
     * The [fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code), alphanumeric. *
     * minLength: 1 character * maxLength: 15 characters * Must not be all spaces * Must not be all
     * zeros.
     *
     * @param airlineLegFareBaseCode The [fare basis
     *     code](https://en.wikipedia.org/wiki/Fare_basis_code), alphanumeric. * minLength: 1
     *     character * maxLength: 15 characters * Must not be all spaces * Must not be all zeros.
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineLegFareBaseCode(String airlineLegFareBaseCode) {
      this.airlineLegFareBaseCode = airlineLegFareBaseCode;
      return this;
    }
  
    /**
     * The [fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code), alphanumeric. *
     * minLength: 1 character * maxLength: 15 characters * Must not be all spaces * Must not be all
     * zeros.
     *
     * @return airlineLegFareBaseCode The [fare basis
     *     code](https://en.wikipedia.org/wiki/Fare_basis_code), alphanumeric. * minLength: 1
     *     character * maxLength: 15 characters * Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_FARE_BASE_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineLegFareBaseCode() {
      return airlineLegFareBaseCode;
    }
  
    /**
     * The [fare basis code](https://en.wikipedia.org/wiki/Fare_basis_code), alphanumeric. *
     * minLength: 1 character * maxLength: 15 characters * Must not be all spaces * Must not be all
     * zeros.
     *
     * @param airlineLegFareBaseCode The [fare basis
     *     code](https://en.wikipedia.org/wiki/Fare_basis_code), alphanumeric. * minLength: 1
     *     character * maxLength: 15 characters * Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_FARE_BASE_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineLegFareBaseCode(String airlineLegFareBaseCode) {
      this.airlineLegFareBaseCode = airlineLegFareBaseCode;
    }
  
    /**
     * The flight identifier. * minLength: 1 character * maxLength: 5 characters * Must not be all
     * spaces * Must not be all zeros.
     *
     * @param airlineLegFlightNumber The flight identifier. * minLength: 1 character * maxLength: 5
     *     characters * Must not be all spaces * Must not be all zeros.
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineLegFlightNumber(String airlineLegFlightNumber) {
      this.airlineLegFlightNumber = airlineLegFlightNumber;
      return this;
    }
  
    /**
     * The flight identifier. * minLength: 1 character * maxLength: 5 characters * Must not be all
     * spaces * Must not be all zeros.
     *
     * @return airlineLegFlightNumber The flight identifier. * minLength: 1 character * maxLength: 5
     *     characters * Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_FLIGHT_NUMBER)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineLegFlightNumber() {
      return airlineLegFlightNumber;
    }
  
    /**
     * The flight identifier. * minLength: 1 character * maxLength: 5 characters * Must not be all
     * spaces * Must not be all zeros.
     *
     * @param airlineLegFlightNumber The flight identifier. * minLength: 1 character * maxLength: 5
     *     characters * Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_FLIGHT_NUMBER)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineLegFlightNumber(String airlineLegFlightNumber) {
      this.airlineLegFlightNumber = airlineLegFlightNumber;
    }
  
    /**
     * A one-letter code that indicates whether the passenger is entitled to make a stopover. Can be a
     * space, O if the passenger is entitled to make a stopover, or X if they are not. * Encoding:
     * ASCII * minLength: 1 character * maxLength: 1 character
     *
     * @param airlineLegStopOverCode A one-letter code that indicates whether the passenger is
     *     entitled to make a stopover. Can be a space, O if the passenger is entitled to make a
     *     stopover, or X if they are not. * Encoding: ASCII * minLength: 1 character * maxLength: 1
     *     character
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineLegStopOverCode(String airlineLegStopOverCode) {
      this.airlineLegStopOverCode = airlineLegStopOverCode;
      return this;
    }
  
    /**
     * A one-letter code that indicates whether the passenger is entitled to make a stopover. Can be a
     * space, O if the passenger is entitled to make a stopover, or X if they are not. * Encoding:
     * ASCII * minLength: 1 character * maxLength: 1 character
     *
     * @return airlineLegStopOverCode A one-letter code that indicates whether the passenger is
     *     entitled to make a stopover. Can be a space, O if the passenger is entitled to make a
     *     stopover, or X if they are not. * Encoding: ASCII * minLength: 1 character * maxLength: 1
     *     character
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_STOP_OVER_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineLegStopOverCode() {
      return airlineLegStopOverCode;
    }
  
    /**
     * A one-letter code that indicates whether the passenger is entitled to make a stopover. Can be a
     * space, O if the passenger is entitled to make a stopover, or X if they are not. * Encoding:
     * ASCII * minLength: 1 character * maxLength: 1 character
     *
     * @param airlineLegStopOverCode A one-letter code that indicates whether the passenger is
     *     entitled to make a stopover. Can be a space, O if the passenger is entitled to make a
     *     stopover, or X if they are not. * Encoding: ASCII * minLength: 1 character * maxLength: 1
     *     character
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_LEG_STOP_OVER_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineLegStopOverCode(String airlineLegStopOverCode) {
      this.airlineLegStopOverCode = airlineLegStopOverCode;
    }
  
    /**
     * The passenger&#39;s date of birth. Date format: &#x60;yyyy-MM-dd&#x60; * minLength: 10 *
     * maxLength: 10
     *
     * @param airlinePassengerDateOfBirth The passenger&#39;s date of birth. Date format:
     *     &#x60;yyyy-MM-dd&#x60; * minLength: 10 * maxLength: 10
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlinePassengerDateOfBirth(String airlinePassengerDateOfBirth) {
      this.airlinePassengerDateOfBirth = airlinePassengerDateOfBirth;
      return this;
    }
  
    /**
     * The passenger&#39;s date of birth. Date format: &#x60;yyyy-MM-dd&#x60; * minLength: 10 *
     * maxLength: 10
     *
     * @return airlinePassengerDateOfBirth The passenger&#39;s date of birth. Date format:
     *     &#x60;yyyy-MM-dd&#x60; * minLength: 10 * maxLength: 10
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_PASSENGER_DATE_OF_BIRTH)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlinePassengerDateOfBirth() {
      return airlinePassengerDateOfBirth;
    }
  
    /**
     * The passenger&#39;s date of birth. Date format: &#x60;yyyy-MM-dd&#x60; * minLength: 10 *
     * maxLength: 10
     *
     * @param airlinePassengerDateOfBirth The passenger&#39;s date of birth. Date format:
     *     &#x60;yyyy-MM-dd&#x60; * minLength: 10 * maxLength: 10
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_PASSENGER_DATE_OF_BIRTH)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlinePassengerDateOfBirth(String airlinePassengerDateOfBirth) {
      this.airlinePassengerDateOfBirth = airlinePassengerDateOfBirth;
    }
  
    /**
     * The passenger&#39;s first name. &gt; This field is required if the airline data includes
     * passenger details or leg details. * Encoding: ASCII
     *
     * @param airlinePassengerFirstName The passenger&#39;s first name. &gt; This field is required if
     *     the airline data includes passenger details or leg details. * Encoding: ASCII
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlinePassengerFirstName(String airlinePassengerFirstName) {
      this.airlinePassengerFirstName = airlinePassengerFirstName;
      return this;
    }
  
    /**
     * The passenger&#39;s first name. &gt; This field is required if the airline data includes
     * passenger details or leg details. * Encoding: ASCII
     *
     * @return airlinePassengerFirstName The passenger&#39;s first name. &gt; This field is required
     *     if the airline data includes passenger details or leg details. * Encoding: ASCII
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_PASSENGER_FIRST_NAME)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlinePassengerFirstName() {
      return airlinePassengerFirstName;
    }
  
    /**
     * The passenger&#39;s first name. &gt; This field is required if the airline data includes
     * passenger details or leg details. * Encoding: ASCII
     *
     * @param airlinePassengerFirstName The passenger&#39;s first name. &gt; This field is required if
     *     the airline data includes passenger details or leg details. * Encoding: ASCII
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_PASSENGER_FIRST_NAME)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlinePassengerFirstName(String airlinePassengerFirstName) {
      this.airlinePassengerFirstName = airlinePassengerFirstName;
    }
  
    /**
     * The passenger&#39;s last name. &gt; This field is required if the airline data includes
     * passenger details or leg details. * Encoding: ASCII
     *
     * @param airlinePassengerLastName The passenger&#39;s last name. &gt; This field is required if
     *     the airline data includes passenger details or leg details. * Encoding: ASCII
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlinePassengerLastName(String airlinePassengerLastName) {
      this.airlinePassengerLastName = airlinePassengerLastName;
      return this;
    }
  
    /**
     * The passenger&#39;s last name. &gt; This field is required if the airline data includes
     * passenger details or leg details. * Encoding: ASCII
     *
     * @return airlinePassengerLastName The passenger&#39;s last name. &gt; This field is required if
     *     the airline data includes passenger details or leg details. * Encoding: ASCII
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_PASSENGER_LAST_NAME)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlinePassengerLastName() {
      return airlinePassengerLastName;
    }
  
    /**
     * The passenger&#39;s last name. &gt; This field is required if the airline data includes
     * passenger details or leg details. * Encoding: ASCII
     *
     * @param airlinePassengerLastName The passenger&#39;s last name. &gt; This field is required if
     *     the airline data includes passenger details or leg details. * Encoding: ASCII
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_PASSENGER_LAST_NAME)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlinePassengerLastName(String airlinePassengerLastName) {
      this.airlinePassengerLastName = airlinePassengerLastName;
    }
  
    /**
     * The passenger&#39;s phone number, including country code. This is an alphanumeric field that
     * can include the &#39;+&#39; and &#39;-&#39; signs. * Encoding: ASCII * minLength: 3 characters
     * * maxLength: 30 characters
     *
     * @param airlinePassengerPhoneNumber The passenger&#39;s phone number, including country code.
     *     This is an alphanumeric field that can include the &#39;+&#39; and &#39;-&#39; signs. *
     *     Encoding: ASCII * minLength: 3 characters * maxLength: 30 characters
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlinePassengerPhoneNumber(String airlinePassengerPhoneNumber) {
      this.airlinePassengerPhoneNumber = airlinePassengerPhoneNumber;
      return this;
    }
  
    /**
     * The passenger&#39;s phone number, including country code. This is an alphanumeric field that
     * can include the &#39;+&#39; and &#39;-&#39; signs. * Encoding: ASCII * minLength: 3 characters
     * * maxLength: 30 characters
     *
     * @return airlinePassengerPhoneNumber The passenger&#39;s phone number, including country code.
     *     This is an alphanumeric field that can include the &#39;+&#39; and &#39;-&#39; signs. *
     *     Encoding: ASCII * minLength: 3 characters * maxLength: 30 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_PASSENGER_PHONE_NUMBER)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlinePassengerPhoneNumber() {
      return airlinePassengerPhoneNumber;
    }
  
    /**
     * The passenger&#39;s phone number, including country code. This is an alphanumeric field that
     * can include the &#39;+&#39; and &#39;-&#39; signs. * Encoding: ASCII * minLength: 3 characters
     * * maxLength: 30 characters
     *
     * @param airlinePassengerPhoneNumber The passenger&#39;s phone number, including country code.
     *     This is an alphanumeric field that can include the &#39;+&#39; and &#39;-&#39; signs. *
     *     Encoding: ASCII * minLength: 3 characters * maxLength: 30 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_PASSENGER_PHONE_NUMBER)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlinePassengerPhoneNumber(String airlinePassengerPhoneNumber) {
      this.airlinePassengerPhoneNumber = airlinePassengerPhoneNumber;
    }
  
    /**
     * The IATA passenger type code (PTC). * Encoding: ASCII * minLength: 3 characters * maxLength: 6
     * characters
     *
     * @param airlinePassengerTravellerType The IATA passenger type code (PTC). * Encoding: ASCII *
     *     minLength: 3 characters * maxLength: 6 characters
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlinePassengerTravellerType(String airlinePassengerTravellerType) {
      this.airlinePassengerTravellerType = airlinePassengerTravellerType;
      return this;
    }
  
    /**
     * The IATA passenger type code (PTC). * Encoding: ASCII * minLength: 3 characters * maxLength: 6
     * characters
     *
     * @return airlinePassengerTravellerType The IATA passenger type code (PTC). * Encoding: ASCII *
     *     minLength: 3 characters * maxLength: 6 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_PASSENGER_TRAVELLER_TYPE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlinePassengerTravellerType() {
      return airlinePassengerTravellerType;
    }
  
    /**
     * The IATA passenger type code (PTC). * Encoding: ASCII * minLength: 3 characters * maxLength: 6
     * characters
     *
     * @param airlinePassengerTravellerType The IATA passenger type code (PTC). * Encoding: ASCII *
     *     minLength: 3 characters * maxLength: 6 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_PASSENGER_TRAVELLER_TYPE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlinePassengerTravellerType(String airlinePassengerTravellerType) {
      this.airlinePassengerTravellerType = airlinePassengerTravellerType;
    }
  
    /**
     * The passenger&#39;s name, initials, and title. * Format: last name + first name or initials +
     * title * Example: *FLYER / MARY MS* * minLength: 1 character * maxLength: 20 characters * If you
     * send more than 20 characters, the name is truncated * Must not be all spaces * Must not be all
     * zeros.
     *
     * @param airlinePassengerName The passenger&#39;s name, initials, and title. * Format: last name
     *     + first name or initials + title * Example: *FLYER / MARY MS* * minLength: 1 character *
     *     maxLength: 20 characters * If you send more than 20 characters, the name is truncated *
     *     Must not be all spaces * Must not be all zeros.
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlinePassengerName(String airlinePassengerName) {
      this.airlinePassengerName = airlinePassengerName;
      return this;
    }
  
    /**
     * The passenger&#39;s name, initials, and title. * Format: last name + first name or initials +
     * title * Example: *FLYER / MARY MS* * minLength: 1 character * maxLength: 20 characters * If you
     * send more than 20 characters, the name is truncated * Must not be all spaces * Must not be all
     * zeros.
     *
     * @return airlinePassengerName The passenger&#39;s name, initials, and title. * Format: last name
     *     + first name or initials + title * Example: *FLYER / MARY MS* * minLength: 1 character *
     *     maxLength: 20 characters * If you send more than 20 characters, the name is truncated *
     *     Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_PASSENGER_NAME)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlinePassengerName() {
      return airlinePassengerName;
    }
  
    /**
     * The passenger&#39;s name, initials, and title. * Format: last name + first name or initials +
     * title * Example: *FLYER / MARY MS* * minLength: 1 character * maxLength: 20 characters * If you
     * send more than 20 characters, the name is truncated * Must not be all spaces * Must not be all
     * zeros.
     *
     * @param airlinePassengerName The passenger&#39;s name, initials, and title. * Format: last name
     *     + first name or initials + title * Example: *FLYER / MARY MS* * minLength: 1 character *
     *     maxLength: 20 characters * If you send more than 20 characters, the name is truncated *
     *     Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_PASSENGER_NAME)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlinePassengerName(String airlinePassengerName) {
      this.airlinePassengerName = airlinePassengerName;
    }
  
    /**
     * The address of the organization that issued the ticket. * minLength: 0 characters * maxLength:
     * 16 characters
     *
     * @param airlineTicketIssueAddress The address of the organization that issued the ticket. *
     *     minLength: 0 characters * maxLength: 16 characters
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineTicketIssueAddress(String airlineTicketIssueAddress) {
      this.airlineTicketIssueAddress = airlineTicketIssueAddress;
      return this;
    }
  
    /**
     * The address of the organization that issued the ticket. * minLength: 0 characters * maxLength:
     * 16 characters
     *
     * @return airlineTicketIssueAddress The address of the organization that issued the ticket. *
     *     minLength: 0 characters * maxLength: 16 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_TICKET_ISSUE_ADDRESS)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineTicketIssueAddress() {
      return airlineTicketIssueAddress;
    }
  
    /**
     * The address of the organization that issued the ticket. * minLength: 0 characters * maxLength:
     * 16 characters
     *
     * @param airlineTicketIssueAddress The address of the organization that issued the ticket. *
     *     minLength: 0 characters * maxLength: 16 characters
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_TICKET_ISSUE_ADDRESS)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineTicketIssueAddress(String airlineTicketIssueAddress) {
      this.airlineTicketIssueAddress = airlineTicketIssueAddress;
    }
  
    /**
     * The ticket&#39;s unique identifier. * minLength: 1 character * maxLength: 15 characters * Must
     * not be all spaces * Must not be all zeros.
     *
     * @param airlineTicketNumber The ticket&#39;s unique identifier. * minLength: 1 character *
     *     maxLength: 15 characters * Must not be all spaces * Must not be all zeros.
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineTicketNumber(String airlineTicketNumber) {
      this.airlineTicketNumber = airlineTicketNumber;
      return this;
    }
  
    /**
     * The ticket&#39;s unique identifier. * minLength: 1 character * maxLength: 15 characters * Must
     * not be all spaces * Must not be all zeros.
     *
     * @return airlineTicketNumber The ticket&#39;s unique identifier. * minLength: 1 character *
     *     maxLength: 15 characters * Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_TICKET_NUMBER)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineTicketNumber() {
      return airlineTicketNumber;
    }
  
    /**
     * The ticket&#39;s unique identifier. * minLength: 1 character * maxLength: 15 characters * Must
     * not be all spaces * Must not be all zeros.
     *
     * @param airlineTicketNumber The ticket&#39;s unique identifier. * minLength: 1 character *
     *     maxLength: 15 characters * Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_TICKET_NUMBER)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineTicketNumber(String airlineTicketNumber) {
      this.airlineTicketNumber = airlineTicketNumber;
    }
  
    /**
     * The unique identifier from IATA or ARC for the travel agency that issues the ticket. *
     * Encoding: ASCII * minLength: 1 character * maxLength: 8 characters * Must not be all spaces *
     * Must not be all zeros.
     *
     * @param airlineTravelAgencyCode The unique identifier from IATA or ARC for the travel agency
     *     that issues the ticket. * Encoding: ASCII * minLength: 1 character * maxLength: 8
     *     characters * Must not be all spaces * Must not be all zeros.
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineTravelAgencyCode(String airlineTravelAgencyCode) {
      this.airlineTravelAgencyCode = airlineTravelAgencyCode;
      return this;
    }
  
    /**
     * The unique identifier from IATA or ARC for the travel agency that issues the ticket. *
     * Encoding: ASCII * minLength: 1 character * maxLength: 8 characters * Must not be all spaces *
     * Must not be all zeros.
     *
     * @return airlineTravelAgencyCode The unique identifier from IATA or ARC for the travel agency
     *     that issues the ticket. * Encoding: ASCII * minLength: 1 character * maxLength: 8
     *     characters * Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_TRAVEL_AGENCY_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineTravelAgencyCode() {
      return airlineTravelAgencyCode;
    }
  
    /**
     * The unique identifier from IATA or ARC for the travel agency that issues the ticket. *
     * Encoding: ASCII * minLength: 1 character * maxLength: 8 characters * Must not be all spaces *
     * Must not be all zeros.
     *
     * @param airlineTravelAgencyCode The unique identifier from IATA or ARC for the travel agency
     *     that issues the ticket. * Encoding: ASCII * minLength: 1 character * maxLength: 8
     *     characters * Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_TRAVEL_AGENCY_CODE)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineTravelAgencyCode(String airlineTravelAgencyCode) {
      this.airlineTravelAgencyCode = airlineTravelAgencyCode;
    }
  
    /**
     * The name of the travel agency. * Encoding: ASCII * minLength: 1 character * maxLength: 25
     * characters * Must not be all spaces * Must not be all zeros.
     *
     * @param airlineTravelAgencyName The name of the travel agency. * Encoding: ASCII * minLength: 1
     *     character * maxLength: 25 characters * Must not be all spaces * Must not be all zeros.
     * @return the current {@code AdditionalDataAirline} instance, allowing for method chaining
     */
    public AdditionalDataAirline airlineTravelAgencyName(String airlineTravelAgencyName) {
      this.airlineTravelAgencyName = airlineTravelAgencyName;
      return this;
    }
  
    /**
     * The name of the travel agency. * Encoding: ASCII * minLength: 1 character * maxLength: 25
     * characters * Must not be all spaces * Must not be all zeros.
     *
     * @return airlineTravelAgencyName The name of the travel agency. * Encoding: ASCII * minLength: 1
     *     character * maxLength: 25 characters * Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_TRAVEL_AGENCY_NAME)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public String getAirlineTravelAgencyName() {
      return airlineTravelAgencyName;
    }
  
    /**
     * The name of the travel agency. * Encoding: ASCII * minLength: 1 character * maxLength: 25
     * characters * Must not be all spaces * Must not be all zeros.
     *
     * @param airlineTravelAgencyName The name of the travel agency. * Encoding: ASCII * minLength: 1
     *     character * maxLength: 25 characters * Must not be all spaces * Must not be all zeros.
     */
    @JsonProperty(JSON_PROPERTY_AIRLINE_TRAVEL_AGENCY_NAME)
    @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
    public void setAirlineTravelAgencyName(String airlineTravelAgencyName) {
      this.airlineTravelAgencyName = airlineTravelAgencyName;
    }
  
    /** Return true if this AdditionalDataAirline object is equal to o. */
    @Override
    public boolean equals(Object o) {
      if (this == o) {
        return true;
      }
      if (o == null || getClass() != o.getClass()) {
        return false;
      }
      AdditionalDataAirline additionalDataAirline = (AdditionalDataAirline) o;
      return Objects.equals(
              this.airlineAgencyInvoiceNumber, additionalDataAirline.airlineAgencyInvoiceNumber)
          && Objects.equals(this.airlineAgencyPlanName, additionalDataAirline.airlineAgencyPlanName)
          && Objects.equals(this.airlineAirlineCode, additionalDataAirline.airlineAirlineCode)
          && Objects.equals(
              this.airlineAirlineDesignatorCode, additionalDataAirline.airlineAirlineDesignatorCode)
          && Objects.equals(this.airlineBoardingFee, additionalDataAirline.airlineBoardingFee)
          && Objects.equals(
              this.airlineComputerizedReservationSystem,
              additionalDataAirline.airlineComputerizedReservationSystem)
          && Objects.equals(
              this.airlineCustomerReferenceNumber,
              additionalDataAirline.airlineCustomerReferenceNumber)
          && Objects.equals(this.airlineDocumentType, additionalDataAirline.airlineDocumentType)
          && Objects.equals(this.airlineFlightDate, additionalDataAirline.airlineFlightDate)
          && Objects.equals(this.airlineIssueDate, additionalDataAirline.airlineIssueDate)
          && Objects.equals(this.airlineLegCarrierCode, additionalDataAirline.airlineLegCarrierCode)
          && Objects.equals(
              this.airlineLegClassOfTravel, additionalDataAirline.airlineLegClassOfTravel)
          && Objects.equals(this.airlineLegDateOfTravel, additionalDataAirline.airlineLegDateOfTravel)
          && Objects.equals(
              this.airlineLegDepartAirport, additionalDataAirline.airlineLegDepartAirport)
          && Objects.equals(this.airlineLegDepartTax, additionalDataAirline.airlineLegDepartTax)
          && Objects.equals(
              this.airlineLegDestinationCode, additionalDataAirline.airlineLegDestinationCode)
          && Objects.equals(this.airlineLegFareBaseCode, additionalDataAirline.airlineLegFareBaseCode)
          && Objects.equals(this.airlineLegFlightNumber, additionalDataAirline.airlineLegFlightNumber)
          && Objects.equals(this.airlineLegStopOverCode, additionalDataAirline.airlineLegStopOverCode)
          && Objects.equals(
              this.airlinePassengerDateOfBirth, additionalDataAirline.airlinePassengerDateOfBirth)
          && Objects.equals(
              this.airlinePassengerFirstName, additionalDataAirline.airlinePassengerFirstName)
          && Objects.equals(
              this.airlinePassengerLastName, additionalDataAirline.airlinePassengerLastName)
          && Objects.equals(
              this.airlinePassengerPhoneNumber, additionalDataAirline.airlinePassengerPhoneNumber)
          && Objects.equals(
              this.airlinePassengerTravellerType, additionalDataAirline.airlinePassengerTravellerType)
          && Objects.equals(this.airlinePassengerName, additionalDataAirline.airlinePassengerName)
          && Objects.equals(
              this.airlineTicketIssueAddress, additionalDataAirline.airlineTicketIssueAddress)
          && Objects.equals(this.airlineTicketNumber, additionalDataAirline.airlineTicketNumber)
          && Objects.equals(
              this.airlineTravelAgencyCode, additionalDataAirline.airlineTravelAgencyCode)
          && Objects.equals(
              this.airlineTravelAgencyName, additionalDataAirline.airlineTravelAgencyName);
    }
  
    @Override
    public int hashCode() {
      return Objects.hash(
          airlineAgencyInvoiceNumber,
          airlineAgencyPlanName,
          airlineAirlineCode,
          airlineAirlineDesignatorCode,
          airlineBoardingFee,
          airlineComputerizedReservationSystem,
          airlineCustomerReferenceNumber,
          airlineDocumentType,
          airlineFlightDate,
          airlineIssueDate,
          airlineLegCarrierCode,
          airlineLegClassOfTravel,
          airlineLegDateOfTravel,
          airlineLegDepartAirport,
          airlineLegDepartTax,
          airlineLegDestinationCode,
          airlineLegFareBaseCode,
          airlineLegFlightNumber,
          airlineLegStopOverCode,
          airlinePassengerDateOfBirth,
          airlinePassengerFirstName,
          airlinePassengerLastName,
          airlinePassengerPhoneNumber,
          airlinePassengerTravellerType,
          airlinePassengerName,
          airlineTicketIssueAddress,
          airlineTicketNumber,
          airlineTravelAgencyCode,
          airlineTravelAgencyName);
    }
  
    @Override
    public String toString() {
      StringBuilder sb = new StringBuilder();
      sb.append("class AdditionalDataAirline {\n");
      sb.append("    airlineAgencyInvoiceNumber: ")
          .append(toIndentedString(airlineAgencyInvoiceNumber))
          .append("\n");
      sb.append("    airlineAgencyPlanName: ")
          .append(toIndentedString(airlineAgencyPlanName))
          .append("\n");
      sb.append("    airlineAirlineCode: ").append(toIndentedString(airlineAirlineCode)).append("\n");
      sb.append("    airlineAirlineDesignatorCode: ")
          .append(toIndentedString(airlineAirlineDesignatorCode))
          .append("\n");
      sb.append("    airlineBoardingFee: ").append(toIndentedString(airlineBoardingFee)).append("\n");
      sb.append("    airlineComputerizedReservationSystem: ")
          .append(toIndentedString(airlineComputerizedReservationSystem))
          .append("\n");
      sb.append("    airlineCustomerReferenceNumber: ")
          .append(toIndentedString(airlineCustomerReferenceNumber))
          .append("\n");
      sb.append("    airlineDocumentType: ")
          .append(toIndentedString(airlineDocumentType))
          .append("\n");
      sb.append("    airlineFlightDate: ").append(toIndentedString(airlineFlightDate)).append("\n");
      sb.append("    airlineIssueDate: ").append(toIndentedString(airlineIssueDate)).append("\n");
      sb.append("    airlineLegCarrierCode: ")
          .append(toIndentedString(airlineLegCarrierCode))
          .append("\n");
      sb.append("    airlineLegClassOfTravel: ")
          .append(toIndentedString(airlineLegClassOfTravel))
          .append("\n");
      sb.append("    airlineLegDateOfTravel: ")
          .append(toIndentedString(airlineLegDateOfTravel))
          .append("\n");
      sb.append("    airlineLegDepartAirport: ")
          .append(toIndentedString(airlineLegDepartAirport))
          .append("\n");
      sb.append("    airlineLegDepartTax: ")
          .append(toIndentedString(airlineLegDepartTax))
          .append("\n");
      sb.append("    airlineLegDestinationCode: ")
          .append(toIndentedString(airlineLegDestinationCode))
          .append("\n");
      sb.append("    airlineLegFareBaseCode: ")
          .append(toIndentedString(airlineLegFareBaseCode))
          .append("\n");
      sb.append("    airlineLegFlightNumber: ")
          .append(toIndentedString(airlineLegFlightNumber))
          .append("\n");
      sb.append("    airlineLegStopOverCode: ")
          .append(toIndentedString(airlineLegStopOverCode))
          .append("\n");
      sb.append("    airlinePassengerDateOfBirth: ")
          .append(toIndentedString(airlinePassengerDateOfBirth))
          .append("\n");
      sb.append("    airlinePassengerFirstName: ")
          .append(toIndentedString(airlinePassengerFirstName))
          .append("\n");
      sb.append("    airlinePassengerLastName: ")
          .append(toIndentedString(airlinePassengerLastName))
          .append("\n");
      sb.append("    airlinePassengerPhoneNumber: ")
          .append(toIndentedString(airlinePassengerPhoneNumber))
          .append("\n");
      sb.append("    airlinePassengerTravellerType: ")
          .append(toIndentedString(airlinePassengerTravellerType))
          .append("\n");
      sb.append("    airlinePassengerName: ")
          .append(toIndentedString(airlinePassengerName))
          .append("\n");
      sb.append("    airlineTicketIssueAddress: ")
          .append(toIndentedString(airlineTicketIssueAddress))
          .append("\n");
      sb.append("    airlineTicketNumber: ")
          .append(toIndentedString(airlineTicketNumber))
          .append("\n");
      sb.append("    airlineTravelAgencyCode: ")
          .append(toIndentedString(airlineTravelAgencyCode))
          .append("\n");
      sb.append("    airlineTravelAgencyName: ")
          .append(toIndentedString(airlineTravelAgencyName))
          .append("\n");
      sb.append("}");
      return sb.toString();
    }
  
    /**
     * Convert the given object to string with each line indented by 4 spaces (except the first line).
     */
    private String toIndentedString(Object o) {
      if (o == null) {
        return "null";
      }
      return o.toString().replace("\n", "\n    ");
    }
  
    /**
     * Create an instance of AdditionalDataAirline given an JSON string
     *
     * @param jsonString JSON string
     * @return An instance of AdditionalDataAirline
     * @throws JsonProcessingException if the JSON string is invalid with respect to
     *     AdditionalDataAirline
     */
    public static AdditionalDataAirline fromJson(String jsonString) throws JsonProcessingException {
      return JSON.getMapper().readValue(jsonString, AdditionalDataAirline.class);
    }
  
    /**
     * Convert an instance of AdditionalDataAirline to an JSON string
     *
     * @return JSON string
     */
    public String toJson() throws JsonProcessingException {
      return JSON.getMapper().writeValueAsString(this);
    }
  }
  