/*
 *                       ######
 *                       ######
 * ############    ####( ######  #####. ######  ############   ############
 * #############  #####( ######  #####. ######  #############  #############
 *        ######  #####( ######  #####. ######  #####  ######  #####  ######
 * ###### ######  #####( ######  #####. ######  #####  #####   #####  ######
 * ###### ######  #####( ######  #####. ######  #####          #####  ######
 * #############  #############  #############  #############  #####  ######
 *  ############   ############  #############   ############  #####  ######
 *                                      ######
 *                               #############
 *                               ############
 * Adyen NodeJS API Library
 * Copyright (c) 2021 Adyen B.V.
 * This file is open source and available under the MIT license.
 * See the LICENSE file for more info.
 */
 
/**
 * Adyen Checkout API
 * Adyen Checkout API provides a simple and flexible way to initiate and authorise online payments. You can use the same integration for payments made with cards (including 3D Secure), mobile wallets, and local payment methods (for example, iDEAL and Sofort).  This API reference provides information on available endpoints and how to interact with them. To learn more about the API, visit [Checkout documentation](https://docs.adyen.com/online-payments).  ## Authentication Each request to the Checkout API must be signed with an API key. For this, obtain an API Key from your Customer Area, as described in [How to get the API key](https://docs.adyen.com/development-resources/api-credentials#generate-api-key). Then set this key to the `X-API-Key` header value, for example:  ``` curl -H \"Content-Type: application/json\" \\ -H \"X-API-Key: Your_Checkout_API_key\" \\ ... ``` Note that when going live, you need to generate a new API Key to access the [live endpoints](https://docs.adyen.com/development-resources/live-endpoints).  ## Versioning Checkout API supports versioning of its endpoints through a version suffix in the endpoint URL. This suffix has the following format: \"vXX\", where XX is the version number.  For example: ``` https://checkout-test.adyen.com/v68/payments ```
 *
 * The version of the OpenAPI document: 68
 * Contact: developer-experience@adyen.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */



export class AdditionalDataCarRental {
    /**
    * Pick-up date. * Date format: `yyyyMMdd`
    */
    'carRental_checkOutDate'?: string;
    /**
    * The customer service phone number of the car rental company. * Format: Alphanumeric * maxLength: 17
    */
    'carRental_customerServiceTollFreeNumber'?: string;
    /**
    * Number of days for which the car is being rented. * Format: Numeric * maxLength: 19
    */
    'carRental_daysRented'?: string;
    /**
    * Any fuel charges associated with the rental. * Format: Numeric * maxLength: 12
    */
    'carRental_fuelCharges'?: string;
    /**
    * Any insurance charges associated with the rental. * Format: Numeric * maxLength: 12
    */
    'carRental_insuranceCharges'?: string;
    /**
    * The city from which the car is rented. * Format: Alphanumeric * maxLength: 18
    */
    'carRental_locationCity'?: string;
    /**
    * The country from which the car is rented. * Format: Alphanumeric * maxLength: 2
    */
    'carRental_locationCountry'?: string;
    /**
    * The state or province from where the car is rented. * Format: Alphanumeric * maxLength: 3
    */
    'carRental_locationStateProvince'?: string;
    /**
    * Indicates if the customer was a \"no-show\" (neither keeps nor cancels their booking). * Y - Customer was a no show. * N - Not applicable.
    */
    'carRental_noShowIndicator'?: string;
    /**
    * Charge associated with not returning a vehicle to the original rental location.
    */
    'carRental_oneWayDropOffCharges'?: string;
    /**
    * Daily rental rate. * Format: Alphanumeric * maxLength: 12
    */
    'carRental_rate'?: string;
    /**
    * Specifies whether the given rate is applied daily or weekly. * D - Daily rate. * W - Weekly rate.
    */
    'carRental_rateIndicator'?: string;
    /**
    * The rental agreement number associated with this car rental. * Format: Alphanumeric * maxLength: 9
    */
    'carRental_rentalAgreementNumber'?: string;
    /**
    * Daily rental rate. * Format: Alphanumeric * maxLength: 12
    */
    'carRental_rentalClassId'?: string;
    /**
    * The name of the person renting the car. * Format: Alphanumeric * maxLength: 26
    */
    'carRental_renterName'?: string;
    /**
    * The city where the car must be returned. * Format: Alphanumeric * maxLength: 18
    */
    'carRental_returnCity'?: string;
    /**
    * The country where the car must be returned. * Format: Alphanumeric * maxLength: 2
    */
    'carRental_returnCountry'?: string;
    /**
    * The last date to return the car by. * Date format: `yyyyMMdd`
    */
    'carRental_returnDate'?: string;
    /**
    * Agency code, phone number, or address abbreviation * Format: Alphanumeric * maxLength: 10
    */
    'carRental_returnLocationId'?: string;
    /**
    * The state or province where the car must be returned. * Format: Alphanumeric * maxLength: 3
    */
    'carRental_returnStateProvince'?: string;
    /**
    * Indicates whether the goods or services were tax-exempt, or tax was not collected.  Values: * Y - Goods or services were tax exempt * N - Tax was not collected
    */
    'carRental_taxExemptIndicator'?: string;
    /**
    * Number of nights.  This should be included in the auth message. * Format: Numeric * maxLength: 2
    */
    'travelEntertainmentAuthData_duration'?: string;
    /**
    * Indicates what market-specific dataset will be submitted or is being submitted. Value should be \"A\" for Car rental. This should be included in the auth message. * Format: Alphanumeric * maxLength: 1
    */
    'travelEntertainmentAuthData_market'?: string;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "carRental_checkOutDate",
            "baseName": "carRental.checkOutDate",
            "type": "string"
        },
        {
            "name": "carRental_customerServiceTollFreeNumber",
            "baseName": "carRental.customerServiceTollFreeNumber",
            "type": "string"
        },
        {
            "name": "carRental_daysRented",
            "baseName": "carRental.daysRented",
            "type": "string"
        },
        {
            "name": "carRental_fuelCharges",
            "baseName": "carRental.fuelCharges",
            "type": "string"
        },
        {
            "name": "carRental_insuranceCharges",
            "baseName": "carRental.insuranceCharges",
            "type": "string"
        },
        {
            "name": "carRental_locationCity",
            "baseName": "carRental.locationCity",
            "type": "string"
        },
        {
            "name": "carRental_locationCountry",
            "baseName": "carRental.locationCountry",
            "type": "string"
        },
        {
            "name": "carRental_locationStateProvince",
            "baseName": "carRental.locationStateProvince",
            "type": "string"
        },
        {
            "name": "carRental_noShowIndicator",
            "baseName": "carRental.noShowIndicator",
            "type": "string"
        },
        {
            "name": "carRental_oneWayDropOffCharges",
            "baseName": "carRental.oneWayDropOffCharges",
            "type": "string"
        },
        {
            "name": "carRental_rate",
            "baseName": "carRental.rate",
            "type": "string"
        },
        {
            "name": "carRental_rateIndicator",
            "baseName": "carRental.rateIndicator",
            "type": "string"
        },
        {
            "name": "carRental_rentalAgreementNumber",
            "baseName": "carRental.rentalAgreementNumber",
            "type": "string"
        },
        {
            "name": "carRental_rentalClassId",
            "baseName": "carRental.rentalClassId",
            "type": "string"
        },
        {
            "name": "carRental_renterName",
            "baseName": "carRental.renterName",
            "type": "string"
        },
        {
            "name": "carRental_returnCity",
            "baseName": "carRental.returnCity",
            "type": "string"
        },
        {
            "name": "carRental_returnCountry",
            "baseName": "carRental.returnCountry",
            "type": "string"
        },
        {
            "name": "carRental_returnDate",
            "baseName": "carRental.returnDate",
            "type": "string"
        },
        {
            "name": "carRental_returnLocationId",
            "baseName": "carRental.returnLocationId",
            "type": "string"
        },
        {
            "name": "carRental_returnStateProvince",
            "baseName": "carRental.returnStateProvince",
            "type": "string"
        },
        {
            "name": "carRental_taxExemptIndicator",
            "baseName": "carRental.taxExemptIndicator",
            "type": "string"
        },
        {
            "name": "travelEntertainmentAuthData_duration",
            "baseName": "travelEntertainmentAuthData.duration",
            "type": "string"
        },
        {
            "name": "travelEntertainmentAuthData_market",
            "baseName": "travelEntertainmentAuthData.market",
            "type": "string"
        }    ];

    static getAttributeTypeMap() {
        return AdditionalDataCarRental.attributeTypeMap;
    }
}

