/* 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 { AttrForQuery } from './attr-for-query';
// May contain unused imports in some cases
// @ts-ignore
import type { TagForQuery } from './tag-for-query';

/**
 * 
 * @export
 * @interface OfferSpecDetailForQuery
 */
export interface OfferSpecDetailForQuery {
    /**
     * A unique identifier for an offer.
     * @type {string}
     * @memberof OfferSpecDetailForQuery
     */
    'offerNbr': string;
    /**
     * The type of offer. Possible values are: / 1-Bundle; / 2-Main Offer; / 3-Function Offer; /4-Additional Offer; /5-Goods Offer
     * @type {string}
     * @memberof OfferSpecDetailForQuery
     */
    'offerType': OfferSpecDetailForQueryOfferTypeEnum;
    /**
     * The name of the offer .
     * @type {string}
     * @memberof OfferSpecDetailForQuery
     */
    'offerName': string;
    /**
     * A brief description.
     * @type {string}
     * @memberof OfferSpecDetailForQuery
     */
    'brief'?: string;
    /**
     * A detailed description.
     * @type {string}
     * @memberof OfferSpecDetailForQuery
     */
    'description'?: string;
    /**
     * The URL of the thumbnail.
     * @type {string}
     * @memberof OfferSpecDetailForQuery
     */
    'thumbImageUrl'?: string;
    /**
     * The URL of the image.
     * @type {string}
     * @memberof OfferSpecDetailForQuery
     */
    'imageUrl'?: string;
    /**
     * The current state or status of the offer. Possible values are: / A-Active; / D-Draft; / P-Retired; / E-Pause
     * @type {string}
     * @memberof OfferSpecDetailForQuery
     */
    'state'?: OfferSpecDetailForQueryStateEnum;
    /**
     * The guiding price of the offer.
     * @type {string}
     * @memberof OfferSpecDetailForQuery
     */
    'guidingPrice'?: string;
    /**
     * The guiding price of the offer as an integer.
     * @type {number}
     * @memberof OfferSpecDetailForQuery
     */
    'guidingPriceInt'?: number;
    /**
     * Sales price
     * @type {string}
     * @memberof OfferSpecDetailForQuery
     */
    'salesPrice'?: string;
    /**
     * The sales price as an integer.
     * @type {number}
     * @memberof OfferSpecDetailForQuery
     */
    'salesPriceInt'?: number;
    /**
     * The rental price of the offer.
     * @type {string}
     * @memberof OfferSpecDetailForQuery
     */
    'rentPrice'?: string;
    /**
     * The rental price as an integer.
     * @type {number}
     * @memberof OfferSpecDetailForQuery
     */
    'rentPriceInt'?: number;
    /**
     * The duration of the rental period.
     * @type {number}
     * @memberof OfferSpecDetailForQuery
     */
    'rentDuration'?: number;
    /**
     * The unit of measurement for the rental duration. Possible values are: / Y-Year/ M-Month/ D-Day/ W-Week
     * @type {string}
     * @memberof OfferSpecDetailForQuery
     */
    'rentUnitType'?: OfferSpecDetailForQueryRentUnitTypeEnum;
    /**
     * The symbol of the currency.
     * @type {string}
     * @memberof OfferSpecDetailForQuery
     */
    'currencySymbol'?: string;
    /**
     * A flag indicating whether the offer can be reordered.
     * @type {boolean}
     * @memberof OfferSpecDetailForQuery
     */
    'reorderable'?: boolean;
    /**
     * The validity period.
     * @type {number}
     * @memberof OfferSpecDetailForQuery
     */
    'validityPeriod'?: number;
    /**
     * The unit type for the validity period. Possible values are: / Y-Year/ M-Month/ D-Day/ W-Week/ H-Hour/ B-Billing Cycle
     * @type {string}
     * @memberof OfferSpecDetailForQuery
     */
    'validityPeriodUnitType'?: OfferSpecDetailForQueryValidityPeriodUnitTypeEnum;
    /**
     * The expiration date. Use ISO 8601 standard, YYYY-MM-DDTHH:MM:SS
     * @type {string}
     * @memberof OfferSpecDetailForQuery
     */
    'expDate'?: string;
    /**
     * The payment flag indicating the type of payment. Possible values are: / 0-Prepaid; / 1-PostPaid; / 2-Hybrid
     * @type {string}
     * @memberof OfferSpecDetailForQuery
     */
    'paidFlag'?: OfferSpecDetailForQueryPaidFlagEnum;
    /**
     * A list of tags associated with the offer.
     * @type {Array<TagForQuery>}
     * @memberof OfferSpecDetailForQuery
     */
    'tagList'?: Array<TagForQuery>;
    /**
     * A list of attributes associated with the offer.
     * @type {Array<AttrForQuery>}
     * @memberof OfferSpecDetailForQuery
     */
    'offerAttrList'?: Array<AttrForQuery>;
    /**
     * An object containing project-specific extension fields.
     * @type {object}
     * @memberof OfferSpecDetailForQuery
     */
    'extensions'?: object;
}

export const OfferSpecDetailForQueryOfferTypeEnum = {
    _1: '1',
    _2: '2',
    _3: '3',
    _4: '4',
    _5: '5'
} as const;

export type OfferSpecDetailForQueryOfferTypeEnum = typeof OfferSpecDetailForQueryOfferTypeEnum[keyof typeof OfferSpecDetailForQueryOfferTypeEnum];
export const OfferSpecDetailForQueryStateEnum = {
    A: 'A',
    D: 'D',
    P: 'P',
    E: 'E'
} as const;

export type OfferSpecDetailForQueryStateEnum = typeof OfferSpecDetailForQueryStateEnum[keyof typeof OfferSpecDetailForQueryStateEnum];
export const OfferSpecDetailForQueryRentUnitTypeEnum = {
    D: 'D',
    W: 'W',
    M: 'M',
    Y: 'Y'
} as const;

export type OfferSpecDetailForQueryRentUnitTypeEnum = typeof OfferSpecDetailForQueryRentUnitTypeEnum[keyof typeof OfferSpecDetailForQueryRentUnitTypeEnum];
export const OfferSpecDetailForQueryValidityPeriodUnitTypeEnum = {
    M: 'M',
    Y: 'Y',
    W: 'W',
    D: 'D',
    H: 'H',
    B: 'B'
} as const;

export type OfferSpecDetailForQueryValidityPeriodUnitTypeEnum = typeof OfferSpecDetailForQueryValidityPeriodUnitTypeEnum[keyof typeof OfferSpecDetailForQueryValidityPeriodUnitTypeEnum];
export const OfferSpecDetailForQueryPaidFlagEnum = {
    _0: '0',
    _1: '1',
    _2: '2'
} as const;

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


