/*
 * The version of the OpenAPI document: v1
 * 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 this class manually.
 */

import { BillingEntity } from './billingEntity';
import { OrderItem } from './orderItem';
import { ShippingLocation } from './shippingLocation';

export class TerminalOrder {
    'billingEntity'?: BillingEntity;
    /**
    * The merchant-defined purchase order number. This will be printed on the packing list.
    */
    'customerOrderReference'?: string;
    /**
    * The unique identifier of the order.
    */
    'id'?: string;
    /**
    * The products included in the order.
    */
    'items'?: Array<OrderItem>;
    /**
    * The date and time that the order was placed, in UTC ISO 8601 format. For example, \"2011-12-03T10:15:30Z\".
    */
    'orderDate'?: string;
    'shippingLocation'?: ShippingLocation;
    /**
    * The processing status of the order.
    */
    'status'?: string;
    /**
    * The URL, provided by the carrier company, where the shipment can be tracked.
    */
    'trackingUrl'?: string;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "billingEntity",
            "baseName": "billingEntity",
            "type": "BillingEntity"
        },
        {
            "name": "customerOrderReference",
            "baseName": "customerOrderReference",
            "type": "string"
        },
        {
            "name": "id",
            "baseName": "id",
            "type": "string"
        },
        {
            "name": "items",
            "baseName": "items",
            "type": "Array<OrderItem>"
        },
        {
            "name": "orderDate",
            "baseName": "orderDate",
            "type": "string"
        },
        {
            "name": "shippingLocation",
            "baseName": "shippingLocation",
            "type": "ShippingLocation"
        },
        {
            "name": "status",
            "baseName": "status",
            "type": "string"
        },
        {
            "name": "trackingUrl",
            "baseName": "trackingUrl",
            "type": "string"
        }    ];

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

