import { LineItemInterface, DurationInterface, RevenueInterface, CustomPriceMappingInterface } from './workflow.interface'; import { TaxOptionsInterface } from './tax-options.interface'; import * as e from '../enums'; export interface AddonActivationInterface { addonId?: string; appId?: string; activationStatus?: e.ActivationStatus; } export interface AddonKeyInterface { addonId?: string; appId?: string; } export interface AgreementInterface { userId?: string; term?: string; agreed?: boolean; } export interface AttachmentInterface { name?: string; url?: string; } export interface BusinessInterface { companyName?: string; address?: string; address2?: string; city?: string; state?: string; zip?: string; country?: string; website?: string; phoneNumber?: string; deleted?: boolean; } export interface CommonFieldInterface { field?: FieldInterface; productIds?: string[]; addonKeys?: AddonKeyInterface[]; } export interface CustomFieldInterface { fields?: FieldInterface[]; productId?: string; addonKey?: AddonKeyInterface; } export interface CustomerRecipientInterface { userId?: string; firstName?: string; lastName?: string; } export interface DeclinedReasonInterface { id?: string; reason?: string; partnerId?: string; created?: Date; updated?: Date; archived?: Date; } export interface FieldInterface { fieldId?: string; answer?: string; fieldType?: e.FieldType; label?: string; description?: string; prefix?: string; suffix?: string; regexValidator?: string; regexErrorMessage?: string; } export interface GetOrderRecipientDetailsRequestInterface { token?: string; } export interface GetOrderRecipientDetailsResponseInterface { name?: string; email?: string; } export interface OrderInterface { orderId?: string; salespersonId?: string; partnerId?: string; businessId?: string; marketId?: string; opportunityIds?: string[]; status?: e.Status; requestedActivation?: Date; notes?: string; packages?: PackageInterface[]; customFields?: CustomFieldInterface[]; commonFields?: CommonFieldInterface[]; created?: Date; productActivations?: ProductActivationInterface[]; addonActivations?: AddonActivationInterface[]; statusHistory?: StatusHistoryItemInterface[]; declinedReason?: string; products?: ProductInterface[]; origin?: e.Origin; attachments?: AttachmentInterface[]; extraFields?: FieldInterface[]; lineItems?: LineItemInterface[]; contractDuration?: DurationInterface; taxOptions?: TaxOptionsInterface[]; tags?: string[]; agreements?: AgreementInterface[]; expiryDate?: Date; paymentMethodToken?: string; customerNotes?: string; offerExpiry?: Date; quoteId?: string; business?: BusinessInterface; salesperson?: SalespersonInterface; idempotencyKey?: string; leasedToAutomations?: Date; fulfillmentStatus?: e.FulfillmentOrderStatus; hasFulfillment?: boolean; orderIsSmbPayable?: boolean; enforceContractTerm?: boolean; customerAttachments?: AttachmentInterface[]; customerRecipient?: CustomerRecipientInterface; retailSubscriptionGroups?: { [key: string]: RetailSubscriptionGroupInterface; }; invoiceId?: string; finalizedAt?: Date; } export interface PackageInterface { packageId?: string; currency?: e.Currency; revenue?: RevenueInterface; quantity?: number; productIds?: string[]; addonKeys?: AddonKeyInterface[]; customPrices?: CustomPriceMappingInterface[]; } export interface ProductInterface { productId?: string; currency?: e.Currency; revenue?: RevenueInterface; editionId?: string; parentProductId?: string; } export interface ProductActivationInterface { productId?: string; editionId?: string; activationStatus?: e.ActivationStatus; uniqueId?: string; previousEditionId?: string; activationId?: string; isEditionChange?: boolean; } export interface RetailSubscriptionGroupInterface { name?: string; displayOption?: e.RetailSubscriptionGroupDisplayOption; iconUrl?: string; sourceIdentifier?: string; } export interface OrderRetailSubscriptionGroupsEntryInterface { key?: string; value?: RetailSubscriptionGroupInterface; } export interface SalespersonInterface { firstName?: string; lastName?: string; email?: string; phoneNumber?: string; } export interface StatusHistoryItemInterface { userId?: string; status?: e.Status; created?: Date; email?: string; metadata?: string; name?: string; source?: e.Source; userRole?: e.UserRole; } export interface UserInterface { userId?: string; firstName?: string; lastName?: string; email?: string; phoneNumber?: string; }