import { Amount } from '../../../commonStateTypes/amount'; import { ID } from '../../../commonStateTypes/common'; import { ZeniDate } from '../../../zeniDayJS'; import { InvoicingCouponApplyOn, InvoicingCouponDurationType, InvoicingCouponPeriodUnit, InvoicingCouponStatus, InvoicingDiscountType } from './couponTypes'; export interface InvoicingCoupon { id: ID; applyOn?: InvoicingCouponApplyOn; couponCode?: string; createdAt?: ZeniDate; currencyCode?: string; discountAmount?: Amount; discountPercentage?: number; discountQuantity?: number; discountType?: InvoicingDiscountType; durationType?: InvoicingCouponDurationType; invoiceName?: string; invoiceNotes?: string; itemConstraints?: Record[]; maxRedemptions?: number; name?: string; period?: number; periodUnit?: InvoicingCouponPeriodUnit; redemptions?: number; restrictedProducts?: ID[]; revRecTreatment?: string; status?: InvoicingCouponStatus; updatedAt?: ZeniDate; validFrom?: ZeniDate; validTill?: ZeniDate; } export interface InvoicingCouponState { couponByID: Record; }