/* 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';

/**
 * 
 * @export
 * @interface PhoneAgreementForQuery
 */
export interface PhoneAgreementForQuery {
    /**
     * A unique identifier for an offer.
     * @type {string}
     * @memberof PhoneAgreementForQuery
     */
    'offerNbr': string;
    /**
     * The name of the offer .
     * @type {string}
     * @memberof PhoneAgreementForQuery
     */
    'offerName': string;
    /**
     * The URL of the thumbnail.
     * @type {string}
     * @memberof PhoneAgreementForQuery
     */
    'thumbImageUrl'?: string;
    /**
     * List of attributes associated with the offer.
     * @type {Array<AttrValueForQuery>}
     * @memberof PhoneAgreementForQuery
     */
    'offerAttrList': Array<AttrValueForQuery>;
    /**
     * Identifier for the agreement instance.
     * @type {number}
     * @memberof PhoneAgreementForQuery
     */
    'agreementInstId': number;
    /**
     * Identifier for the agreement.
     * @type {number}
     * @memberof PhoneAgreementForQuery
     */
    'agreementId': number;
    /**
     * The name of the agreement.
     * @type {string}
     * @memberof PhoneAgreementForQuery
     */
    'agreementName': string;
    /**
     * The effective date.Use ISO 8601 standard, YYYY-MM-DDTHH:MM:SS
     * @type {string}
     * @memberof PhoneAgreementForQuery
     */
    'effDate': string;
    /**
     * The expiration date. Use ISO 8601 standard, YYYY-MM-DDTHH:MM:SS
     * @type {string}
     * @memberof PhoneAgreementForQuery
     */
    'expDate': string;
    /**
     * Duration of the period.
     * @type {number}
     * @memberof PhoneAgreementForQuery
     */
    'period': number;
    /**
     * Unit of the duration period. Possible values are: / Y-Year; / M-Month; / D-Day; /W-Week; /H-Hour
     * @type {string}
     * @memberof PhoneAgreementForQuery
     */
    'periodUnit'?: PhoneAgreementForQueryPeriodUnitEnum;
    /**
     * Indicates if the agreement has installment.
     * @type {boolean}
     * @memberof PhoneAgreementForQuery
     */
    'hasInstallment'?: boolean;
    /**
     * Total count of installments in the installment plan.
     * @type {number}
     * @memberof PhoneAgreementForQuery
     */
    'installmentCount'?: number;
    /**
     * Indicates if the agreement has rebate.
     * @type {boolean}
     * @memberof PhoneAgreementForQuery
     */
    'hasRebate'?: boolean;
    /**
     * Total count of rebates in the installment plan.
     * @type {number}
     * @memberof PhoneAgreementForQuery
     */
    'rebateCount'?: number;
}

export const PhoneAgreementForQueryPeriodUnitEnum = {
    M: 'M',
    Y: 'Y',
    W: 'W',
    H: 'H',
    D: 'D'
} as const;

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


