/* tslint:disable */
/* eslint-disable */
/**
 * DXP API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


// May contain unused imports in some cases
// @ts-ignore
import type { AttrValueForQuery } from './attr-value-for-query';
// May contain unused imports in some cases
// @ts-ignore
import type { OrderDetailForQueryOrderTotalPrice } from './order-detail-for-query-order-total-price';
// May contain unused imports in some cases
// @ts-ignore
import type { OrderItemDetailForQuery } from './order-item-detail-for-query';
// May contain unused imports in some cases
// @ts-ignore
import type { OrderPaymentInfoForQuery } from './order-payment-info-for-query';

/**
 * 
 * @export
 * @interface OrderDetailForQuery
 */
export interface OrderDetailForQuery {
    /**
     * Order Number, unique identifier for the order.
     * @type {string}
     * @memberof OrderDetailForQuery
     */
    'orderNbr': string;
    /**
     * The unique customer code, used for uniquely identifying the customer in business operations.
     * @type {string}
     * @memberof OrderDetailForQuery
     */
    'custNbr': string;
    /**
     * Business event.
     * @type {string}
     * @memberof OrderDetailForQuery
     */
    'businessEvent': string;
    /**
     * The name of the business event.
     * @type {string}
     * @memberof OrderDetailForQuery
     */
    'businessEventName'?: string;
    /**
     * The current state or status of the order. Possible values are: / S-Saved; / B-Waiting for payment; / C-Completed; / E-Cancelled; / P-Provisioning; / K-Pending; / D-Processing; / I-Failed
     * @type {string}
     * @memberof OrderDetailForQuery
     */
    'state': string;
    /**
     * The name of the state.
     * @type {string}
     * @memberof OrderDetailForQuery
     */
    'stateName'?: string;
    /**
     * State date. Use ISO 8601 standard, YYYY-MM-DDTHH:MM:SS.
     * @type {string}
     * @memberof OrderDetailForQuery
     */
    'stateDate': string;
    /**
     * The date when the order was accepted. Use ISO 8601 standard, YYYY-MM-DDTHH:MM:SS
     * @type {string}
     * @memberof OrderDetailForQuery
     */
    'acceptDate': string;
    /**
     * Unique identifier for the channel.
     * @type {string}
     * @memberof OrderDetailForQuery
     */
    'channel': string;
    /**
     * The name of the channel.
     * @type {string}
     * @memberof OrderDetailForQuery
     */
    'channelName'?: string;
    /**
     * The type of party associated with the order. Possible values are: / A: Staff Job/ C: Dealer/ D: Customer/ E: System/ F: Staff/ G: SelfCare User
     * @type {string}
     * @memberof OrderDetailForQuery
     */
    'partyType'?: OrderDetailForQueryPartyTypeEnum;
    /**
     * The code identifying the party associated with the order.
     * @type {string}
     * @memberof OrderDetailForQuery
     */
    'partyCode'?: string;
    /**
     * The name of the party associated with the order.
     * @type {string}
     * @memberof OrderDetailForQuery
     */
    'partyName'?: string;
    /**
     * 
     * @type {OrderDetailForQueryOrderTotalPrice}
     * @memberof OrderDetailForQuery
     */
    'orderTotalPrice'?: OrderDetailForQueryOrderTotalPrice;
    /**
     * A list of order items associated with the order.
     * @type {Array<OrderItemDetailForQuery>}
     * @memberof OrderDetailForQuery
     */
    'orderItemList'?: Array<OrderItemDetailForQuery>;
    /**
     * A list of attribute values associated with the order detail.
     * @type {Array<AttrValueForQuery>}
     * @memberof OrderDetailForQuery
     */
    'attrValueList'?: Array<AttrValueForQuery>;
    /**
     * A list of payments associated with the order detail.
     * @type {Array<OrderPaymentInfoForQuery>}
     * @memberof OrderDetailForQuery
     */
    'paymentList'?: Array<OrderPaymentInfoForQuery>;
}

export const OrderDetailForQueryPartyTypeEnum = {
    C: 'C',
    D: 'D',
    E: 'E',
    F: 'F',
    G: 'G'
} as const;

export type OrderDetailForQueryPartyTypeEnum = typeof OrderDetailForQueryPartyTypeEnum[keyof typeof OrderDetailForQueryPartyTypeEnum];


