/**
 * CyberSource Merged Spec
 * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
 *
 * OpenAPI spec version: 0.0.1
 *
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */
import { Ptsv2paymentsOrderInformationAmountDetails } from './ptsv2payments-order-information-amount-details';
import { Ptsv2paymentsOrderInformationBillTo } from './ptsv2payments-order-information-bill-to';
import { Ptsv2paymentsOrderInformationInvoiceDetails } from './ptsv2payments-order-information-invoice-details';
import { Ptsv2paymentsOrderInformationLineItems } from './ptsv2payments-order-information-line-items';
import { Ptsv2paymentsOrderInformationShipTo } from './ptsv2payments-order-information-ship-to';
import { Ptsv2paymentsOrderInformationShippingDetails } from './ptsv2payments-order-information-shipping-details';
/**
 *
 * @export
 * @interface Ptsv2paymentsOrderInformation
 */
export interface Ptsv2paymentsOrderInformation {
    /**
     *
     * @type {Ptsv2paymentsOrderInformationAmountDetails}
     * @memberof Ptsv2paymentsOrderInformation
     */
    amountDetails?: Ptsv2paymentsOrderInformationAmountDetails;
    /**
     *
     * @type {Ptsv2paymentsOrderInformationBillTo}
     * @memberof Ptsv2paymentsOrderInformation
     */
    billTo?: Ptsv2paymentsOrderInformationBillTo;
    /**
     *
     * @type {Ptsv2paymentsOrderInformationShipTo}
     * @memberof Ptsv2paymentsOrderInformation
     */
    shipTo?: Ptsv2paymentsOrderInformationShipTo;
    /**
     *
     * @type {Array<Ptsv2paymentsOrderInformationLineItems>}
     * @memberof Ptsv2paymentsOrderInformation
     */
    lineItems?: Array<Ptsv2paymentsOrderInformationLineItems>;
    /**
     *
     * @type {Ptsv2paymentsOrderInformationInvoiceDetails}
     * @memberof Ptsv2paymentsOrderInformation
     */
    invoiceDetails?: Ptsv2paymentsOrderInformationInvoiceDetails;
    /**
     *
     * @type {Ptsv2paymentsOrderInformationShippingDetails}
     * @memberof Ptsv2paymentsOrderInformation
     */
    shippingDetails?: Ptsv2paymentsOrderInformationShippingDetails;
    /**
     * This is only needed when you are requesting both payment and DM service at same time.  Boolean that indicates whether returns are accepted for this order. This field can contain one of the following values: - true: Returns are accepted for this order. - false: Returns are not accepted for this order.
     * @type {boolean}
     * @memberof Ptsv2paymentsOrderInformation
     */
    returnsAccepted?: boolean;
    /**
     * #### Visa Platform Connect : This API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency. Additional values to add : This API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency. valid values are - Y/y, true - N/n, false
     * @type {string}
     * @memberof Ptsv2paymentsOrderInformation
     */
    isCryptocurrencyPurchase?: string;
    /**
     * Starting date and time for an event or a journey that is independent of which transportation mechanism, in UTC. The cutoffDateTime will supersede travelInformation.transit.airline.legs[].departureDate and travelInformation.transit.airline.legs[].departureTime if these fields are supplied in the request. Format: YYYY-MM-DDThh:mm:ssZ. Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC.
     * @type {string}
     * @memberof Ptsv2paymentsOrderInformation
     */
    cutoffDateTime?: string;
    /**
     * Indicates whether cardholder is placing an order with a future availability or release date. This field can contain one of these values: - MERCHANDISE_AVAILABLE: Merchandise available - FUTURE_AVAILABILITY: Future availability
     * @type {string}
     * @memberof Ptsv2paymentsOrderInformation
     */
    preOrder?: string;
    /**
     * Expected date that a pre-ordered purchase will be available. Format: YYYYMMDD
     * @type {string}
     * @memberof Ptsv2paymentsOrderInformation
     */
    preOrderDate?: string;
    /**
     * Indicates whether the cardholder is reordering previously purchased merchandise. This field can contain one of these values: - false: First time ordered - true: Reordered
     * @type {boolean}
     * @memberof Ptsv2paymentsOrderInformation
     */
    reordered?: boolean;
    /**
     * Total number of articles/items in the order as a numeric decimal count. Possible values: 00 - 99
     * @type {string}
     * @memberof Ptsv2paymentsOrderInformation
     */
    totalOffersCount?: string;
}
