{"version":3,"file":"vendasta-sales-orders.mjs","sources":["../../../sales_orders_sdk/src/lib/_internal/enums/workflow.enum.ts","../../../sales_orders_sdk/src/lib/_internal/enums/sales-orders.enum.ts","../../../sales_orders_sdk/src/lib/_internal/enums/notifications.enum.ts","../../../sales_orders_sdk/src/lib/_internal/enums/fields.enum.ts","../../../sales_orders_sdk/src/lib/_internal/enums/validation-error-codes.enum.ts","../../../sales_orders_sdk/src/lib/_internal/enums/api.enum.ts","../../../sales_orders_sdk/src/lib/_internal/enums/proposal-builder-document.enum.ts","../../../sales_orders_sdk/src/lib/_internal/enums/index.ts","../../../sales_orders_sdk/src/lib/_internal/objects/workflow.ts","../../../sales_orders_sdk/src/lib/_internal/objects/tax-options.ts","../../../sales_orders_sdk/src/lib/_internal/objects/sales-orders.ts","../../../sales_orders_sdk/src/lib/_internal/objects/order-form.ts","../../../sales_orders_sdk/src/lib/_internal/objects/config.ts","../../../sales_orders_sdk/src/lib/_internal/objects/sales-orders-public.ts","../../../sales_orders_sdk/src/lib/_internal/objects/notifications.ts","../../../sales_orders_sdk/src/lib/_internal/objects/field-mask.ts","../../../sales_orders_sdk/src/lib/_internal/objects/paging.ts","../../../sales_orders_sdk/src/lib/_internal/objects/fields.ts","../../../sales_orders_sdk/src/lib/_internal/objects/auxiliary-data.ts","../../../sales_orders_sdk/src/lib/_internal/objects/annotations.ts","../../../sales_orders_sdk/src/lib/_internal/objects/validation-error-codes.ts","../../../sales_orders_sdk/src/lib/_internal/objects/api.ts","../../../sales_orders_sdk/src/lib/_internal/objects/proposal-builder-document.ts","../../../sales_orders_sdk/src/lib/_internal/objects/index.ts","../../../sales_orders_sdk/src/lib/_generated/host.service.ts","../../../sales_orders_sdk/src/lib/_internal/customer-sales-orders.api.service.ts","../../../sales_orders_sdk/src/lib/_internal/declined-reasons.api.service.ts","../../../sales_orders_sdk/src/lib/_internal/documents.api.service.ts","../../../sales_orders_sdk/src/lib/_internal/notifications.api.service.ts","../../../sales_orders_sdk/src/lib/_internal/public.api.service.ts","../../../sales_orders_sdk/src/lib/_internal/sales-orders.api.service.ts","../../../sales_orders_sdk/src/lib/_internal/sales-orders-auxiliary-field-data.api.service.ts","../../../sales_orders_sdk/src/lib/_internal/sales-orders-auxiliary-field-schema.api.service.ts","../../../sales_orders_sdk/src/lib/_internal/sales-orders-development.api.service.ts","../../../sales_orders_sdk/src/lib/_internal/vendor-orders.api.service.ts","../../../sales_orders_sdk/src/lib/_internal/index.ts","../../../sales_orders_sdk/src/lib/utils.ts","../../../sales_orders_sdk/src/lib/sales-orders.service.ts","../../../sales_orders_sdk/src/lib/customer-sales-orders.service.ts","../../../sales_orders_sdk/src/lib/vendor-sales-orders.service.ts","../../../sales_orders_sdk/src/lib/sales-orders-public.service.ts","../../../sales_orders_sdk/src/lib/notifications.service.ts","../../../sales_orders_sdk/src/lib/declined-reasons/declined-reason.ts","../../../sales_orders_sdk/src/lib/declined-reasons/declined-reason.service.ts","../../../sales_orders_sdk/src/lib/metadata.ts","../../../sales_orders_sdk/src/vendasta-sales-orders.ts"],"sourcesContent":["// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum Currency {\n    USD = 0,\n    CAD = 1,\n    EUR = 2,\n    AUD = 3,\n    GBP = 4,\n    NZD = 5,\n    ZAR = 6,\n}\n\nexport enum DurationPeriod {\n    UNSPECIFIED = 0,\n    MONTH = 1,\n    YEAR = 2,\n    DAY = 3,\n    WEEK = 4,\n}\n\nexport enum RevenuePeriod {\n    ONETIME = 0,\n    DAILY = 1,\n    WEEKLY = 2,\n    BIWEEKLY = 3,\n    MONTHLY = 4,\n    YEARLY = 5,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ActivationStatus {\n    PENDING = 0,\n    ACTIVATED = 1,\n    ERRORED = 2,\n    ALREADY_ACTIVATED = 3,\n    IGNORED_ERRORS = 4,\n    CANCELED = 5,\n    DEACTIVATED = 6,\n    UNKNOWN = 7,\n    SCHEDULED = 8,\n    UNSCHEDULED = 9,\n}\n\nexport enum FieldType {\n    NOT_SPECIFIED = 0,\n    TEXT = 1,\n    TEXTAREA = 2,\n    DROPDOWN = 3,\n    CHECKBOX = 4,\n    FILE = 5,\n    VBCUSER = 6,\n}\n\nexport enum FulfillmentOrderStatus {\n    FULFILLMENT_STATUS_UNSET = 0,\n    FULFILLMENT_STATUS_DETAILS_NEEDED = 1,\n    FULFILLMENT_STATUS_IN_REVIEW = 2,\n    FULFILLMENT_STATUS_IN_PROGRESS = 3,\n    FULFILLMENT_STATUS_COMPLETED = 4,\n    FULFILLMENT_STATUS_CANCELLED = 5,\n}\n\nexport enum Origin {\n    SSC = 0,\n    VBC = 1,\n    PC = 2,\n    IMPORT = 3,\n}\n\nexport enum RetailSubscriptionGroupDisplayOption {\n    DISPLAY_OPTION_INVALID = 0,\n    SHOW_CONTENT_SHOW_PRICES = 1,\n    SHOW_CONTENT_HIDE_PRICES = 2,\n    HIDE_CONTENT_HIDE_PRICES = 3,\n}\n\nexport enum Source {\n    SOURCE_INVALID = 0,\n    SOURCE_SYSTEM = 1,\n    SOURCE_SYSTEM_ADMIN = 2,\n}\n\nexport enum Status {\n    SUBMITTED = 0,\n    APPROVED = 1,\n    DECLINED = 2,\n    DRAFTED = 3,\n    FULFILLED = 4,\n    PROCESSING = 5,\n    ACTIVATION_ERRORS = 6,\n    ARCHIVED = 7,\n    SUBMITTED_FOR_CUSTOMER_APPROVAL = 8,\n    CANCELLATION_REQUESTED = 9,\n    CANCELLED = 10,\n    SCHEDULED_ACTIVATION = 11,\n    AWAITING_PAYMENT = 12,\n    PROCESSING_PAYMENT = 13,\n    RESUBMITTED = 14,\n}\n\nexport enum UserRole {\n    USER_ROLE_UNSPECIFIED = 0,\n    USER_ROLE_ADMIN = 1,\n    USER_ROLE_SALESPERSON = 2,\n    USER_ROLE_CLIENT = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum SubscriptionLocation {\n    SUBSCRIPTION_LOCATION_NOT_USED = 0,\n    SUBSCRIPTION_LOCATION_PARTNER_CENTER = 1,\n    SUBSCRIPTION_LOCATION_SALES_CENTER = 2,\n    SUBSCRIPTION_LOCATION_BUSINESS_CENTER = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum AuxiliaryDataFieldType {\n    AUXILIARY_DATA_FIELD_TYPE_INVALID = 0,\n    AUXILIARY_DATA_FIELD_TYPE_STRING = 1,\n    AUXILIARY_DATA_FIELD_TYPE_INTEGER = 2,\n    AUXILIARY_DATA_FIELD_TYPE_DATE = 3,\n    AUXILIARY_DATA_FIELD_TYPE_DROPDOWN = 4,\n    AUXILIARY_DATA_FIELD_TYPE_CURRENCY = 5,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ValidationErrorCodes {\n    UNKNOWN_ERROR_CODE = 0,\n    ALREADY_ACTIVE = 1,\n    INVALID_BILLING_TERMS = 2,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum InitiateOrderExportRequestDataFormatOption {\n    ORDERS_PER_ROW = 0,\n    PRODUCTS_PER_ROW = 1,\n    ORDERS_PER_ROW_SALES = 2,\n    PRODUCTS_PER_ROW_SALES = 3,\n    ORDERS_PER_ROW_BUYER = 4,\n    PRODUCTS_PER_ROW_BUYER = 5,\n}\n\nexport enum ListSalesOrderRequestSortDirection {\n    ASCENDING = 0,\n    DESCENDING = 1,\n}\n\nexport enum ListCustomerSalesOrderRequestSortDirection {\n    ASCENDING = 0,\n    DESCENDING = 1,\n}\n\nexport enum InitiateOrderExportRequestSortDirection {\n    ASCENDING = 0,\n    DESCENDING = 1,\n}\n\nexport enum ListSalesOrderRequestSortField {\n    REQUESTED_ACTIVATION = 0,\n    CREATED = 1,\n    STATUS = 2,\n    EXPIRY_DATE = 3,\n}\n\nexport enum ListCustomerSalesOrderRequestSortField {\n    REQUESTED_ACTIVATION = 0,\n    CREATED = 1,\n    STATUS = 2,\n    EXPIRY_DATE = 3,\n}\n\nexport enum InitiateOrderExportRequestSortField {\n    REQUESTED_ACTIVATION = 0,\n    CREATED = 1,\n    STATUS = 2,\n    EXPIRY_DATE = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ContentType {\n    CONTENT_TYPE_TEXT_PLAIN = 0,\n    CONTENT_TYPE_TEXT_HTML = 1,\n}\n\nexport enum DocumentEventType {\n    DOCUMENT_EVENT_TYPE_INVALID = 0,\n    DOCUMENT_EVENT_TYPE_SENT_BY_EMAIL = 1,\n    DOCUMENT_EVENT_TYPE_VIEWED_BY_RECIPIENT = 2,\n    DOCUMENT_EVENT_TYPE_FEEDBACK_FROM_RECIPIENT = 3,\n    DOCUMENT_EVENT_TYPE_APPROVED_BY_RECIPIENT = 4,\n    DOCUMENT_EVENT_TYPE_INTERNAL_REVIEW_REQUESTED = 5,\n    DOCUMENT_EVENT_TYPE_COMMENT_FROM_INTERNAL_USER = 6,\n    DOCUMENT_EVENT_TYPE_REVIEWED_BY_INTERNAL_USER = 7,\n    DOCUMENT_EVENT_TYPE_UNLOCK_DOCUMENT = 8,\n}\n\nexport enum DocumentShareType {\n    DOCUMENT_SHARE_TYPE_INVALID = 0,\n    DOCUMENT_SHARE_TYPE_GLOBAL = 1,\n    DOCUMENT_SHARE_TYPE_ORGANIZATION = 2,\n}\n\nexport enum DocumentStatus {\n    DOCUMENT_STATUS_INVALID = 0,\n    DOCUMENT_STATUS_SENT = 1,\n    DOCUMENT_STATUS_VIEWED_BY_RECIPIENT = 2,\n    DOCUMENT_STATUS_FEEDBACK_FROM_RECIPIENT = 3,\n    DOCUMENT_STATUS_APPROVED_BY_RECIPIENT = 4,\n    DOCUMENT_STATUS_ARCHIVED = 5,\n    DOCUMENT_STATUS_DELETED = 6,\n    DOCUMENT_STATUS_PENDING_REVIEW = 7,\n    DOCUMENT_STATUS_REVIEWED = 8,\n    DOCUMENT_STATUS_DRAFT = 50,\n}\n\nexport enum DocumentType {\n    DOCUMENT_TYPE_INVALID = 0,\n    DOCUMENT_TYPE_PROPOSAL = 1,\n    DOCUMENT_TYPE_PROPOSAL_TEMPLATE = 2,\n    DOCUMENT_TYPE_PAGE_TEMPLATE = 3,\n    DOCUMENT_TYPE_WIDGET_TEMPLATE = 4,\n}\n\nexport enum OrganizationType {\n    ORGANIZATION_TYPE_INVALID = 0,\n    ORGANIZATION_TYPE_PARTNER = 1,\n    ORGANIZATION_TYPE_SMB = 2,\n}\n\nexport enum Orientation {\n    ORIENTATION_PORTRAIT = 0,\n    ORIENTATION_LANDSCAPE = 1,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums Index.\n// *********************************\nexport {\n    Currency,\n    DurationPeriod,\n    RevenuePeriod,\n} from './workflow.enum';\nexport {\n    ActivationStatus,\n    FieldType,\n    FulfillmentOrderStatus,\n    Origin,\n    RetailSubscriptionGroupDisplayOption,\n    Source,\n    Status,\n    UserRole,\n} from './sales-orders.enum';\nexport {\n    SubscriptionLocation,\n} from './notifications.enum';\nexport {\n    AuxiliaryDataFieldType,\n} from './fields.enum';\nexport {\n    ValidationErrorCodes,\n} from './validation-error-codes.enum';\nexport {\n    InitiateOrderExportRequestDataFormatOption,\n    ListSalesOrderRequestSortDirection,\n    ListCustomerSalesOrderRequestSortDirection,\n    InitiateOrderExportRequestSortDirection,\n    ListSalesOrderRequestSortField,\n    ListCustomerSalesOrderRequestSortField,\n    InitiateOrderExportRequestSortField,\n} from './api.enum';\nexport {\n    ContentType,\n    DocumentEventType,\n    DocumentShareType,\n    DocumentStatus,\n    DocumentType,\n    OrganizationType,\n    Orientation,\n} from './proposal-builder-document.enum';\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class LineItemAppKey implements i.LineItemAppKeyInterface {\n    appId: string;\n    editionId: string;\n    packageId: string;\n    packageInstanceId: string;\n\n    static fromProto(proto: any): LineItemAppKey {\n        let m = new LineItemAppKey();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.LineItemAppKeyInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.editionId !== 'undefined') {toReturn['editionId'] = this.editionId;}\n        if (typeof this.packageId !== 'undefined') {toReturn['packageId'] = this.packageId;}\n        if (typeof this.packageInstanceId !== 'undefined') {toReturn['packageInstanceId'] = this.packageInstanceId;}\n        return toReturn;\n    }\n}\n\nexport class BillingPeriod implements i.BillingPeriodInterface {\n    startDate: Date;\n    endDate: Date;\n    duration: Duration;\n\n    static fromProto(proto: any): BillingPeriod {\n        let m = new BillingPeriod();\n        m = Object.assign(m, proto);\n        if (proto.startDate) {m.startDate = new Date(proto.startDate);}\n        if (proto.endDate) {m.endDate = new Date(proto.endDate);}\n        if (proto.duration) {m.duration = Duration.fromProto(proto.duration);}\n        return m;\n    }\n\n    constructor(kwargs?: i.BillingPeriodInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.startDate !== 'undefined' && this.startDate !== null) {toReturn['startDate'] = 'toApiJson' in this.startDate ? (this.startDate as any).toApiJson() : this.startDate;}\n        if (typeof this.endDate !== 'undefined' && this.endDate !== null) {toReturn['endDate'] = 'toApiJson' in this.endDate ? (this.endDate as any).toApiJson() : this.endDate;}\n        if (typeof this.duration !== 'undefined' && this.duration !== null) {toReturn['duration'] = 'toApiJson' in this.duration ? (this.duration as any).toApiJson() : this.duration;}\n        return toReturn;\n    }\n}\n\nexport class Cost implements i.CostInterface {\n    customPrice: number;\n\n    static fromProto(proto: any): Cost {\n        let m = new Cost();\n        m = Object.assign(m, proto);\n        if (proto.customPrice) {m.customPrice = parseInt(proto.customPrice, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CostInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.customPrice !== 'undefined') {toReturn['customPrice'] = this.customPrice;}\n        return toReturn;\n    }\n}\n\nexport class CustomPriceMapping implements i.CustomPriceMappingInterface {\n    productId: string;\n    customPrice: number;\n\n    static fromProto(proto: any): CustomPriceMapping {\n        let m = new CustomPriceMapping();\n        m = Object.assign(m, proto);\n        if (proto.customPrice) {m.customPrice = parseInt(proto.customPrice, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CustomPriceMappingInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.productId !== 'undefined') {toReturn['productId'] = this.productId;}\n        if (typeof this.customPrice !== 'undefined') {toReturn['customPrice'] = this.customPrice;}\n        return toReturn;\n    }\n}\n\nexport class Duration implements i.DurationInterface {\n    value: number;\n    duration: e.DurationPeriod;\n\n    static fromProto(proto: any): Duration {\n        let m = new Duration();\n        m = Object.assign(m, proto);\n        if (proto.value) {m.value = parseInt(proto.value, 10);}\n        if (proto.duration) {m.duration = enumStringToValue<e.DurationPeriod>(e.DurationPeriod, proto.duration);}\n        return m;\n    }\n\n    constructor(kwargs?: i.DurationInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n        if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n        return toReturn;\n    }\n}\n\nexport class LineItem implements i.LineItemInterface {\n    appKey: LineItemAppKey;\n    packageId: string;\n    currency: e.Currency;\n    initialRevenue: Revenue;\n    currentRevenue: Revenue;\n    quantity: number;\n    isTrial: boolean;\n    currencyCode: string;\n    cost: Cost;\n    customPrices: CustomPriceMapping[];\n    billingPeriod: BillingPeriod;\n    autoBillable: boolean;\n    nonBillable: boolean;\n    taxRateIds: string[];\n    retailSubscriptionGroupId: string;\n    billToRecipientId: string;\n\n    static fromProto(proto: any): LineItem {\n        let m = new LineItem();\n        m = Object.assign(m, proto);\n        if (proto.appKey) {m.appKey = LineItemAppKey.fromProto(proto.appKey);}\n        if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n        if (proto.initialRevenue) {m.initialRevenue = Revenue.fromProto(proto.initialRevenue);}\n        if (proto.currentRevenue) {m.currentRevenue = Revenue.fromProto(proto.currentRevenue);}\n        if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n        if (proto.cost) {m.cost = Cost.fromProto(proto.cost);}\n        if (proto.customPrices) {m.customPrices = proto.customPrices.map(CustomPriceMapping.fromProto);}\n        if (proto.billingPeriod) {m.billingPeriod = BillingPeriod.fromProto(proto.billingPeriod);}\n        return m;\n    }\n\n    constructor(kwargs?: i.LineItemInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.appKey !== 'undefined' && this.appKey !== null) {toReturn['appKey'] = 'toApiJson' in this.appKey ? (this.appKey as any).toApiJson() : this.appKey;}\n        if (typeof this.packageId !== 'undefined') {toReturn['packageId'] = this.packageId;}\n        if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n        if (typeof this.initialRevenue !== 'undefined' && this.initialRevenue !== null) {toReturn['initialRevenue'] = 'toApiJson' in this.initialRevenue ? (this.initialRevenue as any).toApiJson() : this.initialRevenue;}\n        if (typeof this.currentRevenue !== 'undefined' && this.currentRevenue !== null) {toReturn['currentRevenue'] = 'toApiJson' in this.currentRevenue ? (this.currentRevenue as any).toApiJson() : this.currentRevenue;}\n        if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n        if (typeof this.isTrial !== 'undefined') {toReturn['isTrial'] = this.isTrial;}\n        if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n        if (typeof this.cost !== 'undefined' && this.cost !== null) {toReturn['cost'] = 'toApiJson' in this.cost ? (this.cost as any).toApiJson() : this.cost;}\n        if (typeof this.customPrices !== 'undefined' && this.customPrices !== null) {toReturn['customPrices'] = 'toApiJson' in this.customPrices ? (this.customPrices as any).toApiJson() : this.customPrices;}\n        if (typeof this.billingPeriod !== 'undefined' && this.billingPeriod !== null) {toReturn['billingPeriod'] = 'toApiJson' in this.billingPeriod ? (this.billingPeriod as any).toApiJson() : this.billingPeriod;}\n        if (typeof this.autoBillable !== 'undefined') {toReturn['autoBillable'] = this.autoBillable;}\n        if (typeof this.nonBillable !== 'undefined') {toReturn['nonBillable'] = this.nonBillable;}\n        if (typeof this.taxRateIds !== 'undefined') {toReturn['taxRateIds'] = this.taxRateIds;}\n        if (typeof this.retailSubscriptionGroupId !== 'undefined') {toReturn['retailSubscriptionGroupId'] = this.retailSubscriptionGroupId;}\n        if (typeof this.billToRecipientId !== 'undefined') {toReturn['billToRecipientId'] = this.billToRecipientId;}\n        return toReturn;\n    }\n}\n\nexport class Revenue implements i.RevenueInterface {\n    revenueComponents: RevenueComponent[];\n\n    static fromProto(proto: any): Revenue {\n        let m = new Revenue();\n        m = Object.assign(m, proto);\n        if (proto.revenueComponents) {m.revenueComponents = proto.revenueComponents.map(RevenueComponent.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.RevenueInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.revenueComponents !== 'undefined' && this.revenueComponents !== null) {toReturn['revenueComponents'] = 'toApiJson' in this.revenueComponents ? (this.revenueComponents as any).toApiJson() : this.revenueComponents;}\n        return toReturn;\n    }\n}\n\nexport class RevenueComponent implements i.RevenueComponentInterface {\n    value: number;\n    period: e.RevenuePeriod;\n    isStartingRevenue: boolean;\n\n    static fromProto(proto: any): RevenueComponent {\n        let m = new RevenueComponent();\n        m = Object.assign(m, proto);\n        if (proto.value) {m.value = parseInt(proto.value, 10);}\n        if (proto.period) {m.period = enumStringToValue<e.RevenuePeriod>(e.RevenuePeriod, proto.period);}\n        return m;\n    }\n\n    constructor(kwargs?: i.RevenueComponentInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n        if (typeof this.period !== 'undefined') {toReturn['period'] = this.period;}\n        if (typeof this.isStartingRevenue !== 'undefined') {toReturn['isStartingRevenue'] = this.isStartingRevenue;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class TaxOptions implements i.TaxOptionsInterface {\n    label: string;\n    percentageMultiplier: number;\n    initialAmount: number;\n    taxRateId: string;\n\n    static fromProto(proto: any): TaxOptions {\n        let m = new TaxOptions();\n        m = Object.assign(m, proto);\n        if (proto.initialAmount) {m.initialAmount = parseInt(proto.initialAmount, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.TaxOptionsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n        if (typeof this.percentageMultiplier !== 'undefined') {toReturn['percentageMultiplier'] = this.percentageMultiplier;}\n        if (typeof this.initialAmount !== 'undefined') {toReturn['initialAmount'] = this.initialAmount;}\n        if (typeof this.taxRateId !== 'undefined') {toReturn['taxRateId'] = this.taxRateId;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { LineItem, Duration, Revenue, CustomPriceMapping } from './workflow';\nimport { TaxOptions } from './tax-options';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class AddonActivation implements i.AddonActivationInterface {\n    addonId: string;\n    appId: string;\n    activationStatus: e.ActivationStatus;\n\n    static fromProto(proto: any): AddonActivation {\n        let m = new AddonActivation();\n        m = Object.assign(m, proto);\n        if (proto.activationStatus) {m.activationStatus = enumStringToValue<e.ActivationStatus>(e.ActivationStatus, proto.activationStatus);}\n        return m;\n    }\n\n    constructor(kwargs?: i.AddonActivationInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.addonId !== 'undefined') {toReturn['addonId'] = this.addonId;}\n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.activationStatus !== 'undefined') {toReturn['activationStatus'] = this.activationStatus;}\n        return toReturn;\n    }\n}\n\nexport class AddonKey implements i.AddonKeyInterface {\n    addonId: string;\n    appId: string;\n\n    static fromProto(proto: any): AddonKey {\n        let m = new AddonKey();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.AddonKeyInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.addonId !== 'undefined') {toReturn['addonId'] = this.addonId;}\n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        return toReturn;\n    }\n}\n\nexport class Agreement implements i.AgreementInterface {\n    userId: string;\n    term: string;\n    agreed: boolean;\n\n    static fromProto(proto: any): Agreement {\n        let m = new Agreement();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.AgreementInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n        if (typeof this.term !== 'undefined') {toReturn['term'] = this.term;}\n        if (typeof this.agreed !== 'undefined') {toReturn['agreed'] = this.agreed;}\n        return toReturn;\n    }\n}\n\nexport class Attachment implements i.AttachmentInterface {\n    name: string;\n    url: string;\n\n    static fromProto(proto: any): Attachment {\n        let m = new Attachment();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.AttachmentInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        if (typeof this.url !== 'undefined') {toReturn['url'] = this.url;}\n        return toReturn;\n    }\n}\n\nexport class Business implements i.BusinessInterface {\n    companyName: string;\n    address: string;\n    address2: string;\n    city: string;\n    state: string;\n    zip: string;\n    country: string;\n    website: string;\n    phoneNumber: string;\n    deleted: boolean;\n\n    static fromProto(proto: any): Business {\n        let m = new Business();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.BusinessInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.companyName !== 'undefined') {toReturn['companyName'] = this.companyName;}\n        if (typeof this.address !== 'undefined') {toReturn['address'] = this.address;}\n        if (typeof this.address2 !== 'undefined') {toReturn['address2'] = this.address2;}\n        if (typeof this.city !== 'undefined') {toReturn['city'] = this.city;}\n        if (typeof this.state !== 'undefined') {toReturn['state'] = this.state;}\n        if (typeof this.zip !== 'undefined') {toReturn['zip'] = this.zip;}\n        if (typeof this.country !== 'undefined') {toReturn['country'] = this.country;}\n        if (typeof this.website !== 'undefined') {toReturn['website'] = this.website;}\n        if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n        if (typeof this.deleted !== 'undefined') {toReturn['deleted'] = this.deleted;}\n        return toReturn;\n    }\n}\n\nexport class CommonField implements i.CommonFieldInterface {\n    field: Field;\n    productIds: string[];\n    addonKeys: AddonKey[];\n\n    static fromProto(proto: any): CommonField {\n        let m = new CommonField();\n        m = Object.assign(m, proto);\n        if (proto.field) {m.field = Field.fromProto(proto.field);}\n        if (proto.addonKeys) {m.addonKeys = proto.addonKeys.map(AddonKey.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CommonFieldInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.field !== 'undefined' && this.field !== null) {toReturn['field'] = 'toApiJson' in this.field ? (this.field as any).toApiJson() : this.field;}\n        if (typeof this.productIds !== 'undefined') {toReturn['productIds'] = this.productIds;}\n        if (typeof this.addonKeys !== 'undefined' && this.addonKeys !== null) {toReturn['addonKeys'] = 'toApiJson' in this.addonKeys ? (this.addonKeys as any).toApiJson() : this.addonKeys;}\n        return toReturn;\n    }\n}\n\nexport class CustomField implements i.CustomFieldInterface {\n    fields: Field[];\n    productId: string;\n    addonKey: AddonKey;\n\n    static fromProto(proto: any): CustomField {\n        let m = new CustomField();\n        m = Object.assign(m, proto);\n        if (proto.fields) {m.fields = proto.fields.map(Field.fromProto);}\n        if (proto.addonKey) {m.addonKey = AddonKey.fromProto(proto.addonKey);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CustomFieldInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.fields !== 'undefined' && this.fields !== null) {toReturn['fields'] = 'toApiJson' in this.fields ? (this.fields as any).toApiJson() : this.fields;}\n        if (typeof this.productId !== 'undefined') {toReturn['productId'] = this.productId;}\n        if (typeof this.addonKey !== 'undefined' && this.addonKey !== null) {toReturn['addonKey'] = 'toApiJson' in this.addonKey ? (this.addonKey as any).toApiJson() : this.addonKey;}\n        return toReturn;\n    }\n}\n\nexport class CustomerRecipient implements i.CustomerRecipientInterface {\n    userId: string;\n    firstName: string;\n    lastName: string;\n\n    static fromProto(proto: any): CustomerRecipient {\n        let m = new CustomerRecipient();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CustomerRecipientInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n        if (typeof this.firstName !== 'undefined') {toReturn['firstName'] = this.firstName;}\n        if (typeof this.lastName !== 'undefined') {toReturn['lastName'] = this.lastName;}\n        return toReturn;\n    }\n}\n\nexport class DeclinedReason implements i.DeclinedReasonInterface {\n    id: string;\n    reason: string;\n    partnerId: string;\n    created: Date;\n    updated: Date;\n    archived: Date;\n\n    static fromProto(proto: any): DeclinedReason {\n        let m = new DeclinedReason();\n        m = Object.assign(m, proto);\n        if (proto.created) {m.created = new Date(proto.created);}\n        if (proto.updated) {m.updated = new Date(proto.updated);}\n        if (proto.archived) {m.archived = new Date(proto.archived);}\n        return m;\n    }\n\n    constructor(kwargs?: i.DeclinedReasonInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n        if (typeof this.reason !== 'undefined') {toReturn['reason'] = this.reason;}\n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n        if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n        if (typeof this.archived !== 'undefined' && this.archived !== null) {toReturn['archived'] = 'toApiJson' in this.archived ? (this.archived as any).toApiJson() : this.archived;}\n        return toReturn;\n    }\n}\n\nexport class Field implements i.FieldInterface {\n    fieldId: string;\n    answer: string;\n    fieldType: e.FieldType;\n    label: string;\n    description: string;\n    prefix: string;\n    suffix: string;\n    regexValidator: string;\n    regexErrorMessage: string;\n\n    static fromProto(proto: any): Field {\n        let m = new Field();\n        m = Object.assign(m, proto);\n        if (proto.fieldType) {m.fieldType = enumStringToValue<e.FieldType>(e.FieldType, proto.fieldType);}\n        return m;\n    }\n\n    constructor(kwargs?: i.FieldInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.fieldId !== 'undefined') {toReturn['fieldId'] = this.fieldId;}\n        if (typeof this.answer !== 'undefined') {toReturn['answer'] = this.answer;}\n        if (typeof this.fieldType !== 'undefined') {toReturn['fieldType'] = this.fieldType;}\n        if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n        if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n        if (typeof this.prefix !== 'undefined') {toReturn['prefix'] = this.prefix;}\n        if (typeof this.suffix !== 'undefined') {toReturn['suffix'] = this.suffix;}\n        if (typeof this.regexValidator !== 'undefined') {toReturn['regexValidator'] = this.regexValidator;}\n        if (typeof this.regexErrorMessage !== 'undefined') {toReturn['regexErrorMessage'] = this.regexErrorMessage;}\n        return toReturn;\n    }\n}\n\nexport class GetOrderRecipientDetailsRequest implements i.GetOrderRecipientDetailsRequestInterface {\n    token: string;\n\n    static fromProto(proto: any): GetOrderRecipientDetailsRequest {\n        let m = new GetOrderRecipientDetailsRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetOrderRecipientDetailsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.token !== 'undefined') {toReturn['token'] = this.token;}\n        return toReturn;\n    }\n}\n\nexport class GetOrderRecipientDetailsResponse implements i.GetOrderRecipientDetailsResponseInterface {\n    name: string;\n    email: string;\n\n    static fromProto(proto: any): GetOrderRecipientDetailsResponse {\n        let m = new GetOrderRecipientDetailsResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetOrderRecipientDetailsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n        return toReturn;\n    }\n}\n\nexport class Order implements i.OrderInterface {\n    orderId: string;\n    salespersonId: string;\n    partnerId: string;\n    businessId: string;\n    marketId: string;\n    opportunityIds: string[];\n    status: e.Status;\n    requestedActivation: Date;\n    notes: string;\n    packages: Package[];\n    customFields: CustomField[];\n    commonFields: CommonField[];\n    created: Date;\n    productActivations: ProductActivation[];\n    addonActivations: AddonActivation[];\n    statusHistory: StatusHistoryItem[];\n    declinedReason: string;\n    products: Product[];\n    origin: e.Origin;\n    attachments: Attachment[];\n    extraFields: Field[];\n    lineItems: LineItem[];\n    contractDuration: Duration;\n    taxOptions: TaxOptions[];\n    tags: string[];\n    agreements: Agreement[];\n    expiryDate: Date;\n    paymentMethodToken: string;\n    customerNotes: string;\n    offerExpiry: Date;\n    quoteId: string;\n    business: Business;\n    salesperson: Salesperson;\n    idempotencyKey: string;\n    leasedToAutomations: Date;\n    fulfillmentStatus: e.FulfillmentOrderStatus;\n    hasFulfillment: boolean;\n    orderIsSmbPayable: boolean;\n    enforceContractTerm: boolean;\n    customerAttachments: Attachment[];\n    customerRecipient: CustomerRecipient;\n    retailSubscriptionGroups: {[key: string]: RetailSubscriptionGroup};\n    invoiceId: string;\n    finalizedAt: Date;\n\n    static fromProto(proto: any): Order {\n        let m = new Order();\n        m = Object.assign(m, proto);\n        if (proto.status) {m.status = enumStringToValue<e.Status>(e.Status, proto.status);}\n        if (proto.requestedActivation) {m.requestedActivation = new Date(proto.requestedActivation);}\n        if (proto.packages) {m.packages = proto.packages.map(Package.fromProto);}\n        if (proto.customFields) {m.customFields = proto.customFields.map(CustomField.fromProto);}\n        if (proto.commonFields) {m.commonFields = proto.commonFields.map(CommonField.fromProto);}\n        if (proto.created) {m.created = new Date(proto.created);}\n        if (proto.productActivations) {m.productActivations = proto.productActivations.map(ProductActivation.fromProto);}\n        if (proto.addonActivations) {m.addonActivations = proto.addonActivations.map(AddonActivation.fromProto);}\n        if (proto.statusHistory) {m.statusHistory = proto.statusHistory.map(StatusHistoryItem.fromProto);}\n        if (proto.products) {m.products = proto.products.map(Product.fromProto);}\n        if (proto.origin) {m.origin = enumStringToValue<e.Origin>(e.Origin, proto.origin);}\n        if (proto.attachments) {m.attachments = proto.attachments.map(Attachment.fromProto);}\n        if (proto.extraFields) {m.extraFields = proto.extraFields.map(Field.fromProto);}\n        if (proto.lineItems) {m.lineItems = proto.lineItems.map(LineItem.fromProto);}\n        if (proto.contractDuration) {m.contractDuration = Duration.fromProto(proto.contractDuration);}\n        if (proto.taxOptions) {m.taxOptions = proto.taxOptions.map(TaxOptions.fromProto);}\n        if (proto.agreements) {m.agreements = proto.agreements.map(Agreement.fromProto);}\n        if (proto.expiryDate) {m.expiryDate = new Date(proto.expiryDate);}\n        if (proto.offerExpiry) {m.offerExpiry = new Date(proto.offerExpiry);}\n        if (proto.business) {m.business = Business.fromProto(proto.business);}\n        if (proto.salesperson) {m.salesperson = Salesperson.fromProto(proto.salesperson);}\n        if (proto.leasedToAutomations) {m.leasedToAutomations = new Date(proto.leasedToAutomations);}\n        if (proto.fulfillmentStatus) {m.fulfillmentStatus = enumStringToValue<e.FulfillmentOrderStatus>(e.FulfillmentOrderStatus, proto.fulfillmentStatus);}\n        if (proto.customerAttachments) {m.customerAttachments = proto.customerAttachments.map(Attachment.fromProto);}\n        if (proto.customerRecipient) {m.customerRecipient = CustomerRecipient.fromProto(proto.customerRecipient);}\n        if (proto.retailSubscriptionGroups) {m.retailSubscriptionGroups = Object.keys(proto.retailSubscriptionGroups).reduce<any>((obj, k) => { obj[k] = RetailSubscriptionGroup.fromProto(proto.retailSubscriptionGroups[k]); return obj; }, {});}\n        if (proto.finalizedAt) {m.finalizedAt = new Date(proto.finalizedAt);}\n        return m;\n    }\n\n    constructor(kwargs?: i.OrderInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.salespersonId !== 'undefined') {toReturn['salespersonId'] = this.salespersonId;}\n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.opportunityIds !== 'undefined') {toReturn['opportunityIds'] = this.opportunityIds;}\n        if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n        if (typeof this.requestedActivation !== 'undefined' && this.requestedActivation !== null) {toReturn['requestedActivation'] = 'toApiJson' in this.requestedActivation ? (this.requestedActivation as any).toApiJson() : this.requestedActivation;}\n        if (typeof this.notes !== 'undefined') {toReturn['notes'] = this.notes;}\n        if (typeof this.packages !== 'undefined' && this.packages !== null) {toReturn['packages'] = 'toApiJson' in this.packages ? (this.packages as any).toApiJson() : this.packages;}\n        if (typeof this.customFields !== 'undefined' && this.customFields !== null) {toReturn['customFields'] = 'toApiJson' in this.customFields ? (this.customFields as any).toApiJson() : this.customFields;}\n        if (typeof this.commonFields !== 'undefined' && this.commonFields !== null) {toReturn['commonFields'] = 'toApiJson' in this.commonFields ? (this.commonFields as any).toApiJson() : this.commonFields;}\n        if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n        if (typeof this.productActivations !== 'undefined' && this.productActivations !== null) {toReturn['productActivations'] = 'toApiJson' in this.productActivations ? (this.productActivations as any).toApiJson() : this.productActivations;}\n        if (typeof this.addonActivations !== 'undefined' && this.addonActivations !== null) {toReturn['addonActivations'] = 'toApiJson' in this.addonActivations ? (this.addonActivations as any).toApiJson() : this.addonActivations;}\n        if (typeof this.statusHistory !== 'undefined' && this.statusHistory !== null) {toReturn['statusHistory'] = 'toApiJson' in this.statusHistory ? (this.statusHistory as any).toApiJson() : this.statusHistory;}\n        if (typeof this.declinedReason !== 'undefined') {toReturn['declinedReason'] = this.declinedReason;}\n        if (typeof this.products !== 'undefined' && this.products !== null) {toReturn['products'] = 'toApiJson' in this.products ? (this.products as any).toApiJson() : this.products;}\n        if (typeof this.origin !== 'undefined') {toReturn['origin'] = this.origin;}\n        if (typeof this.attachments !== 'undefined' && this.attachments !== null) {toReturn['attachments'] = 'toApiJson' in this.attachments ? (this.attachments as any).toApiJson() : this.attachments;}\n        if (typeof this.extraFields !== 'undefined' && this.extraFields !== null) {toReturn['extraFields'] = 'toApiJson' in this.extraFields ? (this.extraFields as any).toApiJson() : this.extraFields;}\n        if (typeof this.lineItems !== 'undefined' && this.lineItems !== null) {toReturn['lineItems'] = 'toApiJson' in this.lineItems ? (this.lineItems as any).toApiJson() : this.lineItems;}\n        if (typeof this.contractDuration !== 'undefined' && this.contractDuration !== null) {toReturn['contractDuration'] = 'toApiJson' in this.contractDuration ? (this.contractDuration as any).toApiJson() : this.contractDuration;}\n        if (typeof this.taxOptions !== 'undefined' && this.taxOptions !== null) {toReturn['taxOptions'] = 'toApiJson' in this.taxOptions ? (this.taxOptions as any).toApiJson() : this.taxOptions;}\n        if (typeof this.tags !== 'undefined') {toReturn['tags'] = this.tags;}\n        if (typeof this.agreements !== 'undefined' && this.agreements !== null) {toReturn['agreements'] = 'toApiJson' in this.agreements ? (this.agreements as any).toApiJson() : this.agreements;}\n        if (typeof this.expiryDate !== 'undefined' && this.expiryDate !== null) {toReturn['expiryDate'] = 'toApiJson' in this.expiryDate ? (this.expiryDate as any).toApiJson() : this.expiryDate;}\n        if (typeof this.paymentMethodToken !== 'undefined') {toReturn['paymentMethodToken'] = this.paymentMethodToken;}\n        if (typeof this.customerNotes !== 'undefined') {toReturn['customerNotes'] = this.customerNotes;}\n        if (typeof this.offerExpiry !== 'undefined' && this.offerExpiry !== null) {toReturn['offerExpiry'] = 'toApiJson' in this.offerExpiry ? (this.offerExpiry as any).toApiJson() : this.offerExpiry;}\n        if (typeof this.quoteId !== 'undefined') {toReturn['quoteId'] = this.quoteId;}\n        if (typeof this.business !== 'undefined' && this.business !== null) {toReturn['business'] = 'toApiJson' in this.business ? (this.business as any).toApiJson() : this.business;}\n        if (typeof this.salesperson !== 'undefined' && this.salesperson !== null) {toReturn['salesperson'] = 'toApiJson' in this.salesperson ? (this.salesperson as any).toApiJson() : this.salesperson;}\n        if (typeof this.idempotencyKey !== 'undefined') {toReturn['idempotencyKey'] = this.idempotencyKey;}\n        if (typeof this.leasedToAutomations !== 'undefined' && this.leasedToAutomations !== null) {toReturn['leasedToAutomations'] = 'toApiJson' in this.leasedToAutomations ? (this.leasedToAutomations as any).toApiJson() : this.leasedToAutomations;}\n        if (typeof this.fulfillmentStatus !== 'undefined') {toReturn['fulfillmentStatus'] = this.fulfillmentStatus;}\n        if (typeof this.hasFulfillment !== 'undefined') {toReturn['hasFulfillment'] = this.hasFulfillment;}\n        if (typeof this.orderIsSmbPayable !== 'undefined') {toReturn['orderIsSmbPayable'] = this.orderIsSmbPayable;}\n        if (typeof this.enforceContractTerm !== 'undefined') {toReturn['enforceContractTerm'] = this.enforceContractTerm;}\n        if (typeof this.customerAttachments !== 'undefined' && this.customerAttachments !== null) {toReturn['customerAttachments'] = 'toApiJson' in this.customerAttachments ? (this.customerAttachments as any).toApiJson() : this.customerAttachments;}\n        if (typeof this.customerRecipient !== 'undefined' && this.customerRecipient !== null) {toReturn['customerRecipient'] = 'toApiJson' in this.customerRecipient ? (this.customerRecipient as any).toApiJson() : this.customerRecipient;}\n        if (typeof this.retailSubscriptionGroups !== 'undefined' && this.retailSubscriptionGroups !== null) {toReturn['retailSubscriptionGroups'] = 'toApiJson' in this.retailSubscriptionGroups ? (this.retailSubscriptionGroups as any).toApiJson() : this.retailSubscriptionGroups;}\n        if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n        if (typeof this.finalizedAt !== 'undefined' && this.finalizedAt !== null) {toReturn['finalizedAt'] = 'toApiJson' in this.finalizedAt ? (this.finalizedAt as any).toApiJson() : this.finalizedAt;}\n        return toReturn;\n    }\n}\n\nexport class Package implements i.PackageInterface {\n    packageId: string;\n    currency: e.Currency;\n    revenue: Revenue;\n    quantity: number;\n    productIds: string[];\n    addonKeys: AddonKey[];\n    customPrices: CustomPriceMapping[];\n\n    static fromProto(proto: any): Package {\n        let m = new Package();\n        m = Object.assign(m, proto);\n        if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n        if (proto.revenue) {m.revenue = Revenue.fromProto(proto.revenue);}\n        if (proto.quantity) {m.quantity = parseInt(proto.quantity, 10);}\n        if (proto.addonKeys) {m.addonKeys = proto.addonKeys.map(AddonKey.fromProto);}\n        if (proto.customPrices) {m.customPrices = proto.customPrices.map(CustomPriceMapping.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.PackageInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.packageId !== 'undefined') {toReturn['packageId'] = this.packageId;}\n        if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n        if (typeof this.revenue !== 'undefined' && this.revenue !== null) {toReturn['revenue'] = 'toApiJson' in this.revenue ? (this.revenue as any).toApiJson() : this.revenue;}\n        if (typeof this.quantity !== 'undefined') {toReturn['quantity'] = this.quantity;}\n        if (typeof this.productIds !== 'undefined') {toReturn['productIds'] = this.productIds;}\n        if (typeof this.addonKeys !== 'undefined' && this.addonKeys !== null) {toReturn['addonKeys'] = 'toApiJson' in this.addonKeys ? (this.addonKeys as any).toApiJson() : this.addonKeys;}\n        if (typeof this.customPrices !== 'undefined' && this.customPrices !== null) {toReturn['customPrices'] = 'toApiJson' in this.customPrices ? (this.customPrices as any).toApiJson() : this.customPrices;}\n        return toReturn;\n    }\n}\n\nexport class Product implements i.ProductInterface {\n    productId: string;\n    currency: e.Currency;\n    revenue: Revenue;\n    editionId: string;\n    parentProductId: string;\n\n    static fromProto(proto: any): Product {\n        let m = new Product();\n        m = Object.assign(m, proto);\n        if (proto.currency) {m.currency = enumStringToValue<e.Currency>(e.Currency, proto.currency);}\n        if (proto.revenue) {m.revenue = Revenue.fromProto(proto.revenue);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ProductInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.productId !== 'undefined') {toReturn['productId'] = this.productId;}\n        if (typeof this.currency !== 'undefined') {toReturn['currency'] = this.currency;}\n        if (typeof this.revenue !== 'undefined' && this.revenue !== null) {toReturn['revenue'] = 'toApiJson' in this.revenue ? (this.revenue as any).toApiJson() : this.revenue;}\n        if (typeof this.editionId !== 'undefined') {toReturn['editionId'] = this.editionId;}\n        if (typeof this.parentProductId !== 'undefined') {toReturn['parentProductId'] = this.parentProductId;}\n        return toReturn;\n    }\n}\n\nexport class ProductActivation implements i.ProductActivationInterface {\n    productId: string;\n    editionId: string;\n    activationStatus: e.ActivationStatus;\n    uniqueId: string;\n    previousEditionId: string;\n    activationId: string;\n    isEditionChange: boolean;\n\n    static fromProto(proto: any): ProductActivation {\n        let m = new ProductActivation();\n        m = Object.assign(m, proto);\n        if (proto.activationStatus) {m.activationStatus = enumStringToValue<e.ActivationStatus>(e.ActivationStatus, proto.activationStatus);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ProductActivationInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.productId !== 'undefined') {toReturn['productId'] = this.productId;}\n        if (typeof this.editionId !== 'undefined') {toReturn['editionId'] = this.editionId;}\n        if (typeof this.activationStatus !== 'undefined') {toReturn['activationStatus'] = this.activationStatus;}\n        if (typeof this.uniqueId !== 'undefined') {toReturn['uniqueId'] = this.uniqueId;}\n        if (typeof this.previousEditionId !== 'undefined') {toReturn['previousEditionId'] = this.previousEditionId;}\n        if (typeof this.activationId !== 'undefined') {toReturn['activationId'] = this.activationId;}\n        if (typeof this.isEditionChange !== 'undefined') {toReturn['isEditionChange'] = this.isEditionChange;}\n        return toReturn;\n    }\n}\n\nexport class RetailSubscriptionGroup implements i.RetailSubscriptionGroupInterface {\n    name: string;\n    displayOption: e.RetailSubscriptionGroupDisplayOption;\n    iconUrl: string;\n    sourceIdentifier: string;\n\n    static fromProto(proto: any): RetailSubscriptionGroup {\n        let m = new RetailSubscriptionGroup();\n        m = Object.assign(m, proto);\n        if (proto.displayOption) {m.displayOption = enumStringToValue<e.RetailSubscriptionGroupDisplayOption>(e.RetailSubscriptionGroupDisplayOption, proto.displayOption);}\n        return m;\n    }\n\n    constructor(kwargs?: i.RetailSubscriptionGroupInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        if (typeof this.displayOption !== 'undefined') {toReturn['displayOption'] = this.displayOption;}\n        if (typeof this.iconUrl !== 'undefined') {toReturn['iconUrl'] = this.iconUrl;}\n        if (typeof this.sourceIdentifier !== 'undefined') {toReturn['sourceIdentifier'] = this.sourceIdentifier;}\n        return toReturn;\n    }\n}\n\nexport class OrderRetailSubscriptionGroupsEntry implements i.OrderRetailSubscriptionGroupsEntryInterface {\n    key: string;\n    value: RetailSubscriptionGroup;\n\n    static fromProto(proto: any): OrderRetailSubscriptionGroupsEntry {\n        let m = new OrderRetailSubscriptionGroupsEntry();\n        m = Object.assign(m, proto);\n        if (proto.value) {m.value = RetailSubscriptionGroup.fromProto(proto.value);}\n        return m;\n    }\n\n    constructor(kwargs?: i.OrderRetailSubscriptionGroupsEntryInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n        if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n        return toReturn;\n    }\n}\n\nexport class Salesperson implements i.SalespersonInterface {\n    firstName: string;\n    lastName: string;\n    email: string;\n    phoneNumber: string;\n\n    static fromProto(proto: any): Salesperson {\n        let m = new Salesperson();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.SalespersonInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.firstName !== 'undefined') {toReturn['firstName'] = this.firstName;}\n        if (typeof this.lastName !== 'undefined') {toReturn['lastName'] = this.lastName;}\n        if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n        if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n        return toReturn;\n    }\n}\n\nexport class StatusHistoryItem implements i.StatusHistoryItemInterface {\n    userId: string;\n    status: e.Status;\n    created: Date;\n    email: string;\n    metadata: string;\n    name: string;\n    source: e.Source;\n    userRole: e.UserRole;\n\n    static fromProto(proto: any): StatusHistoryItem {\n        let m = new StatusHistoryItem();\n        m = Object.assign(m, proto);\n        if (proto.status) {m.status = enumStringToValue<e.Status>(e.Status, proto.status);}\n        if (proto.created) {m.created = new Date(proto.created);}\n        if (proto.source) {m.source = enumStringToValue<e.Source>(e.Source, proto.source);}\n        if (proto.userRole) {m.userRole = enumStringToValue<e.UserRole>(e.UserRole, proto.userRole);}\n        return m;\n    }\n\n    constructor(kwargs?: i.StatusHistoryItemInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n        if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n        if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n        if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n        if (typeof this.metadata !== 'undefined') {toReturn['metadata'] = this.metadata;}\n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        if (typeof this.source !== 'undefined') {toReturn['source'] = this.source;}\n        if (typeof this.userRole !== 'undefined') {toReturn['userRole'] = this.userRole;}\n        return toReturn;\n    }\n}\n\nexport class User implements i.UserInterface {\n    userId: string;\n    firstName: string;\n    lastName: string;\n    email: string;\n    phoneNumber: string;\n\n    static fromProto(proto: any): User {\n        let m = new User();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.UserInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n        if (typeof this.firstName !== 'undefined') {toReturn['firstName'] = this.firstName;}\n        if (typeof this.lastName !== 'undefined') {toReturn['lastName'] = this.lastName;}\n        if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n        if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class IncludedCommonFormFields implements i.IncludedCommonFormFieldsInterface {\n    businessName: boolean;\n    businessAddress: boolean;\n    businessPhoneNumber: boolean;\n    businessAccountGroupId: boolean;\n    salespersonName: boolean;\n    salespersonPhoneNumber: boolean;\n    salespersonEmail: boolean;\n    contactName: boolean;\n    contactPhoneNumber: boolean;\n    contactEmail: boolean;\n    businessWebsite: boolean;\n\n    static fromProto(proto: any): IncludedCommonFormFields {\n        let m = new IncludedCommonFormFields();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.IncludedCommonFormFieldsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.businessName !== 'undefined') {toReturn['businessName'] = this.businessName;}\n        if (typeof this.businessAddress !== 'undefined') {toReturn['businessAddress'] = this.businessAddress;}\n        if (typeof this.businessPhoneNumber !== 'undefined') {toReturn['businessPhoneNumber'] = this.businessPhoneNumber;}\n        if (typeof this.businessAccountGroupId !== 'undefined') {toReturn['businessAccountGroupId'] = this.businessAccountGroupId;}\n        if (typeof this.salespersonName !== 'undefined') {toReturn['salespersonName'] = this.salespersonName;}\n        if (typeof this.salespersonPhoneNumber !== 'undefined') {toReturn['salespersonPhoneNumber'] = this.salespersonPhoneNumber;}\n        if (typeof this.salespersonEmail !== 'undefined') {toReturn['salespersonEmail'] = this.salespersonEmail;}\n        if (typeof this.contactName !== 'undefined') {toReturn['contactName'] = this.contactName;}\n        if (typeof this.contactPhoneNumber !== 'undefined') {toReturn['contactPhoneNumber'] = this.contactPhoneNumber;}\n        if (typeof this.contactEmail !== 'undefined') {toReturn['contactEmail'] = this.contactEmail;}\n        if (typeof this.businessWebsite !== 'undefined') {toReturn['businessWebsite'] = this.businessWebsite;}\n        return toReturn;\n    }\n}\n\nexport class OrderFormFieldOption implements i.OrderFormFieldOptionInterface {\n    label: string;\n    value: string;\n\n    static fromProto(proto: any): OrderFormFieldOption {\n        let m = new OrderFormFieldOption();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.OrderFormFieldOptionInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n        if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n        return toReturn;\n    }\n}\n\nexport class OrderForm implements i.OrderFormInterface {\n    orderForm: OrderFormField[];\n    commonForm: IncludedCommonFormFields;\n    activationMessage: string;\n    separateOrderForms: boolean;\n    commonFormRequiredFields: IncludedCommonFormFields;\n    usesPostBillingOrderForm: boolean;\n    footerText: string;\n\n    static fromProto(proto: any): OrderForm {\n        let m = new OrderForm();\n        m = Object.assign(m, proto);\n        if (proto.orderForm) {m.orderForm = proto.orderForm.map(OrderFormField.fromProto);}\n        if (proto.commonForm) {m.commonForm = IncludedCommonFormFields.fromProto(proto.commonForm);}\n        if (proto.commonFormRequiredFields) {m.commonFormRequiredFields = IncludedCommonFormFields.fromProto(proto.commonFormRequiredFields);}\n        return m;\n    }\n\n    constructor(kwargs?: i.OrderFormInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderForm !== 'undefined' && this.orderForm !== null) {toReturn['orderForm'] = 'toApiJson' in this.orderForm ? (this.orderForm as any).toApiJson() : this.orderForm;}\n        if (typeof this.commonForm !== 'undefined' && this.commonForm !== null) {toReturn['commonForm'] = 'toApiJson' in this.commonForm ? (this.commonForm as any).toApiJson() : this.commonForm;}\n        if (typeof this.activationMessage !== 'undefined') {toReturn['activationMessage'] = this.activationMessage;}\n        if (typeof this.separateOrderForms !== 'undefined') {toReturn['separateOrderForms'] = this.separateOrderForms;}\n        if (typeof this.commonFormRequiredFields !== 'undefined' && this.commonFormRequiredFields !== null) {toReturn['commonFormRequiredFields'] = 'toApiJson' in this.commonFormRequiredFields ? (this.commonFormRequiredFields as any).toApiJson() : this.commonFormRequiredFields;}\n        if (typeof this.usesPostBillingOrderForm !== 'undefined') {toReturn['usesPostBillingOrderForm'] = this.usesPostBillingOrderForm;}\n        if (typeof this.footerText !== 'undefined') {toReturn['footerText'] = this.footerText;}\n        return toReturn;\n    }\n}\n\nexport class OrderFormField implements i.OrderFormFieldInterface {\n    label: string;\n    id: string;\n    type: string;\n    options: string[];\n    description: string;\n    required: boolean;\n    uploadUrl: string;\n    prefix: string;\n    suffix: string;\n    regexValidator: string;\n    regexErrorMessage: string;\n    useWebhookValidator: boolean;\n    allowMultiples: boolean;\n    allowDuplicates: boolean;\n    maxChoices: number;\n    forOfficeUseOnly: boolean;\n    optionsWithLabels: OrderFormFieldOption[];\n    officeEditableOnly: boolean;\n\n    static fromProto(proto: any): OrderFormField {\n        let m = new OrderFormField();\n        m = Object.assign(m, proto);\n        if (proto.maxChoices) {m.maxChoices = parseInt(proto.maxChoices, 10);}\n        if (proto.optionsWithLabels) {m.optionsWithLabels = proto.optionsWithLabels.map(OrderFormFieldOption.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.OrderFormFieldInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n        if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n        if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n        if (typeof this.options !== 'undefined') {toReturn['options'] = this.options;}\n        if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n        if (typeof this.required !== 'undefined') {toReturn['required'] = this.required;}\n        if (typeof this.uploadUrl !== 'undefined') {toReturn['uploadUrl'] = this.uploadUrl;}\n        if (typeof this.prefix !== 'undefined') {toReturn['prefix'] = this.prefix;}\n        if (typeof this.suffix !== 'undefined') {toReturn['suffix'] = this.suffix;}\n        if (typeof this.regexValidator !== 'undefined') {toReturn['regexValidator'] = this.regexValidator;}\n        if (typeof this.regexErrorMessage !== 'undefined') {toReturn['regexErrorMessage'] = this.regexErrorMessage;}\n        if (typeof this.useWebhookValidator !== 'undefined') {toReturn['useWebhookValidator'] = this.useWebhookValidator;}\n        if (typeof this.allowMultiples !== 'undefined') {toReturn['allowMultiples'] = this.allowMultiples;}\n        if (typeof this.allowDuplicates !== 'undefined') {toReturn['allowDuplicates'] = this.allowDuplicates;}\n        if (typeof this.maxChoices !== 'undefined') {toReturn['maxChoices'] = this.maxChoices;}\n        if (typeof this.forOfficeUseOnly !== 'undefined') {toReturn['forOfficeUseOnly'] = this.forOfficeUseOnly;}\n        if (typeof this.optionsWithLabels !== 'undefined' && this.optionsWithLabels !== null) {toReturn['optionsWithLabels'] = 'toApiJson' in this.optionsWithLabels ? (this.optionsWithLabels as any).toApiJson() : this.optionsWithLabels;}\n        if (typeof this.officeEditableOnly !== 'undefined') {toReturn['officeEditableOnly'] = this.officeEditableOnly;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { OrderFormField } from './order-form';\nimport { TaxOptions } from './tax-options';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class Config implements i.ConfigInterface {\n    partnerId: string;\n    marketId: string;\n    defaultNotesContent: string;\n    extraFields: OrderFormField[];\n    termsOfServiceUrl: string;\n    workflowStepOptions: WorkflowStepOptions;\n    salespersonOptions: SalespersonOptions;\n    taxOptions: TaxOptions[];\n    customerTermsOfServiceOptions: TermsOfServiceOptions;\n    customerOptions: CustomerOptions;\n    emailOptions: EmailOptions;\n\n    static fromProto(proto: any): Config {\n        let m = new Config();\n        m = Object.assign(m, proto);\n        if (proto.extraFields) {m.extraFields = proto.extraFields.map(OrderFormField.fromProto);}\n        if (proto.workflowStepOptions) {m.workflowStepOptions = WorkflowStepOptions.fromProto(proto.workflowStepOptions);}\n        if (proto.salespersonOptions) {m.salespersonOptions = SalespersonOptions.fromProto(proto.salespersonOptions);}\n        if (proto.taxOptions) {m.taxOptions = proto.taxOptions.map(TaxOptions.fromProto);}\n        if (proto.customerTermsOfServiceOptions) {m.customerTermsOfServiceOptions = TermsOfServiceOptions.fromProto(proto.customerTermsOfServiceOptions);}\n        if (proto.customerOptions) {m.customerOptions = CustomerOptions.fromProto(proto.customerOptions);}\n        if (proto.emailOptions) {m.emailOptions = EmailOptions.fromProto(proto.emailOptions);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ConfigInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.defaultNotesContent !== 'undefined') {toReturn['defaultNotesContent'] = this.defaultNotesContent;}\n        if (typeof this.extraFields !== 'undefined' && this.extraFields !== null) {toReturn['extraFields'] = 'toApiJson' in this.extraFields ? (this.extraFields as any).toApiJson() : this.extraFields;}\n        if (typeof this.termsOfServiceUrl !== 'undefined') {toReturn['termsOfServiceUrl'] = this.termsOfServiceUrl;}\n        if (typeof this.workflowStepOptions !== 'undefined' && this.workflowStepOptions !== null) {toReturn['workflowStepOptions'] = 'toApiJson' in this.workflowStepOptions ? (this.workflowStepOptions as any).toApiJson() : this.workflowStepOptions;}\n        if (typeof this.salespersonOptions !== 'undefined' && this.salespersonOptions !== null) {toReturn['salespersonOptions'] = 'toApiJson' in this.salespersonOptions ? (this.salespersonOptions as any).toApiJson() : this.salespersonOptions;}\n        if (typeof this.taxOptions !== 'undefined' && this.taxOptions !== null) {toReturn['taxOptions'] = 'toApiJson' in this.taxOptions ? (this.taxOptions as any).toApiJson() : this.taxOptions;}\n        if (typeof this.customerTermsOfServiceOptions !== 'undefined' && this.customerTermsOfServiceOptions !== null) {toReturn['customerTermsOfServiceOptions'] = 'toApiJson' in this.customerTermsOfServiceOptions ? (this.customerTermsOfServiceOptions as any).toApiJson() : this.customerTermsOfServiceOptions;}\n        if (typeof this.customerOptions !== 'undefined' && this.customerOptions !== null) {toReturn['customerOptions'] = 'toApiJson' in this.customerOptions ? (this.customerOptions as any).toApiJson() : this.customerOptions;}\n        if (typeof this.emailOptions !== 'undefined' && this.emailOptions !== null) {toReturn['emailOptions'] = 'toApiJson' in this.emailOptions ? (this.emailOptions as any).toApiJson() : this.emailOptions;}\n        return toReturn;\n    }\n}\n\nexport class CustomSalesPersonApproveAction implements i.CustomSalesPersonApproveActionInterface {\n    customActions: CustomSalespersonAction;\n    description: string;\n\n    static fromProto(proto: any): CustomSalesPersonApproveAction {\n        let m = new CustomSalesPersonApproveAction();\n        m = Object.assign(m, proto);\n        if (proto.customActions) {m.customActions = CustomSalespersonAction.fromProto(proto.customActions);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CustomSalesPersonApproveActionInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.customActions !== 'undefined' && this.customActions !== null) {toReturn['customActions'] = 'toApiJson' in this.customActions ? (this.customActions as any).toApiJson() : this.customActions;}\n        if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n        return toReturn;\n    }\n}\n\nexport class CustomSalespersonAction implements i.CustomSalespersonActionInterface {\n    label: string;\n    automationId: string;\n\n    static fromProto(proto: any): CustomSalespersonAction {\n        let m = new CustomSalespersonAction();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CustomSalespersonActionInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n        if (typeof this.automationId !== 'undefined') {toReturn['automationId'] = this.automationId;}\n        return toReturn;\n    }\n}\n\nexport class CustomerOptions implements i.CustomerOptionsInterface {\n    allowCustomerInitiatedOrders: boolean;\n\n    static fromProto(proto: any): CustomerOptions {\n        let m = new CustomerOptions();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CustomerOptionsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.allowCustomerInitiatedOrders !== 'undefined') {toReturn['allowCustomerInitiatedOrders'] = this.allowCustomerInitiatedOrders;}\n        return toReturn;\n    }\n}\n\nexport class EmailContent implements i.EmailContentInterface {\n    subject: string;\n    heading: string;\n    body: string;\n    button: string;\n\n    static fromProto(proto: any): EmailContent {\n        let m = new EmailContent();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.EmailContentInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.subject !== 'undefined') {toReturn['subject'] = this.subject;}\n        if (typeof this.heading !== 'undefined') {toReturn['heading'] = this.heading;}\n        if (typeof this.body !== 'undefined') {toReturn['body'] = this.body;}\n        if (typeof this.button !== 'undefined') {toReturn['button'] = this.button;}\n        return toReturn;\n    }\n}\n\nexport class EmailCustomContent implements i.EmailCustomContentInterface {\n    contractAwaitingApproval: EmailContent;\n    orderProcessed: EmailContent;\n    orderDeclined: EmailContent;\n\n    static fromProto(proto: any): EmailCustomContent {\n        let m = new EmailCustomContent();\n        m = Object.assign(m, proto);\n        if (proto.contractAwaitingApproval) {m.contractAwaitingApproval = EmailContent.fromProto(proto.contractAwaitingApproval);}\n        if (proto.orderProcessed) {m.orderProcessed = EmailContent.fromProto(proto.orderProcessed);}\n        if (proto.orderDeclined) {m.orderDeclined = EmailContent.fromProto(proto.orderDeclined);}\n        return m;\n    }\n\n    constructor(kwargs?: i.EmailCustomContentInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.contractAwaitingApproval !== 'undefined' && this.contractAwaitingApproval !== null) {toReturn['contractAwaitingApproval'] = 'toApiJson' in this.contractAwaitingApproval ? (this.contractAwaitingApproval as any).toApiJson() : this.contractAwaitingApproval;}\n        if (typeof this.orderProcessed !== 'undefined' && this.orderProcessed !== null) {toReturn['orderProcessed'] = 'toApiJson' in this.orderProcessed ? (this.orderProcessed as any).toApiJson() : this.orderProcessed;}\n        if (typeof this.orderDeclined !== 'undefined' && this.orderDeclined !== null) {toReturn['orderDeclined'] = 'toApiJson' in this.orderDeclined ? (this.orderDeclined as any).toApiJson() : this.orderDeclined;}\n        return toReturn;\n    }\n}\n\nexport class EmailOptions implements i.EmailOptionsInterface {\n    emailCustomContent: EmailCustomContent;\n\n    static fromProto(proto: any): EmailOptions {\n        let m = new EmailOptions();\n        m = Object.assign(m, proto);\n        if (proto.emailCustomContent) {m.emailCustomContent = EmailCustomContent.fromProto(proto.emailCustomContent);}\n        return m;\n    }\n\n    constructor(kwargs?: i.EmailOptionsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.emailCustomContent !== 'undefined' && this.emailCustomContent !== null) {toReturn['emailCustomContent'] = 'toApiJson' in this.emailCustomContent ? (this.emailCustomContent as any).toApiJson() : this.emailCustomContent;}\n        return toReturn;\n    }\n}\n\nexport class SalespersonOptions implements i.SalespersonOptionsInterface {\n    validateRequiredFields: boolean;\n    disableSellingStandaloneProducts: boolean;\n    disableTagging: boolean;\n\n    static fromProto(proto: any): SalespersonOptions {\n        let m = new SalespersonOptions();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.SalespersonOptionsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.validateRequiredFields !== 'undefined') {toReturn['validateRequiredFields'] = this.validateRequiredFields;}\n        if (typeof this.disableSellingStandaloneProducts !== 'undefined') {toReturn['disableSellingStandaloneProducts'] = this.disableSellingStandaloneProducts;}\n        if (typeof this.disableTagging !== 'undefined') {toReturn['disableTagging'] = this.disableTagging;}\n        return toReturn;\n    }\n}\n\nexport class TermsOfService implements i.TermsOfServiceInterface {\n    text: string;\n    termsOfServiceUrl: string;\n    linkTitle: string;\n    required: boolean;\n\n    static fromProto(proto: any): TermsOfService {\n        let m = new TermsOfService();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.TermsOfServiceInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.text !== 'undefined') {toReturn['text'] = this.text;}\n        if (typeof this.termsOfServiceUrl !== 'undefined') {toReturn['termsOfServiceUrl'] = this.termsOfServiceUrl;}\n        if (typeof this.linkTitle !== 'undefined') {toReturn['linkTitle'] = this.linkTitle;}\n        if (typeof this.required !== 'undefined') {toReturn['required'] = this.required;}\n        return toReturn;\n    }\n}\n\nexport class TermsOfServiceOptions implements i.TermsOfServiceOptionsInterface {\n    hideDefaultTermsOfService: boolean;\n    termsOfService: TermsOfService[];\n\n    static fromProto(proto: any): TermsOfServiceOptions {\n        let m = new TermsOfServiceOptions();\n        m = Object.assign(m, proto);\n        if (proto.termsOfService) {m.termsOfService = proto.termsOfService.map(TermsOfService.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.TermsOfServiceOptionsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.hideDefaultTermsOfService !== 'undefined') {toReturn['hideDefaultTermsOfService'] = this.hideDefaultTermsOfService;}\n        if (typeof this.termsOfService !== 'undefined' && this.termsOfService !== null) {toReturn['termsOfService'] = 'toApiJson' in this.termsOfService ? (this.termsOfService as any).toApiJson() : this.termsOfService;}\n        return toReturn;\n    }\n}\n\nexport class WorkflowStepOptions implements i.WorkflowStepOptionsInterface {\n    allowSendDirectToAdmin: boolean;\n    allowSendToCustomer: boolean;\n    maintainTermsAndConditionsAgreement: boolean;\n    customSalespersonActions: CustomSalespersonAction[];\n    allowOrderFormEditing: boolean;\n    allowCollectPaymentFromCustomer: boolean;\n    customApproveActions: CustomSalesPersonApproveAction;\n    canChargeSmbOnOrderSubmission: boolean;\n    useApprovalWorkflowForAdmins: boolean;\n\n    static fromProto(proto: any): WorkflowStepOptions {\n        let m = new WorkflowStepOptions();\n        m = Object.assign(m, proto);\n        if (proto.customSalespersonActions) {m.customSalespersonActions = proto.customSalespersonActions.map(CustomSalespersonAction.fromProto);}\n        if (proto.customApproveActions) {m.customApproveActions = CustomSalesPersonApproveAction.fromProto(proto.customApproveActions);}\n        return m;\n    }\n\n    constructor(kwargs?: i.WorkflowStepOptionsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.allowSendDirectToAdmin !== 'undefined') {toReturn['allowSendDirectToAdmin'] = this.allowSendDirectToAdmin;}\n        if (typeof this.allowSendToCustomer !== 'undefined') {toReturn['allowSendToCustomer'] = this.allowSendToCustomer;}\n        if (typeof this.maintainTermsAndConditionsAgreement !== 'undefined') {toReturn['maintainTermsAndConditionsAgreement'] = this.maintainTermsAndConditionsAgreement;}\n        if (typeof this.customSalespersonActions !== 'undefined' && this.customSalespersonActions !== null) {toReturn['customSalespersonActions'] = 'toApiJson' in this.customSalespersonActions ? (this.customSalespersonActions as any).toApiJson() : this.customSalespersonActions;}\n        if (typeof this.allowOrderFormEditing !== 'undefined') {toReturn['allowOrderFormEditing'] = this.allowOrderFormEditing;}\n        if (typeof this.allowCollectPaymentFromCustomer !== 'undefined') {toReturn['allowCollectPaymentFromCustomer'] = this.allowCollectPaymentFromCustomer;}\n        if (typeof this.customApproveActions !== 'undefined' && this.customApproveActions !== null) {toReturn['customApproveActions'] = 'toApiJson' in this.customApproveActions ? (this.customApproveActions as any).toApiJson() : this.customApproveActions;}\n        if (typeof this.canChargeSmbOnOrderSubmission !== 'undefined') {toReturn['canChargeSmbOnOrderSubmission'] = this.canChargeSmbOnOrderSubmission;}\n        if (typeof this.useApprovalWorkflowForAdmins !== 'undefined') {toReturn['useApprovalWorkflowForAdmins'] = this.useApprovalWorkflowForAdmins;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { Agreement, Order, CustomField, CommonField, Field } from './sales-orders';\nimport { Config } from './config';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class ApproveRequest implements i.ApproveRequestInterface {\n    orderId: string;\n    agreements: Agreement[];\n\n    static fromProto(proto: any): ApproveRequest {\n        let m = new ApproveRequest();\n        m = Object.assign(m, proto);\n        if (proto.agreements) {m.agreements = proto.agreements.map(Agreement.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ApproveRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.agreements !== 'undefined' && this.agreements !== null) {toReturn['agreements'] = 'toApiJson' in this.agreements ? (this.agreements as any).toApiJson() : this.agreements;}\n        return toReturn;\n    }\n}\n\nexport class ApproveResponse implements i.ApproveResponseInterface {\n    order: Order;\n\n    static fromProto(proto: any): ApproveResponse {\n        let m = new ApproveResponse();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ApproveResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class DeclineRequest implements i.DeclineRequestInterface {\n    orderId: string;\n    declinedReason: string;\n\n    static fromProto(proto: any): DeclineRequest {\n        let m = new DeclineRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DeclineRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.declinedReason !== 'undefined') {toReturn['declinedReason'] = this.declinedReason;}\n        return toReturn;\n    }\n}\n\nexport class DeclineResponse implements i.DeclineResponseInterface {\n    order: Order;\n\n    static fromProto(proto: any): DeclineResponse {\n        let m = new DeclineResponse();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.DeclineResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class GetConfigurationRequest implements i.GetConfigurationRequestInterface {\n    orderId: string;\n\n    static fromProto(proto: any): GetConfigurationRequest {\n        let m = new GetConfigurationRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetConfigurationRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        return toReturn;\n    }\n}\n\nexport class GetConfigurationResponse implements i.GetConfigurationResponseInterface {\n    configuration: Config;\n\n    static fromProto(proto: any): GetConfigurationResponse {\n        let m = new GetConfigurationResponse();\n        m = Object.assign(m, proto);\n        if (proto.configuration) {m.configuration = Config.fromProto(proto.configuration);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetConfigurationResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.configuration !== 'undefined' && this.configuration !== null) {toReturn['configuration'] = 'toApiJson' in this.configuration ? (this.configuration as any).toApiJson() : this.configuration;}\n        return toReturn;\n    }\n}\n\nexport class GetOrderRecipientSessionRequest implements i.GetOrderRecipientSessionRequestInterface {\n    token: string;\n\n    static fromProto(proto: any): GetOrderRecipientSessionRequest {\n        let m = new GetOrderRecipientSessionRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetOrderRecipientSessionRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.token !== 'undefined') {toReturn['token'] = this.token;}\n        return toReturn;\n    }\n}\n\nexport class GetOrderRecipientSessionResponse implements i.GetOrderRecipientSessionResponseInterface {\n    session: string;\n\n    static fromProto(proto: any): GetOrderRecipientSessionResponse {\n        let m = new GetOrderRecipientSessionResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetOrderRecipientSessionResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.session !== 'undefined') {toReturn['session'] = this.session;}\n        return toReturn;\n    }\n}\n\nexport class GetRequest implements i.GetRequestInterface {\n    orderId: string;\n\n    static fromProto(proto: any): GetRequest {\n        let m = new GetRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        return toReturn;\n    }\n}\n\nexport class GetResponse implements i.GetResponseInterface {\n    order: Order;\n\n    static fromProto(proto: any): GetResponse {\n        let m = new GetResponse();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class UpdateOrderFormAnswersRequest implements i.UpdateOrderFormAnswersRequestInterface {\n    orderId: string;\n    customFields: CustomField[];\n    commonFields: CommonField[];\n    extraFields: Field[];\n\n    static fromProto(proto: any): UpdateOrderFormAnswersRequest {\n        let m = new UpdateOrderFormAnswersRequest();\n        m = Object.assign(m, proto);\n        if (proto.customFields) {m.customFields = proto.customFields.map(CustomField.fromProto);}\n        if (proto.commonFields) {m.commonFields = proto.commonFields.map(CommonField.fromProto);}\n        if (proto.extraFields) {m.extraFields = proto.extraFields.map(Field.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateOrderFormAnswersRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.customFields !== 'undefined' && this.customFields !== null) {toReturn['customFields'] = 'toApiJson' in this.customFields ? (this.customFields as any).toApiJson() : this.customFields;}\n        if (typeof this.commonFields !== 'undefined' && this.commonFields !== null) {toReturn['commonFields'] = 'toApiJson' in this.commonFields ? (this.commonFields as any).toApiJson() : this.commonFields;}\n        if (typeof this.extraFields !== 'undefined' && this.extraFields !== null) {toReturn['extraFields'] = 'toApiJson' in this.extraFields ? (this.extraFields as any).toApiJson() : this.extraFields;}\n        return toReturn;\n    }\n}\n\nexport class UpdateOrderFormAnswersResponse implements i.UpdateOrderFormAnswersResponseInterface {\n    order: Order;\n\n    static fromProto(proto: any): UpdateOrderFormAnswersResponse {\n        let m = new UpdateOrderFormAnswersResponse();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateOrderFormAnswersResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class Subscriber implements i.SubscriberInterface {\n    userId: string;\n    location: e.SubscriptionLocation;\n\n    static fromProto(proto: any): Subscriber {\n        let m = new Subscriber();\n        m = Object.assign(m, proto);\n        if (proto.location) {m.location = enumStringToValue<e.SubscriptionLocation>(e.SubscriptionLocation, proto.location);}\n        return m;\n    }\n\n    constructor(kwargs?: i.SubscriberInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n        if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class FieldMask implements i.FieldMaskInterface {\n    paths: string[];\n\n    static fromProto(proto: any): FieldMask {\n        let m = new FieldMask();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.FieldMaskInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.paths !== 'undefined') {toReturn['paths'] = this.paths;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class PagedRequestOptions implements i.PagedRequestOptionsInterface {\n    cursor: string;\n    pageSize: number;\n\n    static fromProto(proto: any): PagedRequestOptions {\n        let m = new PagedRequestOptions();\n        m = Object.assign(m, proto);\n        if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.PagedRequestOptionsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n        if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n        return toReturn;\n    }\n}\n\nexport class PagedResponseMetadata implements i.PagedResponseMetadataInterface {\n    nextCursor: string;\n    hasMore: boolean;\n    totalResults: number;\n\n    static fromProto(proto: any): PagedResponseMetadata {\n        let m = new PagedResponseMetadata();\n        m = Object.assign(m, proto);\n        if (proto.totalResults) {m.totalResults = parseInt(proto.totalResults, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.PagedResponseMetadataInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n        if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n        if (typeof this.totalResults !== 'undefined') {toReturn['totalResults'] = this.totalResults;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { FieldMask } from './field-mask';\nimport { PagedRequestOptions, PagedResponseMetadata } from './paging';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class ArchiveAuxiliaryDataFieldSchemaRequest implements i.ArchiveAuxiliaryDataFieldSchemaRequestInterface {\n    identifier: FieldSchemaIdentifier;\n\n    static fromProto(proto: any): ArchiveAuxiliaryDataFieldSchemaRequest {\n        let m = new ArchiveAuxiliaryDataFieldSchemaRequest();\n        m = Object.assign(m, proto);\n        if (proto.identifier) {m.identifier = FieldSchemaIdentifier.fromProto(proto.identifier);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ArchiveAuxiliaryDataFieldSchemaRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.identifier !== 'undefined' && this.identifier !== null) {toReturn['identifier'] = 'toApiJson' in this.identifier ? (this.identifier as any).toApiJson() : this.identifier;}\n        return toReturn;\n    }\n}\n\nexport class AuxiliaryDataFieldSchema implements i.AuxiliaryDataFieldSchemaInterface {\n    partnerId: string;\n    fieldId: string;\n    fieldType: e.AuxiliaryDataFieldType;\n    fieldName: string;\n    fieldDescription: string;\n    created: Date;\n    updated: Date;\n    dropdownOptions: DropdownOption[];\n    currencyCode: string;\n    archived: Date;\n    externalId: string;\n\n    static fromProto(proto: any): AuxiliaryDataFieldSchema {\n        let m = new AuxiliaryDataFieldSchema();\n        m = Object.assign(m, proto);\n        if (proto.fieldType) {m.fieldType = enumStringToValue<e.AuxiliaryDataFieldType>(e.AuxiliaryDataFieldType, proto.fieldType);}\n        if (proto.created) {m.created = new Date(proto.created);}\n        if (proto.updated) {m.updated = new Date(proto.updated);}\n        if (proto.dropdownOptions) {m.dropdownOptions = proto.dropdownOptions.map(DropdownOption.fromProto);}\n        if (proto.archived) {m.archived = new Date(proto.archived);}\n        return m;\n    }\n\n    constructor(kwargs?: i.AuxiliaryDataFieldSchemaInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.fieldId !== 'undefined') {toReturn['fieldId'] = this.fieldId;}\n        if (typeof this.fieldType !== 'undefined') {toReturn['fieldType'] = this.fieldType;}\n        if (typeof this.fieldName !== 'undefined') {toReturn['fieldName'] = this.fieldName;}\n        if (typeof this.fieldDescription !== 'undefined') {toReturn['fieldDescription'] = this.fieldDescription;}\n        if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n        if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n        if (typeof this.dropdownOptions !== 'undefined' && this.dropdownOptions !== null) {toReturn['dropdownOptions'] = 'toApiJson' in this.dropdownOptions ? (this.dropdownOptions as any).toApiJson() : this.dropdownOptions;}\n        if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n        if (typeof this.archived !== 'undefined' && this.archived !== null) {toReturn['archived'] = 'toApiJson' in this.archived ? (this.archived as any).toApiJson() : this.archived;}\n        if (typeof this.externalId !== 'undefined') {toReturn['externalId'] = this.externalId;}\n        return toReturn;\n    }\n}\n\nexport class AuxiliaryDataObjectID implements i.AuxiliaryDataObjectIDInterface {\n    partnerId: string;\n    objectId: string;\n\n    static fromProto(proto: any): AuxiliaryDataObjectID {\n        let m = new AuxiliaryDataObjectID();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.AuxiliaryDataObjectIDInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.objectId !== 'undefined') {toReturn['objectId'] = this.objectId;}\n        return toReturn;\n    }\n}\n\nexport class CreateAuxiliaryDataFieldSchemaRequest implements i.CreateAuxiliaryDataFieldSchemaRequestInterface {\n    fieldSchema: AuxiliaryDataFieldSchema;\n\n    static fromProto(proto: any): CreateAuxiliaryDataFieldSchemaRequest {\n        let m = new CreateAuxiliaryDataFieldSchemaRequest();\n        m = Object.assign(m, proto);\n        if (proto.fieldSchema) {m.fieldSchema = AuxiliaryDataFieldSchema.fromProto(proto.fieldSchema);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateAuxiliaryDataFieldSchemaRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.fieldSchema !== 'undefined' && this.fieldSchema !== null) {toReturn['fieldSchema'] = 'toApiJson' in this.fieldSchema ? (this.fieldSchema as any).toApiJson() : this.fieldSchema;}\n        return toReturn;\n    }\n}\n\nexport class DropdownOption implements i.DropdownOptionInterface {\n    label: string;\n    value: string;\n\n    static fromProto(proto: any): DropdownOption {\n        let m = new DropdownOption();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DropdownOptionInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n        if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n        return toReturn;\n    }\n}\n\nexport class FieldDataUpsertOperation implements i.FieldDataUpsertOperationInterface {\n    fieldDataId: string;\n    externalId: string;\n    integer: number;\n    string: string;\n    date: Date;\n    dropdownValue: string;\n    currencyValue: number;\n    deleteValue: boolean;\n\n    static fromProto(proto: any): FieldDataUpsertOperation {\n        let m = new FieldDataUpsertOperation();\n        m = Object.assign(m, proto);\n        if (proto.integer) {m.integer = parseInt(proto.integer, 10);}\n        if (proto.date) {m.date = new Date(proto.date);}\n        if (proto.currencyValue) {m.currencyValue = parseInt(proto.currencyValue, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.FieldDataUpsertOperationInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.fieldDataId !== 'undefined') {toReturn['fieldDataId'] = this.fieldDataId;}\n        if (typeof this.externalId !== 'undefined') {toReturn['externalId'] = this.externalId;}\n        if (typeof this.integer !== 'undefined') {toReturn['integer'] = this.integer;}\n        if (typeof this.string !== 'undefined') {toReturn['string'] = this.string;}\n        if (typeof this.date !== 'undefined' && this.date !== null) {toReturn['date'] = 'toApiJson' in this.date ? (this.date as any).toApiJson() : this.date;}\n        if (typeof this.dropdownValue !== 'undefined') {toReturn['dropdownValue'] = this.dropdownValue;}\n        if (typeof this.currencyValue !== 'undefined') {toReturn['currencyValue'] = this.currencyValue;}\n        if (typeof this.deleteValue !== 'undefined') {toReturn['deleteValue'] = this.deleteValue;}\n        return toReturn;\n    }\n}\n\nexport class FieldSchemaIdentifier implements i.FieldSchemaIdentifierInterface {\n    fieldId: string;\n    externalId: string;\n    partnerId: string;\n\n    static fromProto(proto: any): FieldSchemaIdentifier {\n        let m = new FieldSchemaIdentifier();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.FieldSchemaIdentifierInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.fieldId !== 'undefined') {toReturn['fieldId'] = this.fieldId;}\n        if (typeof this.externalId !== 'undefined') {toReturn['externalId'] = this.externalId;}\n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        return toReturn;\n    }\n}\n\nexport class ListAuxiliaryDataFieldSchemaRequestFilters implements i.ListAuxiliaryDataFieldSchemaRequestFiltersInterface {\n    onlyArchived: boolean;\n\n    static fromProto(proto: any): ListAuxiliaryDataFieldSchemaRequestFilters {\n        let m = new ListAuxiliaryDataFieldSchemaRequestFilters();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ListAuxiliaryDataFieldSchemaRequestFiltersInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.onlyArchived !== 'undefined') {toReturn['onlyArchived'] = this.onlyArchived;}\n        return toReturn;\n    }\n}\n\nexport class GetAuxiliaryDataFieldSchemaRequest implements i.GetAuxiliaryDataFieldSchemaRequestInterface {\n    identifier: FieldSchemaIdentifier;\n\n    static fromProto(proto: any): GetAuxiliaryDataFieldSchemaRequest {\n        let m = new GetAuxiliaryDataFieldSchemaRequest();\n        m = Object.assign(m, proto);\n        if (proto.identifier) {m.identifier = FieldSchemaIdentifier.fromProto(proto.identifier);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetAuxiliaryDataFieldSchemaRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.identifier !== 'undefined' && this.identifier !== null) {toReturn['identifier'] = 'toApiJson' in this.identifier ? (this.identifier as any).toApiJson() : this.identifier;}\n        return toReturn;\n    }\n}\n\nexport class GetAuxiliaryDataFieldSchemaResponse implements i.GetAuxiliaryDataFieldSchemaResponseInterface {\n    fieldSchema: AuxiliaryDataFieldSchema;\n\n    static fromProto(proto: any): GetAuxiliaryDataFieldSchemaResponse {\n        let m = new GetAuxiliaryDataFieldSchemaResponse();\n        m = Object.assign(m, proto);\n        if (proto.fieldSchema) {m.fieldSchema = AuxiliaryDataFieldSchema.fromProto(proto.fieldSchema);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetAuxiliaryDataFieldSchemaResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.fieldSchema !== 'undefined' && this.fieldSchema !== null) {toReturn['fieldSchema'] = 'toApiJson' in this.fieldSchema ? (this.fieldSchema as any).toApiJson() : this.fieldSchema;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiAuxiliaryDataFieldSchemaRequest implements i.GetMultiAuxiliaryDataFieldSchemaRequestInterface {\n    identifiers: FieldSchemaIdentifier[];\n\n    static fromProto(proto: any): GetMultiAuxiliaryDataFieldSchemaRequest {\n        let m = new GetMultiAuxiliaryDataFieldSchemaRequest();\n        m = Object.assign(m, proto);\n        if (proto.identifiers) {m.identifiers = proto.identifiers.map(FieldSchemaIdentifier.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiAuxiliaryDataFieldSchemaRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.identifiers !== 'undefined' && this.identifiers !== null) {toReturn['identifiers'] = 'toApiJson' in this.identifiers ? (this.identifiers as any).toApiJson() : this.identifiers;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiAuxiliaryDataFieldSchemaResponse implements i.GetMultiAuxiliaryDataFieldSchemaResponseInterface {\n    fieldSchemas: AuxiliaryDataFieldSchema[];\n\n    static fromProto(proto: any): GetMultiAuxiliaryDataFieldSchemaResponse {\n        let m = new GetMultiAuxiliaryDataFieldSchemaResponse();\n        m = Object.assign(m, proto);\n        if (proto.fieldSchemas) {m.fieldSchemas = proto.fieldSchemas.map(AuxiliaryDataFieldSchema.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiAuxiliaryDataFieldSchemaResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.fieldSchemas !== 'undefined' && this.fieldSchemas !== null) {toReturn['fieldSchemas'] = 'toApiJson' in this.fieldSchemas ? (this.fieldSchemas as any).toApiJson() : this.fieldSchemas;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiAuxiliaryDataRequest implements i.GetMultiAuxiliaryDataRequestInterface {\n    auxiliaryDataObjectId: AuxiliaryDataObjectID;\n    fieldIds: string[];\n\n    static fromProto(proto: any): GetMultiAuxiliaryDataRequest {\n        let m = new GetMultiAuxiliaryDataRequest();\n        m = Object.assign(m, proto);\n        if (proto.auxiliaryDataObjectId) {m.auxiliaryDataObjectId = AuxiliaryDataObjectID.fromProto(proto.auxiliaryDataObjectId);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiAuxiliaryDataRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.auxiliaryDataObjectId !== 'undefined' && this.auxiliaryDataObjectId !== null) {toReturn['auxiliaryDataObjectId'] = 'toApiJson' in this.auxiliaryDataObjectId ? (this.auxiliaryDataObjectId as any).toApiJson() : this.auxiliaryDataObjectId;}\n        if (typeof this.fieldIds !== 'undefined') {toReturn['fieldIds'] = this.fieldIds;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiAuxiliaryDataResponse implements i.GetMultiAuxiliaryDataResponseInterface {\n    jsonSchema: string;\n    jsonData: string;\n\n    static fromProto(proto: any): GetMultiAuxiliaryDataResponse {\n        let m = new GetMultiAuxiliaryDataResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiAuxiliaryDataResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.jsonSchema !== 'undefined') {toReturn['jsonSchema'] = this.jsonSchema;}\n        if (typeof this.jsonData !== 'undefined') {toReturn['jsonData'] = this.jsonData;}\n        return toReturn;\n    }\n}\n\nexport class ListAuxiliaryDataFieldSchemaRequest implements i.ListAuxiliaryDataFieldSchemaRequestInterface {\n    partnerId: string;\n    pagingOptions: PagedRequestOptions;\n    filters: ListAuxiliaryDataFieldSchemaRequestFilters;\n\n    static fromProto(proto: any): ListAuxiliaryDataFieldSchemaRequest {\n        let m = new ListAuxiliaryDataFieldSchemaRequest();\n        m = Object.assign(m, proto);\n        if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n        if (proto.filters) {m.filters = ListAuxiliaryDataFieldSchemaRequestFilters.fromProto(proto.filters);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListAuxiliaryDataFieldSchemaRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n        if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n        return toReturn;\n    }\n}\n\nexport class ListAuxiliaryDataFieldSchemaResponse implements i.ListAuxiliaryDataFieldSchemaResponseInterface {\n    fieldSchemas: AuxiliaryDataFieldSchema[];\n    pagingMetadata: PagedResponseMetadata;\n\n    static fromProto(proto: any): ListAuxiliaryDataFieldSchemaResponse {\n        let m = new ListAuxiliaryDataFieldSchemaResponse();\n        m = Object.assign(m, proto);\n        if (proto.fieldSchemas) {m.fieldSchemas = proto.fieldSchemas.map(AuxiliaryDataFieldSchema.fromProto);}\n        if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListAuxiliaryDataFieldSchemaResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.fieldSchemas !== 'undefined' && this.fieldSchemas !== null) {toReturn['fieldSchemas'] = 'toApiJson' in this.fieldSchemas ? (this.fieldSchemas as any).toApiJson() : this.fieldSchemas;}\n        if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n        return toReturn;\n    }\n}\n\nexport class ListAuxiliaryDataRequest implements i.ListAuxiliaryDataRequestInterface {\n    auxiliaryDataObjectId: AuxiliaryDataObjectID;\n    pagingOptions: PagedRequestOptions;\n\n    static fromProto(proto: any): ListAuxiliaryDataRequest {\n        let m = new ListAuxiliaryDataRequest();\n        m = Object.assign(m, proto);\n        if (proto.auxiliaryDataObjectId) {m.auxiliaryDataObjectId = AuxiliaryDataObjectID.fromProto(proto.auxiliaryDataObjectId);}\n        if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListAuxiliaryDataRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.auxiliaryDataObjectId !== 'undefined' && this.auxiliaryDataObjectId !== null) {toReturn['auxiliaryDataObjectId'] = 'toApiJson' in this.auxiliaryDataObjectId ? (this.auxiliaryDataObjectId as any).toApiJson() : this.auxiliaryDataObjectId;}\n        if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n        return toReturn;\n    }\n}\n\nexport class ListAuxiliaryDataResponse implements i.ListAuxiliaryDataResponseInterface {\n    jsonSchema: string;\n    jsonData: string;\n    pagingMetadata: PagedResponseMetadata;\n\n    static fromProto(proto: any): ListAuxiliaryDataResponse {\n        let m = new ListAuxiliaryDataResponse();\n        m = Object.assign(m, proto);\n        if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListAuxiliaryDataResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.jsonSchema !== 'undefined') {toReturn['jsonSchema'] = this.jsonSchema;}\n        if (typeof this.jsonData !== 'undefined') {toReturn['jsonData'] = this.jsonData;}\n        if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n        return toReturn;\n    }\n}\n\nexport class UnarchiveAuxiliaryDataFieldSchemaRequest implements i.UnarchiveAuxiliaryDataFieldSchemaRequestInterface {\n    identifier: FieldSchemaIdentifier;\n\n    static fromProto(proto: any): UnarchiveAuxiliaryDataFieldSchemaRequest {\n        let m = new UnarchiveAuxiliaryDataFieldSchemaRequest();\n        m = Object.assign(m, proto);\n        if (proto.identifier) {m.identifier = FieldSchemaIdentifier.fromProto(proto.identifier);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UnarchiveAuxiliaryDataFieldSchemaRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.identifier !== 'undefined' && this.identifier !== null) {toReturn['identifier'] = 'toApiJson' in this.identifier ? (this.identifier as any).toApiJson() : this.identifier;}\n        return toReturn;\n    }\n}\n\nexport class UpdateAuxiliaryDataFieldSchemaRequest implements i.UpdateAuxiliaryDataFieldSchemaRequestInterface {\n    fieldSchema: AuxiliaryDataFieldSchema;\n    fieldMask: FieldMask;\n\n    static fromProto(proto: any): UpdateAuxiliaryDataFieldSchemaRequest {\n        let m = new UpdateAuxiliaryDataFieldSchemaRequest();\n        m = Object.assign(m, proto);\n        if (proto.fieldSchema) {m.fieldSchema = AuxiliaryDataFieldSchema.fromProto(proto.fieldSchema);}\n        if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateAuxiliaryDataFieldSchemaRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.fieldSchema !== 'undefined' && this.fieldSchema !== null) {toReturn['fieldSchema'] = 'toApiJson' in this.fieldSchema ? (this.fieldSchema as any).toApiJson() : this.fieldSchema;}\n        if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n        return toReturn;\n    }\n}\n\nexport class UpsertAuxiliaryDataRequest implements i.UpsertAuxiliaryDataRequestInterface {\n    auxiliaryDataObjectId: AuxiliaryDataObjectID;\n    fieldDataUpsertOperations: FieldDataUpsertOperation[];\n\n    static fromProto(proto: any): UpsertAuxiliaryDataRequest {\n        let m = new UpsertAuxiliaryDataRequest();\n        m = Object.assign(m, proto);\n        if (proto.auxiliaryDataObjectId) {m.auxiliaryDataObjectId = AuxiliaryDataObjectID.fromProto(proto.auxiliaryDataObjectId);}\n        if (proto.fieldDataUpsertOperations) {m.fieldDataUpsertOperations = proto.fieldDataUpsertOperations.map(FieldDataUpsertOperation.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpsertAuxiliaryDataRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.auxiliaryDataObjectId !== 'undefined' && this.auxiliaryDataObjectId !== null) {toReturn['auxiliaryDataObjectId'] = 'toApiJson' in this.auxiliaryDataObjectId ? (this.auxiliaryDataObjectId as any).toApiJson() : this.auxiliaryDataObjectId;}\n        if (typeof this.fieldDataUpsertOperations !== 'undefined' && this.fieldDataUpsertOperations !== null) {toReturn['fieldDataUpsertOperations'] = 'toApiJson' in this.fieldDataUpsertOperations ? (this.fieldDataUpsertOperations as any).toApiJson() : this.fieldDataUpsertOperations;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { FieldDataUpsertOperation } from './fields';\nimport { PagedRequestOptions } from './paging';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class ListSalesOderAuxiliaryDataRequest implements i.ListSalesOderAuxiliaryDataRequestInterface {\n    salesOrderAuxiliaryDataObjectId: SalesOrderAuxiliaryDataObjectID;\n    pagingOptions: PagedRequestOptions;\n\n    static fromProto(proto: any): ListSalesOderAuxiliaryDataRequest {\n        let m = new ListSalesOderAuxiliaryDataRequest();\n        m = Object.assign(m, proto);\n        if (proto.salesOrderAuxiliaryDataObjectId) {m.salesOrderAuxiliaryDataObjectId = SalesOrderAuxiliaryDataObjectID.fromProto(proto.salesOrderAuxiliaryDataObjectId);}\n        if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListSalesOderAuxiliaryDataRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.salesOrderAuxiliaryDataObjectId !== 'undefined' && this.salesOrderAuxiliaryDataObjectId !== null) {toReturn['salesOrderAuxiliaryDataObjectId'] = 'toApiJson' in this.salesOrderAuxiliaryDataObjectId ? (this.salesOrderAuxiliaryDataObjectId as any).toApiJson() : this.salesOrderAuxiliaryDataObjectId;}\n        if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n        return toReturn;\n    }\n}\n\nexport class SalesOrderAuxiliaryDataObjectID implements i.SalesOrderAuxiliaryDataObjectIDInterface {\n    orderId: string;\n    businessId: string;\n\n    static fromProto(proto: any): SalesOrderAuxiliaryDataObjectID {\n        let m = new SalesOrderAuxiliaryDataObjectID();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.SalesOrderAuxiliaryDataObjectIDInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class UpsertSalesOrderAuxiliaryDataRequest implements i.UpsertSalesOrderAuxiliaryDataRequestInterface {\n    salesOrderAuxiliaryDataObjectId: SalesOrderAuxiliaryDataObjectID;\n    fieldDataUpsertOperations: FieldDataUpsertOperation[];\n\n    static fromProto(proto: any): UpsertSalesOrderAuxiliaryDataRequest {\n        let m = new UpsertSalesOrderAuxiliaryDataRequest();\n        m = Object.assign(m, proto);\n        if (proto.salesOrderAuxiliaryDataObjectId) {m.salesOrderAuxiliaryDataObjectId = SalesOrderAuxiliaryDataObjectID.fromProto(proto.salesOrderAuxiliaryDataObjectId);}\n        if (proto.fieldDataUpsertOperations) {m.fieldDataUpsertOperations = proto.fieldDataUpsertOperations.map(FieldDataUpsertOperation.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpsertSalesOrderAuxiliaryDataRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.salesOrderAuxiliaryDataObjectId !== 'undefined' && this.salesOrderAuxiliaryDataObjectId !== null) {toReturn['salesOrderAuxiliaryDataObjectId'] = 'toApiJson' in this.salesOrderAuxiliaryDataObjectId ? (this.salesOrderAuxiliaryDataObjectId as any).toApiJson() : this.salesOrderAuxiliaryDataObjectId;}\n        if (typeof this.fieldDataUpsertOperations !== 'undefined' && this.fieldDataUpsertOperations !== null) {toReturn['fieldDataUpsertOperations'] = 'toApiJson' in this.fieldDataUpsertOperations ? (this.fieldDataUpsertOperations as any).toApiJson() : this.fieldDataUpsertOperations;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class Access implements i.AccessInterface {\n    scope: string[];\n    public: boolean;\n\n    static fromProto(proto: any): Access {\n        let m = new Access();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.AccessInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.scope !== 'undefined') {toReturn['scope'] = this.scope;}\n        if (typeof this.public !== 'undefined') {toReturn['public'] = this.public;}\n        return toReturn;\n    }\n}\n\nexport class MCPOptions implements i.MCPOptionsInterface {\n    serverId: string[];\n\n    static fromProto(proto: any): MCPOptions {\n        let m = new MCPOptions();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.MCPOptionsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.serverId !== 'undefined') {toReturn['serverId'] = this.serverId;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class ValidationErrorList implements i.ValidationErrorListInterface {\n    errorCodes: e.ValidationErrorCodes[];\n\n    static fromProto(proto: any): ValidationErrorList {\n        let m = new ValidationErrorList();\n        m = Object.assign(m, proto);\n        if (proto.errorCodes) {m.errorCodes = proto.errorCodes.map((v: string) => enumStringToValue<e.ValidationErrorCodes>(e.ValidationErrorCodes, v));}\n        return m;\n    }\n\n    constructor(kwargs?: i.ValidationErrorListInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.errorCodes !== 'undefined') {toReturn['errorCodes'] = this.errorCodes;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { Config } from './config';\nimport { CustomField, CommonField, Field, Order, DeclinedReason, Package, Product, Attachment, Agreement, RetailSubscriptionGroup, ProductActivation, User, Business } from './sales-orders';\nimport { FieldMask } from './field-mask';\nimport { LineItem, Duration } from './workflow';\nimport { Subscriber } from './notifications';\nimport { ValidationErrorList } from './validation-error-codes';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class ActivateProductsRequest implements i.ActivateProductsRequestInterface {\n    orderId: string;\n    businessId: string;\n    customFields: CustomField[];\n    commonFields: CommonField[];\n    extraFields: Field[];\n\n    static fromProto(proto: any): ActivateProductsRequest {\n        let m = new ActivateProductsRequest();\n        m = Object.assign(m, proto);\n        if (proto.customFields) {m.customFields = proto.customFields.map(CustomField.fromProto);}\n        if (proto.commonFields) {m.commonFields = proto.commonFields.map(CommonField.fromProto);}\n        if (proto.extraFields) {m.extraFields = proto.extraFields.map(Field.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ActivateProductsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.customFields !== 'undefined' && this.customFields !== null) {toReturn['customFields'] = 'toApiJson' in this.customFields ? (this.customFields as any).toApiJson() : this.customFields;}\n        if (typeof this.commonFields !== 'undefined' && this.commonFields !== null) {toReturn['commonFields'] = 'toApiJson' in this.commonFields ? (this.commonFields as any).toApiJson() : this.commonFields;}\n        if (typeof this.extraFields !== 'undefined' && this.extraFields !== null) {toReturn['extraFields'] = 'toApiJson' in this.extraFields ? (this.extraFields as any).toApiJson() : this.extraFields;}\n        return toReturn;\n    }\n}\n\nexport class ActivateProductsResponse implements i.ActivateProductsResponseInterface {\n    order: Order;\n\n    static fromProto(proto: any): ActivateProductsResponse {\n        let m = new ActivateProductsResponse();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ActivateProductsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class ApproveCancellationRequest implements i.ApproveCancellationRequestInterface {\n    orderId: string;\n    businessId: string;\n\n    static fromProto(proto: any): ApproveCancellationRequest {\n        let m = new ApproveCancellationRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ApproveCancellationRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class ApproveSalesOrderRequest implements i.ApproveSalesOrderRequestInterface {\n    orderId: string;\n    businessId: string;\n\n    static fromProto(proto: any): ApproveSalesOrderRequest {\n        let m = new ApproveSalesOrderRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ApproveSalesOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class ApproveSalesOrderResponse implements i.ApproveSalesOrderResponseInterface {\n    order: Order;\n\n    static fromProto(proto: any): ApproveSalesOrderResponse {\n        let m = new ApproveSalesOrderResponse();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ApproveSalesOrderResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class ArchiveReasonRequest implements i.ArchiveReasonRequestInterface {\n    id: string;\n\n    static fromProto(proto: any): ArchiveReasonRequest {\n        let m = new ArchiveReasonRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ArchiveReasonRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n        return toReturn;\n    }\n}\n\nexport class ArchiveSalesOrderRequest implements i.ArchiveSalesOrderRequestInterface {\n    orderId: string;\n    businessId: string;\n\n    static fromProto(proto: any): ArchiveSalesOrderRequest {\n        let m = new ArchiveSalesOrderRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ArchiveSalesOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class ArchiveSalesOrderResponse implements i.ArchiveSalesOrderResponseInterface {\n    order: Order;\n\n    static fromProto(proto: any): ArchiveSalesOrderResponse {\n        let m = new ArchiveSalesOrderResponse();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ArchiveSalesOrderResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class CanOrderBeWholesaleBilledRequest implements i.CanOrderBeWholesaleBilledRequestInterface {\n    businessId: string;\n    orderId: string;\n\n    static fromProto(proto: any): CanOrderBeWholesaleBilledRequest {\n        let m = new CanOrderBeWholesaleBilledRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CanOrderBeWholesaleBilledRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        return toReturn;\n    }\n}\n\nexport class CanOrderBeWholesaleBilledResponse implements i.CanOrderBeWholesaleBilledResponseInterface {\n    canOrderBeWholesaleBilled: boolean;\n\n    static fromProto(proto: any): CanOrderBeWholesaleBilledResponse {\n        let m = new CanOrderBeWholesaleBilledResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CanOrderBeWholesaleBilledResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.canOrderBeWholesaleBilled !== 'undefined') {toReturn['canOrderBeWholesaleBilled'] = this.canOrderBeWholesaleBilled;}\n        return toReturn;\n    }\n}\n\nexport class CancelOrderRequest implements i.CancelOrderRequestInterface {\n    orderId: string;\n    businessId: string;\n    notes: string;\n\n    static fromProto(proto: any): CancelOrderRequest {\n        let m = new CancelOrderRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CancelOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.notes !== 'undefined') {toReturn['notes'] = this.notes;}\n        return toReturn;\n    }\n}\n\nexport class ChargeOrderRequest implements i.ChargeOrderRequestInterface {\n    orderId: string;\n    businessId: string;\n\n    static fromProto(proto: any): ChargeOrderRequest {\n        let m = new ChargeOrderRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ChargeOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class ChargeOrderResponse implements i.ChargeOrderResponseInterface {\n    order: Order;\n\n    static fromProto(proto: any): ChargeOrderResponse {\n        let m = new ChargeOrderResponse();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ChargeOrderResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class CheckSalesOrderExistsRequest implements i.CheckSalesOrderExistsRequestInterface {\n    partnerId: string;\n    businessId: string;\n    productId: string;\n    productEditionId: string;\n    statuses: e.Status[];\n\n    static fromProto(proto: any): CheckSalesOrderExistsRequest {\n        let m = new CheckSalesOrderExistsRequest();\n        m = Object.assign(m, proto);\n        if (proto.statuses) {m.statuses = proto.statuses.map((v: string) => enumStringToValue<e.Status>(e.Status, v));}\n        return m;\n    }\n\n    constructor(kwargs?: i.CheckSalesOrderExistsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.productId !== 'undefined') {toReturn['productId'] = this.productId;}\n        if (typeof this.productEditionId !== 'undefined') {toReturn['productEditionId'] = this.productEditionId;}\n        if (typeof this.statuses !== 'undefined') {toReturn['statuses'] = this.statuses;}\n        return toReturn;\n    }\n}\n\nexport class CheckSalesOrderExistsResponse implements i.CheckSalesOrderExistsResponseInterface {\n    exists: boolean;\n\n    static fromProto(proto: any): CheckSalesOrderExistsResponse {\n        let m = new CheckSalesOrderExistsResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CheckSalesOrderExistsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.exists !== 'undefined') {toReturn['exists'] = this.exists;}\n        return toReturn;\n    }\n}\n\nexport class ConvertToDraftRequest implements i.ConvertToDraftRequestInterface {\n    orderId: string;\n    businessId: string;\n\n    static fromProto(proto: any): ConvertToDraftRequest {\n        let m = new ConvertToDraftRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ConvertToDraftRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class GetStatusCountsResponseCountsEntry implements i.GetStatusCountsResponseCountsEntryInterface {\n    key: number;\n    value: number;\n\n    static fromProto(proto: any): GetStatusCountsResponseCountsEntry {\n        let m = new GetStatusCountsResponseCountsEntry();\n        m = Object.assign(m, proto);\n        if (proto.key) {m.key = parseInt(proto.key, 10);}\n        if (proto.value) {m.value = parseInt(proto.value, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetStatusCountsResponseCountsEntryInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n        if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n        return toReturn;\n    }\n}\n\nexport class CreateAndActivateOrderRequest implements i.CreateAndActivateOrderRequestInterface {\n    order: Order;\n    useCustomerPrice: boolean;\n\n    static fromProto(proto: any): CreateAndActivateOrderRequest {\n        let m = new CreateAndActivateOrderRequest();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateAndActivateOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        if (typeof this.useCustomerPrice !== 'undefined') {toReturn['useCustomerPrice'] = this.useCustomerPrice;}\n        return toReturn;\n    }\n}\n\nexport class CreateAndActivateOrderResponse implements i.CreateAndActivateOrderResponseInterface {\n    orderId: string;\n\n    static fromProto(proto: any): CreateAndActivateOrderResponse {\n        let m = new CreateAndActivateOrderResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateAndActivateOrderResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        return toReturn;\n    }\n}\n\nexport class CreateArchivedOrderRequest implements i.CreateArchivedOrderRequestInterface {\n    order: Order;\n\n    static fromProto(proto: any): CreateArchivedOrderRequest {\n        let m = new CreateArchivedOrderRequest();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateArchivedOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class CreateArchivedOrderResponse implements i.CreateArchivedOrderResponseInterface {\n    orderId: string;\n\n    static fromProto(proto: any): CreateArchivedOrderResponse {\n        let m = new CreateArchivedOrderResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateArchivedOrderResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        return toReturn;\n    }\n}\n\nexport class CreateDraftSalesOrderRequest implements i.CreateDraftSalesOrderRequestInterface {\n    order: Order;\n    useCustomerPrice: boolean;\n\n    static fromProto(proto: any): CreateDraftSalesOrderRequest {\n        let m = new CreateDraftSalesOrderRequest();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateDraftSalesOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        if (typeof this.useCustomerPrice !== 'undefined') {toReturn['useCustomerPrice'] = this.useCustomerPrice;}\n        return toReturn;\n    }\n}\n\nexport class CreateDraftSalesOrderResponse implements i.CreateDraftSalesOrderResponseInterface {\n    orderId: string;\n\n    static fromProto(proto: any): CreateDraftSalesOrderResponse {\n        let m = new CreateDraftSalesOrderResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateDraftSalesOrderResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        return toReturn;\n    }\n}\n\nexport class CreateForPartnerApprovalRequest implements i.CreateForPartnerApprovalRequestInterface {\n    order: Order;\n\n    static fromProto(proto: any): CreateForPartnerApprovalRequest {\n        let m = new CreateForPartnerApprovalRequest();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateForPartnerApprovalRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class CreateForPartnerApprovalResponse implements i.CreateForPartnerApprovalResponseInterface {\n    orderId: string;\n\n    static fromProto(proto: any): CreateForPartnerApprovalResponse {\n        let m = new CreateForPartnerApprovalResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateForPartnerApprovalResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        return toReturn;\n    }\n}\n\nexport class CreateInvoiceRequest implements i.CreateInvoiceRequestInterface {\n    orderId: string;\n    businessId: string;\n\n    static fromProto(proto: any): CreateInvoiceRequest {\n        let m = new CreateInvoiceRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateInvoiceRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class CreateInvoiceResponse implements i.CreateInvoiceResponseInterface {\n    invoiceId: string;\n\n    static fromProto(proto: any): CreateInvoiceResponse {\n        let m = new CreateInvoiceResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateInvoiceResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.invoiceId !== 'undefined') {toReturn['invoiceId'] = this.invoiceId;}\n        return toReturn;\n    }\n}\n\nexport class CreateLeasedToAutomationsSalesOrderRequest implements i.CreateLeasedToAutomationsSalesOrderRequestInterface {\n    order: Order;\n    useCustomerPrice: boolean;\n\n    static fromProto(proto: any): CreateLeasedToAutomationsSalesOrderRequest {\n        let m = new CreateLeasedToAutomationsSalesOrderRequest();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateLeasedToAutomationsSalesOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        if (typeof this.useCustomerPrice !== 'undefined') {toReturn['useCustomerPrice'] = this.useCustomerPrice;}\n        return toReturn;\n    }\n}\n\nexport class CreateLeasedToAutomationsSalesOrderResponse implements i.CreateLeasedToAutomationsSalesOrderResponseInterface {\n    orderId: string;\n\n    static fromProto(proto: any): CreateLeasedToAutomationsSalesOrderResponse {\n        let m = new CreateLeasedToAutomationsSalesOrderResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateLeasedToAutomationsSalesOrderResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        return toReturn;\n    }\n}\n\nexport class CreateReasonRequest implements i.CreateReasonRequestInterface {\n    reason: string;\n    partnerId: string;\n\n    static fromProto(proto: any): CreateReasonRequest {\n        let m = new CreateReasonRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateReasonRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.reason !== 'undefined') {toReturn['reason'] = this.reason;}\n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        return toReturn;\n    }\n}\n\nexport class CreateReasonResponse implements i.CreateReasonResponseInterface {\n    declinedReason: DeclinedReason;\n\n    static fromProto(proto: any): CreateReasonResponse {\n        let m = new CreateReasonResponse();\n        m = Object.assign(m, proto);\n        if (proto.declinedReason) {m.declinedReason = DeclinedReason.fromProto(proto.declinedReason);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateReasonResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.declinedReason !== 'undefined' && this.declinedReason !== null) {toReturn['declinedReason'] = 'toApiJson' in this.declinedReason ? (this.declinedReason as any).toApiJson() : this.declinedReason;}\n        return toReturn;\n    }\n}\n\nexport class CreateSalesOrderRequest implements i.CreateSalesOrderRequestInterface {\n    salespersonId: string;\n    partnerId: string;\n    businessId: string;\n    marketId: string;\n    opportunityIds: string[];\n    requestedActivation: Date;\n    notes: string;\n    packages: Package[];\n    customFields: CustomField[];\n    commonFields: CommonField[];\n    products: Product[];\n    origin: e.Origin;\n    attachments: Attachment[];\n    extraFields: Field[];\n    lineItems: LineItem[];\n    contractDuration: Duration;\n    customerNotes: string;\n    quoteId: string;\n    tags: string[];\n    idempotencyKey: string;\n    useCustomerPrice: boolean;\n    orderIsSmbPayable: boolean;\n    enforceContractTerm: boolean;\n    customerAttachments: Attachment[];\n\n    static fromProto(proto: any): CreateSalesOrderRequest {\n        let m = new CreateSalesOrderRequest();\n        m = Object.assign(m, proto);\n        if (proto.requestedActivation) {m.requestedActivation = new Date(proto.requestedActivation);}\n        if (proto.packages) {m.packages = proto.packages.map(Package.fromProto);}\n        if (proto.customFields) {m.customFields = proto.customFields.map(CustomField.fromProto);}\n        if (proto.commonFields) {m.commonFields = proto.commonFields.map(CommonField.fromProto);}\n        if (proto.products) {m.products = proto.products.map(Product.fromProto);}\n        if (proto.origin) {m.origin = enumStringToValue<e.Origin>(e.Origin, proto.origin);}\n        if (proto.attachments) {m.attachments = proto.attachments.map(Attachment.fromProto);}\n        if (proto.extraFields) {m.extraFields = proto.extraFields.map(Field.fromProto);}\n        if (proto.lineItems) {m.lineItems = proto.lineItems.map(LineItem.fromProto);}\n        if (proto.contractDuration) {m.contractDuration = Duration.fromProto(proto.contractDuration);}\n        if (proto.customerAttachments) {m.customerAttachments = proto.customerAttachments.map(Attachment.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateSalesOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.salespersonId !== 'undefined') {toReturn['salespersonId'] = this.salespersonId;}\n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.opportunityIds !== 'undefined') {toReturn['opportunityIds'] = this.opportunityIds;}\n        if (typeof this.requestedActivation !== 'undefined' && this.requestedActivation !== null) {toReturn['requestedActivation'] = 'toApiJson' in this.requestedActivation ? (this.requestedActivation as any).toApiJson() : this.requestedActivation;}\n        if (typeof this.notes !== 'undefined') {toReturn['notes'] = this.notes;}\n        if (typeof this.packages !== 'undefined' && this.packages !== null) {toReturn['packages'] = 'toApiJson' in this.packages ? (this.packages as any).toApiJson() : this.packages;}\n        if (typeof this.customFields !== 'undefined' && this.customFields !== null) {toReturn['customFields'] = 'toApiJson' in this.customFields ? (this.customFields as any).toApiJson() : this.customFields;}\n        if (typeof this.commonFields !== 'undefined' && this.commonFields !== null) {toReturn['commonFields'] = 'toApiJson' in this.commonFields ? (this.commonFields as any).toApiJson() : this.commonFields;}\n        if (typeof this.products !== 'undefined' && this.products !== null) {toReturn['products'] = 'toApiJson' in this.products ? (this.products as any).toApiJson() : this.products;}\n        if (typeof this.origin !== 'undefined') {toReturn['origin'] = this.origin;}\n        if (typeof this.attachments !== 'undefined' && this.attachments !== null) {toReturn['attachments'] = 'toApiJson' in this.attachments ? (this.attachments as any).toApiJson() : this.attachments;}\n        if (typeof this.extraFields !== 'undefined' && this.extraFields !== null) {toReturn['extraFields'] = 'toApiJson' in this.extraFields ? (this.extraFields as any).toApiJson() : this.extraFields;}\n        if (typeof this.lineItems !== 'undefined' && this.lineItems !== null) {toReturn['lineItems'] = 'toApiJson' in this.lineItems ? (this.lineItems as any).toApiJson() : this.lineItems;}\n        if (typeof this.contractDuration !== 'undefined' && this.contractDuration !== null) {toReturn['contractDuration'] = 'toApiJson' in this.contractDuration ? (this.contractDuration as any).toApiJson() : this.contractDuration;}\n        if (typeof this.customerNotes !== 'undefined') {toReturn['customerNotes'] = this.customerNotes;}\n        if (typeof this.quoteId !== 'undefined') {toReturn['quoteId'] = this.quoteId;}\n        if (typeof this.tags !== 'undefined') {toReturn['tags'] = this.tags;}\n        if (typeof this.idempotencyKey !== 'undefined') {toReturn['idempotencyKey'] = this.idempotencyKey;}\n        if (typeof this.useCustomerPrice !== 'undefined') {toReturn['useCustomerPrice'] = this.useCustomerPrice;}\n        if (typeof this.orderIsSmbPayable !== 'undefined') {toReturn['orderIsSmbPayable'] = this.orderIsSmbPayable;}\n        if (typeof this.enforceContractTerm !== 'undefined') {toReturn['enforceContractTerm'] = this.enforceContractTerm;}\n        if (typeof this.customerAttachments !== 'undefined' && this.customerAttachments !== null) {toReturn['customerAttachments'] = 'toApiJson' in this.customerAttachments ? (this.customerAttachments as any).toApiJson() : this.customerAttachments;}\n        return toReturn;\n    }\n}\n\nexport class CreateSalesOrderResponse implements i.CreateSalesOrderResponseInterface {\n    orderId: string;\n\n    static fromProto(proto: any): CreateSalesOrderResponse {\n        let m = new CreateSalesOrderResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateSalesOrderResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        return toReturn;\n    }\n}\n\nexport class CreateWithPaymentIntentRequest implements i.CreateWithPaymentIntentRequestInterface {\n    order: Order;\n\n    static fromProto(proto: any): CreateWithPaymentIntentRequest {\n        let m = new CreateWithPaymentIntentRequest();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateWithPaymentIntentRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class CreateWithPaymentIntentResponse implements i.CreateWithPaymentIntentResponseInterface {\n    orderId: string;\n\n    static fromProto(proto: any): CreateWithPaymentIntentResponse {\n        let m = new CreateWithPaymentIntentResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateWithPaymentIntentResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        return toReturn;\n    }\n}\n\nexport class CustomerApproveSalesOrderRequest implements i.CustomerApproveSalesOrderRequestInterface {\n    orderId: string;\n    businessId: string;\n    agreements: Agreement[];\n    paymentMethodToken: string;\n\n    static fromProto(proto: any): CustomerApproveSalesOrderRequest {\n        let m = new CustomerApproveSalesOrderRequest();\n        m = Object.assign(m, proto);\n        if (proto.agreements) {m.agreements = proto.agreements.map(Agreement.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CustomerApproveSalesOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.agreements !== 'undefined' && this.agreements !== null) {toReturn['agreements'] = 'toApiJson' in this.agreements ? (this.agreements as any).toApiJson() : this.agreements;}\n        if (typeof this.paymentMethodToken !== 'undefined') {toReturn['paymentMethodToken'] = this.paymentMethodToken;}\n        return toReturn;\n    }\n}\n\nexport class CustomerApproveSalesOrderResponse implements i.CustomerApproveSalesOrderResponseInterface {\n    order: Order;\n\n    static fromProto(proto: any): CustomerApproveSalesOrderResponse {\n        let m = new CustomerApproveSalesOrderResponse();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CustomerApproveSalesOrderResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class CustomerCreateSalesOrderRequest implements i.CustomerCreateSalesOrderRequestInterface {\n    order: Order;\n\n    static fromProto(proto: any): CustomerCreateSalesOrderRequest {\n        let m = new CustomerCreateSalesOrderRequest();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CustomerCreateSalesOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class CustomerCreateSalesOrderResponse implements i.CustomerCreateSalesOrderResponseInterface {\n    orderId: string;\n\n    static fromProto(proto: any): CustomerCreateSalesOrderResponse {\n        let m = new CustomerCreateSalesOrderResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CustomerCreateSalesOrderResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        return toReturn;\n    }\n}\n\nexport class CustomerGetConfigurationRequest implements i.CustomerGetConfigurationRequestInterface {\n    orderId: string;\n    businessId: string;\n\n    static fromProto(proto: any): CustomerGetConfigurationRequest {\n        let m = new CustomerGetConfigurationRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CustomerGetConfigurationRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class ListSalesOrderRequestDateRangeFilter implements i.ListSalesOrderRequestDateRangeFilterInterface {\n    beginRange: Date;\n    endRange: Date;\n\n    static fromProto(proto: any): ListSalesOrderRequestDateRangeFilter {\n        let m = new ListSalesOrderRequestDateRangeFilter();\n        m = Object.assign(m, proto);\n        if (proto.beginRange) {m.beginRange = new Date(proto.beginRange);}\n        if (proto.endRange) {m.endRange = new Date(proto.endRange);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListSalesOrderRequestDateRangeFilterInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.beginRange !== 'undefined' && this.beginRange !== null) {toReturn['beginRange'] = 'toApiJson' in this.beginRange ? (this.beginRange as any).toApiJson() : this.beginRange;}\n        if (typeof this.endRange !== 'undefined' && this.endRange !== null) {toReturn['endRange'] = 'toApiJson' in this.endRange ? (this.endRange as any).toApiJson() : this.endRange;}\n        return toReturn;\n    }\n}\n\nexport class InitiateOrderExportRequestDateRangeFilter implements i.InitiateOrderExportRequestDateRangeFilterInterface {\n    beginRange: Date;\n    endRange: Date;\n\n    static fromProto(proto: any): InitiateOrderExportRequestDateRangeFilter {\n        let m = new InitiateOrderExportRequestDateRangeFilter();\n        m = Object.assign(m, proto);\n        if (proto.beginRange) {m.beginRange = new Date(proto.beginRange);}\n        if (proto.endRange) {m.endRange = new Date(proto.endRange);}\n        return m;\n    }\n\n    constructor(kwargs?: i.InitiateOrderExportRequestDateRangeFilterInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.beginRange !== 'undefined' && this.beginRange !== null) {toReturn['beginRange'] = 'toApiJson' in this.beginRange ? (this.beginRange as any).toApiJson() : this.beginRange;}\n        if (typeof this.endRange !== 'undefined' && this.endRange !== null) {toReturn['endRange'] = 'toApiJson' in this.endRange ? (this.endRange as any).toApiJson() : this.endRange;}\n        return toReturn;\n    }\n}\n\nexport class ListCustomerSalesOrderRequestDateRangeFilter implements i.ListCustomerSalesOrderRequestDateRangeFilterInterface {\n    beginRange: Date;\n    endRange: Date;\n\n    static fromProto(proto: any): ListCustomerSalesOrderRequestDateRangeFilter {\n        let m = new ListCustomerSalesOrderRequestDateRangeFilter();\n        m = Object.assign(m, proto);\n        if (proto.beginRange) {m.beginRange = new Date(proto.beginRange);}\n        if (proto.endRange) {m.endRange = new Date(proto.endRange);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListCustomerSalesOrderRequestDateRangeFilterInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.beginRange !== 'undefined' && this.beginRange !== null) {toReturn['beginRange'] = 'toApiJson' in this.beginRange ? (this.beginRange as any).toApiJson() : this.beginRange;}\n        if (typeof this.endRange !== 'undefined' && this.endRange !== null) {toReturn['endRange'] = 'toApiJson' in this.endRange ? (this.endRange as any).toApiJson() : this.endRange;}\n        return toReturn;\n    }\n}\n\nexport class ListOrdersRequestDateRangeFilter implements i.ListOrdersRequestDateRangeFilterInterface {\n    beginRange: Date;\n    endRange: Date;\n\n    static fromProto(proto: any): ListOrdersRequestDateRangeFilter {\n        let m = new ListOrdersRequestDateRangeFilter();\n        m = Object.assign(m, proto);\n        if (proto.beginRange) {m.beginRange = new Date(proto.beginRange);}\n        if (proto.endRange) {m.endRange = new Date(proto.endRange);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListOrdersRequestDateRangeFilterInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.beginRange !== 'undefined' && this.beginRange !== null) {toReturn['beginRange'] = 'toApiJson' in this.beginRange ? (this.beginRange as any).toApiJson() : this.beginRange;}\n        if (typeof this.endRange !== 'undefined' && this.endRange !== null) {toReturn['endRange'] = 'toApiJson' in this.endRange ? (this.endRange as any).toApiJson() : this.endRange;}\n        return toReturn;\n    }\n}\n\nexport class DeclineCancellationRequest implements i.DeclineCancellationRequestInterface {\n    orderId: string;\n    businessId: string;\n    notes: string;\n\n    static fromProto(proto: any): DeclineCancellationRequest {\n        let m = new DeclineCancellationRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DeclineCancellationRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.notes !== 'undefined') {toReturn['notes'] = this.notes;}\n        return toReturn;\n    }\n}\n\nexport class DeclineSalesOrderRequest implements i.DeclineSalesOrderRequestInterface {\n    orderId: string;\n    businessId: string;\n    declinedReason: string;\n    declinedReasonIds: string[];\n\n    static fromProto(proto: any): DeclineSalesOrderRequest {\n        let m = new DeclineSalesOrderRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DeclineSalesOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.declinedReason !== 'undefined') {toReturn['declinedReason'] = this.declinedReason;}\n        if (typeof this.declinedReasonIds !== 'undefined') {toReturn['declinedReasonIds'] = this.declinedReasonIds;}\n        return toReturn;\n    }\n}\n\nexport class DeclineSalesOrderResponse implements i.DeclineSalesOrderResponseInterface {\n    order: Order;\n\n    static fromProto(proto: any): DeclineSalesOrderResponse {\n        let m = new DeclineSalesOrderResponse();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.DeclineSalesOrderResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class DeleteConfigRequest implements i.DeleteConfigRequestInterface {\n    partnerId: string;\n    marketId: string;\n\n    static fromProto(proto: any): DeleteConfigRequest {\n        let m = new DeleteConfigRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DeleteConfigRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        return toReturn;\n    }\n}\n\nexport class DeleteSalesOrderRequest implements i.DeleteSalesOrderRequestInterface {\n    orderId: string;\n    businessId: string;\n\n    static fromProto(proto: any): DeleteSalesOrderRequest {\n        let m = new DeleteSalesOrderRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DeleteSalesOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class DuplicateSalesOrderRequest implements i.DuplicateSalesOrderRequestInterface {\n    orderId: string;\n    businessId: string;\n\n    static fromProto(proto: any): DuplicateSalesOrderRequest {\n        let m = new DuplicateSalesOrderRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DuplicateSalesOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class DuplicateSalesOrderResponse implements i.DuplicateSalesOrderResponseInterface {\n    orderId: string;\n\n    static fromProto(proto: any): DuplicateSalesOrderResponse {\n        let m = new DuplicateSalesOrderResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DuplicateSalesOrderResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        return toReturn;\n    }\n}\n\nexport class GetStatusCountsRequestFilters implements i.GetStatusCountsRequestFiltersInterface {\n    marketIds: string[];\n    salespersonId: string;\n\n    static fromProto(proto: any): GetStatusCountsRequestFilters {\n        let m = new GetStatusCountsRequestFilters();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetStatusCountsRequestFiltersInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.marketIds !== 'undefined') {toReturn['marketIds'] = this.marketIds;}\n        if (typeof this.salespersonId !== 'undefined') {toReturn['salespersonId'] = this.salespersonId;}\n        return toReturn;\n    }\n}\n\nexport class ListOrdersRequestFilters implements i.ListOrdersRequestFiltersInterface {\n    resellerIds: string[];\n    activationStatuses: e.ActivationStatus[];\n    fulfillmentStatuses: string[];\n    appIds: string[];\n    created: ListOrdersRequestDateRangeFilter;\n    searchTerm: string;\n    excludeChildren: boolean;\n    excludeAppIds: boolean;\n    excludeResellerIds: boolean;\n\n    static fromProto(proto: any): ListOrdersRequestFilters {\n        let m = new ListOrdersRequestFilters();\n        m = Object.assign(m, proto);\n        if (proto.activationStatuses) {m.activationStatuses = proto.activationStatuses.map((v: string) => enumStringToValue<e.ActivationStatus>(e.ActivationStatus, v));}\n        if (proto.created) {m.created = ListOrdersRequestDateRangeFilter.fromProto(proto.created);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListOrdersRequestFiltersInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.resellerIds !== 'undefined') {toReturn['resellerIds'] = this.resellerIds;}\n        if (typeof this.activationStatuses !== 'undefined') {toReturn['activationStatuses'] = this.activationStatuses;}\n        if (typeof this.fulfillmentStatuses !== 'undefined') {toReturn['fulfillmentStatuses'] = this.fulfillmentStatuses;}\n        if (typeof this.appIds !== 'undefined') {toReturn['appIds'] = this.appIds;}\n        if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n        if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n        if (typeof this.excludeChildren !== 'undefined') {toReturn['excludeChildren'] = this.excludeChildren;}\n        if (typeof this.excludeAppIds !== 'undefined') {toReturn['excludeAppIds'] = this.excludeAppIds;}\n        if (typeof this.excludeResellerIds !== 'undefined') {toReturn['excludeResellerIds'] = this.excludeResellerIds;}\n        return toReturn;\n    }\n}\n\nexport class ListCustomerSalesOrderRequestFilters implements i.ListCustomerSalesOrderRequestFiltersInterface {\n    statuses: e.Status[];\n    created: ListCustomerSalesOrderRequestDateRangeFilter;\n    requestedActivation: ListCustomerSalesOrderRequestDateRangeFilter;\n    expiryDate: ListCustomerSalesOrderRequestDateRangeFilter;\n    businessId: string;\n\n    static fromProto(proto: any): ListCustomerSalesOrderRequestFilters {\n        let m = new ListCustomerSalesOrderRequestFilters();\n        m = Object.assign(m, proto);\n        if (proto.statuses) {m.statuses = proto.statuses.map((v: string) => enumStringToValue<e.Status>(e.Status, v));}\n        if (proto.created) {m.created = ListCustomerSalesOrderRequestDateRangeFilter.fromProto(proto.created);}\n        if (proto.requestedActivation) {m.requestedActivation = ListCustomerSalesOrderRequestDateRangeFilter.fromProto(proto.requestedActivation);}\n        if (proto.expiryDate) {m.expiryDate = ListCustomerSalesOrderRequestDateRangeFilter.fromProto(proto.expiryDate);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListCustomerSalesOrderRequestFiltersInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.statuses !== 'undefined') {toReturn['statuses'] = this.statuses;}\n        if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n        if (typeof this.requestedActivation !== 'undefined' && this.requestedActivation !== null) {toReturn['requestedActivation'] = 'toApiJson' in this.requestedActivation ? (this.requestedActivation as any).toApiJson() : this.requestedActivation;}\n        if (typeof this.expiryDate !== 'undefined' && this.expiryDate !== null) {toReturn['expiryDate'] = 'toApiJson' in this.expiryDate ? (this.expiryDate as any).toApiJson() : this.expiryDate;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class ListReasonsRequestFilters implements i.ListReasonsRequestFiltersInterface {\n    includeArchived: boolean;\n\n    static fromProto(proto: any): ListReasonsRequestFilters {\n        let m = new ListReasonsRequestFilters();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ListReasonsRequestFiltersInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.includeArchived !== 'undefined') {toReturn['includeArchived'] = this.includeArchived;}\n        return toReturn;\n    }\n}\n\nexport class ListTagsRequestFilters implements i.ListTagsRequestFiltersInterface {\n    marketIds: string[];\n\n    static fromProto(proto: any): ListTagsRequestFilters {\n        let m = new ListTagsRequestFilters();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ListTagsRequestFiltersInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.marketIds !== 'undefined') {toReturn['marketIds'] = this.marketIds;}\n        return toReturn;\n    }\n}\n\nexport class ListSalesOrderRequestFilters implements i.ListSalesOrderRequestFiltersInterface {\n    marketId: string;\n    salespersonId: string;\n    created: ListSalesOrderRequestDateRangeFilter;\n    requestedActivation: ListSalesOrderRequestDateRangeFilter;\n    statuses: e.Status[];\n    businessId: string;\n    productId: string;\n    productEditionId: string;\n    marketIds: string[];\n    tags: string[];\n    untagged: boolean;\n    packageId: string;\n    expiryDate: ListSalesOrderRequestDateRangeFilter;\n    salespersonIds: string[];\n    orderId: string;\n    orderIds: string[];\n    includeArchivedOrders: boolean;\n\n    static fromProto(proto: any): ListSalesOrderRequestFilters {\n        let m = new ListSalesOrderRequestFilters();\n        m = Object.assign(m, proto);\n        if (proto.created) {m.created = ListSalesOrderRequestDateRangeFilter.fromProto(proto.created);}\n        if (proto.requestedActivation) {m.requestedActivation = ListSalesOrderRequestDateRangeFilter.fromProto(proto.requestedActivation);}\n        if (proto.statuses) {m.statuses = proto.statuses.map((v: string) => enumStringToValue<e.Status>(e.Status, v));}\n        if (proto.expiryDate) {m.expiryDate = ListSalesOrderRequestDateRangeFilter.fromProto(proto.expiryDate);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListSalesOrderRequestFiltersInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.salespersonId !== 'undefined') {toReturn['salespersonId'] = this.salespersonId;}\n        if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n        if (typeof this.requestedActivation !== 'undefined' && this.requestedActivation !== null) {toReturn['requestedActivation'] = 'toApiJson' in this.requestedActivation ? (this.requestedActivation as any).toApiJson() : this.requestedActivation;}\n        if (typeof this.statuses !== 'undefined') {toReturn['statuses'] = this.statuses;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.productId !== 'undefined') {toReturn['productId'] = this.productId;}\n        if (typeof this.productEditionId !== 'undefined') {toReturn['productEditionId'] = this.productEditionId;}\n        if (typeof this.marketIds !== 'undefined') {toReturn['marketIds'] = this.marketIds;}\n        if (typeof this.tags !== 'undefined') {toReturn['tags'] = this.tags;}\n        if (typeof this.untagged !== 'undefined') {toReturn['untagged'] = this.untagged;}\n        if (typeof this.packageId !== 'undefined') {toReturn['packageId'] = this.packageId;}\n        if (typeof this.expiryDate !== 'undefined' && this.expiryDate !== null) {toReturn['expiryDate'] = 'toApiJson' in this.expiryDate ? (this.expiryDate as any).toApiJson() : this.expiryDate;}\n        if (typeof this.salespersonIds !== 'undefined') {toReturn['salespersonIds'] = this.salespersonIds;}\n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.orderIds !== 'undefined') {toReturn['orderIds'] = this.orderIds;}\n        if (typeof this.includeArchivedOrders !== 'undefined') {toReturn['includeArchivedOrders'] = this.includeArchivedOrders;}\n        return toReturn;\n    }\n}\n\nexport class InitiateOrderExportRequestFilters implements i.InitiateOrderExportRequestFiltersInterface {\n    marketIds: string[];\n    salespersonIds: string[];\n    salesTeamIds: string[];\n    created: InitiateOrderExportRequestDateRangeFilter;\n    requestedActivation: InitiateOrderExportRequestDateRangeFilter;\n    expiryDate: InitiateOrderExportRequestDateRangeFilter;\n    statuses: e.Status[];\n    tags: string[];\n    untagged: boolean;\n    packageIds: string[];\n    businessIds: string[];\n    orderId: string;\n\n    static fromProto(proto: any): InitiateOrderExportRequestFilters {\n        let m = new InitiateOrderExportRequestFilters();\n        m = Object.assign(m, proto);\n        if (proto.created) {m.created = InitiateOrderExportRequestDateRangeFilter.fromProto(proto.created);}\n        if (proto.requestedActivation) {m.requestedActivation = InitiateOrderExportRequestDateRangeFilter.fromProto(proto.requestedActivation);}\n        if (proto.expiryDate) {m.expiryDate = InitiateOrderExportRequestDateRangeFilter.fromProto(proto.expiryDate);}\n        if (proto.statuses) {m.statuses = proto.statuses.map((v: string) => enumStringToValue<e.Status>(e.Status, v));}\n        return m;\n    }\n\n    constructor(kwargs?: i.InitiateOrderExportRequestFiltersInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.marketIds !== 'undefined') {toReturn['marketIds'] = this.marketIds;}\n        if (typeof this.salespersonIds !== 'undefined') {toReturn['salespersonIds'] = this.salespersonIds;}\n        if (typeof this.salesTeamIds !== 'undefined') {toReturn['salesTeamIds'] = this.salesTeamIds;}\n        if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n        if (typeof this.requestedActivation !== 'undefined' && this.requestedActivation !== null) {toReturn['requestedActivation'] = 'toApiJson' in this.requestedActivation ? (this.requestedActivation as any).toApiJson() : this.requestedActivation;}\n        if (typeof this.expiryDate !== 'undefined' && this.expiryDate !== null) {toReturn['expiryDate'] = 'toApiJson' in this.expiryDate ? (this.expiryDate as any).toApiJson() : this.expiryDate;}\n        if (typeof this.statuses !== 'undefined') {toReturn['statuses'] = this.statuses;}\n        if (typeof this.tags !== 'undefined') {toReturn['tags'] = this.tags;}\n        if (typeof this.untagged !== 'undefined') {toReturn['untagged'] = this.untagged;}\n        if (typeof this.packageIds !== 'undefined') {toReturn['packageIds'] = this.packageIds;}\n        if (typeof this.businessIds !== 'undefined') {toReturn['businessIds'] = this.businessIds;}\n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        return toReturn;\n    }\n}\n\nexport class FulfillmentStatus implements i.FulfillmentStatusInterface {\n    status: string;\n    dueDate: Date;\n    assignee: string;\n    projectId: string;\n    projectName: string;\n\n    static fromProto(proto: any): FulfillmentStatus {\n        let m = new FulfillmentStatus();\n        m = Object.assign(m, proto);\n        if (proto.dueDate) {m.dueDate = new Date(proto.dueDate);}\n        return m;\n    }\n\n    constructor(kwargs?: i.FulfillmentStatusInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n        if (typeof this.dueDate !== 'undefined' && this.dueDate !== null) {toReturn['dueDate'] = 'toApiJson' in this.dueDate ? (this.dueDate as any).toApiJson() : this.dueDate;}\n        if (typeof this.assignee !== 'undefined') {toReturn['assignee'] = this.assignee;}\n        if (typeof this.projectId !== 'undefined') {toReturn['projectId'] = this.projectId;}\n        if (typeof this.projectName !== 'undefined') {toReturn['projectName'] = this.projectName;}\n        return toReturn;\n    }\n}\n\nexport class GenerateRetailSubscriptionGroupForOrderRequest implements i.GenerateRetailSubscriptionGroupForOrderRequestInterface {\n    orderId: string;\n    businessId: string;\n    retailSubscriptionGroup: RetailSubscriptionGroup;\n\n    static fromProto(proto: any): GenerateRetailSubscriptionGroupForOrderRequest {\n        let m = new GenerateRetailSubscriptionGroupForOrderRequest();\n        m = Object.assign(m, proto);\n        if (proto.retailSubscriptionGroup) {m.retailSubscriptionGroup = RetailSubscriptionGroup.fromProto(proto.retailSubscriptionGroup);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GenerateRetailSubscriptionGroupForOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.retailSubscriptionGroup !== 'undefined' && this.retailSubscriptionGroup !== null) {toReturn['retailSubscriptionGroup'] = 'toApiJson' in this.retailSubscriptionGroup ? (this.retailSubscriptionGroup as any).toApiJson() : this.retailSubscriptionGroup;}\n        return toReturn;\n    }\n}\n\nexport class GenerateRetailSubscriptionGroupForOrderResponse implements i.GenerateRetailSubscriptionGroupForOrderResponseInterface {\n    retailSubscriptionGroupId: string;\n\n    static fromProto(proto: any): GenerateRetailSubscriptionGroupForOrderResponse {\n        let m = new GenerateRetailSubscriptionGroupForOrderResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GenerateRetailSubscriptionGroupForOrderResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.retailSubscriptionGroupId !== 'undefined') {toReturn['retailSubscriptionGroupId'] = this.retailSubscriptionGroupId;}\n        return toReturn;\n    }\n}\n\nexport class GetConfigRequest implements i.GetConfigRequestInterface {\n    partnerId: string;\n    marketId: string;\n\n    static fromProto(proto: any): GetConfigRequest {\n        let m = new GetConfigRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetConfigRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        return toReturn;\n    }\n}\n\nexport class GetConfigResponse implements i.GetConfigResponseInterface {\n    config: Config;\n\n    static fromProto(proto: any): GetConfigResponse {\n        let m = new GetConfigResponse();\n        m = Object.assign(m, proto);\n        if (proto.config) {m.config = Config.fromProto(proto.config);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetConfigResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.config !== 'undefined' && this.config !== null) {toReturn['config'] = 'toApiJson' in this.config ? (this.config as any).toApiJson() : this.config;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiSalesOrderRequest implements i.GetMultiSalesOrderRequestInterface {\n    orderIds: string[];\n\n    static fromProto(proto: any): GetMultiSalesOrderRequest {\n        let m = new GetMultiSalesOrderRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiSalesOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderIds !== 'undefined') {toReturn['orderIds'] = this.orderIds;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiSalesOrderResponse implements i.GetMultiSalesOrderResponseInterface {\n    orders: Order[];\n\n    static fromProto(proto: any): GetMultiSalesOrderResponse {\n        let m = new GetMultiSalesOrderResponse();\n        m = Object.assign(m, proto);\n        if (proto.orders) {m.orders = proto.orders.map(Order.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiSalesOrderResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orders !== 'undefined' && this.orders !== null) {toReturn['orders'] = 'toApiJson' in this.orders ? (this.orders as any).toApiJson() : this.orders;}\n        return toReturn;\n    }\n}\n\nexport class GetReasonRequest implements i.GetReasonRequestInterface {\n    id: string;\n\n    static fromProto(proto: any): GetReasonRequest {\n        let m = new GetReasonRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetReasonRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n        return toReturn;\n    }\n}\n\nexport class GetReasonResponse implements i.GetReasonResponseInterface {\n    declinedReason: DeclinedReason;\n\n    static fromProto(proto: any): GetReasonResponse {\n        let m = new GetReasonResponse();\n        m = Object.assign(m, proto);\n        if (proto.declinedReason) {m.declinedReason = DeclinedReason.fromProto(proto.declinedReason);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetReasonResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.declinedReason !== 'undefined' && this.declinedReason !== null) {toReturn['declinedReason'] = 'toApiJson' in this.declinedReason ? (this.declinedReason as any).toApiJson() : this.declinedReason;}\n        return toReturn;\n    }\n}\n\nexport class GetSalesOrderByIdempotencyKeyRequest implements i.GetSalesOrderByIdempotencyKeyRequestInterface {\n    idempotencyKey: string;\n\n    static fromProto(proto: any): GetSalesOrderByIdempotencyKeyRequest {\n        let m = new GetSalesOrderByIdempotencyKeyRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetSalesOrderByIdempotencyKeyRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.idempotencyKey !== 'undefined') {toReturn['idempotencyKey'] = this.idempotencyKey;}\n        return toReturn;\n    }\n}\n\nexport class GetSalesOrderRequest implements i.GetSalesOrderRequestInterface {\n    orderId: string;\n    businessId: string;\n    projectionFilter: SalesOrderProjectionFilter;\n\n    static fromProto(proto: any): GetSalesOrderRequest {\n        let m = new GetSalesOrderRequest();\n        m = Object.assign(m, proto);\n        if (proto.projectionFilter) {m.projectionFilter = SalesOrderProjectionFilter.fromProto(proto.projectionFilter);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetSalesOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.projectionFilter !== 'undefined' && this.projectionFilter !== null) {toReturn['projectionFilter'] = 'toApiJson' in this.projectionFilter ? (this.projectionFilter as any).toApiJson() : this.projectionFilter;}\n        return toReturn;\n    }\n}\n\nexport class GetSalesOrderResponse implements i.GetSalesOrderResponseInterface {\n    order: Order;\n\n    static fromProto(proto: any): GetSalesOrderResponse {\n        let m = new GetSalesOrderResponse();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetSalesOrderResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class GetSalesOrderWithCalculatedTaxesRequest implements i.GetSalesOrderWithCalculatedTaxesRequestInterface {\n    orderId: string;\n    businessId: string;\n\n    static fromProto(proto: any): GetSalesOrderWithCalculatedTaxesRequest {\n        let m = new GetSalesOrderWithCalculatedTaxesRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetSalesOrderWithCalculatedTaxesRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class GetSalesOrderWithCalculatedTaxesResponse implements i.GetSalesOrderWithCalculatedTaxesResponseInterface {\n    order: Order;\n\n    static fromProto(proto: any): GetSalesOrderWithCalculatedTaxesResponse {\n        let m = new GetSalesOrderWithCalculatedTaxesResponse();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetSalesOrderWithCalculatedTaxesResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class GetStatusCountsRequest implements i.GetStatusCountsRequestInterface {\n    partnerId: string;\n    filters: GetStatusCountsRequestFilters;\n\n    static fromProto(proto: any): GetStatusCountsRequest {\n        let m = new GetStatusCountsRequest();\n        m = Object.assign(m, proto);\n        if (proto.filters) {m.filters = GetStatusCountsRequestFilters.fromProto(proto.filters);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetStatusCountsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n        return toReturn;\n    }\n}\n\nexport class GetStatusCountsResponse implements i.GetStatusCountsResponseInterface {\n    counts: {[key: string]: number};\n\n    static fromProto(proto: any): GetStatusCountsResponse {\n        let m = new GetStatusCountsResponse();\n        m = Object.assign(m, proto);\n        if (proto.counts) {m.counts = Object.keys(proto.counts).reduce<any>((obj, k) => { obj[k] = parseInt(proto.counts[k], 10); return obj; }, {});}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetStatusCountsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.counts !== 'undefined' && this.counts !== null) {toReturn['counts'] = 'toApiJson' in this.counts ? (this.counts as any).toApiJson() : this.counts;}\n        return toReturn;\n    }\n}\n\nexport class GetSubscribedLocationsRequest implements i.GetSubscribedLocationsRequestInterface {\n    orderId: string;\n    businessId: string;\n\n    static fromProto(proto: any): GetSubscribedLocationsRequest {\n        let m = new GetSubscribedLocationsRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetSubscribedLocationsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class GetSubscribedLocationsResponse implements i.GetSubscribedLocationsResponseInterface {\n    locations: e.SubscriptionLocation[];\n\n    static fromProto(proto: any): GetSubscribedLocationsResponse {\n        let m = new GetSubscribedLocationsResponse();\n        m = Object.assign(m, proto);\n        if (proto.locations) {m.locations = proto.locations.map((v: string) => enumStringToValue<e.SubscriptionLocation>(e.SubscriptionLocation, v));}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetSubscribedLocationsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.locations !== 'undefined') {toReturn['locations'] = this.locations;}\n        return toReturn;\n    }\n}\n\nexport class GetSubscribersRequest implements i.GetSubscribersRequestInterface {\n    orderId: string;\n    businessId: string;\n\n    static fromProto(proto: any): GetSubscribersRequest {\n        let m = new GetSubscribersRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetSubscribersRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class GetSubscribersResponse implements i.GetSubscribersResponseInterface {\n    subscribers: Subscriber[];\n\n    static fromProto(proto: any): GetSubscribersResponse {\n        let m = new GetSubscribersResponse();\n        m = Object.assign(m, proto);\n        if (proto.subscribers) {m.subscribers = proto.subscribers.map(Subscriber.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetSubscribersResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.subscribers !== 'undefined' && this.subscribers !== null) {toReturn['subscribers'] = 'toApiJson' in this.subscribers ? (this.subscribers as any).toApiJson() : this.subscribers;}\n        return toReturn;\n    }\n}\n\nexport class GetUsersRequest implements i.GetUsersRequestInterface {\n    orderId: string;\n    businessId: string;\n\n    static fromProto(proto: any): GetUsersRequest {\n        let m = new GetUsersRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetUsersRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class GetUsersResponse implements i.GetUsersResponseInterface {\n    users: {[key: string]: User};\n\n    static fromProto(proto: any): GetUsersResponse {\n        let m = new GetUsersResponse();\n        m = Object.assign(m, proto);\n        if (proto.users) {m.users = Object.keys(proto.users).reduce<any>((obj, k) => { obj[k] = User.fromProto(proto.users[k]); return obj; }, {});}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetUsersResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.users !== 'undefined' && this.users !== null) {toReturn['users'] = 'toApiJson' in this.users ? (this.users as any).toApiJson() : this.users;}\n        return toReturn;\n    }\n}\n\nexport class IgnoreAllProductActivationErrorsRequest implements i.IgnoreAllProductActivationErrorsRequestInterface {\n    orderId: string;\n    businessId: string;\n\n    static fromProto(proto: any): IgnoreAllProductActivationErrorsRequest {\n        let m = new IgnoreAllProductActivationErrorsRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.IgnoreAllProductActivationErrorsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class IgnoreProductActivationErrorRequest implements i.IgnoreProductActivationErrorRequestInterface {\n    orderId: string;\n    businessId: string;\n    productActivationUniqueId: string;\n\n    static fromProto(proto: any): IgnoreProductActivationErrorRequest {\n        let m = new IgnoreProductActivationErrorRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.IgnoreProductActivationErrorRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.productActivationUniqueId !== 'undefined') {toReturn['productActivationUniqueId'] = this.productActivationUniqueId;}\n        return toReturn;\n    }\n}\n\nexport class InitiateOrderExportRequest implements i.InitiateOrderExportRequestInterface {\n    partnerId: string;\n    filters: InitiateOrderExportRequestFilters;\n    sortOption: InitiateOrderExportRequestSortOption;\n    tryAgainUrl: string;\n    selectedDataFormat: e.InitiateOrderExportRequestDataFormatOption;\n\n    static fromProto(proto: any): InitiateOrderExportRequest {\n        let m = new InitiateOrderExportRequest();\n        m = Object.assign(m, proto);\n        if (proto.filters) {m.filters = InitiateOrderExportRequestFilters.fromProto(proto.filters);}\n        if (proto.sortOption) {m.sortOption = InitiateOrderExportRequestSortOption.fromProto(proto.sortOption);}\n        if (proto.selectedDataFormat) {m.selectedDataFormat = enumStringToValue<e.InitiateOrderExportRequestDataFormatOption>(e.InitiateOrderExportRequestDataFormatOption, proto.selectedDataFormat);}\n        return m;\n    }\n\n    constructor(kwargs?: i.InitiateOrderExportRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n        if (typeof this.sortOption !== 'undefined' && this.sortOption !== null) {toReturn['sortOption'] = 'toApiJson' in this.sortOption ? (this.sortOption as any).toApiJson() : this.sortOption;}\n        if (typeof this.tryAgainUrl !== 'undefined') {toReturn['tryAgainUrl'] = this.tryAgainUrl;}\n        if (typeof this.selectedDataFormat !== 'undefined') {toReturn['selectedDataFormat'] = this.selectedDataFormat;}\n        return toReturn;\n    }\n}\n\nexport class InitiateOrderExportResponse implements i.InitiateOrderExportResponseInterface {\n    exportId: string;\n\n    static fromProto(proto: any): InitiateOrderExportResponse {\n        let m = new InitiateOrderExportResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.InitiateOrderExportResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.exportId !== 'undefined') {toReturn['exportId'] = this.exportId;}\n        return toReturn;\n    }\n}\n\nexport class LeaseData implements i.LeaseDataInterface {\n    actionType: string;\n    declinedReason: string;\n    declinedReasonIds: string[];\n\n    static fromProto(proto: any): LeaseData {\n        let m = new LeaseData();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.LeaseDataInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.actionType !== 'undefined') {toReturn['actionType'] = this.actionType;}\n        if (typeof this.declinedReason !== 'undefined') {toReturn['declinedReason'] = this.declinedReason;}\n        if (typeof this.declinedReasonIds !== 'undefined') {toReturn['declinedReasonIds'] = this.declinedReasonIds;}\n        return toReturn;\n    }\n}\n\nexport class LeaseSalesOrderToAutomationsRequest implements i.LeaseSalesOrderToAutomationsRequestInterface {\n    orderId: string;\n    businessId: string;\n    customFields: CustomField[];\n    commonFields: CommonField[];\n    extraFields: Field[];\n    leaseData: LeaseData;\n\n    static fromProto(proto: any): LeaseSalesOrderToAutomationsRequest {\n        let m = new LeaseSalesOrderToAutomationsRequest();\n        m = Object.assign(m, proto);\n        if (proto.customFields) {m.customFields = proto.customFields.map(CustomField.fromProto);}\n        if (proto.commonFields) {m.commonFields = proto.commonFields.map(CommonField.fromProto);}\n        if (proto.extraFields) {m.extraFields = proto.extraFields.map(Field.fromProto);}\n        if (proto.leaseData) {m.leaseData = LeaseData.fromProto(proto.leaseData);}\n        return m;\n    }\n\n    constructor(kwargs?: i.LeaseSalesOrderToAutomationsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.customFields !== 'undefined' && this.customFields !== null) {toReturn['customFields'] = 'toApiJson' in this.customFields ? (this.customFields as any).toApiJson() : this.customFields;}\n        if (typeof this.commonFields !== 'undefined' && this.commonFields !== null) {toReturn['commonFields'] = 'toApiJson' in this.commonFields ? (this.commonFields as any).toApiJson() : this.commonFields;}\n        if (typeof this.extraFields !== 'undefined' && this.extraFields !== null) {toReturn['extraFields'] = 'toApiJson' in this.extraFields ? (this.extraFields as any).toApiJson() : this.extraFields;}\n        if (typeof this.leaseData !== 'undefined' && this.leaseData !== null) {toReturn['leaseData'] = 'toApiJson' in this.leaseData ? (this.leaseData as any).toApiJson() : this.leaseData;}\n        return toReturn;\n    }\n}\n\nexport class LeaseSalesOrderToAutomationsResponse implements i.LeaseSalesOrderToAutomationsResponseInterface {\n    order: Order;\n\n    static fromProto(proto: any): LeaseSalesOrderToAutomationsResponse {\n        let m = new LeaseSalesOrderToAutomationsResponse();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.LeaseSalesOrderToAutomationsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class ValidateLineItemsResponseLineItemErrorsEntry implements i.ValidateLineItemsResponseLineItemErrorsEntryInterface {\n    key: string;\n    value: ValidationErrorList;\n\n    static fromProto(proto: any): ValidateLineItemsResponseLineItemErrorsEntry {\n        let m = new ValidateLineItemsResponseLineItemErrorsEntry();\n        m = Object.assign(m, proto);\n        if (proto.value) {m.value = ValidationErrorList.fromProto(proto.value);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ValidateLineItemsResponseLineItemErrorsEntryInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n        if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n        return toReturn;\n    }\n}\n\nexport class ListCustomerSalesOrderRequest implements i.ListCustomerSalesOrderRequestInterface {\n    partnerId: string;\n    filters: ListCustomerSalesOrderRequestFilters;\n    sortOption: ListCustomerSalesOrderRequestSortOption;\n    cursor: string;\n    pageSize: number;\n\n    static fromProto(proto: any): ListCustomerSalesOrderRequest {\n        let m = new ListCustomerSalesOrderRequest();\n        m = Object.assign(m, proto);\n        if (proto.filters) {m.filters = ListCustomerSalesOrderRequestFilters.fromProto(proto.filters);}\n        if (proto.sortOption) {m.sortOption = ListCustomerSalesOrderRequestSortOption.fromProto(proto.sortOption);}\n        if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListCustomerSalesOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n        if (typeof this.sortOption !== 'undefined' && this.sortOption !== null) {toReturn['sortOption'] = 'toApiJson' in this.sortOption ? (this.sortOption as any).toApiJson() : this.sortOption;}\n        if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n        if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n        return toReturn;\n    }\n}\n\nexport class ListOrdersRequest implements i.ListOrdersRequestInterface {\n    partnerId: string;\n    cursor: string;\n    filters: ListOrdersRequestFilters;\n\n    static fromProto(proto: any): ListOrdersRequest {\n        let m = new ListOrdersRequest();\n        m = Object.assign(m, proto);\n        if (proto.filters) {m.filters = ListOrdersRequestFilters.fromProto(proto.filters);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListOrdersRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n        if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n        return toReturn;\n    }\n}\n\nexport class ListOrdersResponse implements i.ListOrdersResponseInterface {\n    orders: VendorOrder[];\n    nextCursor: string;\n    hasMore: boolean;\n    totalResults: number;\n\n    static fromProto(proto: any): ListOrdersResponse {\n        let m = new ListOrdersResponse();\n        m = Object.assign(m, proto);\n        if (proto.orders) {m.orders = proto.orders.map(VendorOrder.fromProto);}\n        if (proto.totalResults) {m.totalResults = parseInt(proto.totalResults, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListOrdersResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orders !== 'undefined' && this.orders !== null) {toReturn['orders'] = 'toApiJson' in this.orders ? (this.orders as any).toApiJson() : this.orders;}\n        if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n        if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n        if (typeof this.totalResults !== 'undefined') {toReturn['totalResults'] = this.totalResults;}\n        return toReturn;\n    }\n}\n\nexport class ListReasonsRequest implements i.ListReasonsRequestInterface {\n    partnerId: string;\n    filters: ListReasonsRequestFilters;\n\n    static fromProto(proto: any): ListReasonsRequest {\n        let m = new ListReasonsRequest();\n        m = Object.assign(m, proto);\n        if (proto.filters) {m.filters = ListReasonsRequestFilters.fromProto(proto.filters);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListReasonsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n        return toReturn;\n    }\n}\n\nexport class ListReasonsResponse implements i.ListReasonsResponseInterface {\n    declinedReasons: DeclinedReason[];\n\n    static fromProto(proto: any): ListReasonsResponse {\n        let m = new ListReasonsResponse();\n        m = Object.assign(m, proto);\n        if (proto.declinedReasons) {m.declinedReasons = proto.declinedReasons.map(DeclinedReason.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListReasonsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.declinedReasons !== 'undefined' && this.declinedReasons !== null) {toReturn['declinedReasons'] = 'toApiJson' in this.declinedReasons ? (this.declinedReasons as any).toApiJson() : this.declinedReasons;}\n        return toReturn;\n    }\n}\n\nexport class ListSalesOrderRequest implements i.ListSalesOrderRequestInterface {\n    partnerId: string;\n    filters: ListSalesOrderRequestFilters;\n    sortOption: ListSalesOrderRequestSortOption;\n    cursor: string;\n    pageSize: number;\n\n    static fromProto(proto: any): ListSalesOrderRequest {\n        let m = new ListSalesOrderRequest();\n        m = Object.assign(m, proto);\n        if (proto.filters) {m.filters = ListSalesOrderRequestFilters.fromProto(proto.filters);}\n        if (proto.sortOption) {m.sortOption = ListSalesOrderRequestSortOption.fromProto(proto.sortOption);}\n        if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListSalesOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n        if (typeof this.sortOption !== 'undefined' && this.sortOption !== null) {toReturn['sortOption'] = 'toApiJson' in this.sortOption ? (this.sortOption as any).toApiJson() : this.sortOption;}\n        if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n        if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n        return toReturn;\n    }\n}\n\nexport class ListSalesOrderResponse implements i.ListSalesOrderResponseInterface {\n    orders: Order[];\n    nextCursor: string;\n    hasMore: boolean;\n    totalResults: number;\n\n    static fromProto(proto: any): ListSalesOrderResponse {\n        let m = new ListSalesOrderResponse();\n        m = Object.assign(m, proto);\n        if (proto.orders) {m.orders = proto.orders.map(Order.fromProto);}\n        if (proto.totalResults) {m.totalResults = parseInt(proto.totalResults, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListSalesOrderResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orders !== 'undefined' && this.orders !== null) {toReturn['orders'] = 'toApiJson' in this.orders ? (this.orders as any).toApiJson() : this.orders;}\n        if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n        if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n        if (typeof this.totalResults !== 'undefined') {toReturn['totalResults'] = this.totalResults;}\n        return toReturn;\n    }\n}\n\nexport class ListTagsRequest implements i.ListTagsRequestInterface {\n    partnerId: string;\n    filters: ListTagsRequestFilters;\n\n    static fromProto(proto: any): ListTagsRequest {\n        let m = new ListTagsRequest();\n        m = Object.assign(m, proto);\n        if (proto.filters) {m.filters = ListTagsRequestFilters.fromProto(proto.filters);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListTagsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.partnerId !== 'undefined') {toReturn['partnerId'] = this.partnerId;}\n        if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n        return toReturn;\n    }\n}\n\nexport class ListTagsResponse implements i.ListTagsResponseInterface {\n    tags: string[];\n\n    static fromProto(proto: any): ListTagsResponse {\n        let m = new ListTagsResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ListTagsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.tags !== 'undefined') {toReturn['tags'] = this.tags;}\n        return toReturn;\n    }\n}\n\nexport class PreviewOrderActivationsRequest implements i.PreviewOrderActivationsRequestInterface {\n    orderId: string;\n    businessId: string;\n\n    static fromProto(proto: any): PreviewOrderActivationsRequest {\n        let m = new PreviewOrderActivationsRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.PreviewOrderActivationsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        return toReturn;\n    }\n}\n\nexport class PreviewOrderActivationsResponse implements i.PreviewOrderActivationsResponseInterface {\n    productActivations: ProductActivation[];\n\n    static fromProto(proto: any): PreviewOrderActivationsResponse {\n        let m = new PreviewOrderActivationsResponse();\n        m = Object.assign(m, proto);\n        if (proto.productActivations) {m.productActivations = proto.productActivations.map(ProductActivation.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.PreviewOrderActivationsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.productActivations !== 'undefined' && this.productActivations !== null) {toReturn['productActivations'] = 'toApiJson' in this.productActivations ? (this.productActivations as any).toApiJson() : this.productActivations;}\n        return toReturn;\n    }\n}\n\nexport class Pricing implements i.PricingInterface {\n    amount: number;\n    setupFee: number;\n    currencyCode: string;\n    frequency: string;\n\n    static fromProto(proto: any): Pricing {\n        let m = new Pricing();\n        m = Object.assign(m, proto);\n        if (proto.amount) {m.amount = parseInt(proto.amount, 10);}\n        if (proto.setupFee) {m.setupFee = parseInt(proto.setupFee, 10);}\n        return m;\n    }\n\n    constructor(kwargs?: i.PricingInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.amount !== 'undefined') {toReturn['amount'] = this.amount;}\n        if (typeof this.setupFee !== 'undefined') {toReturn['setupFee'] = this.setupFee;}\n        if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n        if (typeof this.frequency !== 'undefined') {toReturn['frequency'] = this.frequency;}\n        return toReturn;\n    }\n}\n\nexport class RequestCancellationRequest implements i.RequestCancellationRequestInterface {\n    orderId: string;\n    businessId: string;\n    notes: string;\n\n    static fromProto(proto: any): RequestCancellationRequest {\n        let m = new RequestCancellationRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.RequestCancellationRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.notes !== 'undefined') {toReturn['notes'] = this.notes;}\n        return toReturn;\n    }\n}\n\nexport class SalesOrderProjectionFilter implements i.SalesOrderProjectionFilterInterface {\n    includeUserInfoInStatusHistory: boolean;\n    includeCustomerRecipient: boolean;\n\n    static fromProto(proto: any): SalesOrderProjectionFilter {\n        let m = new SalesOrderProjectionFilter();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.SalesOrderProjectionFilterInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.includeUserInfoInStatusHistory !== 'undefined') {toReturn['includeUserInfoInStatusHistory'] = this.includeUserInfoInStatusHistory;}\n        if (typeof this.includeCustomerRecipient !== 'undefined') {toReturn['includeCustomerRecipient'] = this.includeCustomerRecipient;}\n        return toReturn;\n    }\n}\n\nexport class ScheduleActivationRequest implements i.ScheduleActivationRequestInterface {\n    orderId: string;\n    businessId: string;\n    customFields: CustomField[];\n    commonFields: CommonField[];\n    extraFields: Field[];\n\n    static fromProto(proto: any): ScheduleActivationRequest {\n        let m = new ScheduleActivationRequest();\n        m = Object.assign(m, proto);\n        if (proto.customFields) {m.customFields = proto.customFields.map(CustomField.fromProto);}\n        if (proto.commonFields) {m.commonFields = proto.commonFields.map(CommonField.fromProto);}\n        if (proto.extraFields) {m.extraFields = proto.extraFields.map(Field.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ScheduleActivationRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.customFields !== 'undefined' && this.customFields !== null) {toReturn['customFields'] = 'toApiJson' in this.customFields ? (this.customFields as any).toApiJson() : this.customFields;}\n        if (typeof this.commonFields !== 'undefined' && this.commonFields !== null) {toReturn['commonFields'] = 'toApiJson' in this.commonFields ? (this.commonFields as any).toApiJson() : this.commonFields;}\n        if (typeof this.extraFields !== 'undefined' && this.extraFields !== null) {toReturn['extraFields'] = 'toApiJson' in this.extraFields ? (this.extraFields as any).toApiJson() : this.extraFields;}\n        return toReturn;\n    }\n}\n\nexport class SendExistingOrderToCustomerForApprovalRequest implements i.SendExistingOrderToCustomerForApprovalRequestInterface {\n    orderId: string;\n    businessId: string;\n    userId: string;\n    offerExpiry: Date;\n    orderIsSmbPayable: boolean;\n\n    static fromProto(proto: any): SendExistingOrderToCustomerForApprovalRequest {\n        let m = new SendExistingOrderToCustomerForApprovalRequest();\n        m = Object.assign(m, proto);\n        if (proto.offerExpiry) {m.offerExpiry = new Date(proto.offerExpiry);}\n        return m;\n    }\n\n    constructor(kwargs?: i.SendExistingOrderToCustomerForApprovalRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n        if (typeof this.offerExpiry !== 'undefined' && this.offerExpiry !== null) {toReturn['offerExpiry'] = 'toApiJson' in this.offerExpiry ? (this.offerExpiry as any).toApiJson() : this.offerExpiry;}\n        if (typeof this.orderIsSmbPayable !== 'undefined') {toReturn['orderIsSmbPayable'] = this.orderIsSmbPayable;}\n        return toReturn;\n    }\n}\n\nexport class SendForCustomerApprovalRequest implements i.SendForCustomerApprovalRequestInterface {\n    order: Order;\n    userId: string;\n    offerExpiry: Date;\n    useCustomerPrice: boolean;\n\n    static fromProto(proto: any): SendForCustomerApprovalRequest {\n        let m = new SendForCustomerApprovalRequest();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        if (proto.offerExpiry) {m.offerExpiry = new Date(proto.offerExpiry);}\n        return m;\n    }\n\n    constructor(kwargs?: i.SendForCustomerApprovalRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n        if (typeof this.offerExpiry !== 'undefined' && this.offerExpiry !== null) {toReturn['offerExpiry'] = 'toApiJson' in this.offerExpiry ? (this.offerExpiry as any).toApiJson() : this.offerExpiry;}\n        if (typeof this.useCustomerPrice !== 'undefined') {toReturn['useCustomerPrice'] = this.useCustomerPrice;}\n        return toReturn;\n    }\n}\n\nexport class SendForCustomerApprovalResponse implements i.SendForCustomerApprovalResponseInterface {\n    orderId: string;\n\n    static fromProto(proto: any): SendForCustomerApprovalResponse {\n        let m = new SendForCustomerApprovalResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.SendForCustomerApprovalResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        return toReturn;\n    }\n}\n\nexport class ListCustomerSalesOrderRequestSortOption implements i.ListCustomerSalesOrderRequestSortOptionInterface {\n    direction: e.ListCustomerSalesOrderRequestSortDirection;\n    field: e.ListCustomerSalesOrderRequestSortField;\n\n    static fromProto(proto: any): ListCustomerSalesOrderRequestSortOption {\n        let m = new ListCustomerSalesOrderRequestSortOption();\n        m = Object.assign(m, proto);\n        if (proto.direction) {m.direction = enumStringToValue<e.ListCustomerSalesOrderRequestSortDirection>(e.ListCustomerSalesOrderRequestSortDirection, proto.direction);}\n        if (proto.field) {m.field = enumStringToValue<e.ListCustomerSalesOrderRequestSortField>(e.ListCustomerSalesOrderRequestSortField, proto.field);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListCustomerSalesOrderRequestSortOptionInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.direction !== 'undefined') {toReturn['direction'] = this.direction;}\n        if (typeof this.field !== 'undefined') {toReturn['field'] = this.field;}\n        return toReturn;\n    }\n}\n\nexport class InitiateOrderExportRequestSortOption implements i.InitiateOrderExportRequestSortOptionInterface {\n    direction: e.InitiateOrderExportRequestSortDirection;\n    field: e.InitiateOrderExportRequestSortField;\n\n    static fromProto(proto: any): InitiateOrderExportRequestSortOption {\n        let m = new InitiateOrderExportRequestSortOption();\n        m = Object.assign(m, proto);\n        if (proto.direction) {m.direction = enumStringToValue<e.InitiateOrderExportRequestSortDirection>(e.InitiateOrderExportRequestSortDirection, proto.direction);}\n        if (proto.field) {m.field = enumStringToValue<e.InitiateOrderExportRequestSortField>(e.InitiateOrderExportRequestSortField, proto.field);}\n        return m;\n    }\n\n    constructor(kwargs?: i.InitiateOrderExportRequestSortOptionInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.direction !== 'undefined') {toReturn['direction'] = this.direction;}\n        if (typeof this.field !== 'undefined') {toReturn['field'] = this.field;}\n        return toReturn;\n    }\n}\n\nexport class ListSalesOrderRequestSortOption implements i.ListSalesOrderRequestSortOptionInterface {\n    direction: e.ListSalesOrderRequestSortDirection;\n    field: e.ListSalesOrderRequestSortField;\n\n    static fromProto(proto: any): ListSalesOrderRequestSortOption {\n        let m = new ListSalesOrderRequestSortOption();\n        m = Object.assign(m, proto);\n        if (proto.direction) {m.direction = enumStringToValue<e.ListSalesOrderRequestSortDirection>(e.ListSalesOrderRequestSortDirection, proto.direction);}\n        if (proto.field) {m.field = enumStringToValue<e.ListSalesOrderRequestSortField>(e.ListSalesOrderRequestSortField, proto.field);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListSalesOrderRequestSortOptionInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.direction !== 'undefined') {toReturn['direction'] = this.direction;}\n        if (typeof this.field !== 'undefined') {toReturn['field'] = this.field;}\n        return toReturn;\n    }\n}\n\nexport class SubmitDraftForApprovalRequest implements i.SubmitDraftForApprovalRequestInterface {\n    orderId: string;\n    businessId: string;\n    userId: string;\n    customFields: CustomField[];\n    commonFields: CommonField[];\n    extraFields: Field[];\n    offerExpiry: Date;\n\n    static fromProto(proto: any): SubmitDraftForApprovalRequest {\n        let m = new SubmitDraftForApprovalRequest();\n        m = Object.assign(m, proto);\n        if (proto.customFields) {m.customFields = proto.customFields.map(CustomField.fromProto);}\n        if (proto.commonFields) {m.commonFields = proto.commonFields.map(CommonField.fromProto);}\n        if (proto.extraFields) {m.extraFields = proto.extraFields.map(Field.fromProto);}\n        if (proto.offerExpiry) {m.offerExpiry = new Date(proto.offerExpiry);}\n        return m;\n    }\n\n    constructor(kwargs?: i.SubmitDraftForApprovalRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n        if (typeof this.customFields !== 'undefined' && this.customFields !== null) {toReturn['customFields'] = 'toApiJson' in this.customFields ? (this.customFields as any).toApiJson() : this.customFields;}\n        if (typeof this.commonFields !== 'undefined' && this.commonFields !== null) {toReturn['commonFields'] = 'toApiJson' in this.commonFields ? (this.commonFields as any).toApiJson() : this.commonFields;}\n        if (typeof this.extraFields !== 'undefined' && this.extraFields !== null) {toReturn['extraFields'] = 'toApiJson' in this.extraFields ? (this.extraFields as any).toApiJson() : this.extraFields;}\n        if (typeof this.offerExpiry !== 'undefined' && this.offerExpiry !== null) {toReturn['offerExpiry'] = 'toApiJson' in this.offerExpiry ? (this.offerExpiry as any).toApiJson() : this.offerExpiry;}\n        return toReturn;\n    }\n}\n\nexport class SubmitDraftForApprovalResponse implements i.SubmitDraftForApprovalResponseInterface {\n    orderId: string;\n\n    static fromProto(proto: any): SubmitDraftForApprovalResponse {\n        let m = new SubmitDraftForApprovalResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.SubmitDraftForApprovalResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        return toReturn;\n    }\n}\n\nexport class SubmitDraftRequest implements i.SubmitDraftRequestInterface {\n    orderId: string;\n    businessId: string;\n    customFields: CustomField[];\n    commonFields: CommonField[];\n    extraFields: Field[];\n\n    static fromProto(proto: any): SubmitDraftRequest {\n        let m = new SubmitDraftRequest();\n        m = Object.assign(m, proto);\n        if (proto.customFields) {m.customFields = proto.customFields.map(CustomField.fromProto);}\n        if (proto.commonFields) {m.commonFields = proto.commonFields.map(CommonField.fromProto);}\n        if (proto.extraFields) {m.extraFields = proto.extraFields.map(Field.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.SubmitDraftRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.customFields !== 'undefined' && this.customFields !== null) {toReturn['customFields'] = 'toApiJson' in this.customFields ? (this.customFields as any).toApiJson() : this.customFields;}\n        if (typeof this.commonFields !== 'undefined' && this.commonFields !== null) {toReturn['commonFields'] = 'toApiJson' in this.commonFields ? (this.commonFields as any).toApiJson() : this.commonFields;}\n        if (typeof this.extraFields !== 'undefined' && this.extraFields !== null) {toReturn['extraFields'] = 'toApiJson' in this.extraFields ? (this.extraFields as any).toApiJson() : this.extraFields;}\n        return toReturn;\n    }\n}\n\nexport class SubmitDraftResponse implements i.SubmitDraftResponseInterface {\n    orderId: string;\n\n    static fromProto(proto: any): SubmitDraftResponse {\n        let m = new SubmitDraftResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.SubmitDraftResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        return toReturn;\n    }\n}\n\nexport class SubscribeRequest implements i.SubscribeRequestInterface {\n    orderId: string;\n    businessId: string;\n    location: e.SubscriptionLocation;\n\n    static fromProto(proto: any): SubscribeRequest {\n        let m = new SubscribeRequest();\n        m = Object.assign(m, proto);\n        if (proto.location) {m.location = enumStringToValue<e.SubscriptionLocation>(e.SubscriptionLocation, proto.location);}\n        return m;\n    }\n\n    constructor(kwargs?: i.SubscribeRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n        return toReturn;\n    }\n}\n\nexport class UnsubscribeRequest implements i.UnsubscribeRequestInterface {\n    orderId: string;\n    businessId: string;\n    location: e.SubscriptionLocation;\n\n    static fromProto(proto: any): UnsubscribeRequest {\n        let m = new UnsubscribeRequest();\n        m = Object.assign(m, proto);\n        if (proto.location) {m.location = enumStringToValue<e.SubscriptionLocation>(e.SubscriptionLocation, proto.location);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UnsubscribeRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n        return toReturn;\n    }\n}\n\nexport class UpdateAnswersRequest implements i.UpdateAnswersRequestInterface {\n    orderId: string;\n    businessId: string;\n    customFields: CustomField[];\n    commonFields: CommonField[];\n    extraFields: Field[];\n\n    static fromProto(proto: any): UpdateAnswersRequest {\n        let m = new UpdateAnswersRequest();\n        m = Object.assign(m, proto);\n        if (proto.customFields) {m.customFields = proto.customFields.map(CustomField.fromProto);}\n        if (proto.commonFields) {m.commonFields = proto.commonFields.map(CommonField.fromProto);}\n        if (proto.extraFields) {m.extraFields = proto.extraFields.map(Field.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateAnswersRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.customFields !== 'undefined' && this.customFields !== null) {toReturn['customFields'] = 'toApiJson' in this.customFields ? (this.customFields as any).toApiJson() : this.customFields;}\n        if (typeof this.commonFields !== 'undefined' && this.commonFields !== null) {toReturn['commonFields'] = 'toApiJson' in this.commonFields ? (this.commonFields as any).toApiJson() : this.commonFields;}\n        if (typeof this.extraFields !== 'undefined' && this.extraFields !== null) {toReturn['extraFields'] = 'toApiJson' in this.extraFields ? (this.extraFields as any).toApiJson() : this.extraFields;}\n        return toReturn;\n    }\n}\n\nexport class UpdateAnswersResponse implements i.UpdateAnswersResponseInterface {\n    order: Order;\n\n    static fromProto(proto: any): UpdateAnswersResponse {\n        let m = new UpdateAnswersResponse();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateAnswersResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class UpdateAttachmentsRequest implements i.UpdateAttachmentsRequestInterface {\n    orderId: string;\n    businessId: string;\n    attachments: Attachment[];\n\n    static fromProto(proto: any): UpdateAttachmentsRequest {\n        let m = new UpdateAttachmentsRequest();\n        m = Object.assign(m, proto);\n        if (proto.attachments) {m.attachments = proto.attachments.map(Attachment.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateAttachmentsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.attachments !== 'undefined' && this.attachments !== null) {toReturn['attachments'] = 'toApiJson' in this.attachments ? (this.attachments as any).toApiJson() : this.attachments;}\n        return toReturn;\n    }\n}\n\nexport class UpdateConfigRequest implements i.UpdateConfigRequestInterface {\n    config: Config;\n    fieldMask: FieldMask;\n\n    static fromProto(proto: any): UpdateConfigRequest {\n        let m = new UpdateConfigRequest();\n        m = Object.assign(m, proto);\n        if (proto.config) {m.config = Config.fromProto(proto.config);}\n        if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateConfigRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.config !== 'undefined' && this.config !== null) {toReturn['config'] = 'toApiJson' in this.config ? (this.config as any).toApiJson() : this.config;}\n        if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n        return toReturn;\n    }\n}\n\nexport class UpdateContractDurationRequest implements i.UpdateContractDurationRequestInterface {\n    orderId: string;\n    businessId: string;\n    contractDuration: Duration;\n\n    static fromProto(proto: any): UpdateContractDurationRequest {\n        let m = new UpdateContractDurationRequest();\n        m = Object.assign(m, proto);\n        if (proto.contractDuration) {m.contractDuration = Duration.fromProto(proto.contractDuration);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateContractDurationRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.contractDuration !== 'undefined' && this.contractDuration !== null) {toReturn['contractDuration'] = 'toApiJson' in this.contractDuration ? (this.contractDuration as any).toApiJson() : this.contractDuration;}\n        return toReturn;\n    }\n}\n\nexport class UpdateCurrentRevenueRequest implements i.UpdateCurrentRevenueRequestInterface {\n    orderId: string;\n    businessId: string;\n    lineItems: LineItem[];\n\n    static fromProto(proto: any): UpdateCurrentRevenueRequest {\n        let m = new UpdateCurrentRevenueRequest();\n        m = Object.assign(m, proto);\n        if (proto.lineItems) {m.lineItems = proto.lineItems.map(LineItem.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateCurrentRevenueRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.lineItems !== 'undefined' && this.lineItems !== null) {toReturn['lineItems'] = 'toApiJson' in this.lineItems ? (this.lineItems as any).toApiJson() : this.lineItems;}\n        return toReturn;\n    }\n}\n\nexport class UpdateCustomerAttachmentsRequest implements i.UpdateCustomerAttachmentsRequestInterface {\n    orderId: string;\n    businessId: string;\n    attachments: Attachment[];\n\n    static fromProto(proto: any): UpdateCustomerAttachmentsRequest {\n        let m = new UpdateCustomerAttachmentsRequest();\n        m = Object.assign(m, proto);\n        if (proto.attachments) {m.attachments = proto.attachments.map(Attachment.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateCustomerAttachmentsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.attachments !== 'undefined' && this.attachments !== null) {toReturn['attachments'] = 'toApiJson' in this.attachments ? (this.attachments as any).toApiJson() : this.attachments;}\n        return toReturn;\n    }\n}\n\nexport class UpdateCustomerNotesRequest implements i.UpdateCustomerNotesRequestInterface {\n    orderId: string;\n    businessId: string;\n    customerNotes: string;\n\n    static fromProto(proto: any): UpdateCustomerNotesRequest {\n        let m = new UpdateCustomerNotesRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateCustomerNotesRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.customerNotes !== 'undefined') {toReturn['customerNotes'] = this.customerNotes;}\n        return toReturn;\n    }\n}\n\nexport class UpdateCustomerRecipientUserIdRequest implements i.UpdateCustomerRecipientUserIdRequestInterface {\n    orderId: string;\n    businessId: string;\n    customerRecipientUserId: string;\n\n    static fromProto(proto: any): UpdateCustomerRecipientUserIdRequest {\n        let m = new UpdateCustomerRecipientUserIdRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateCustomerRecipientUserIdRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.customerRecipientUserId !== 'undefined') {toReturn['customerRecipientUserId'] = this.customerRecipientUserId;}\n        return toReturn;\n    }\n}\n\nexport class UpdateEnforceContractTermRequest implements i.UpdateEnforceContractTermRequestInterface {\n    orderId: string;\n    businessId: string;\n    enforceContractTerm: boolean;\n\n    static fromProto(proto: any): UpdateEnforceContractTermRequest {\n        let m = new UpdateEnforceContractTermRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateEnforceContractTermRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.enforceContractTerm !== 'undefined') {toReturn['enforceContractTerm'] = this.enforceContractTerm;}\n        return toReturn;\n    }\n}\n\nexport class UpdateLineItemsRequest implements i.UpdateLineItemsRequestInterface {\n    orderId: string;\n    businessId: string;\n    lineItems: LineItem[];\n\n    static fromProto(proto: any): UpdateLineItemsRequest {\n        let m = new UpdateLineItemsRequest();\n        m = Object.assign(m, proto);\n        if (proto.lineItems) {m.lineItems = proto.lineItems.map(LineItem.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateLineItemsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.lineItems !== 'undefined' && this.lineItems !== null) {toReturn['lineItems'] = 'toApiJson' in this.lineItems ? (this.lineItems as any).toApiJson() : this.lineItems;}\n        return toReturn;\n    }\n}\n\nexport class UpdateNotesRequest implements i.UpdateNotesRequestInterface {\n    orderId: string;\n    businessId: string;\n    notes: string;\n\n    static fromProto(proto: any): UpdateNotesRequest {\n        let m = new UpdateNotesRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateNotesRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.notes !== 'undefined') {toReturn['notes'] = this.notes;}\n        return toReturn;\n    }\n}\n\nexport class UpdatePaymentMethodTokenRequest implements i.UpdatePaymentMethodTokenRequestInterface {\n    orderId: string;\n    businessId: string;\n    paymentMethodToken: string;\n\n    static fromProto(proto: any): UpdatePaymentMethodTokenRequest {\n        let m = new UpdatePaymentMethodTokenRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdatePaymentMethodTokenRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.paymentMethodToken !== 'undefined') {toReturn['paymentMethodToken'] = this.paymentMethodToken;}\n        return toReturn;\n    }\n}\n\nexport class UpdateReasonRequest implements i.UpdateReasonRequestInterface {\n    id: string;\n    reason: string;\n\n    static fromProto(proto: any): UpdateReasonRequest {\n        let m = new UpdateReasonRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateReasonRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n        if (typeof this.reason !== 'undefined') {toReturn['reason'] = this.reason;}\n        return toReturn;\n    }\n}\n\nexport class UpdateReasonResponse implements i.UpdateReasonResponseInterface {\n    declinedReason: DeclinedReason;\n\n    static fromProto(proto: any): UpdateReasonResponse {\n        let m = new UpdateReasonResponse();\n        m = Object.assign(m, proto);\n        if (proto.declinedReason) {m.declinedReason = DeclinedReason.fromProto(proto.declinedReason);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateReasonResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.declinedReason !== 'undefined' && this.declinedReason !== null) {toReturn['declinedReason'] = 'toApiJson' in this.declinedReason ? (this.declinedReason as any).toApiJson() : this.declinedReason;}\n        return toReturn;\n    }\n}\n\nexport class UpdateRequestedActivationRequest implements i.UpdateRequestedActivationRequestInterface {\n    orderId: string;\n    businessId: string;\n    requestedActivation: Date;\n\n    static fromProto(proto: any): UpdateRequestedActivationRequest {\n        let m = new UpdateRequestedActivationRequest();\n        m = Object.assign(m, proto);\n        if (proto.requestedActivation) {m.requestedActivation = new Date(proto.requestedActivation);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateRequestedActivationRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.requestedActivation !== 'undefined' && this.requestedActivation !== null) {toReturn['requestedActivation'] = 'toApiJson' in this.requestedActivation ? (this.requestedActivation as any).toApiJson() : this.requestedActivation;}\n        return toReturn;\n    }\n}\n\nexport class UpdateRetailSubscriptionGroupForOrderRequest implements i.UpdateRetailSubscriptionGroupForOrderRequestInterface {\n    orderId: string;\n    businessId: string;\n    retailSubscriptionGroupId: string;\n    retailSubscriptionGroup: RetailSubscriptionGroup;\n\n    static fromProto(proto: any): UpdateRetailSubscriptionGroupForOrderRequest {\n        let m = new UpdateRetailSubscriptionGroupForOrderRequest();\n        m = Object.assign(m, proto);\n        if (proto.retailSubscriptionGroup) {m.retailSubscriptionGroup = RetailSubscriptionGroup.fromProto(proto.retailSubscriptionGroup);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateRetailSubscriptionGroupForOrderRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.retailSubscriptionGroupId !== 'undefined') {toReturn['retailSubscriptionGroupId'] = this.retailSubscriptionGroupId;}\n        if (typeof this.retailSubscriptionGroup !== 'undefined' && this.retailSubscriptionGroup !== null) {toReturn['retailSubscriptionGroup'] = 'toApiJson' in this.retailSubscriptionGroup ? (this.retailSubscriptionGroup as any).toApiJson() : this.retailSubscriptionGroup;}\n        return toReturn;\n    }\n}\n\nexport class UpdateSalesOrderMarketRequest implements i.UpdateSalesOrderMarketRequestInterface {\n    orderId: string;\n    businessId: string;\n    marketId: string;\n\n    static fromProto(proto: any): UpdateSalesOrderMarketRequest {\n        let m = new UpdateSalesOrderMarketRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateSalesOrderMarketRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        return toReturn;\n    }\n}\n\nexport class UpdateSalespersonRequest implements i.UpdateSalespersonRequestInterface {\n    orderId: string;\n    businessId: string;\n    salespersonId: string;\n\n    static fromProto(proto: any): UpdateSalespersonRequest {\n        let m = new UpdateSalespersonRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateSalespersonRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.salespersonId !== 'undefined') {toReturn['salespersonId'] = this.salespersonId;}\n        return toReturn;\n    }\n}\n\nexport class UpdateSalespersonResponse implements i.UpdateSalespersonResponseInterface {\n    order: Order;\n\n    static fromProto(proto: any): UpdateSalespersonResponse {\n        let m = new UpdateSalespersonResponse();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateSalespersonResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class UpdateTagsRequest implements i.UpdateTagsRequestInterface {\n    orderId: string;\n    businessId: string;\n    tags: string[];\n\n    static fromProto(proto: any): UpdateTagsRequest {\n        let m = new UpdateTagsRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateTagsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.tags !== 'undefined') {toReturn['tags'] = this.tags;}\n        return toReturn;\n    }\n}\n\nexport class UpdateTagsResponse implements i.UpdateTagsResponseInterface {\n    order: Order;\n\n    static fromProto(proto: any): UpdateTagsResponse {\n        let m = new UpdateTagsResponse();\n        m = Object.assign(m, proto);\n        if (proto.order) {m.order = Order.fromProto(proto.order);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateTagsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.order !== 'undefined' && this.order !== null) {toReturn['order'] = 'toApiJson' in this.order ? (this.order as any).toApiJson() : this.order;}\n        return toReturn;\n    }\n}\n\nexport class GetUsersResponseUsersEntry implements i.GetUsersResponseUsersEntryInterface {\n    key: string;\n    value: User;\n\n    static fromProto(proto: any): GetUsersResponseUsersEntry {\n        let m = new GetUsersResponseUsersEntry();\n        m = Object.assign(m, proto);\n        if (proto.value) {m.value = User.fromProto(proto.value);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetUsersResponseUsersEntryInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n        if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n        return toReturn;\n    }\n}\n\nexport class ValidateLineItemsRequest implements i.ValidateLineItemsRequestInterface {\n    businessId: string;\n    orderId: string;\n\n    static fromProto(proto: any): ValidateLineItemsRequest {\n        let m = new ValidateLineItemsRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ValidateLineItemsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        return toReturn;\n    }\n}\n\nexport class ValidateLineItemsResponse implements i.ValidateLineItemsResponseInterface {\n    errorCodes: e.ValidationErrorCodes[];\n    lineItemErrors: {[key: string]: ValidationErrorList};\n\n    static fromProto(proto: any): ValidateLineItemsResponse {\n        let m = new ValidateLineItemsResponse();\n        m = Object.assign(m, proto);\n        if (proto.errorCodes) {m.errorCodes = proto.errorCodes.map((v: string) => enumStringToValue<e.ValidationErrorCodes>(e.ValidationErrorCodes, v));}\n        if (proto.lineItemErrors) {m.lineItemErrors = Object.keys(proto.lineItemErrors).reduce<any>((obj, k) => { obj[k] = ValidationErrorList.fromProto(proto.lineItemErrors[k]); return obj; }, {});}\n        return m;\n    }\n\n    constructor(kwargs?: i.ValidateLineItemsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.errorCodes !== 'undefined') {toReturn['errorCodes'] = this.errorCodes;}\n        if (typeof this.lineItemErrors !== 'undefined' && this.lineItemErrors !== null) {toReturn['lineItemErrors'] = 'toApiJson' in this.lineItemErrors ? (this.lineItemErrors as any).toApiJson() : this.lineItemErrors;}\n        return toReturn;\n    }\n}\n\nexport class VendorOrder implements i.VendorOrderInterface {\n    orderId: string;\n    orderFormSubmissionId: string;\n    resellerId: string;\n    resellerName: string;\n    businessId: string;\n    appId: string;\n    appName: string;\n    business: Business;\n    created: Date;\n    pricing: Pricing;\n    activationStatus: e.ActivationStatus;\n    fulfillmentStatus: FulfillmentStatus;\n    rejectedReason: string;\n\n    static fromProto(proto: any): VendorOrder {\n        let m = new VendorOrder();\n        m = Object.assign(m, proto);\n        if (proto.business) {m.business = Business.fromProto(proto.business);}\n        if (proto.created) {m.created = new Date(proto.created);}\n        if (proto.pricing) {m.pricing = Pricing.fromProto(proto.pricing);}\n        if (proto.activationStatus) {m.activationStatus = enumStringToValue<e.ActivationStatus>(e.ActivationStatus, proto.activationStatus);}\n        if (proto.fulfillmentStatus) {m.fulfillmentStatus = FulfillmentStatus.fromProto(proto.fulfillmentStatus);}\n        return m;\n    }\n\n    constructor(kwargs?: i.VendorOrderInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.orderFormSubmissionId !== 'undefined') {toReturn['orderFormSubmissionId'] = this.orderFormSubmissionId;}\n        if (typeof this.resellerId !== 'undefined') {toReturn['resellerId'] = this.resellerId;}\n        if (typeof this.resellerName !== 'undefined') {toReturn['resellerName'] = this.resellerName;}\n        if (typeof this.businessId !== 'undefined') {toReturn['businessId'] = this.businessId;}\n        if (typeof this.appId !== 'undefined') {toReturn['appId'] = this.appId;}\n        if (typeof this.appName !== 'undefined') {toReturn['appName'] = this.appName;}\n        if (typeof this.business !== 'undefined' && this.business !== null) {toReturn['business'] = 'toApiJson' in this.business ? (this.business as any).toApiJson() : this.business;}\n        if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n        if (typeof this.pricing !== 'undefined' && this.pricing !== null) {toReturn['pricing'] = 'toApiJson' in this.pricing ? (this.pricing as any).toApiJson() : this.pricing;}\n        if (typeof this.activationStatus !== 'undefined') {toReturn['activationStatus'] = this.activationStatus;}\n        if (typeof this.fulfillmentStatus !== 'undefined' && this.fulfillmentStatus !== null) {toReturn['fulfillmentStatus'] = 'toApiJson' in this.fulfillmentStatus ? (this.fulfillmentStatus as any).toApiJson() : this.fulfillmentStatus;}\n        if (typeof this.rejectedReason !== 'undefined') {toReturn['rejectedReason'] = this.rejectedReason;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { FieldMask } from './field-mask';\nimport { LineItem } from './workflow';\nimport { PagedRequestOptions, PagedResponseMetadata } from './paging';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n  if (typeof value === 'number') {\n    return value;\n  }\n  return enumRef[value];\n}\n\nexport class ArchiveDocumentRequest implements i.ArchiveDocumentRequestInterface {\n    documentId: string;\n\n    static fromProto(proto: any): ArchiveDocumentRequest {\n        let m = new ArchiveDocumentRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ArchiveDocumentRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        return toReturn;\n    }\n}\n\nexport class Content implements i.ContentInterface {\n    type: e.ContentType;\n    value: string;\n\n    static fromProto(proto: any): Content {\n        let m = new Content();\n        m = Object.assign(m, proto);\n        if (proto.type) {m.type = enumStringToValue<e.ContentType>(e.ContentType, proto.type);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ContentInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n        if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n        return toReturn;\n    }\n}\n\nexport class CreateDocumentRequest implements i.CreateDocumentRequestInterface {\n    document: Document;\n\n    static fromProto(proto: any): CreateDocumentRequest {\n        let m = new CreateDocumentRequest();\n        m = Object.assign(m, proto);\n        if (proto.document) {m.document = Document.fromProto(proto.document);}\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateDocumentRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.document !== 'undefined' && this.document !== null) {toReturn['document'] = 'toApiJson' in this.document ? (this.document as any).toApiJson() : this.document;}\n        return toReturn;\n    }\n}\n\nexport class CreateDocumentResponse implements i.CreateDocumentResponseInterface {\n    documentId: string;\n\n    static fromProto(proto: any): CreateDocumentResponse {\n        let m = new CreateDocumentResponse();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.CreateDocumentResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        return toReturn;\n    }\n}\n\nexport class DeleteDocumentRequest implements i.DeleteDocumentRequestInterface {\n    documentId: string;\n\n    static fromProto(proto: any): DeleteDocumentRequest {\n        let m = new DeleteDocumentRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DeleteDocumentRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        return toReturn;\n    }\n}\n\nexport class Document implements i.DocumentInterface {\n    documentId: string;\n    title: string;\n    description: string;\n    created: Date;\n    updated: Date;\n    deleted: Date;\n    pageCount: number;\n    jsonContent: string;\n    type: e.DocumentType;\n    shareType: e.DocumentShareType;\n    organizationId: string;\n    organizationType: e.OrganizationType;\n    creatorUserId: string;\n    recipientOrganizationId: string;\n    recipientOrganizationType: e.OrganizationType;\n    orderId: string;\n    tags: string[];\n    marketId: string;\n    status: e.DocumentStatus;\n    archived: Date;\n    viewCount: number;\n    thumbnailPath: string;\n    pdfPath: string;\n    snapshotId: string;\n    currencyCode: string;\n    recipientContactId: string;\n    format: Format;\n\n    static fromProto(proto: any): Document {\n        let m = new Document();\n        m = Object.assign(m, proto);\n        if (proto.created) {m.created = new Date(proto.created);}\n        if (proto.updated) {m.updated = new Date(proto.updated);}\n        if (proto.deleted) {m.deleted = new Date(proto.deleted);}\n        if (proto.pageCount) {m.pageCount = parseInt(proto.pageCount, 10);}\n        if (proto.type) {m.type = enumStringToValue<e.DocumentType>(e.DocumentType, proto.type);}\n        if (proto.shareType) {m.shareType = enumStringToValue<e.DocumentShareType>(e.DocumentShareType, proto.shareType);}\n        if (proto.organizationType) {m.organizationType = enumStringToValue<e.OrganizationType>(e.OrganizationType, proto.organizationType);}\n        if (proto.recipientOrganizationType) {m.recipientOrganizationType = enumStringToValue<e.OrganizationType>(e.OrganizationType, proto.recipientOrganizationType);}\n        if (proto.status) {m.status = enumStringToValue<e.DocumentStatus>(e.DocumentStatus, proto.status);}\n        if (proto.archived) {m.archived = new Date(proto.archived);}\n        if (proto.viewCount) {m.viewCount = parseInt(proto.viewCount, 10);}\n        if (proto.format) {m.format = Format.fromProto(proto.format);}\n        return m;\n    }\n\n    constructor(kwargs?: i.DocumentInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        if (typeof this.title !== 'undefined') {toReturn['title'] = this.title;}\n        if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n        if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n        if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n        if (typeof this.deleted !== 'undefined' && this.deleted !== null) {toReturn['deleted'] = 'toApiJson' in this.deleted ? (this.deleted as any).toApiJson() : this.deleted;}\n        if (typeof this.pageCount !== 'undefined') {toReturn['pageCount'] = this.pageCount;}\n        if (typeof this.jsonContent !== 'undefined') {toReturn['jsonContent'] = this.jsonContent;}\n        if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n        if (typeof this.shareType !== 'undefined') {toReturn['shareType'] = this.shareType;}\n        if (typeof this.organizationId !== 'undefined') {toReturn['organizationId'] = this.organizationId;}\n        if (typeof this.organizationType !== 'undefined') {toReturn['organizationType'] = this.organizationType;}\n        if (typeof this.creatorUserId !== 'undefined') {toReturn['creatorUserId'] = this.creatorUserId;}\n        if (typeof this.recipientOrganizationId !== 'undefined') {toReturn['recipientOrganizationId'] = this.recipientOrganizationId;}\n        if (typeof this.recipientOrganizationType !== 'undefined') {toReturn['recipientOrganizationType'] = this.recipientOrganizationType;}\n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.tags !== 'undefined') {toReturn['tags'] = this.tags;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n        if (typeof this.archived !== 'undefined' && this.archived !== null) {toReturn['archived'] = 'toApiJson' in this.archived ? (this.archived as any).toApiJson() : this.archived;}\n        if (typeof this.viewCount !== 'undefined') {toReturn['viewCount'] = this.viewCount;}\n        if (typeof this.thumbnailPath !== 'undefined') {toReturn['thumbnailPath'] = this.thumbnailPath;}\n        if (typeof this.pdfPath !== 'undefined') {toReturn['pdfPath'] = this.pdfPath;}\n        if (typeof this.snapshotId !== 'undefined') {toReturn['snapshotId'] = this.snapshotId;}\n        if (typeof this.currencyCode !== 'undefined') {toReturn['currencyCode'] = this.currencyCode;}\n        if (typeof this.recipientContactId !== 'undefined') {toReturn['recipientContactId'] = this.recipientContactId;}\n        if (typeof this.format !== 'undefined' && this.format !== null) {toReturn['format'] = 'toApiJson' in this.format ? (this.format as any).toApiJson() : this.format;}\n        return toReturn;\n    }\n}\n\nexport class DocumentEmailRecipient implements i.DocumentEmailRecipientInterface {\n    name: string;\n    emailAddress: string;\n\n    static fromProto(proto: any): DocumentEmailRecipient {\n        let m = new DocumentEmailRecipient();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DocumentEmailRecipientInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        if (typeof this.emailAddress !== 'undefined') {toReturn['emailAddress'] = this.emailAddress;}\n        return toReturn;\n    }\n}\n\nexport class DocumentEvent implements i.DocumentEventInterface {\n    documentId: string;\n    occurred: Date;\n    performedBy: string;\n    eventType: e.DocumentEventType;\n    eventContext: string;\n    deleted: Date;\n    context: DocumentEventContext;\n\n    static fromProto(proto: any): DocumentEvent {\n        let m = new DocumentEvent();\n        m = Object.assign(m, proto);\n        if (proto.occurred) {m.occurred = new Date(proto.occurred);}\n        if (proto.eventType) {m.eventType = enumStringToValue<e.DocumentEventType>(e.DocumentEventType, proto.eventType);}\n        if (proto.deleted) {m.deleted = new Date(proto.deleted);}\n        if (proto.context) {m.context = DocumentEventContext.fromProto(proto.context);}\n        return m;\n    }\n\n    constructor(kwargs?: i.DocumentEventInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        if (typeof this.occurred !== 'undefined' && this.occurred !== null) {toReturn['occurred'] = 'toApiJson' in this.occurred ? (this.occurred as any).toApiJson() : this.occurred;}\n        if (typeof this.performedBy !== 'undefined') {toReturn['performedBy'] = this.performedBy;}\n        if (typeof this.eventType !== 'undefined') {toReturn['eventType'] = this.eventType;}\n        if (typeof this.eventContext !== 'undefined') {toReturn['eventContext'] = this.eventContext;}\n        if (typeof this.deleted !== 'undefined' && this.deleted !== null) {toReturn['deleted'] = 'toApiJson' in this.deleted ? (this.deleted as any).toApiJson() : this.deleted;}\n        if (typeof this.context !== 'undefined' && this.context !== null) {toReturn['context'] = 'toApiJson' in this.context ? (this.context as any).toApiJson() : this.context;}\n        return toReturn;\n    }\n}\n\nexport class DocumentEventContext implements i.DocumentEventContextInterface {\n    sentByEmailContext: DocumentEventContextSentByEmail;\n    viewedByRecipientContext: DocumentEventContextViewedByRecipient;\n    approvedByRecipientContext: DocumentEventContextApprovedByRecipient;\n    feedbackFromRecipientContext: DocumentEventContextFeedbackFromRecipient;\n    commentFromInternalUserContext: DocumentEventContextCommentFromInternalUser;\n    sendForInternalReviewContext: DocumentEventContextSendForInternalReview;\n    reviewedByInternalUserContext: DocumentEventContextReviewedByInternalUser;\n    unlockedDocumentContext: DocumentEventContextUnlockDocument;\n\n    static fromProto(proto: any): DocumentEventContext {\n        let m = new DocumentEventContext();\n        m = Object.assign(m, proto);\n        if (proto.sentByEmailContext) {m.sentByEmailContext = DocumentEventContextSentByEmail.fromProto(proto.sentByEmailContext);}\n        if (proto.viewedByRecipientContext) {m.viewedByRecipientContext = DocumentEventContextViewedByRecipient.fromProto(proto.viewedByRecipientContext);}\n        if (proto.approvedByRecipientContext) {m.approvedByRecipientContext = DocumentEventContextApprovedByRecipient.fromProto(proto.approvedByRecipientContext);}\n        if (proto.feedbackFromRecipientContext) {m.feedbackFromRecipientContext = DocumentEventContextFeedbackFromRecipient.fromProto(proto.feedbackFromRecipientContext);}\n        if (proto.commentFromInternalUserContext) {m.commentFromInternalUserContext = DocumentEventContextCommentFromInternalUser.fromProto(proto.commentFromInternalUserContext);}\n        if (proto.sendForInternalReviewContext) {m.sendForInternalReviewContext = DocumentEventContextSendForInternalReview.fromProto(proto.sendForInternalReviewContext);}\n        if (proto.reviewedByInternalUserContext) {m.reviewedByInternalUserContext = DocumentEventContextReviewedByInternalUser.fromProto(proto.reviewedByInternalUserContext);}\n        if (proto.unlockedDocumentContext) {m.unlockedDocumentContext = DocumentEventContextUnlockDocument.fromProto(proto.unlockedDocumentContext);}\n        return m;\n    }\n\n    constructor(kwargs?: i.DocumentEventContextInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.sentByEmailContext !== 'undefined' && this.sentByEmailContext !== null) {toReturn['sentByEmailContext'] = 'toApiJson' in this.sentByEmailContext ? (this.sentByEmailContext as any).toApiJson() : this.sentByEmailContext;}\n        if (typeof this.viewedByRecipientContext !== 'undefined' && this.viewedByRecipientContext !== null) {toReturn['viewedByRecipientContext'] = 'toApiJson' in this.viewedByRecipientContext ? (this.viewedByRecipientContext as any).toApiJson() : this.viewedByRecipientContext;}\n        if (typeof this.approvedByRecipientContext !== 'undefined' && this.approvedByRecipientContext !== null) {toReturn['approvedByRecipientContext'] = 'toApiJson' in this.approvedByRecipientContext ? (this.approvedByRecipientContext as any).toApiJson() : this.approvedByRecipientContext;}\n        if (typeof this.feedbackFromRecipientContext !== 'undefined' && this.feedbackFromRecipientContext !== null) {toReturn['feedbackFromRecipientContext'] = 'toApiJson' in this.feedbackFromRecipientContext ? (this.feedbackFromRecipientContext as any).toApiJson() : this.feedbackFromRecipientContext;}\n        if (typeof this.commentFromInternalUserContext !== 'undefined' && this.commentFromInternalUserContext !== null) {toReturn['commentFromInternalUserContext'] = 'toApiJson' in this.commentFromInternalUserContext ? (this.commentFromInternalUserContext as any).toApiJson() : this.commentFromInternalUserContext;}\n        if (typeof this.sendForInternalReviewContext !== 'undefined' && this.sendForInternalReviewContext !== null) {toReturn['sendForInternalReviewContext'] = 'toApiJson' in this.sendForInternalReviewContext ? (this.sendForInternalReviewContext as any).toApiJson() : this.sendForInternalReviewContext;}\n        if (typeof this.reviewedByInternalUserContext !== 'undefined' && this.reviewedByInternalUserContext !== null) {toReturn['reviewedByInternalUserContext'] = 'toApiJson' in this.reviewedByInternalUserContext ? (this.reviewedByInternalUserContext as any).toApiJson() : this.reviewedByInternalUserContext;}\n        if (typeof this.unlockedDocumentContext !== 'undefined' && this.unlockedDocumentContext !== null) {toReturn['unlockedDocumentContext'] = 'toApiJson' in this.unlockedDocumentContext ? (this.unlockedDocumentContext as any).toApiJson() : this.unlockedDocumentContext;}\n        return toReturn;\n    }\n}\n\nexport class DocumentEventContextApprovedByRecipient implements i.DocumentEventContextApprovedByRecipientInterface {\n    email: string;\n\n    static fromProto(proto: any): DocumentEventContextApprovedByRecipient {\n        let m = new DocumentEventContextApprovedByRecipient();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DocumentEventContextApprovedByRecipientInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n        return toReturn;\n    }\n}\n\nexport class DocumentEventContextCommentFromInternalUser implements i.DocumentEventContextCommentFromInternalUserInterface {\n    userId: string;\n    conversationOriginLocationExternalId: string;\n\n    static fromProto(proto: any): DocumentEventContextCommentFromInternalUser {\n        let m = new DocumentEventContextCommentFromInternalUser();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DocumentEventContextCommentFromInternalUserInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n        if (typeof this.conversationOriginLocationExternalId !== 'undefined') {toReturn['conversationOriginLocationExternalId'] = this.conversationOriginLocationExternalId;}\n        return toReturn;\n    }\n}\n\nexport class DocumentEventContextFeedbackFromRecipient implements i.DocumentEventContextFeedbackFromRecipientInterface {\n    orderId: string;\n    recipientOrganizationId: string;\n    recipientOrganizationType: e.OrganizationType;\n    recipientEmail: string;\n    recipientName: string;\n\n    static fromProto(proto: any): DocumentEventContextFeedbackFromRecipient {\n        let m = new DocumentEventContextFeedbackFromRecipient();\n        m = Object.assign(m, proto);\n        if (proto.recipientOrganizationType) {m.recipientOrganizationType = enumStringToValue<e.OrganizationType>(e.OrganizationType, proto.recipientOrganizationType);}\n        return m;\n    }\n\n    constructor(kwargs?: i.DocumentEventContextFeedbackFromRecipientInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.recipientOrganizationId !== 'undefined') {toReturn['recipientOrganizationId'] = this.recipientOrganizationId;}\n        if (typeof this.recipientOrganizationType !== 'undefined') {toReturn['recipientOrganizationType'] = this.recipientOrganizationType;}\n        if (typeof this.recipientEmail !== 'undefined') {toReturn['recipientEmail'] = this.recipientEmail;}\n        if (typeof this.recipientName !== 'undefined') {toReturn['recipientName'] = this.recipientName;}\n        return toReturn;\n    }\n}\n\nexport class DocumentEventContextReviewedByInternalUser implements i.DocumentEventContextReviewedByInternalUserInterface {\n    reviewerUserId: string;\n    comment: string;\n\n    static fromProto(proto: any): DocumentEventContextReviewedByInternalUser {\n        let m = new DocumentEventContextReviewedByInternalUser();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DocumentEventContextReviewedByInternalUserInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.reviewerUserId !== 'undefined') {toReturn['reviewerUserId'] = this.reviewerUserId;}\n        if (typeof this.comment !== 'undefined') {toReturn['comment'] = this.comment;}\n        return toReturn;\n    }\n}\n\nexport class DocumentEventContextSendForInternalReview implements i.DocumentEventContextSendForInternalReviewInterface {\n    requesterUserId: string;\n    reviewerUserId: string;\n    comment: string;\n\n    static fromProto(proto: any): DocumentEventContextSendForInternalReview {\n        let m = new DocumentEventContextSendForInternalReview();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DocumentEventContextSendForInternalReviewInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.requesterUserId !== 'undefined') {toReturn['requesterUserId'] = this.requesterUserId;}\n        if (typeof this.reviewerUserId !== 'undefined') {toReturn['reviewerUserId'] = this.reviewerUserId;}\n        if (typeof this.comment !== 'undefined') {toReturn['comment'] = this.comment;}\n        return toReturn;\n    }\n}\n\nexport class DocumentEventContextSentByEmail implements i.DocumentEventContextSentByEmailInterface {\n    sentEmails: SentDocumentEmail[];\n\n    static fromProto(proto: any): DocumentEventContextSentByEmail {\n        let m = new DocumentEventContextSentByEmail();\n        m = Object.assign(m, proto);\n        if (proto.sentEmails) {m.sentEmails = proto.sentEmails.map(SentDocumentEmail.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.DocumentEventContextSentByEmailInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.sentEmails !== 'undefined' && this.sentEmails !== null) {toReturn['sentEmails'] = 'toApiJson' in this.sentEmails ? (this.sentEmails as any).toApiJson() : this.sentEmails;}\n        return toReturn;\n    }\n}\n\nexport class DocumentEventContextUnlockDocument implements i.DocumentEventContextUnlockDocumentInterface {\n    userId: string;\n\n    static fromProto(proto: any): DocumentEventContextUnlockDocument {\n        let m = new DocumentEventContextUnlockDocument();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.DocumentEventContextUnlockDocumentInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n        return toReturn;\n    }\n}\n\nexport class DocumentEventContextViewedByRecipient implements i.DocumentEventContextViewedByRecipientInterface {\n    orderId: string;\n    recipientOrganizationId: string;\n    recipientOrganizationType: e.OrganizationType;\n    recipientEmail: string;\n    recipientName: string;\n\n    static fromProto(proto: any): DocumentEventContextViewedByRecipient {\n        let m = new DocumentEventContextViewedByRecipient();\n        m = Object.assign(m, proto);\n        if (proto.recipientOrganizationType) {m.recipientOrganizationType = enumStringToValue<e.OrganizationType>(e.OrganizationType, proto.recipientOrganizationType);}\n        return m;\n    }\n\n    constructor(kwargs?: i.DocumentEventContextViewedByRecipientInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orderId !== 'undefined') {toReturn['orderId'] = this.orderId;}\n        if (typeof this.recipientOrganizationId !== 'undefined') {toReturn['recipientOrganizationId'] = this.recipientOrganizationId;}\n        if (typeof this.recipientOrganizationType !== 'undefined') {toReturn['recipientOrganizationType'] = this.recipientOrganizationType;}\n        if (typeof this.recipientEmail !== 'undefined') {toReturn['recipientEmail'] = this.recipientEmail;}\n        if (typeof this.recipientName !== 'undefined') {toReturn['recipientName'] = this.recipientName;}\n        return toReturn;\n    }\n}\n\nexport class ListDocumentEventsRequestFilters implements i.ListDocumentEventsRequestFiltersInterface {\n    eventTypes: e.DocumentEventType[];\n\n    static fromProto(proto: any): ListDocumentEventsRequestFilters {\n        let m = new ListDocumentEventsRequestFilters();\n        m = Object.assign(m, proto);\n        if (proto.eventTypes) {m.eventTypes = proto.eventTypes.map((v: string) => enumStringToValue<e.DocumentEventType>(e.DocumentEventType, v));}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListDocumentEventsRequestFiltersInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.eventTypes !== 'undefined') {toReturn['eventTypes'] = this.eventTypes;}\n        return toReturn;\n    }\n}\n\nexport class ListDocumentsRequestFilters implements i.ListDocumentsRequestFiltersInterface {\n    types: e.DocumentType[];\n    organizationId: string;\n    recipientOrganizationId: string;\n    marketId: string;\n    statuses: e.DocumentStatus[];\n\n    static fromProto(proto: any): ListDocumentsRequestFilters {\n        let m = new ListDocumentsRequestFilters();\n        m = Object.assign(m, proto);\n        if (proto.types) {m.types = proto.types.map((v: string) => enumStringToValue<e.DocumentType>(e.DocumentType, v));}\n        if (proto.statuses) {m.statuses = proto.statuses.map((v: string) => enumStringToValue<e.DocumentStatus>(e.DocumentStatus, v));}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListDocumentsRequestFiltersInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.types !== 'undefined') {toReturn['types'] = this.types;}\n        if (typeof this.organizationId !== 'undefined') {toReturn['organizationId'] = this.organizationId;}\n        if (typeof this.recipientOrganizationId !== 'undefined') {toReturn['recipientOrganizationId'] = this.recipientOrganizationId;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.statuses !== 'undefined') {toReturn['statuses'] = this.statuses;}\n        return toReturn;\n    }\n}\n\nexport class SearchDocumentsRequestFilters implements i.SearchDocumentsRequestFiltersInterface {\n    types: e.DocumentType[];\n    statuses: e.DocumentStatus[];\n    organizationId: string;\n    recipientOrganizationId: string;\n    marketId: string;\n    organizationUserIds: string[];\n\n    static fromProto(proto: any): SearchDocumentsRequestFilters {\n        let m = new SearchDocumentsRequestFilters();\n        m = Object.assign(m, proto);\n        if (proto.types) {m.types = proto.types.map((v: string) => enumStringToValue<e.DocumentType>(e.DocumentType, v));}\n        if (proto.statuses) {m.statuses = proto.statuses.map((v: string) => enumStringToValue<e.DocumentStatus>(e.DocumentStatus, v));}\n        return m;\n    }\n\n    constructor(kwargs?: i.SearchDocumentsRequestFiltersInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.types !== 'undefined') {toReturn['types'] = this.types;}\n        if (typeof this.statuses !== 'undefined') {toReturn['statuses'] = this.statuses;}\n        if (typeof this.organizationId !== 'undefined') {toReturn['organizationId'] = this.organizationId;}\n        if (typeof this.recipientOrganizationId !== 'undefined') {toReturn['recipientOrganizationId'] = this.recipientOrganizationId;}\n        if (typeof this.marketId !== 'undefined') {toReturn['marketId'] = this.marketId;}\n        if (typeof this.organizationUserIds !== 'undefined') {toReturn['organizationUserIds'] = this.organizationUserIds;}\n        return toReturn;\n    }\n}\n\nexport class Format implements i.FormatInterface {\n    orientation: e.Orientation;\n\n    static fromProto(proto: any): Format {\n        let m = new Format();\n        m = Object.assign(m, proto);\n        if (proto.orientation) {m.orientation = enumStringToValue<e.Orientation>(e.Orientation, proto.orientation);}\n        return m;\n    }\n\n    constructor(kwargs?: i.FormatInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.orientation !== 'undefined') {toReturn['orientation'] = this.orientation;}\n        return toReturn;\n    }\n}\n\nexport class GenerateDocumentPDFRequest implements i.GenerateDocumentPDFRequestInterface {\n    documentId: string;\n\n    static fromProto(proto: any): GenerateDocumentPDFRequest {\n        let m = new GenerateDocumentPDFRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GenerateDocumentPDFRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        return toReturn;\n    }\n}\n\nexport class GetDocumentLineItemsRequest implements i.GetDocumentLineItemsRequestInterface {\n    documentId: string;\n\n    static fromProto(proto: any): GetDocumentLineItemsRequest {\n        let m = new GetDocumentLineItemsRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetDocumentLineItemsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        return toReturn;\n    }\n}\n\nexport class GetDocumentLineItemsResponse implements i.GetDocumentLineItemsResponseInterface {\n    lineItems: LineItem[];\n\n    static fromProto(proto: any): GetDocumentLineItemsResponse {\n        let m = new GetDocumentLineItemsResponse();\n        m = Object.assign(m, proto);\n        if (proto.lineItems) {m.lineItems = proto.lineItems.map(LineItem.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetDocumentLineItemsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.lineItems !== 'undefined' && this.lineItems !== null) {toReturn['lineItems'] = 'toApiJson' in this.lineItems ? (this.lineItems as any).toApiJson() : this.lineItems;}\n        return toReturn;\n    }\n}\n\nexport class GetDocumentRequest implements i.GetDocumentRequestInterface {\n    documentId: string;\n\n    static fromProto(proto: any): GetDocumentRequest {\n        let m = new GetDocumentRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetDocumentRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        return toReturn;\n    }\n}\n\nexport class GetDocumentResponse implements i.GetDocumentResponseInterface {\n    document: Document;\n\n    static fromProto(proto: any): GetDocumentResponse {\n        let m = new GetDocumentResponse();\n        m = Object.assign(m, proto);\n        if (proto.document) {m.document = Document.fromProto(proto.document);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetDocumentResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.document !== 'undefined' && this.document !== null) {toReturn['document'] = 'toApiJson' in this.document ? (this.document as any).toApiJson() : this.document;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiDocumentsRequest implements i.GetMultiDocumentsRequestInterface {\n    documentIds: string[];\n\n    static fromProto(proto: any): GetMultiDocumentsRequest {\n        let m = new GetMultiDocumentsRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiDocumentsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentIds !== 'undefined') {toReturn['documentIds'] = this.documentIds;}\n        return toReturn;\n    }\n}\n\nexport class GetMultiDocumentsResponse implements i.GetMultiDocumentsResponseInterface {\n    documents: Document[];\n\n    static fromProto(proto: any): GetMultiDocumentsResponse {\n        let m = new GetMultiDocumentsResponse();\n        m = Object.assign(m, proto);\n        if (proto.documents) {m.documents = proto.documents.map(Document.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetMultiDocumentsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documents !== 'undefined' && this.documents !== null) {toReturn['documents'] = 'toApiJson' in this.documents ? (this.documents as any).toApiJson() : this.documents;}\n        return toReturn;\n    }\n}\n\nexport class GetProposalEmailPreviewRequest implements i.GetProposalEmailPreviewRequestInterface {\n    documentId: string;\n    proposalEmailDetails: ProposalEmailDetails;\n    senderUserId: string;\n\n    static fromProto(proto: any): GetProposalEmailPreviewRequest {\n        let m = new GetProposalEmailPreviewRequest();\n        m = Object.assign(m, proto);\n        if (proto.proposalEmailDetails) {m.proposalEmailDetails = ProposalEmailDetails.fromProto(proto.proposalEmailDetails);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetProposalEmailPreviewRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        if (typeof this.proposalEmailDetails !== 'undefined' && this.proposalEmailDetails !== null) {toReturn['proposalEmailDetails'] = 'toApiJson' in this.proposalEmailDetails ? (this.proposalEmailDetails as any).toApiJson() : this.proposalEmailDetails;}\n        if (typeof this.senderUserId !== 'undefined') {toReturn['senderUserId'] = this.senderUserId;}\n        return toReturn;\n    }\n}\n\nexport class GetProposalEmailPreviewResponse implements i.GetProposalEmailPreviewResponseInterface {\n    emailPreviewContent: Content;\n\n    static fromProto(proto: any): GetProposalEmailPreviewResponse {\n        let m = new GetProposalEmailPreviewResponse();\n        m = Object.assign(m, proto);\n        if (proto.emailPreviewContent) {m.emailPreviewContent = Content.fromProto(proto.emailPreviewContent);}\n        return m;\n    }\n\n    constructor(kwargs?: i.GetProposalEmailPreviewResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.emailPreviewContent !== 'undefined' && this.emailPreviewContent !== null) {toReturn['emailPreviewContent'] = 'toApiJson' in this.emailPreviewContent ? (this.emailPreviewContent as any).toApiJson() : this.emailPreviewContent;}\n        return toReturn;\n    }\n}\n\nexport class ListDocumentEventsRequest implements i.ListDocumentEventsRequestInterface {\n    documentId: string;\n    filters: ListDocumentEventsRequestFilters;\n\n    static fromProto(proto: any): ListDocumentEventsRequest {\n        let m = new ListDocumentEventsRequest();\n        m = Object.assign(m, proto);\n        if (proto.filters) {m.filters = ListDocumentEventsRequestFilters.fromProto(proto.filters);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListDocumentEventsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n        return toReturn;\n    }\n}\n\nexport class ListDocumentEventsResponse implements i.ListDocumentEventsResponseInterface {\n    events: DocumentEvent[];\n\n    static fromProto(proto: any): ListDocumentEventsResponse {\n        let m = new ListDocumentEventsResponse();\n        m = Object.assign(m, proto);\n        if (proto.events) {m.events = proto.events.map(DocumentEvent.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListDocumentEventsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.events !== 'undefined' && this.events !== null) {toReturn['events'] = 'toApiJson' in this.events ? (this.events as any).toApiJson() : this.events;}\n        return toReturn;\n    }\n}\n\nexport class ListDocumentsRequest implements i.ListDocumentsRequestInterface {\n    paging: PagedRequestOptions;\n    filters: ListDocumentsRequestFilters;\n\n    static fromProto(proto: any): ListDocumentsRequest {\n        let m = new ListDocumentsRequest();\n        m = Object.assign(m, proto);\n        if (proto.paging) {m.paging = PagedRequestOptions.fromProto(proto.paging);}\n        if (proto.filters) {m.filters = ListDocumentsRequestFilters.fromProto(proto.filters);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListDocumentsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.paging !== 'undefined' && this.paging !== null) {toReturn['paging'] = 'toApiJson' in this.paging ? (this.paging as any).toApiJson() : this.paging;}\n        if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n        return toReturn;\n    }\n}\n\nexport class ListDocumentsResponse implements i.ListDocumentsResponseInterface {\n    documents: Document[];\n    paging: PagedResponseMetadata;\n\n    static fromProto(proto: any): ListDocumentsResponse {\n        let m = new ListDocumentsResponse();\n        m = Object.assign(m, proto);\n        if (proto.documents) {m.documents = proto.documents.map(Document.fromProto);}\n        if (proto.paging) {m.paging = PagedResponseMetadata.fromProto(proto.paging);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ListDocumentsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documents !== 'undefined' && this.documents !== null) {toReturn['documents'] = 'toApiJson' in this.documents ? (this.documents as any).toApiJson() : this.documents;}\n        if (typeof this.paging !== 'undefined' && this.paging !== null) {toReturn['paging'] = 'toApiJson' in this.paging ? (this.paging as any).toApiJson() : this.paging;}\n        return toReturn;\n    }\n}\n\nexport class MarkDocumentAsReviewedRequest implements i.MarkDocumentAsReviewedRequestInterface {\n    documentId: string;\n    reviewerUserId: string;\n    comment: string;\n\n    static fromProto(proto: any): MarkDocumentAsReviewedRequest {\n        let m = new MarkDocumentAsReviewedRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.MarkDocumentAsReviewedRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        if (typeof this.reviewerUserId !== 'undefined') {toReturn['reviewerUserId'] = this.reviewerUserId;}\n        if (typeof this.comment !== 'undefined') {toReturn['comment'] = this.comment;}\n        return toReturn;\n    }\n}\n\nexport class MarkDocumentAsViewedRequest implements i.MarkDocumentAsViewedRequestInterface {\n    documentId: string;\n    orderToken: string;\n\n    static fromProto(proto: any): MarkDocumentAsViewedRequest {\n        let m = new MarkDocumentAsViewedRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.MarkDocumentAsViewedRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        if (typeof this.orderToken !== 'undefined') {toReturn['orderToken'] = this.orderToken;}\n        return toReturn;\n    }\n}\n\nexport class ProposalEmailDetails implements i.ProposalEmailDetailsInterface {\n    subject: string;\n    emailText: string;\n    proposalLinkText: string;\n    closingText: string;\n\n    static fromProto(proto: any): ProposalEmailDetails {\n        let m = new ProposalEmailDetails();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.ProposalEmailDetailsInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.subject !== 'undefined') {toReturn['subject'] = this.subject;}\n        if (typeof this.emailText !== 'undefined') {toReturn['emailText'] = this.emailText;}\n        if (typeof this.proposalLinkText !== 'undefined') {toReturn['proposalLinkText'] = this.proposalLinkText;}\n        if (typeof this.closingText !== 'undefined') {toReturn['closingText'] = this.closingText;}\n        return toReturn;\n    }\n}\n\nexport class ProposalEmailMessage implements i.ProposalEmailMessageInterface {\n    to: Recipient[];\n    replyTo: Recipient;\n\n    static fromProto(proto: any): ProposalEmailMessage {\n        let m = new ProposalEmailMessage();\n        m = Object.assign(m, proto);\n        if (proto.to) {m.to = proto.to.map(Recipient.fromProto);}\n        if (proto.replyTo) {m.replyTo = Recipient.fromProto(proto.replyTo);}\n        return m;\n    }\n\n    constructor(kwargs?: i.ProposalEmailMessageInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.to !== 'undefined' && this.to !== null) {toReturn['to'] = 'toApiJson' in this.to ? (this.to as any).toApiJson() : this.to;}\n        if (typeof this.replyTo !== 'undefined' && this.replyTo !== null) {toReturn['replyTo'] = 'toApiJson' in this.replyTo ? (this.replyTo as any).toApiJson() : this.replyTo;}\n        return toReturn;\n    }\n}\n\nexport class Recipient implements i.RecipientInterface {\n    name: string;\n    emailAddress: string;\n\n    static fromProto(proto: any): Recipient {\n        let m = new Recipient();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.RecipientInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n        if (typeof this.emailAddress !== 'undefined') {toReturn['emailAddress'] = this.emailAddress;}\n        return toReturn;\n    }\n}\n\nexport class SearchDocumentsRequest implements i.SearchDocumentsRequestInterface {\n    paging: PagedRequestOptions;\n    filters: SearchDocumentsRequestFilters;\n    searchTerm: string;\n\n    static fromProto(proto: any): SearchDocumentsRequest {\n        let m = new SearchDocumentsRequest();\n        m = Object.assign(m, proto);\n        if (proto.paging) {m.paging = PagedRequestOptions.fromProto(proto.paging);}\n        if (proto.filters) {m.filters = SearchDocumentsRequestFilters.fromProto(proto.filters);}\n        return m;\n    }\n\n    constructor(kwargs?: i.SearchDocumentsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.paging !== 'undefined' && this.paging !== null) {toReturn['paging'] = 'toApiJson' in this.paging ? (this.paging as any).toApiJson() : this.paging;}\n        if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n        if (typeof this.searchTerm !== 'undefined') {toReturn['searchTerm'] = this.searchTerm;}\n        return toReturn;\n    }\n}\n\nexport class SearchDocumentsResponse implements i.SearchDocumentsResponseInterface {\n    documents: Document[];\n    paging: PagedResponseMetadata;\n\n    static fromProto(proto: any): SearchDocumentsResponse {\n        let m = new SearchDocumentsResponse();\n        m = Object.assign(m, proto);\n        if (proto.documents) {m.documents = proto.documents.map(Document.fromProto);}\n        if (proto.paging) {m.paging = PagedResponseMetadata.fromProto(proto.paging);}\n        return m;\n    }\n\n    constructor(kwargs?: i.SearchDocumentsResponseInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documents !== 'undefined' && this.documents !== null) {toReturn['documents'] = 'toApiJson' in this.documents ? (this.documents as any).toApiJson() : this.documents;}\n        if (typeof this.paging !== 'undefined' && this.paging !== null) {toReturn['paging'] = 'toApiJson' in this.paging ? (this.paging as any).toApiJson() : this.paging;}\n        return toReturn;\n    }\n}\n\nexport class SendDocumentForInternalReviewRequest implements i.SendDocumentForInternalReviewRequestInterface {\n    documentId: string;\n    requesterUserId: string;\n    reviewerUserId: string;\n    comment: string;\n\n    static fromProto(proto: any): SendDocumentForInternalReviewRequest {\n        let m = new SendDocumentForInternalReviewRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.SendDocumentForInternalReviewRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        if (typeof this.requesterUserId !== 'undefined') {toReturn['requesterUserId'] = this.requesterUserId;}\n        if (typeof this.reviewerUserId !== 'undefined') {toReturn['reviewerUserId'] = this.reviewerUserId;}\n        if (typeof this.comment !== 'undefined') {toReturn['comment'] = this.comment;}\n        return toReturn;\n    }\n}\n\nexport class SendProposalRecipientEmailRequest implements i.SendProposalRecipientEmailRequestInterface {\n    proposalEmailMessage: ProposalEmailMessage;\n    senderUserId: string;\n    documentId: string;\n    idempotencyKey: string;\n    organizationId: string;\n    proposalEmailDetails: ProposalEmailDetails;\n\n    static fromProto(proto: any): SendProposalRecipientEmailRequest {\n        let m = new SendProposalRecipientEmailRequest();\n        m = Object.assign(m, proto);\n        if (proto.proposalEmailMessage) {m.proposalEmailMessage = ProposalEmailMessage.fromProto(proto.proposalEmailMessage);}\n        if (proto.proposalEmailDetails) {m.proposalEmailDetails = ProposalEmailDetails.fromProto(proto.proposalEmailDetails);}\n        return m;\n    }\n\n    constructor(kwargs?: i.SendProposalRecipientEmailRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.proposalEmailMessage !== 'undefined' && this.proposalEmailMessage !== null) {toReturn['proposalEmailMessage'] = 'toApiJson' in this.proposalEmailMessage ? (this.proposalEmailMessage as any).toApiJson() : this.proposalEmailMessage;}\n        if (typeof this.senderUserId !== 'undefined') {toReturn['senderUserId'] = this.senderUserId;}\n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        if (typeof this.idempotencyKey !== 'undefined') {toReturn['idempotencyKey'] = this.idempotencyKey;}\n        if (typeof this.organizationId !== 'undefined') {toReturn['organizationId'] = this.organizationId;}\n        if (typeof this.proposalEmailDetails !== 'undefined' && this.proposalEmailDetails !== null) {toReturn['proposalEmailDetails'] = 'toApiJson' in this.proposalEmailDetails ? (this.proposalEmailDetails as any).toApiJson() : this.proposalEmailDetails;}\n        return toReturn;\n    }\n}\n\nexport class SentDocumentEmail implements i.SentDocumentEmailInterface {\n    emailId: string;\n    recipient: DocumentEmailRecipient;\n\n    static fromProto(proto: any): SentDocumentEmail {\n        let m = new SentDocumentEmail();\n        m = Object.assign(m, proto);\n        if (proto.recipient) {m.recipient = DocumentEmailRecipient.fromProto(proto.recipient);}\n        return m;\n    }\n\n    constructor(kwargs?: i.SentDocumentEmailInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.emailId !== 'undefined') {toReturn['emailId'] = this.emailId;}\n        if (typeof this.recipient !== 'undefined' && this.recipient !== null) {toReturn['recipient'] = 'toApiJson' in this.recipient ? (this.recipient as any).toApiJson() : this.recipient;}\n        return toReturn;\n    }\n}\n\nexport class UnarchiveDocumentRequest implements i.UnarchiveDocumentRequestInterface {\n    documentId: string;\n\n    static fromProto(proto: any): UnarchiveDocumentRequest {\n        let m = new UnarchiveDocumentRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.UnarchiveDocumentRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        return toReturn;\n    }\n}\n\nexport class UnlockDocumentRequest implements i.UnlockDocumentRequestInterface {\n    documentId: string;\n    userId: string;\n\n    static fromProto(proto: any): UnlockDocumentRequest {\n        let m = new UnlockDocumentRequest();\n        m = Object.assign(m, proto);\n        return m;\n    }\n\n    constructor(kwargs?: i.UnlockDocumentRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n        return toReturn;\n    }\n}\n\nexport class UpdateDocumentRequest implements i.UpdateDocumentRequestInterface {\n    documentId: string;\n    document: Document;\n    fieldMask: FieldMask;\n\n    static fromProto(proto: any): UpdateDocumentRequest {\n        let m = new UpdateDocumentRequest();\n        m = Object.assign(m, proto);\n        if (proto.document) {m.document = Document.fromProto(proto.document);}\n        if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpdateDocumentRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        if (typeof this.document !== 'undefined' && this.document !== null) {toReturn['document'] = 'toApiJson' in this.document ? (this.document as any).toApiJson() : this.document;}\n        if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n        return toReturn;\n    }\n}\n\nexport class UpsertDocumentLineItemsRequest implements i.UpsertDocumentLineItemsRequestInterface {\n    documentId: string;\n    lineItems: LineItem[];\n\n    static fromProto(proto: any): UpsertDocumentLineItemsRequest {\n        let m = new UpsertDocumentLineItemsRequest();\n        m = Object.assign(m, proto);\n        if (proto.lineItems) {m.lineItems = proto.lineItems.map(LineItem.fromProto);}\n        return m;\n    }\n\n    constructor(kwargs?: i.UpsertDocumentLineItemsRequestInterface) {\n        if (!kwargs) {\n            return;\n        }\n        Object.assign(this, kwargs);\n    }\n\n    toApiJson(): object {\n        const toReturn: {\n            [key: string]: any;\n        } = {};\n        \n        if (typeof this.documentId !== 'undefined') {toReturn['documentId'] = this.documentId;}\n        if (typeof this.lineItems !== 'undefined' && this.lineItems !== null) {toReturn['lineItems'] = 'toApiJson' in this.lineItems ? (this.lineItems as any).toApiJson() : this.lineItems;}\n        return toReturn;\n    }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects Index.\n// *********************************\nexport {\n    LineItemAppKey,\n    BillingPeriod,\n    Cost,\n    CustomPriceMapping,\n    Duration,\n    LineItem,\n    Revenue,\n    RevenueComponent,\n} from './workflow';\n\nexport {\n    TaxOptions,\n} from './tax-options';\n\nexport {\n    AddonActivation,\n    AddonKey,\n    Agreement,\n    Attachment,\n    Business,\n    CommonField,\n    CustomField,\n    CustomerRecipient,\n    DeclinedReason,\n    Field,\n    GetOrderRecipientDetailsRequest,\n    GetOrderRecipientDetailsResponse,\n    Order,\n    Package,\n    Product,\n    ProductActivation,\n    RetailSubscriptionGroup,\n    OrderRetailSubscriptionGroupsEntry,\n    Salesperson,\n    StatusHistoryItem,\n    User,\n} from './sales-orders';\n\nexport {\n    IncludedCommonFormFields,\n    OrderFormFieldOption,\n    OrderForm,\n    OrderFormField,\n} from './order-form';\n\nexport {\n    Config,\n    CustomSalesPersonApproveAction,\n    CustomSalespersonAction,\n    CustomerOptions,\n    EmailContent,\n    EmailCustomContent,\n    EmailOptions,\n    SalespersonOptions,\n    TermsOfService,\n    TermsOfServiceOptions,\n    WorkflowStepOptions,\n} from './config';\n\nexport {\n    ApproveRequest,\n    ApproveResponse,\n    DeclineRequest,\n    DeclineResponse,\n    GetConfigurationRequest,\n    GetConfigurationResponse,\n    GetOrderRecipientSessionRequest,\n    GetOrderRecipientSessionResponse,\n    GetRequest,\n    GetResponse,\n    UpdateOrderFormAnswersRequest,\n    UpdateOrderFormAnswersResponse,\n} from './sales-orders-public';\n\nexport {\n    Subscriber,\n} from './notifications';\n\nexport {\n    FieldMask,\n} from './field-mask';\n\nexport {\n    PagedRequestOptions,\n    PagedResponseMetadata,\n} from './paging';\n\nexport {\n    ArchiveAuxiliaryDataFieldSchemaRequest,\n    AuxiliaryDataFieldSchema,\n    AuxiliaryDataObjectID,\n    CreateAuxiliaryDataFieldSchemaRequest,\n    DropdownOption,\n    FieldDataUpsertOperation,\n    FieldSchemaIdentifier,\n    ListAuxiliaryDataFieldSchemaRequestFilters,\n    GetAuxiliaryDataFieldSchemaRequest,\n    GetAuxiliaryDataFieldSchemaResponse,\n    GetMultiAuxiliaryDataFieldSchemaRequest,\n    GetMultiAuxiliaryDataFieldSchemaResponse,\n    GetMultiAuxiliaryDataRequest,\n    GetMultiAuxiliaryDataResponse,\n    ListAuxiliaryDataFieldSchemaRequest,\n    ListAuxiliaryDataFieldSchemaResponse,\n    ListAuxiliaryDataRequest,\n    ListAuxiliaryDataResponse,\n    UnarchiveAuxiliaryDataFieldSchemaRequest,\n    UpdateAuxiliaryDataFieldSchemaRequest,\n    UpsertAuxiliaryDataRequest,\n} from './fields';\n\nexport {\n    ListSalesOderAuxiliaryDataRequest,\n    SalesOrderAuxiliaryDataObjectID,\n    UpsertSalesOrderAuxiliaryDataRequest,\n} from './auxiliary-data';\n\nexport {\n    Access,\n    MCPOptions,\n} from './annotations';\n\nexport {\n    ValidationErrorList,\n} from './validation-error-codes';\n\nexport {\n    ActivateProductsRequest,\n    ActivateProductsResponse,\n    ApproveCancellationRequest,\n    ApproveSalesOrderRequest,\n    ApproveSalesOrderResponse,\n    ArchiveReasonRequest,\n    ArchiveSalesOrderRequest,\n    ArchiveSalesOrderResponse,\n    CanOrderBeWholesaleBilledRequest,\n    CanOrderBeWholesaleBilledResponse,\n    CancelOrderRequest,\n    ChargeOrderRequest,\n    ChargeOrderResponse,\n    CheckSalesOrderExistsRequest,\n    CheckSalesOrderExistsResponse,\n    ConvertToDraftRequest,\n    GetStatusCountsResponseCountsEntry,\n    CreateAndActivateOrderRequest,\n    CreateAndActivateOrderResponse,\n    CreateArchivedOrderRequest,\n    CreateArchivedOrderResponse,\n    CreateDraftSalesOrderRequest,\n    CreateDraftSalesOrderResponse,\n    CreateForPartnerApprovalRequest,\n    CreateForPartnerApprovalResponse,\n    CreateInvoiceRequest,\n    CreateInvoiceResponse,\n    CreateLeasedToAutomationsSalesOrderRequest,\n    CreateLeasedToAutomationsSalesOrderResponse,\n    CreateReasonRequest,\n    CreateReasonResponse,\n    CreateSalesOrderRequest,\n    CreateSalesOrderResponse,\n    CreateWithPaymentIntentRequest,\n    CreateWithPaymentIntentResponse,\n    CustomerApproveSalesOrderRequest,\n    CustomerApproveSalesOrderResponse,\n    CustomerCreateSalesOrderRequest,\n    CustomerCreateSalesOrderResponse,\n    CustomerGetConfigurationRequest,\n    ListSalesOrderRequestDateRangeFilter,\n    InitiateOrderExportRequestDateRangeFilter,\n    ListCustomerSalesOrderRequestDateRangeFilter,\n    ListOrdersRequestDateRangeFilter,\n    DeclineCancellationRequest,\n    DeclineSalesOrderRequest,\n    DeclineSalesOrderResponse,\n    DeleteConfigRequest,\n    DeleteSalesOrderRequest,\n    DuplicateSalesOrderRequest,\n    DuplicateSalesOrderResponse,\n    GetStatusCountsRequestFilters,\n    ListOrdersRequestFilters,\n    ListCustomerSalesOrderRequestFilters,\n    ListReasonsRequestFilters,\n    ListTagsRequestFilters,\n    ListSalesOrderRequestFilters,\n    InitiateOrderExportRequestFilters,\n    FulfillmentStatus,\n    GenerateRetailSubscriptionGroupForOrderRequest,\n    GenerateRetailSubscriptionGroupForOrderResponse,\n    GetConfigRequest,\n    GetConfigResponse,\n    GetMultiSalesOrderRequest,\n    GetMultiSalesOrderResponse,\n    GetReasonRequest,\n    GetReasonResponse,\n    GetSalesOrderByIdempotencyKeyRequest,\n    GetSalesOrderRequest,\n    GetSalesOrderResponse,\n    GetSalesOrderWithCalculatedTaxesRequest,\n    GetSalesOrderWithCalculatedTaxesResponse,\n    GetStatusCountsRequest,\n    GetStatusCountsResponse,\n    GetSubscribedLocationsRequest,\n    GetSubscribedLocationsResponse,\n    GetSubscribersRequest,\n    GetSubscribersResponse,\n    GetUsersRequest,\n    GetUsersResponse,\n    IgnoreAllProductActivationErrorsRequest,\n    IgnoreProductActivationErrorRequest,\n    InitiateOrderExportRequest,\n    InitiateOrderExportResponse,\n    LeaseData,\n    LeaseSalesOrderToAutomationsRequest,\n    LeaseSalesOrderToAutomationsResponse,\n    ValidateLineItemsResponseLineItemErrorsEntry,\n    ListCustomerSalesOrderRequest,\n    ListOrdersRequest,\n    ListOrdersResponse,\n    ListReasonsRequest,\n    ListReasonsResponse,\n    ListSalesOrderRequest,\n    ListSalesOrderResponse,\n    ListTagsRequest,\n    ListTagsResponse,\n    PreviewOrderActivationsRequest,\n    PreviewOrderActivationsResponse,\n    Pricing,\n    RequestCancellationRequest,\n    SalesOrderProjectionFilter,\n    ScheduleActivationRequest,\n    SendExistingOrderToCustomerForApprovalRequest,\n    SendForCustomerApprovalRequest,\n    SendForCustomerApprovalResponse,\n    ListCustomerSalesOrderRequestSortOption,\n    InitiateOrderExportRequestSortOption,\n    ListSalesOrderRequestSortOption,\n    SubmitDraftForApprovalRequest,\n    SubmitDraftForApprovalResponse,\n    SubmitDraftRequest,\n    SubmitDraftResponse,\n    SubscribeRequest,\n    UnsubscribeRequest,\n    UpdateAnswersRequest,\n    UpdateAnswersResponse,\n    UpdateAttachmentsRequest,\n    UpdateConfigRequest,\n    UpdateContractDurationRequest,\n    UpdateCurrentRevenueRequest,\n    UpdateCustomerAttachmentsRequest,\n    UpdateCustomerNotesRequest,\n    UpdateCustomerRecipientUserIdRequest,\n    UpdateEnforceContractTermRequest,\n    UpdateLineItemsRequest,\n    UpdateNotesRequest,\n    UpdatePaymentMethodTokenRequest,\n    UpdateReasonRequest,\n    UpdateReasonResponse,\n    UpdateRequestedActivationRequest,\n    UpdateRetailSubscriptionGroupForOrderRequest,\n    UpdateSalesOrderMarketRequest,\n    UpdateSalespersonRequest,\n    UpdateSalespersonResponse,\n    UpdateTagsRequest,\n    UpdateTagsResponse,\n    GetUsersResponseUsersEntry,\n    ValidateLineItemsRequest,\n    ValidateLineItemsResponse,\n    VendorOrder,\n} from './api';\n\nexport {\n    ArchiveDocumentRequest,\n    Content,\n    CreateDocumentRequest,\n    CreateDocumentResponse,\n    DeleteDocumentRequest,\n    Document,\n    DocumentEmailRecipient,\n    DocumentEvent,\n    DocumentEventContext,\n    DocumentEventContextApprovedByRecipient,\n    DocumentEventContextCommentFromInternalUser,\n    DocumentEventContextFeedbackFromRecipient,\n    DocumentEventContextReviewedByInternalUser,\n    DocumentEventContextSendForInternalReview,\n    DocumentEventContextSentByEmail,\n    DocumentEventContextUnlockDocument,\n    DocumentEventContextViewedByRecipient,\n    ListDocumentEventsRequestFilters,\n    ListDocumentsRequestFilters,\n    SearchDocumentsRequestFilters,\n    Format,\n    GenerateDocumentPDFRequest,\n    GetDocumentLineItemsRequest,\n    GetDocumentLineItemsResponse,\n    GetDocumentRequest,\n    GetDocumentResponse,\n    GetMultiDocumentsRequest,\n    GetMultiDocumentsResponse,\n    GetProposalEmailPreviewRequest,\n    GetProposalEmailPreviewResponse,\n    ListDocumentEventsRequest,\n    ListDocumentEventsResponse,\n    ListDocumentsRequest,\n    ListDocumentsResponse,\n    MarkDocumentAsReviewedRequest,\n    MarkDocumentAsViewedRequest,\n    ProposalEmailDetails,\n    ProposalEmailMessage,\n    Recipient,\n    SearchDocumentsRequest,\n    SearchDocumentsResponse,\n    SendDocumentForInternalReviewRequest,\n    SendProposalRecipientEmailRequest,\n    SentDocumentEmail,\n    UnarchiveDocumentRequest,\n    UnlockDocumentRequest,\n    UpdateDocumentRequest,\n    UpsertDocumentLineItemsRequest,\n} from './proposal-builder-document';\n\n","import { Injectable } from '@angular/core';\n\ndeclare const window: any;\nconst environment: string = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap: { [key: string]: string } = {\n    'local': 'sales-orders-api.vendasta-local.com',\n    'test': '',\n    'demo': 'sales-orders-demo.apigateway.co',\n    'prod': 'sales-orders-prod.apigateway.co',\n    'production': 'sales-orders-prod.apigateway.co',\n};\n\n@Injectable({providedIn: 'root'})\nexport class HostService {\n    get host(): string {\n        return hostMap[environment.toLowerCase()];\n    }\n\n    get hostWithScheme(): string {\n        return 'https://' + this.host;\n    }\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n        CreateForPartnerApprovalRequest,\n        CreateForPartnerApprovalResponse,\n        CreateWithPaymentIntentRequest,\n        CreateWithPaymentIntentResponse,\n        CustomerApproveSalesOrderRequest,\n        CustomerApproveSalesOrderResponse,\n        CustomerCreateSalesOrderRequest,\n        CustomerCreateSalesOrderResponse,\n        CustomerGetConfigurationRequest,\n        DeclineResponse,\n        DeclineSalesOrderRequest,\n        GetConfigurationResponse,\n        GetSalesOrderRequest,\n        GetSalesOrderResponse,\n        GetUsersRequest,\n        GetUsersResponse,\n        InitiateOrderExportRequest,\n        InitiateOrderExportResponse,\n        ListCustomerSalesOrderRequest,\n        ListSalesOrderResponse,\n        PreviewOrderActivationsRequest,\n        PreviewOrderActivationsResponse,\n        UpdateAnswersRequest,\n        UpdateAnswersResponse,\n} from './objects/';\nimport {\n        CreateForPartnerApprovalRequestInterface,\n        CreateForPartnerApprovalResponseInterface,\n        CreateWithPaymentIntentRequestInterface,\n        CreateWithPaymentIntentResponseInterface,\n        CustomerApproveSalesOrderRequestInterface,\n        CustomerApproveSalesOrderResponseInterface,\n        CustomerCreateSalesOrderRequestInterface,\n        CustomerCreateSalesOrderResponseInterface,\n        CustomerGetConfigurationRequestInterface,\n        DeclineResponseInterface,\n        DeclineSalesOrderRequestInterface,\n        GetConfigurationResponseInterface,\n        GetSalesOrderRequestInterface,\n        GetSalesOrderResponseInterface,\n        GetUsersRequestInterface,\n        GetUsersResponseInterface,\n        InitiateOrderExportRequestInterface,\n        InitiateOrderExportResponseInterface,\n        ListCustomerSalesOrderRequestInterface,\n        ListSalesOrderResponseInterface,\n        PreviewOrderActivationsRequestInterface,\n        PreviewOrderActivationsResponseInterface,\n        UpdateAnswersRequestInterface,\n        UpdateAnswersResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class CustomerSalesOrdersApiService {\n    private readonly hostService = inject(HostService);\n    private readonly http = inject(HttpClient);\n    private _host = this.hostService.hostWithScheme;\n\n    private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n        return {\n            headers: new HttpHeaders({\n                'Content-Type': 'application/json'\n            }),\n            withCredentials: true\n        };\n    }\n\n    createSalesOrder(r: CustomerCreateSalesOrderRequest | CustomerCreateSalesOrderRequestInterface): Observable<CustomerCreateSalesOrderResponse> {\n        const request = ((<CustomerCreateSalesOrderRequest>r).toApiJson) ? (<CustomerCreateSalesOrderRequest>r) : new CustomerCreateSalesOrderRequest(r);\n        return this.http.post<CustomerCreateSalesOrderResponseInterface>(this._host + \"/salesorders.v1.CustomerSalesOrders/CreateSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CustomerCreateSalesOrderResponse.fromProto(resp))\n            );\n    }\n    approveSalesOrder(r: CustomerApproveSalesOrderRequest | CustomerApproveSalesOrderRequestInterface): Observable<CustomerApproveSalesOrderResponse> {\n        const request = ((<CustomerApproveSalesOrderRequest>r).toApiJson) ? (<CustomerApproveSalesOrderRequest>r) : new CustomerApproveSalesOrderRequest(r);\n        return this.http.post<CustomerApproveSalesOrderResponseInterface>(this._host + \"/salesorders.v1.CustomerSalesOrders/ApproveSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CustomerApproveSalesOrderResponse.fromProto(resp))\n            );\n    }\n    updateAnswers(r: UpdateAnswersRequest | UpdateAnswersRequestInterface): Observable<UpdateAnswersResponse> {\n        const request = ((<UpdateAnswersRequest>r).toApiJson) ? (<UpdateAnswersRequest>r) : new UpdateAnswersRequest(r);\n        return this.http.post<UpdateAnswersResponseInterface>(this._host + \"/salesorders.v1.CustomerSalesOrders/UpdateAnswers\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => UpdateAnswersResponse.fromProto(resp))\n            );\n    }\n    getSalesOrder(r: GetSalesOrderRequest | GetSalesOrderRequestInterface): Observable<GetSalesOrderResponse> {\n        const request = ((<GetSalesOrderRequest>r).toApiJson) ? (<GetSalesOrderRequest>r) : new GetSalesOrderRequest(r);\n        return this.http.post<GetSalesOrderResponseInterface>(this._host + \"/salesorders.v1.CustomerSalesOrders/GetSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetSalesOrderResponse.fromProto(resp))\n            );\n    }\n    listSalesOrder(r: ListCustomerSalesOrderRequest | ListCustomerSalesOrderRequestInterface): Observable<ListSalesOrderResponse> {\n        const request = ((<ListCustomerSalesOrderRequest>r).toApiJson) ? (<ListCustomerSalesOrderRequest>r) : new ListCustomerSalesOrderRequest(r);\n        return this.http.post<ListSalesOrderResponseInterface>(this._host + \"/salesorders.v1.CustomerSalesOrders/ListSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListSalesOrderResponse.fromProto(resp))\n            );\n    }\n    getUsers(r: GetUsersRequest | GetUsersRequestInterface): Observable<GetUsersResponse> {\n        const request = ((<GetUsersRequest>r).toApiJson) ? (<GetUsersRequest>r) : new GetUsersRequest(r);\n        return this.http.post<GetUsersResponseInterface>(this._host + \"/salesorders.v1.CustomerSalesOrders/GetUsers\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetUsersResponse.fromProto(resp))\n            );\n    }\n    declineSalesOrder(r: DeclineSalesOrderRequest | DeclineSalesOrderRequestInterface): Observable<DeclineResponse> {\n        const request = ((<DeclineSalesOrderRequest>r).toApiJson) ? (<DeclineSalesOrderRequest>r) : new DeclineSalesOrderRequest(r);\n        return this.http.post<DeclineResponseInterface>(this._host + \"/salesorders.v1.CustomerSalesOrders/DeclineSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => DeclineResponse.fromProto(resp))\n            );\n    }\n    getConfig(r: CustomerGetConfigurationRequest | CustomerGetConfigurationRequestInterface): Observable<GetConfigurationResponse> {\n        const request = ((<CustomerGetConfigurationRequest>r).toApiJson) ? (<CustomerGetConfigurationRequest>r) : new CustomerGetConfigurationRequest(r);\n        return this.http.post<GetConfigurationResponseInterface>(this._host + \"/salesorders.v1.CustomerSalesOrders/GetConfig\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetConfigurationResponse.fromProto(resp))\n            );\n    }\n    initiateOrderExport(r: InitiateOrderExportRequest | InitiateOrderExportRequestInterface): Observable<InitiateOrderExportResponse> {\n        const request = ((<InitiateOrderExportRequest>r).toApiJson) ? (<InitiateOrderExportRequest>r) : new InitiateOrderExportRequest(r);\n        return this.http.post<InitiateOrderExportResponseInterface>(this._host + \"/salesorders.v1.CustomerSalesOrders/InitiateOrderExport\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => InitiateOrderExportResponse.fromProto(resp))\n            );\n    }\n    createForPartnerApproval(r: CreateForPartnerApprovalRequest | CreateForPartnerApprovalRequestInterface): Observable<CreateForPartnerApprovalResponse> {\n        const request = ((<CreateForPartnerApprovalRequest>r).toApiJson) ? (<CreateForPartnerApprovalRequest>r) : new CreateForPartnerApprovalRequest(r);\n        return this.http.post<CreateForPartnerApprovalResponseInterface>(this._host + \"/salesorders.v1.CustomerSalesOrders/CreateForPartnerApproval\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CreateForPartnerApprovalResponse.fromProto(resp))\n            );\n    }\n    createWithPaymentIntent(r: CreateWithPaymentIntentRequest | CreateWithPaymentIntentRequestInterface): Observable<CreateWithPaymentIntentResponse> {\n        const request = ((<CreateWithPaymentIntentRequest>r).toApiJson) ? (<CreateWithPaymentIntentRequest>r) : new CreateWithPaymentIntentRequest(r);\n        return this.http.post<CreateWithPaymentIntentResponseInterface>(this._host + \"/salesorders.v1.CustomerSalesOrders/CreateWithPaymentIntent\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CreateWithPaymentIntentResponse.fromProto(resp))\n            );\n    }\n    previewOrderActivations(r: PreviewOrderActivationsRequest | PreviewOrderActivationsRequestInterface): Observable<PreviewOrderActivationsResponse> {\n        const request = ((<PreviewOrderActivationsRequest>r).toApiJson) ? (<PreviewOrderActivationsRequest>r) : new PreviewOrderActivationsRequest(r);\n        return this.http.post<PreviewOrderActivationsResponseInterface>(this._host + \"/salesorders.v1.CustomerSalesOrders/PreviewOrderActivations\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => PreviewOrderActivationsResponse.fromProto(resp))\n            );\n    }\n    \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n        ArchiveReasonRequest,\n        CreateReasonRequest,\n        CreateReasonResponse,\n        GetReasonRequest,\n        GetReasonResponse,\n        ListReasonsRequest,\n        ListReasonsResponse,\n        UpdateReasonRequest,\n        UpdateReasonResponse,\n} from './objects/';\nimport {\n        ArchiveReasonRequestInterface,\n        CreateReasonRequestInterface,\n        CreateReasonResponseInterface,\n        GetReasonRequestInterface,\n        GetReasonResponseInterface,\n        ListReasonsRequestInterface,\n        ListReasonsResponseInterface,\n        UpdateReasonRequestInterface,\n        UpdateReasonResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class DeclinedReasonsApiService {\n    private readonly hostService = inject(HostService);\n    private readonly http = inject(HttpClient);\n    private _host = this.hostService.hostWithScheme;\n\n    private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n        return {\n            headers: new HttpHeaders({\n                'Content-Type': 'application/json'\n            }),\n            withCredentials: true\n        };\n    }\n\n    createReason(r: CreateReasonRequest | CreateReasonRequestInterface): Observable<CreateReasonResponse> {\n        const request = ((<CreateReasonRequest>r).toApiJson) ? (<CreateReasonRequest>r) : new CreateReasonRequest(r);\n        return this.http.post<CreateReasonResponseInterface>(this._host + \"/salesorders.v1.DeclinedReasons/CreateReason\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CreateReasonResponse.fromProto(resp))\n            );\n    }\n    updateReason(r: UpdateReasonRequest | UpdateReasonRequestInterface): Observable<UpdateReasonResponse> {\n        const request = ((<UpdateReasonRequest>r).toApiJson) ? (<UpdateReasonRequest>r) : new UpdateReasonRequest(r);\n        return this.http.post<UpdateReasonResponseInterface>(this._host + \"/salesorders.v1.DeclinedReasons/UpdateReason\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => UpdateReasonResponse.fromProto(resp))\n            );\n    }\n    archiveReason(r: ArchiveReasonRequest | ArchiveReasonRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<ArchiveReasonRequest>r).toApiJson) ? (<ArchiveReasonRequest>r) : new ArchiveReasonRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.DeclinedReasons/ArchiveReason\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    listReasons(r: ListReasonsRequest | ListReasonsRequestInterface): Observable<ListReasonsResponse> {\n        const request = ((<ListReasonsRequest>r).toApiJson) ? (<ListReasonsRequest>r) : new ListReasonsRequest(r);\n        return this.http.post<ListReasonsResponseInterface>(this._host + \"/salesorders.v1.DeclinedReasons/ListReasons\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListReasonsResponse.fromProto(resp))\n            );\n    }\n    getReason(r: GetReasonRequest | GetReasonRequestInterface): Observable<GetReasonResponse> {\n        const request = ((<GetReasonRequest>r).toApiJson) ? (<GetReasonRequest>r) : new GetReasonRequest(r);\n        return this.http.post<GetReasonResponseInterface>(this._host + \"/salesorders.v1.DeclinedReasons/GetReason\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetReasonResponse.fromProto(resp))\n            );\n    }\n    \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n        ArchiveDocumentRequest,\n        CreateDocumentRequest,\n        CreateDocumentResponse,\n        DeleteDocumentRequest,\n        GenerateDocumentPDFRequest,\n        GetDocumentLineItemsRequest,\n        GetDocumentLineItemsResponse,\n        GetDocumentRequest,\n        GetDocumentResponse,\n        GetMultiDocumentsRequest,\n        GetMultiDocumentsResponse,\n        GetProposalEmailPreviewRequest,\n        GetProposalEmailPreviewResponse,\n        ListDocumentEventsRequest,\n        ListDocumentEventsResponse,\n        ListDocumentsRequest,\n        ListDocumentsResponse,\n        MarkDocumentAsReviewedRequest,\n        MarkDocumentAsViewedRequest,\n        SearchDocumentsRequest,\n        SearchDocumentsResponse,\n        SendDocumentForInternalReviewRequest,\n        SendProposalRecipientEmailRequest,\n        UnarchiveDocumentRequest,\n        UnlockDocumentRequest,\n        UpdateDocumentRequest,\n        UpsertDocumentLineItemsRequest,\n} from './objects/';\nimport {\n        ArchiveDocumentRequestInterface,\n        CreateDocumentRequestInterface,\n        CreateDocumentResponseInterface,\n        DeleteDocumentRequestInterface,\n        GenerateDocumentPDFRequestInterface,\n        GetDocumentLineItemsRequestInterface,\n        GetDocumentLineItemsResponseInterface,\n        GetDocumentRequestInterface,\n        GetDocumentResponseInterface,\n        GetMultiDocumentsRequestInterface,\n        GetMultiDocumentsResponseInterface,\n        GetProposalEmailPreviewRequestInterface,\n        GetProposalEmailPreviewResponseInterface,\n        ListDocumentEventsRequestInterface,\n        ListDocumentEventsResponseInterface,\n        ListDocumentsRequestInterface,\n        ListDocumentsResponseInterface,\n        MarkDocumentAsReviewedRequestInterface,\n        MarkDocumentAsViewedRequestInterface,\n        SearchDocumentsRequestInterface,\n        SearchDocumentsResponseInterface,\n        SendDocumentForInternalReviewRequestInterface,\n        SendProposalRecipientEmailRequestInterface,\n        UnarchiveDocumentRequestInterface,\n        UnlockDocumentRequestInterface,\n        UpdateDocumentRequestInterface,\n        UpsertDocumentLineItemsRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class DocumentsApiService {\n    private readonly hostService = inject(HostService);\n    private readonly http = inject(HttpClient);\n    private _host = this.hostService.hostWithScheme;\n\n    private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n        return {\n            headers: new HttpHeaders({\n                'Content-Type': 'application/json'\n            }),\n            withCredentials: true\n        };\n    }\n\n    createDocument(r: CreateDocumentRequest | CreateDocumentRequestInterface): Observable<CreateDocumentResponse> {\n        const request = ((<CreateDocumentRequest>r).toApiJson) ? (<CreateDocumentRequest>r) : new CreateDocumentRequest(r);\n        return this.http.post<CreateDocumentResponseInterface>(this._host + \"/salesorders.v1.Documents/CreateDocument\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CreateDocumentResponse.fromProto(resp))\n            );\n    }\n    updateDocument(r: UpdateDocumentRequest | UpdateDocumentRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdateDocumentRequest>r).toApiJson) ? (<UpdateDocumentRequest>r) : new UpdateDocumentRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.Documents/UpdateDocument\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    getDocument(r: GetDocumentRequest | GetDocumentRequestInterface): Observable<GetDocumentResponse> {\n        const request = ((<GetDocumentRequest>r).toApiJson) ? (<GetDocumentRequest>r) : new GetDocumentRequest(r);\n        return this.http.post<GetDocumentResponseInterface>(this._host + \"/salesorders.v1.Documents/GetDocument\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetDocumentResponse.fromProto(resp))\n            );\n    }\n    getMultiDocuments(r: GetMultiDocumentsRequest | GetMultiDocumentsRequestInterface): Observable<GetMultiDocumentsResponse> {\n        const request = ((<GetMultiDocumentsRequest>r).toApiJson) ? (<GetMultiDocumentsRequest>r) : new GetMultiDocumentsRequest(r);\n        return this.http.post<GetMultiDocumentsResponseInterface>(this._host + \"/salesorders.v1.Documents/GetMultiDocuments\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetMultiDocumentsResponse.fromProto(resp))\n            );\n    }\n    listDocuments(r: ListDocumentsRequest | ListDocumentsRequestInterface): Observable<ListDocumentsResponse> {\n        const request = ((<ListDocumentsRequest>r).toApiJson) ? (<ListDocumentsRequest>r) : new ListDocumentsRequest(r);\n        return this.http.post<ListDocumentsResponseInterface>(this._host + \"/salesorders.v1.Documents/ListDocuments\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListDocumentsResponse.fromProto(resp))\n            );\n    }\n    deleteDocument(r: DeleteDocumentRequest | DeleteDocumentRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<DeleteDocumentRequest>r).toApiJson) ? (<DeleteDocumentRequest>r) : new DeleteDocumentRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.Documents/DeleteDocument\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    getDocumentLineItems(r: GetDocumentLineItemsRequest | GetDocumentLineItemsRequestInterface): Observable<GetDocumentLineItemsResponse> {\n        const request = ((<GetDocumentLineItemsRequest>r).toApiJson) ? (<GetDocumentLineItemsRequest>r) : new GetDocumentLineItemsRequest(r);\n        return this.http.post<GetDocumentLineItemsResponseInterface>(this._host + \"/salesorders.v1.Documents/GetDocumentLineItems\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetDocumentLineItemsResponse.fromProto(resp))\n            );\n    }\n    upsertDocumentLineItems(r: UpsertDocumentLineItemsRequest | UpsertDocumentLineItemsRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpsertDocumentLineItemsRequest>r).toApiJson) ? (<UpsertDocumentLineItemsRequest>r) : new UpsertDocumentLineItemsRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.Documents/UpsertDocumentLineItems\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    sendProposalRecipientEmail(r: SendProposalRecipientEmailRequest | SendProposalRecipientEmailRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<SendProposalRecipientEmailRequest>r).toApiJson) ? (<SendProposalRecipientEmailRequest>r) : new SendProposalRecipientEmailRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.Documents/SendProposalRecipientEmail\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    getProposalEmailPreview(r: GetProposalEmailPreviewRequest | GetProposalEmailPreviewRequestInterface): Observable<GetProposalEmailPreviewResponse> {\n        const request = ((<GetProposalEmailPreviewRequest>r).toApiJson) ? (<GetProposalEmailPreviewRequest>r) : new GetProposalEmailPreviewRequest(r);\n        return this.http.post<GetProposalEmailPreviewResponseInterface>(this._host + \"/salesorders.v1.Documents/GetProposalEmailPreview\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetProposalEmailPreviewResponse.fromProto(resp))\n            );\n    }\n    archiveDocument(r: ArchiveDocumentRequest | ArchiveDocumentRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<ArchiveDocumentRequest>r).toApiJson) ? (<ArchiveDocumentRequest>r) : new ArchiveDocumentRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.Documents/ArchiveDocument\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    markDocumentAsViewed(r: MarkDocumentAsViewedRequest | MarkDocumentAsViewedRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<MarkDocumentAsViewedRequest>r).toApiJson) ? (<MarkDocumentAsViewedRequest>r) : new MarkDocumentAsViewedRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.Documents/MarkDocumentAsViewed\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    listDocumentEvents(r: ListDocumentEventsRequest | ListDocumentEventsRequestInterface): Observable<ListDocumentEventsResponse> {\n        const request = ((<ListDocumentEventsRequest>r).toApiJson) ? (<ListDocumentEventsRequest>r) : new ListDocumentEventsRequest(r);\n        return this.http.post<ListDocumentEventsResponseInterface>(this._host + \"/salesorders.v1.Documents/ListDocumentEvents\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListDocumentEventsResponse.fromProto(resp))\n            );\n    }\n    sendDocumentForInternalReview(r: SendDocumentForInternalReviewRequest | SendDocumentForInternalReviewRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<SendDocumentForInternalReviewRequest>r).toApiJson) ? (<SendDocumentForInternalReviewRequest>r) : new SendDocumentForInternalReviewRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.Documents/SendDocumentForInternalReview\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    markDocumentAsReviewed(r: MarkDocumentAsReviewedRequest | MarkDocumentAsReviewedRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<MarkDocumentAsReviewedRequest>r).toApiJson) ? (<MarkDocumentAsReviewedRequest>r) : new MarkDocumentAsReviewedRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.Documents/MarkDocumentAsReviewed\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    unlockDocument(r: UnlockDocumentRequest | UnlockDocumentRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UnlockDocumentRequest>r).toApiJson) ? (<UnlockDocumentRequest>r) : new UnlockDocumentRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.Documents/UnlockDocument\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    unarchiveDocument(r: UnarchiveDocumentRequest | UnarchiveDocumentRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UnarchiveDocumentRequest>r).toApiJson) ? (<UnarchiveDocumentRequest>r) : new UnarchiveDocumentRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.Documents/UnarchiveDocument\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    searchDocuments(r: SearchDocumentsRequest | SearchDocumentsRequestInterface): Observable<SearchDocumentsResponse> {\n        const request = ((<SearchDocumentsRequest>r).toApiJson) ? (<SearchDocumentsRequest>r) : new SearchDocumentsRequest(r);\n        return this.http.post<SearchDocumentsResponseInterface>(this._host + \"/salesorders.v1.Documents/SearchDocuments\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => SearchDocumentsResponse.fromProto(resp))\n            );\n    }\n    generateDocumentPdf(r: GenerateDocumentPDFRequest | GenerateDocumentPDFRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<GenerateDocumentPDFRequest>r).toApiJson) ? (<GenerateDocumentPDFRequest>r) : new GenerateDocumentPDFRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.Documents/GenerateDocumentPDF\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n        GetSubscribedLocationsRequest,\n        GetSubscribedLocationsResponse,\n        GetSubscribersRequest,\n        GetSubscribersResponse,\n        SubscribeRequest,\n        UnsubscribeRequest,\n} from './objects/';\nimport {\n        GetSubscribedLocationsRequestInterface,\n        GetSubscribedLocationsResponseInterface,\n        GetSubscribersRequestInterface,\n        GetSubscribersResponseInterface,\n        SubscribeRequestInterface,\n        UnsubscribeRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class NotificationsApiService {\n    private readonly hostService = inject(HostService);\n    private readonly http = inject(HttpClient);\n    private _host = this.hostService.hostWithScheme;\n\n    private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n        return {\n            headers: new HttpHeaders({\n                'Content-Type': 'application/json'\n            }),\n            withCredentials: true\n        };\n    }\n\n    subscribe(r: SubscribeRequest | SubscribeRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<SubscribeRequest>r).toApiJson) ? (<SubscribeRequest>r) : new SubscribeRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.Notifications/Subscribe\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    unsubscribe(r: UnsubscribeRequest | UnsubscribeRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UnsubscribeRequest>r).toApiJson) ? (<UnsubscribeRequest>r) : new UnsubscribeRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.Notifications/Unsubscribe\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    getSubscribedLocations(r: GetSubscribedLocationsRequest | GetSubscribedLocationsRequestInterface): Observable<GetSubscribedLocationsResponse> {\n        const request = ((<GetSubscribedLocationsRequest>r).toApiJson) ? (<GetSubscribedLocationsRequest>r) : new GetSubscribedLocationsRequest(r);\n        return this.http.post<GetSubscribedLocationsResponseInterface>(this._host + \"/salesorders.v1.Notifications/GetSubscribedLocations\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetSubscribedLocationsResponse.fromProto(resp))\n            );\n    }\n    getSubscribers(r: GetSubscribersRequest | GetSubscribersRequestInterface): Observable<GetSubscribersResponse> {\n        const request = ((<GetSubscribersRequest>r).toApiJson) ? (<GetSubscribersRequest>r) : new GetSubscribersRequest(r);\n        return this.http.post<GetSubscribersResponseInterface>(this._host + \"/salesorders.v1.Notifications/GetSubscribers\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetSubscribersResponse.fromProto(resp))\n            );\n    }\n    \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n        ApproveRequest,\n        ApproveResponse,\n        DeclineRequest,\n        DeclineResponse,\n        GetConfigurationRequest,\n        GetConfigurationResponse,\n        GetOrderRecipientSessionRequest,\n        GetOrderRecipientSessionResponse,\n        GetRequest,\n        GetResponse,\n        UpdateOrderFormAnswersRequest,\n        UpdateOrderFormAnswersResponse,\n} from './objects/';\nimport {\n        ApproveRequestInterface,\n        ApproveResponseInterface,\n        DeclineRequestInterface,\n        DeclineResponseInterface,\n        GetConfigurationRequestInterface,\n        GetConfigurationResponseInterface,\n        GetOrderRecipientSessionRequestInterface,\n        GetOrderRecipientSessionResponseInterface,\n        GetRequestInterface,\n        GetResponseInterface,\n        UpdateOrderFormAnswersRequestInterface,\n        UpdateOrderFormAnswersResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class PublicApiService {\n    private readonly hostService = inject(HostService);\n    private readonly http = inject(HttpClient);\n    private _host = this.hostService.hostWithScheme;\n\n    private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n        return {\n            headers: new HttpHeaders({\n                'Content-Type': 'application/json'\n            }),\n            withCredentials: true\n        };\n    }\n\n    approveSalesOrder(r: ApproveRequest | ApproveRequestInterface): Observable<ApproveResponse> {\n        const request = ((<ApproveRequest>r).toApiJson) ? (<ApproveRequest>r) : new ApproveRequest(r);\n        return this.http.post<ApproveResponseInterface>(this._host + \"/salesorders.v1.Public/ApproveSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ApproveResponse.fromProto(resp))\n            );\n    }\n    declineSalesOrder(r: DeclineRequest | DeclineRequestInterface): Observable<DeclineResponse> {\n        const request = ((<DeclineRequest>r).toApiJson) ? (<DeclineRequest>r) : new DeclineRequest(r);\n        return this.http.post<DeclineResponseInterface>(this._host + \"/salesorders.v1.Public/DeclineSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => DeclineResponse.fromProto(resp))\n            );\n    }\n    getSalesOrder(r: GetRequest | GetRequestInterface): Observable<GetResponse> {\n        const request = ((<GetRequest>r).toApiJson) ? (<GetRequest>r) : new GetRequest(r);\n        return this.http.post<GetResponseInterface>(this._host + \"/salesorders.v1.Public/GetSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetResponse.fromProto(resp))\n            );\n    }\n    updateOrderFormAnswers(r: UpdateOrderFormAnswersRequest | UpdateOrderFormAnswersRequestInterface): Observable<UpdateOrderFormAnswersResponse> {\n        const request = ((<UpdateOrderFormAnswersRequest>r).toApiJson) ? (<UpdateOrderFormAnswersRequest>r) : new UpdateOrderFormAnswersRequest(r);\n        return this.http.post<UpdateOrderFormAnswersResponseInterface>(this._host + \"/salesorders.v1.Public/UpdateOrderFormAnswers\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => UpdateOrderFormAnswersResponse.fromProto(resp))\n            );\n    }\n    getConfig(r: GetConfigurationRequest | GetConfigurationRequestInterface): Observable<GetConfigurationResponse> {\n        const request = ((<GetConfigurationRequest>r).toApiJson) ? (<GetConfigurationRequest>r) : new GetConfigurationRequest(r);\n        return this.http.post<GetConfigurationResponseInterface>(this._host + \"/salesorders.v1.Public/GetConfig\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetConfigurationResponse.fromProto(resp))\n            );\n    }\n    getOrderRecipientSession(r: GetOrderRecipientSessionRequest | GetOrderRecipientSessionRequestInterface): Observable<GetOrderRecipientSessionResponse> {\n        const request = ((<GetOrderRecipientSessionRequest>r).toApiJson) ? (<GetOrderRecipientSessionRequest>r) : new GetOrderRecipientSessionRequest(r);\n        return this.http.post<GetOrderRecipientSessionResponseInterface>(this._host + \"/salesorders.v1.Public/GetOrderRecipientSession\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetOrderRecipientSessionResponse.fromProto(resp))\n            );\n    }\n    \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n        ActivateProductsRequest,\n        ActivateProductsResponse,\n        ApproveCancellationRequest,\n        ApproveSalesOrderRequest,\n        ApproveSalesOrderResponse,\n        ArchiveSalesOrderRequest,\n        ArchiveSalesOrderResponse,\n        CanOrderBeWholesaleBilledRequest,\n        CanOrderBeWholesaleBilledResponse,\n        CancelOrderRequest,\n        ChargeOrderRequest,\n        ChargeOrderResponse,\n        CheckSalesOrderExistsRequest,\n        CheckSalesOrderExistsResponse,\n        ConvertToDraftRequest,\n        CreateAndActivateOrderRequest,\n        CreateAndActivateOrderResponse,\n        CreateDraftSalesOrderRequest,\n        CreateDraftSalesOrderResponse,\n        CreateInvoiceRequest,\n        CreateInvoiceResponse,\n        CreateLeasedToAutomationsSalesOrderRequest,\n        CreateLeasedToAutomationsSalesOrderResponse,\n        CreateSalesOrderRequest,\n        CreateSalesOrderResponse,\n        CustomerApproveSalesOrderRequest,\n        CustomerApproveSalesOrderResponse,\n        CustomerCreateSalesOrderRequest,\n        CustomerCreateSalesOrderResponse,\n        DeclineCancellationRequest,\n        DeclineSalesOrderRequest,\n        DeclineSalesOrderResponse,\n        DeleteConfigRequest,\n        DeleteSalesOrderRequest,\n        DuplicateSalesOrderRequest,\n        DuplicateSalesOrderResponse,\n        GenerateRetailSubscriptionGroupForOrderRequest,\n        GenerateRetailSubscriptionGroupForOrderResponse,\n        GetConfigRequest,\n        GetConfigResponse,\n        GetMultiSalesOrderRequest,\n        GetMultiSalesOrderResponse,\n        GetOrderRecipientDetailsRequest,\n        GetOrderRecipientDetailsResponse,\n        GetSalesOrderByIdempotencyKeyRequest,\n        GetSalesOrderRequest,\n        GetSalesOrderResponse,\n        GetSalesOrderWithCalculatedTaxesRequest,\n        GetSalesOrderWithCalculatedTaxesResponse,\n        GetStatusCountsRequest,\n        GetStatusCountsResponse,\n        GetUsersRequest,\n        GetUsersResponse,\n        IgnoreAllProductActivationErrorsRequest,\n        IgnoreProductActivationErrorRequest,\n        LeaseSalesOrderToAutomationsRequest,\n        LeaseSalesOrderToAutomationsResponse,\n        ListSalesOrderRequest,\n        ListSalesOrderResponse,\n        ListTagsRequest,\n        ListTagsResponse,\n        PreviewOrderActivationsRequest,\n        PreviewOrderActivationsResponse,\n        RequestCancellationRequest,\n        ScheduleActivationRequest,\n        SendExistingOrderToCustomerForApprovalRequest,\n        SendForCustomerApprovalRequest,\n        SendForCustomerApprovalResponse,\n        SubmitDraftForApprovalRequest,\n        SubmitDraftForApprovalResponse,\n        SubmitDraftRequest,\n        SubmitDraftResponse,\n        UpdateAnswersRequest,\n        UpdateAnswersResponse,\n        UpdateAttachmentsRequest,\n        UpdateConfigRequest,\n        UpdateContractDurationRequest,\n        UpdateCurrentRevenueRequest,\n        UpdateCustomerAttachmentsRequest,\n        UpdateCustomerNotesRequest,\n        UpdateCustomerRecipientUserIdRequest,\n        UpdateEnforceContractTermRequest,\n        UpdateLineItemsRequest,\n        UpdateNotesRequest,\n        UpdatePaymentMethodTokenRequest,\n        UpdateRequestedActivationRequest,\n        UpdateRetailSubscriptionGroupForOrderRequest,\n        UpdateSalesOrderMarketRequest,\n        UpdateSalespersonRequest,\n        UpdateSalespersonResponse,\n        UpdateTagsRequest,\n        UpdateTagsResponse,\n        ValidateLineItemsRequest,\n        ValidateLineItemsResponse,\n} from './objects/';\nimport {\n        ActivateProductsRequestInterface,\n        ActivateProductsResponseInterface,\n        ApproveCancellationRequestInterface,\n        ApproveSalesOrderRequestInterface,\n        ApproveSalesOrderResponseInterface,\n        ArchiveSalesOrderRequestInterface,\n        ArchiveSalesOrderResponseInterface,\n        CanOrderBeWholesaleBilledRequestInterface,\n        CanOrderBeWholesaleBilledResponseInterface,\n        CancelOrderRequestInterface,\n        ChargeOrderRequestInterface,\n        ChargeOrderResponseInterface,\n        CheckSalesOrderExistsRequestInterface,\n        CheckSalesOrderExistsResponseInterface,\n        ConvertToDraftRequestInterface,\n        CreateAndActivateOrderRequestInterface,\n        CreateAndActivateOrderResponseInterface,\n        CreateDraftSalesOrderRequestInterface,\n        CreateDraftSalesOrderResponseInterface,\n        CreateInvoiceRequestInterface,\n        CreateInvoiceResponseInterface,\n        CreateLeasedToAutomationsSalesOrderRequestInterface,\n        CreateLeasedToAutomationsSalesOrderResponseInterface,\n        CreateSalesOrderRequestInterface,\n        CreateSalesOrderResponseInterface,\n        CustomerApproveSalesOrderRequestInterface,\n        CustomerApproveSalesOrderResponseInterface,\n        CustomerCreateSalesOrderRequestInterface,\n        CustomerCreateSalesOrderResponseInterface,\n        DeclineCancellationRequestInterface,\n        DeclineSalesOrderRequestInterface,\n        DeclineSalesOrderResponseInterface,\n        DeleteConfigRequestInterface,\n        DeleteSalesOrderRequestInterface,\n        DuplicateSalesOrderRequestInterface,\n        DuplicateSalesOrderResponseInterface,\n        GenerateRetailSubscriptionGroupForOrderRequestInterface,\n        GenerateRetailSubscriptionGroupForOrderResponseInterface,\n        GetConfigRequestInterface,\n        GetConfigResponseInterface,\n        GetMultiSalesOrderRequestInterface,\n        GetMultiSalesOrderResponseInterface,\n        GetOrderRecipientDetailsRequestInterface,\n        GetOrderRecipientDetailsResponseInterface,\n        GetSalesOrderByIdempotencyKeyRequestInterface,\n        GetSalesOrderRequestInterface,\n        GetSalesOrderResponseInterface,\n        GetSalesOrderWithCalculatedTaxesRequestInterface,\n        GetSalesOrderWithCalculatedTaxesResponseInterface,\n        GetStatusCountsRequestInterface,\n        GetStatusCountsResponseInterface,\n        GetUsersRequestInterface,\n        GetUsersResponseInterface,\n        IgnoreAllProductActivationErrorsRequestInterface,\n        IgnoreProductActivationErrorRequestInterface,\n        LeaseSalesOrderToAutomationsRequestInterface,\n        LeaseSalesOrderToAutomationsResponseInterface,\n        ListSalesOrderRequestInterface,\n        ListSalesOrderResponseInterface,\n        ListTagsRequestInterface,\n        ListTagsResponseInterface,\n        PreviewOrderActivationsRequestInterface,\n        PreviewOrderActivationsResponseInterface,\n        RequestCancellationRequestInterface,\n        ScheduleActivationRequestInterface,\n        SendExistingOrderToCustomerForApprovalRequestInterface,\n        SendForCustomerApprovalRequestInterface,\n        SendForCustomerApprovalResponseInterface,\n        SubmitDraftForApprovalRequestInterface,\n        SubmitDraftForApprovalResponseInterface,\n        SubmitDraftRequestInterface,\n        SubmitDraftResponseInterface,\n        UpdateAnswersRequestInterface,\n        UpdateAnswersResponseInterface,\n        UpdateAttachmentsRequestInterface,\n        UpdateConfigRequestInterface,\n        UpdateContractDurationRequestInterface,\n        UpdateCurrentRevenueRequestInterface,\n        UpdateCustomerAttachmentsRequestInterface,\n        UpdateCustomerNotesRequestInterface,\n        UpdateCustomerRecipientUserIdRequestInterface,\n        UpdateEnforceContractTermRequestInterface,\n        UpdateLineItemsRequestInterface,\n        UpdateNotesRequestInterface,\n        UpdatePaymentMethodTokenRequestInterface,\n        UpdateRequestedActivationRequestInterface,\n        UpdateRetailSubscriptionGroupForOrderRequestInterface,\n        UpdateSalesOrderMarketRequestInterface,\n        UpdateSalespersonRequestInterface,\n        UpdateSalespersonResponseInterface,\n        UpdateTagsRequestInterface,\n        UpdateTagsResponseInterface,\n        ValidateLineItemsRequestInterface,\n        ValidateLineItemsResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class SalesOrdersApiService {\n    private readonly hostService = inject(HostService);\n    private readonly http = inject(HttpClient);\n    private _host = this.hostService.hostWithScheme;\n\n    private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n        return {\n            headers: new HttpHeaders({\n                'Content-Type': 'application/json'\n            }),\n            withCredentials: true\n        };\n    }\n\n    createSalesOrder(r: CreateSalesOrderRequest | CreateSalesOrderRequestInterface): Observable<CreateSalesOrderResponse> {\n        const request = ((<CreateSalesOrderRequest>r).toApiJson) ? (<CreateSalesOrderRequest>r) : new CreateSalesOrderRequest(r);\n        return this.http.post<CreateSalesOrderResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/CreateSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CreateSalesOrderResponse.fromProto(resp))\n            );\n    }\n    customerCreateSalesOrder(r: CustomerCreateSalesOrderRequest | CustomerCreateSalesOrderRequestInterface): Observable<CustomerCreateSalesOrderResponse> {\n        const request = ((<CustomerCreateSalesOrderRequest>r).toApiJson) ? (<CustomerCreateSalesOrderRequest>r) : new CustomerCreateSalesOrderRequest(r);\n        return this.http.post<CustomerCreateSalesOrderResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/CustomerCreateSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CustomerCreateSalesOrderResponse.fromProto(resp))\n            );\n    }\n    duplicateSalesOrder(r: DuplicateSalesOrderRequest | DuplicateSalesOrderRequestInterface): Observable<DuplicateSalesOrderResponse> {\n        const request = ((<DuplicateSalesOrderRequest>r).toApiJson) ? (<DuplicateSalesOrderRequest>r) : new DuplicateSalesOrderRequest(r);\n        return this.http.post<DuplicateSalesOrderResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/DuplicateSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => DuplicateSalesOrderResponse.fromProto(resp))\n            );\n    }\n    updateSalesOrderMarket(r: UpdateSalesOrderMarketRequest | UpdateSalesOrderMarketRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdateSalesOrderMarketRequest>r).toApiJson) ? (<UpdateSalesOrderMarketRequest>r) : new UpdateSalesOrderMarketRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/UpdateSalesOrderMarket\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    getSalesOrder(r: GetSalesOrderRequest | GetSalesOrderRequestInterface): Observable<GetSalesOrderResponse> {\n        const request = ((<GetSalesOrderRequest>r).toApiJson) ? (<GetSalesOrderRequest>r) : new GetSalesOrderRequest(r);\n        return this.http.post<GetSalesOrderResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/GetSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetSalesOrderResponse.fromProto(resp))\n            );\n    }\n    getMultiSalesOrder(r: GetMultiSalesOrderRequest | GetMultiSalesOrderRequestInterface): Observable<GetMultiSalesOrderResponse> {\n        const request = ((<GetMultiSalesOrderRequest>r).toApiJson) ? (<GetMultiSalesOrderRequest>r) : new GetMultiSalesOrderRequest(r);\n        return this.http.post<GetMultiSalesOrderResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/GetMultiSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetMultiSalesOrderResponse.fromProto(resp))\n            );\n    }\n    getSalesOrderByIdempotencyKey(r: GetSalesOrderByIdempotencyKeyRequest | GetSalesOrderByIdempotencyKeyRequestInterface): Observable<GetSalesOrderResponse> {\n        const request = ((<GetSalesOrderByIdempotencyKeyRequest>r).toApiJson) ? (<GetSalesOrderByIdempotencyKeyRequest>r) : new GetSalesOrderByIdempotencyKeyRequest(r);\n        return this.http.post<GetSalesOrderResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/GetSalesOrderByIdempotencyKey\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetSalesOrderResponse.fromProto(resp))\n            );\n    }\n    getSalesOrderWithCalculatedTaxes(r: GetSalesOrderWithCalculatedTaxesRequest | GetSalesOrderWithCalculatedTaxesRequestInterface): Observable<GetSalesOrderWithCalculatedTaxesResponse> {\n        const request = ((<GetSalesOrderWithCalculatedTaxesRequest>r).toApiJson) ? (<GetSalesOrderWithCalculatedTaxesRequest>r) : new GetSalesOrderWithCalculatedTaxesRequest(r);\n        return this.http.post<GetSalesOrderWithCalculatedTaxesResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/GetSalesOrderWithCalculatedTaxes\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetSalesOrderWithCalculatedTaxesResponse.fromProto(resp))\n            );\n    }\n    listSalesOrder(r: ListSalesOrderRequest | ListSalesOrderRequestInterface): Observable<ListSalesOrderResponse> {\n        const request = ((<ListSalesOrderRequest>r).toApiJson) ? (<ListSalesOrderRequest>r) : new ListSalesOrderRequest(r);\n        return this.http.post<ListSalesOrderResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/ListSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListSalesOrderResponse.fromProto(resp))\n            );\n    }\n    approveSalesOrder(r: ApproveSalesOrderRequest | ApproveSalesOrderRequestInterface): Observable<ApproveSalesOrderResponse> {\n        const request = ((<ApproveSalesOrderRequest>r).toApiJson) ? (<ApproveSalesOrderRequest>r) : new ApproveSalesOrderRequest(r);\n        return this.http.post<ApproveSalesOrderResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/ApproveSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ApproveSalesOrderResponse.fromProto(resp))\n            );\n    }\n    customerApproveSalesOrder(r: CustomerApproveSalesOrderRequest | CustomerApproveSalesOrderRequestInterface): Observable<CustomerApproveSalesOrderResponse> {\n        const request = ((<CustomerApproveSalesOrderRequest>r).toApiJson) ? (<CustomerApproveSalesOrderRequest>r) : new CustomerApproveSalesOrderRequest(r);\n        return this.http.post<CustomerApproveSalesOrderResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/CustomerApproveSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CustomerApproveSalesOrderResponse.fromProto(resp))\n            );\n    }\n    declineSalesOrder(r: DeclineSalesOrderRequest | DeclineSalesOrderRequestInterface): Observable<DeclineSalesOrderResponse> {\n        const request = ((<DeclineSalesOrderRequest>r).toApiJson) ? (<DeclineSalesOrderRequest>r) : new DeclineSalesOrderRequest(r);\n        return this.http.post<DeclineSalesOrderResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/DeclineSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => DeclineSalesOrderResponse.fromProto(resp))\n            );\n    }\n    activateProducts(r: ActivateProductsRequest | ActivateProductsRequestInterface): Observable<ActivateProductsResponse> {\n        const request = ((<ActivateProductsRequest>r).toApiJson) ? (<ActivateProductsRequest>r) : new ActivateProductsRequest(r);\n        return this.http.post<ActivateProductsResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/ActivateProducts\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ActivateProductsResponse.fromProto(resp))\n            );\n    }\n    scheduleActivation(r: ScheduleActivationRequest | ScheduleActivationRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<ScheduleActivationRequest>r).toApiJson) ? (<ScheduleActivationRequest>r) : new ScheduleActivationRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/ScheduleActivation\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    archiveSalesOrder(r: ArchiveSalesOrderRequest | ArchiveSalesOrderRequestInterface): Observable<ArchiveSalesOrderResponse> {\n        const request = ((<ArchiveSalesOrderRequest>r).toApiJson) ? (<ArchiveSalesOrderRequest>r) : new ArchiveSalesOrderRequest(r);\n        return this.http.post<ArchiveSalesOrderResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/ArchiveSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ArchiveSalesOrderResponse.fromProto(resp))\n            );\n    }\n    deleteSalesOrder(r: DeleteSalesOrderRequest | DeleteSalesOrderRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<DeleteSalesOrderRequest>r).toApiJson) ? (<DeleteSalesOrderRequest>r) : new DeleteSalesOrderRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/DeleteSalesOrder\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    checkSalesOrderExists(r: CheckSalesOrderExistsRequest | CheckSalesOrderExistsRequestInterface): Observable<CheckSalesOrderExistsResponse> {\n        const request = ((<CheckSalesOrderExistsRequest>r).toApiJson) ? (<CheckSalesOrderExistsRequest>r) : new CheckSalesOrderExistsRequest(r);\n        return this.http.post<CheckSalesOrderExistsResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/CheckSalesOrderExists\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CheckSalesOrderExistsResponse.fromProto(resp))\n            );\n    }\n    sendForCustomerApproval(r: SendForCustomerApprovalRequest | SendForCustomerApprovalRequestInterface): Observable<SendForCustomerApprovalResponse> {\n        const request = ((<SendForCustomerApprovalRequest>r).toApiJson) ? (<SendForCustomerApprovalRequest>r) : new SendForCustomerApprovalRequest(r);\n        return this.http.post<SendForCustomerApprovalResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/SendForCustomerApproval\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => SendForCustomerApprovalResponse.fromProto(resp))\n            );\n    }\n    sendExistingOrderToCustomerForApproval(r: SendExistingOrderToCustomerForApprovalRequest | SendExistingOrderToCustomerForApprovalRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<SendExistingOrderToCustomerForApprovalRequest>r).toApiJson) ? (<SendExistingOrderToCustomerForApprovalRequest>r) : new SendExistingOrderToCustomerForApprovalRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/SendExistingOrderToCustomerForApproval\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    chargeOrder(r: ChargeOrderRequest | ChargeOrderRequestInterface): Observable<ChargeOrderResponse> {\n        const request = ((<ChargeOrderRequest>r).toApiJson) ? (<ChargeOrderRequest>r) : new ChargeOrderRequest(r);\n        return this.http.post<ChargeOrderResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/ChargeOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ChargeOrderResponse.fromProto(resp))\n            );\n    }\n    getUsers(r: GetUsersRequest | GetUsersRequestInterface): Observable<GetUsersResponse> {\n        const request = ((<GetUsersRequest>r).toApiJson) ? (<GetUsersRequest>r) : new GetUsersRequest(r);\n        return this.http.post<GetUsersResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/GetUsers\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetUsersResponse.fromProto(resp))\n            );\n    }\n    getConfig(r: GetConfigRequest | GetConfigRequestInterface): Observable<GetConfigResponse> {\n        const request = ((<GetConfigRequest>r).toApiJson) ? (<GetConfigRequest>r) : new GetConfigRequest(r);\n        return this.http.post<GetConfigResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/GetConfig\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetConfigResponse.fromProto(resp))\n            );\n    }\n    updateConfig(r: UpdateConfigRequest | UpdateConfigRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdateConfigRequest>r).toApiJson) ? (<UpdateConfigRequest>r) : new UpdateConfigRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/UpdateConfig\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    deleteConfig(r: DeleteConfigRequest | DeleteConfigRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<DeleteConfigRequest>r).toApiJson) ? (<DeleteConfigRequest>r) : new DeleteConfigRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/DeleteConfig\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    updateAnswers(r: UpdateAnswersRequest | UpdateAnswersRequestInterface): Observable<UpdateAnswersResponse> {\n        const request = ((<UpdateAnswersRequest>r).toApiJson) ? (<UpdateAnswersRequest>r) : new UpdateAnswersRequest(r);\n        return this.http.post<UpdateAnswersResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/UpdateAnswers\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => UpdateAnswersResponse.fromProto(resp))\n            );\n    }\n    updateTags(r: UpdateTagsRequest | UpdateTagsRequestInterface): Observable<UpdateTagsResponse> {\n        const request = ((<UpdateTagsRequest>r).toApiJson) ? (<UpdateTagsRequest>r) : new UpdateTagsRequest(r);\n        return this.http.post<UpdateTagsResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/UpdateTags\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => UpdateTagsResponse.fromProto(resp))\n            );\n    }\n    updateSalesperson(r: UpdateSalespersonRequest | UpdateSalespersonRequestInterface): Observable<UpdateSalespersonResponse> {\n        const request = ((<UpdateSalespersonRequest>r).toApiJson) ? (<UpdateSalespersonRequest>r) : new UpdateSalespersonRequest(r);\n        return this.http.post<UpdateSalespersonResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/UpdateSalesperson\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => UpdateSalespersonResponse.fromProto(resp))\n            );\n    }\n    updateNotes(r: UpdateNotesRequest | UpdateNotesRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdateNotesRequest>r).toApiJson) ? (<UpdateNotesRequest>r) : new UpdateNotesRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/UpdateNotes\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    updateRequestedActivation(r: UpdateRequestedActivationRequest | UpdateRequestedActivationRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdateRequestedActivationRequest>r).toApiJson) ? (<UpdateRequestedActivationRequest>r) : new UpdateRequestedActivationRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/UpdateRequestedActivation\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    updateContractDuration(r: UpdateContractDurationRequest | UpdateContractDurationRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdateContractDurationRequest>r).toApiJson) ? (<UpdateContractDurationRequest>r) : new UpdateContractDurationRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/UpdateContractDuration\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    updateEnforceContractTerm(r: UpdateEnforceContractTermRequest | UpdateEnforceContractTermRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdateEnforceContractTermRequest>r).toApiJson) ? (<UpdateEnforceContractTermRequest>r) : new UpdateEnforceContractTermRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/UpdateEnforceContractTerm\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    updateCurrentRevenue(r: UpdateCurrentRevenueRequest | UpdateCurrentRevenueRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdateCurrentRevenueRequest>r).toApiJson) ? (<UpdateCurrentRevenueRequest>r) : new UpdateCurrentRevenueRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/UpdateCurrentRevenue\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    updateLineItems(r: UpdateLineItemsRequest | UpdateLineItemsRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdateLineItemsRequest>r).toApiJson) ? (<UpdateLineItemsRequest>r) : new UpdateLineItemsRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/UpdateLineItems\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    updatePaymentMethodToken(r: UpdatePaymentMethodTokenRequest | UpdatePaymentMethodTokenRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdatePaymentMethodTokenRequest>r).toApiJson) ? (<UpdatePaymentMethodTokenRequest>r) : new UpdatePaymentMethodTokenRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/UpdatePaymentMethodToken\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    updateCustomerRecipientUserId(r: UpdateCustomerRecipientUserIdRequest | UpdateCustomerRecipientUserIdRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdateCustomerRecipientUserIdRequest>r).toApiJson) ? (<UpdateCustomerRecipientUserIdRequest>r) : new UpdateCustomerRecipientUserIdRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/UpdateCustomerRecipientUserId\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    listTags(r: ListTagsRequest | ListTagsRequestInterface): Observable<ListTagsResponse> {\n        const request = ((<ListTagsRequest>r).toApiJson) ? (<ListTagsRequest>r) : new ListTagsRequest(r);\n        return this.http.post<ListTagsResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/ListTags\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListTagsResponse.fromProto(resp))\n            );\n    }\n    createDraftSalesOrder(r: CreateDraftSalesOrderRequest | CreateDraftSalesOrderRequestInterface): Observable<CreateDraftSalesOrderResponse> {\n        const request = ((<CreateDraftSalesOrderRequest>r).toApiJson) ? (<CreateDraftSalesOrderRequest>r) : new CreateDraftSalesOrderRequest(r);\n        return this.http.post<CreateDraftSalesOrderResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/CreateDraftSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CreateDraftSalesOrderResponse.fromProto(resp))\n            );\n    }\n    submitDraftSalesOrder(r: SubmitDraftRequest | SubmitDraftRequestInterface): Observable<SubmitDraftResponse> {\n        const request = ((<SubmitDraftRequest>r).toApiJson) ? (<SubmitDraftRequest>r) : new SubmitDraftRequest(r);\n        return this.http.post<SubmitDraftResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/SubmitDraftSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => SubmitDraftResponse.fromProto(resp))\n            );\n    }\n    submitDraftForCustomerApproval(r: SubmitDraftForApprovalRequest | SubmitDraftForApprovalRequestInterface): Observable<SubmitDraftForApprovalResponse> {\n        const request = ((<SubmitDraftForApprovalRequest>r).toApiJson) ? (<SubmitDraftForApprovalRequest>r) : new SubmitDraftForApprovalRequest(r);\n        return this.http.post<SubmitDraftForApprovalResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/SubmitDraftForCustomerApproval\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => SubmitDraftForApprovalResponse.fromProto(resp))\n            );\n    }\n    ignoreProductActivationError(r: IgnoreProductActivationErrorRequest | IgnoreProductActivationErrorRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<IgnoreProductActivationErrorRequest>r).toApiJson) ? (<IgnoreProductActivationErrorRequest>r) : new IgnoreProductActivationErrorRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/IgnoreProductActivationError\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    ignoreAllProductActivationErrors(r: IgnoreAllProductActivationErrorsRequest | IgnoreAllProductActivationErrorsRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<IgnoreAllProductActivationErrorsRequest>r).toApiJson) ? (<IgnoreAllProductActivationErrorsRequest>r) : new IgnoreAllProductActivationErrorsRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/IgnoreAllProductActivationErrors\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    cancelOrder(r: CancelOrderRequest | CancelOrderRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<CancelOrderRequest>r).toApiJson) ? (<CancelOrderRequest>r) : new CancelOrderRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/CancelOrder\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    requestCancellation(r: RequestCancellationRequest | RequestCancellationRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<RequestCancellationRequest>r).toApiJson) ? (<RequestCancellationRequest>r) : new RequestCancellationRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/RequestCancellation\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    declineCancellation(r: DeclineCancellationRequest | DeclineCancellationRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<DeclineCancellationRequest>r).toApiJson) ? (<DeclineCancellationRequest>r) : new DeclineCancellationRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/DeclineCancellation\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    previewOrderActivations(r: PreviewOrderActivationsRequest | PreviewOrderActivationsRequestInterface): Observable<PreviewOrderActivationsResponse> {\n        const request = ((<PreviewOrderActivationsRequest>r).toApiJson) ? (<PreviewOrderActivationsRequest>r) : new PreviewOrderActivationsRequest(r);\n        return this.http.post<PreviewOrderActivationsResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/PreviewOrderActivations\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => PreviewOrderActivationsResponse.fromProto(resp))\n            );\n    }\n    approveCancellation(r: ApproveCancellationRequest | ApproveCancellationRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<ApproveCancellationRequest>r).toApiJson) ? (<ApproveCancellationRequest>r) : new ApproveCancellationRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/ApproveCancellation\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    convertToDraft(r: ConvertToDraftRequest | ConvertToDraftRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<ConvertToDraftRequest>r).toApiJson) ? (<ConvertToDraftRequest>r) : new ConvertToDraftRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/ConvertToDraft\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    getStatusCounts(r: GetStatusCountsRequest | GetStatusCountsRequestInterface): Observable<GetStatusCountsResponse> {\n        const request = ((<GetStatusCountsRequest>r).toApiJson) ? (<GetStatusCountsRequest>r) : new GetStatusCountsRequest(r);\n        return this.http.post<GetStatusCountsResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/GetStatusCounts\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetStatusCountsResponse.fromProto(resp))\n            );\n    }\n    createInvoice(r: CreateInvoiceRequest | CreateInvoiceRequestInterface): Observable<CreateInvoiceResponse> {\n        const request = ((<CreateInvoiceRequest>r).toApiJson) ? (<CreateInvoiceRequest>r) : new CreateInvoiceRequest(r);\n        return this.http.post<CreateInvoiceResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/CreateInvoice\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CreateInvoiceResponse.fromProto(resp))\n            );\n    }\n    createAndActivateOrder(r: CreateAndActivateOrderRequest | CreateAndActivateOrderRequestInterface): Observable<CreateAndActivateOrderResponse> {\n        const request = ((<CreateAndActivateOrderRequest>r).toApiJson) ? (<CreateAndActivateOrderRequest>r) : new CreateAndActivateOrderRequest(r);\n        return this.http.post<CreateAndActivateOrderResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/CreateAndActivateOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CreateAndActivateOrderResponse.fromProto(resp))\n            );\n    }\n    updateCustomerNotes(r: UpdateCustomerNotesRequest | UpdateCustomerNotesRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdateCustomerNotesRequest>r).toApiJson) ? (<UpdateCustomerNotesRequest>r) : new UpdateCustomerNotesRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/UpdateCustomerNotes\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    updateAttachments(r: UpdateAttachmentsRequest | UpdateAttachmentsRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdateAttachmentsRequest>r).toApiJson) ? (<UpdateAttachmentsRequest>r) : new UpdateAttachmentsRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/UpdateAttachments\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    updateCustomerAttachments(r: UpdateCustomerAttachmentsRequest | UpdateCustomerAttachmentsRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdateCustomerAttachmentsRequest>r).toApiJson) ? (<UpdateCustomerAttachmentsRequest>r) : new UpdateCustomerAttachmentsRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/UpdateCustomerAttachments\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    leaseSalesOrderToAutomations(r: LeaseSalesOrderToAutomationsRequest | LeaseSalesOrderToAutomationsRequestInterface): Observable<LeaseSalesOrderToAutomationsResponse> {\n        const request = ((<LeaseSalesOrderToAutomationsRequest>r).toApiJson) ? (<LeaseSalesOrderToAutomationsRequest>r) : new LeaseSalesOrderToAutomationsRequest(r);\n        return this.http.post<LeaseSalesOrderToAutomationsResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/LeaseSalesOrderToAutomations\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => LeaseSalesOrderToAutomationsResponse.fromProto(resp))\n            );\n    }\n    createLeasedToAutomationsSalesOrder(r: CreateLeasedToAutomationsSalesOrderRequest | CreateLeasedToAutomationsSalesOrderRequestInterface): Observable<CreateLeasedToAutomationsSalesOrderResponse> {\n        const request = ((<CreateLeasedToAutomationsSalesOrderRequest>r).toApiJson) ? (<CreateLeasedToAutomationsSalesOrderRequest>r) : new CreateLeasedToAutomationsSalesOrderRequest(r);\n        return this.http.post<CreateLeasedToAutomationsSalesOrderResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/CreateLeasedToAutomationsSalesOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CreateLeasedToAutomationsSalesOrderResponse.fromProto(resp))\n            );\n    }\n    getOrderRecipientDetails(r: GetOrderRecipientDetailsRequest | GetOrderRecipientDetailsRequestInterface): Observable<GetOrderRecipientDetailsResponse> {\n        const request = ((<GetOrderRecipientDetailsRequest>r).toApiJson) ? (<GetOrderRecipientDetailsRequest>r) : new GetOrderRecipientDetailsRequest(r);\n        return this.http.post<GetOrderRecipientDetailsResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/GetOrderRecipientDetails\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetOrderRecipientDetailsResponse.fromProto(resp))\n            );\n    }\n    validateLineItems(r: ValidateLineItemsRequest | ValidateLineItemsRequestInterface): Observable<ValidateLineItemsResponse> {\n        const request = ((<ValidateLineItemsRequest>r).toApiJson) ? (<ValidateLineItemsRequest>r) : new ValidateLineItemsRequest(r);\n        return this.http.post<ValidateLineItemsResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/ValidateLineItems\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ValidateLineItemsResponse.fromProto(resp))\n            );\n    }\n    canOrderBeWholesaleBilled(r: CanOrderBeWholesaleBilledRequest | CanOrderBeWholesaleBilledRequestInterface): Observable<CanOrderBeWholesaleBilledResponse> {\n        const request = ((<CanOrderBeWholesaleBilledRequest>r).toApiJson) ? (<CanOrderBeWholesaleBilledRequest>r) : new CanOrderBeWholesaleBilledRequest(r);\n        return this.http.post<CanOrderBeWholesaleBilledResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/CanOrderBeWholesaleBilled\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CanOrderBeWholesaleBilledResponse.fromProto(resp))\n            );\n    }\n    generateRetailSubscriptionGroupForOrder(r: GenerateRetailSubscriptionGroupForOrderRequest | GenerateRetailSubscriptionGroupForOrderRequestInterface): Observable<GenerateRetailSubscriptionGroupForOrderResponse> {\n        const request = ((<GenerateRetailSubscriptionGroupForOrderRequest>r).toApiJson) ? (<GenerateRetailSubscriptionGroupForOrderRequest>r) : new GenerateRetailSubscriptionGroupForOrderRequest(r);\n        return this.http.post<GenerateRetailSubscriptionGroupForOrderResponseInterface>(this._host + \"/salesorders.v1.SalesOrders/GenerateRetailSubscriptionGroupForOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GenerateRetailSubscriptionGroupForOrderResponse.fromProto(resp))\n            );\n    }\n    updateRetailSubscriptionGroupForOrder(r: UpdateRetailSubscriptionGroupForOrderRequest | UpdateRetailSubscriptionGroupForOrderRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdateRetailSubscriptionGroupForOrderRequest>r).toApiJson) ? (<UpdateRetailSubscriptionGroupForOrderRequest>r) : new UpdateRetailSubscriptionGroupForOrderRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrders/UpdateRetailSubscriptionGroupForOrder\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n        ListAuxiliaryDataResponse,\n        ListSalesOderAuxiliaryDataRequest,\n        UpsertSalesOrderAuxiliaryDataRequest,\n} from './objects/';\nimport {\n        ListAuxiliaryDataResponseInterface,\n        ListSalesOderAuxiliaryDataRequestInterface,\n        UpsertSalesOrderAuxiliaryDataRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class SalesOrdersAuxiliaryFieldDataApiService {\n    private readonly hostService = inject(HostService);\n    private readonly http = inject(HttpClient);\n    private _host = this.hostService.hostWithScheme;\n\n    private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n        return {\n            headers: new HttpHeaders({\n                'Content-Type': 'application/json'\n            }),\n            withCredentials: true\n        };\n    }\n\n    listAuxiliaryData(r: ListSalesOderAuxiliaryDataRequest | ListSalesOderAuxiliaryDataRequestInterface): Observable<ListAuxiliaryDataResponse> {\n        const request = ((<ListSalesOderAuxiliaryDataRequest>r).toApiJson) ? (<ListSalesOderAuxiliaryDataRequest>r) : new ListSalesOderAuxiliaryDataRequest(r);\n        return this.http.post<ListAuxiliaryDataResponseInterface>(this._host + \"/salesorders.v1.SalesOrdersAuxiliaryFieldData/ListAuxiliaryData\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListAuxiliaryDataResponse.fromProto(resp))\n            );\n    }\n    upsertAuxiliaryData(r: UpsertSalesOrderAuxiliaryDataRequest | UpsertSalesOrderAuxiliaryDataRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpsertSalesOrderAuxiliaryDataRequest>r).toApiJson) ? (<UpsertSalesOrderAuxiliaryDataRequest>r) : new UpsertSalesOrderAuxiliaryDataRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrdersAuxiliaryFieldData/UpsertAuxiliaryData\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n        ArchiveAuxiliaryDataFieldSchemaRequest,\n        CreateAuxiliaryDataFieldSchemaRequest,\n        GetAuxiliaryDataFieldSchemaRequest,\n        GetAuxiliaryDataFieldSchemaResponse,\n        GetMultiAuxiliaryDataFieldSchemaRequest,\n        GetMultiAuxiliaryDataFieldSchemaResponse,\n        ListAuxiliaryDataFieldSchemaRequest,\n        ListAuxiliaryDataFieldSchemaResponse,\n        UnarchiveAuxiliaryDataFieldSchemaRequest,\n        UpdateAuxiliaryDataFieldSchemaRequest,\n} from './objects/';\nimport {\n        ArchiveAuxiliaryDataFieldSchemaRequestInterface,\n        CreateAuxiliaryDataFieldSchemaRequestInterface,\n        GetAuxiliaryDataFieldSchemaRequestInterface,\n        GetAuxiliaryDataFieldSchemaResponseInterface,\n        GetMultiAuxiliaryDataFieldSchemaRequestInterface,\n        GetMultiAuxiliaryDataFieldSchemaResponseInterface,\n        ListAuxiliaryDataFieldSchemaRequestInterface,\n        ListAuxiliaryDataFieldSchemaResponseInterface,\n        UnarchiveAuxiliaryDataFieldSchemaRequestInterface,\n        UpdateAuxiliaryDataFieldSchemaRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class SalesOrdersAuxiliaryFieldSchemaApiService {\n    private readonly hostService = inject(HostService);\n    private readonly http = inject(HttpClient);\n    private _host = this.hostService.hostWithScheme;\n\n    private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n        return {\n            headers: new HttpHeaders({\n                'Content-Type': 'application/json'\n            }),\n            withCredentials: true\n        };\n    }\n\n    createAuxiliaryDataFieldSchema(r: CreateAuxiliaryDataFieldSchemaRequest | CreateAuxiliaryDataFieldSchemaRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<CreateAuxiliaryDataFieldSchemaRequest>r).toApiJson) ? (<CreateAuxiliaryDataFieldSchemaRequest>r) : new CreateAuxiliaryDataFieldSchemaRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrdersAuxiliaryFieldSchema/CreateAuxiliaryDataFieldSchema\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    getAuxiliaryDataFieldSchema(r: GetAuxiliaryDataFieldSchemaRequest | GetAuxiliaryDataFieldSchemaRequestInterface): Observable<GetAuxiliaryDataFieldSchemaResponse> {\n        const request = ((<GetAuxiliaryDataFieldSchemaRequest>r).toApiJson) ? (<GetAuxiliaryDataFieldSchemaRequest>r) : new GetAuxiliaryDataFieldSchemaRequest(r);\n        return this.http.post<GetAuxiliaryDataFieldSchemaResponseInterface>(this._host + \"/salesorders.v1.SalesOrdersAuxiliaryFieldSchema/GetAuxiliaryDataFieldSchema\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetAuxiliaryDataFieldSchemaResponse.fromProto(resp))\n            );\n    }\n    listAuxiliaryDataFieldSchema(r: ListAuxiliaryDataFieldSchemaRequest | ListAuxiliaryDataFieldSchemaRequestInterface): Observable<ListAuxiliaryDataFieldSchemaResponse> {\n        const request = ((<ListAuxiliaryDataFieldSchemaRequest>r).toApiJson) ? (<ListAuxiliaryDataFieldSchemaRequest>r) : new ListAuxiliaryDataFieldSchemaRequest(r);\n        return this.http.post<ListAuxiliaryDataFieldSchemaResponseInterface>(this._host + \"/salesorders.v1.SalesOrdersAuxiliaryFieldSchema/ListAuxiliaryDataFieldSchema\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListAuxiliaryDataFieldSchemaResponse.fromProto(resp))\n            );\n    }\n    updateAuxiliaryDataFieldSchema(r: UpdateAuxiliaryDataFieldSchemaRequest | UpdateAuxiliaryDataFieldSchemaRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UpdateAuxiliaryDataFieldSchemaRequest>r).toApiJson) ? (<UpdateAuxiliaryDataFieldSchemaRequest>r) : new UpdateAuxiliaryDataFieldSchemaRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrdersAuxiliaryFieldSchema/UpdateAuxiliaryDataFieldSchema\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    archiveAuxiliaryDataFieldSchema(r: ArchiveAuxiliaryDataFieldSchemaRequest | ArchiveAuxiliaryDataFieldSchemaRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<ArchiveAuxiliaryDataFieldSchemaRequest>r).toApiJson) ? (<ArchiveAuxiliaryDataFieldSchemaRequest>r) : new ArchiveAuxiliaryDataFieldSchemaRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrdersAuxiliaryFieldSchema/ArchiveAuxiliaryDataFieldSchema\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    unarchiveAuxiliaryDataFieldSchema(r: UnarchiveAuxiliaryDataFieldSchemaRequest | UnarchiveAuxiliaryDataFieldSchemaRequestInterface): Observable<HttpResponse<null>> {\n        const request = ((<UnarchiveAuxiliaryDataFieldSchemaRequest>r).toApiJson) ? (<UnarchiveAuxiliaryDataFieldSchemaRequest>r) : new UnarchiveAuxiliaryDataFieldSchemaRequest(r);\n        return this.http.post<null>(this._host + \"/salesorders.v1.SalesOrdersAuxiliaryFieldSchema/UnarchiveAuxiliaryDataFieldSchema\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n    }\n    getMultiAuxiliaryDataFieldSchema(r: GetMultiAuxiliaryDataFieldSchemaRequest | GetMultiAuxiliaryDataFieldSchemaRequestInterface): Observable<GetMultiAuxiliaryDataFieldSchemaResponse> {\n        const request = ((<GetMultiAuxiliaryDataFieldSchemaRequest>r).toApiJson) ? (<GetMultiAuxiliaryDataFieldSchemaRequest>r) : new GetMultiAuxiliaryDataFieldSchemaRequest(r);\n        return this.http.post<GetMultiAuxiliaryDataFieldSchemaResponseInterface>(this._host + \"/salesorders.v1.SalesOrdersAuxiliaryFieldSchema/GetMultiAuxiliaryDataFieldSchema\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => GetMultiAuxiliaryDataFieldSchemaResponse.fromProto(resp))\n            );\n    }\n    \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n        CreateArchivedOrderRequest,\n        CreateArchivedOrderResponse,\n} from './objects/';\nimport {\n        CreateArchivedOrderRequestInterface,\n        CreateArchivedOrderResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class SalesOrdersDevelopmentApiService {\n    private readonly hostService = inject(HostService);\n    private readonly http = inject(HttpClient);\n    private _host = this.hostService.hostWithScheme;\n\n    private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n        return {\n            headers: new HttpHeaders({\n                'Content-Type': 'application/json'\n            }),\n            withCredentials: true\n        };\n    }\n\n    createArchivedOrder(r: CreateArchivedOrderRequest | CreateArchivedOrderRequestInterface): Observable<CreateArchivedOrderResponse> {\n        const request = ((<CreateArchivedOrderRequest>r).toApiJson) ? (<CreateArchivedOrderRequest>r) : new CreateArchivedOrderRequest(r);\n        return this.http.post<CreateArchivedOrderResponseInterface>(this._host + \"/salesorders.v1.SalesOrdersDevelopment/CreateArchivedOrder\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => CreateArchivedOrderResponse.fromProto(resp))\n            );\n    }\n    \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n        ListOrdersRequest,\n        ListOrdersResponse,\n} from './objects/';\nimport {\n        ListOrdersRequestInterface,\n        ListOrdersResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class VendorOrdersApiService {\n    private readonly hostService = inject(HostService);\n    private readonly http = inject(HttpClient);\n    private _host = this.hostService.hostWithScheme;\n\n    private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n        return {\n            headers: new HttpHeaders({\n                'Content-Type': 'application/json'\n            }),\n            withCredentials: true\n        };\n    }\n\n    listOrders(r: ListOrdersRequest | ListOrdersRequestInterface): Observable<ListOrdersResponse> {\n        const request = ((<ListOrdersRequest>r).toApiJson) ? (<ListOrdersRequest>r) : new ListOrdersRequest(r);\n        return this.http.post<ListOrdersResponseInterface>(this._host + \"/salesorders.v1.VendorOrders/ListOrders\", request.toApiJson(), this.apiOptions())\n            .pipe(\n                map(resp => ListOrdersResponse.fromProto(resp))\n            );\n    }\n    \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Index.\n// *********************************\n\nexport * from './enums';\nexport * from './objects';\nexport * from './interfaces';\nexport { CustomerSalesOrdersApiService } from './customer-sales-orders.api.service';\nexport { DeclinedReasonsApiService } from './declined-reasons.api.service';\nexport { DocumentsApiService } from './documents.api.service';\nexport { NotificationsApiService } from './notifications.api.service';\nexport { PublicApiService } from './public.api.service';\nexport { SalesOrdersApiService } from './sales-orders.api.service';\nexport { SalesOrdersAuxiliaryFieldDataApiService } from './sales-orders-auxiliary-field-data.api.service';\nexport { SalesOrdersAuxiliaryFieldSchemaApiService } from './sales-orders-auxiliary-field-schema.api.service';\nexport { SalesOrdersDevelopmentApiService } from './sales-orders-development.api.service';\nexport { VendorOrdersApiService } from './vendor-orders.api.service';\n","import { Order } from './_internal/objects/sales-orders';\nimport { Status } from './_internal/enums';\nimport {ValidateLineItemsResponse} from \"./_internal\";\nimport {FlattenedValidateLineItemsResponse} from \"./interfaces\";\nimport * as e from \"./_internal/enums\";\n\nexport function fillOutEmptyValues(order: Order): Order {\n    if (!order) {\n        return order;\n    }\n    if (!order.statusHistory) {\n        order.statusHistory = [];\n    }\n    if (!order.lineItems) {\n        order.lineItems = [];\n    }\n    if (!order.origin) {\n        order.origin = 0;\n    }\n    return order;\n}\n\nexport function getOfferExpiry(order: Order): Date | null {\n    if (order.status !== Status.SUBMITTED_FOR_CUSTOMER_APPROVAL) {\n        return null\n    }\n    return order.offerExpiry;\n}\n\nexport function flattenValidationErrors(\n    response: ValidateLineItemsResponse\n): FlattenedValidateLineItemsResponse {\n    const lineItemErrors = response?.lineItemErrors || {};\n    const flattenedLineItemErrors = Object.keys(lineItemErrors).reduce((acc, key) => {\n        acc[key] = lineItemErrors[key].errorCodes;\n        return acc;\n    }, {} as {[key: string]: e.ValidationErrorCodes[]});\n    return {\n        errorCodes: response?.errorCodes || [],\n        lineItemErrors: flattenedLineItemErrors,\n    }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {\n    AgreementInterface,\n    AttachmentInterface,\n    CommonFieldInterface,\n    ConfigInterface,\n    CustomFieldInterface,\n    DurationInterface,\n    FieldInterface,\n    FieldMaskInterface,\n    GetOrderRecipientDetailsResponseInterface,\n    GetStatusCountsRequestFiltersInterface,\n    LineItemInterface,\n    ListTagsRequestFiltersInterface,\n    OrderInterface,\n    ProductInterface, RetailSubscriptionGroupInterface,\n    SalesOrderProjectionFilterInterface,\n    UserInterface,\n} from './_internal/interfaces';\nimport {\n    ApproveSalesOrderRequest,\n    ArchiveSalesOrderRequest, CanOrderBeWholesaleBilledRequest, CanOrderBeWholesaleBilledResponse,\n    CheckSalesOrderExistsRequest,\n    CreateAndActivateOrderResponse,\n    CreateSalesOrderRequest,\n    DeclineSalesOrderRequest,\n    DuplicateSalesOrderRequest, GenerateRetailSubscriptionGroupForOrderResponse,\n    GetSalesOrderRequest,\n    GetSalesOrderWithCalculatedTaxesRequest,\n    GetSalesOrderWithCalculatedTaxesResponse,\n    LeaseSalesOrderToAutomationsRequest,\n    ListSalesOrderRequest,\n    ListSalesOrderRequestFilters,\n    ListSalesOrderRequestSortOption,\n    ListTagsResponse,\n    ValidateLineItemsRequest,\n    ValidateLineItemsResponse\n} from './_internal/objects/api';\nimport {\n    CommonField,\n    CustomField,\n    Order,\n    Package,\n    ProductActivation,\n    RetailSubscriptionGroup\n} from './_internal/objects/sales-orders';\n\nimport {HostService} from './_generated/host.service';\nimport {FieldMask} from './_internal/';\nimport {Origin, Status} from './_internal/enums';\nimport {SalesOrdersApiService} from './_internal/sales-orders.api.service';\nimport {fillOutEmptyValues, flattenValidationErrors} from './utils';\nimport {FlattenedValidateLineItemsResponse} from \"./interfaces\";\n\nexport class PagedResponse<T> {\n    results: T[];\n    nextCursor: string;\n    hasMore?: boolean;\n    totalResults?: number;\n\n    constructor(results: T[], nextCursor: string, hasMore: boolean, totalResults: number) {\n        this.results = results;\n        this.nextCursor = nextCursor;\n        this.hasMore = hasMore;\n        this.totalResults = totalResults;\n    }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class SalesOrdersService {\n    constructor(\n        private readonly api: SalesOrdersApiService,\n        private readonly hostService: HostService) {\n    }\n    /*\n        NOTE:\n        @deprecated: createOrder instead\n    */\n    public create(\n        salespersonId: string,\n        partnerId: string,\n        businessId: string,\n        marketId: string,\n        opportunityIds: string[],\n        requestedActivation: Date,\n        notes: string,\n        packages: Package[],\n        products: ProductInterface[],\n        customFields: CustomField[],\n        commonFields: CommonField[],\n        origin: Origin = Origin.SSC,\n        attachments: AttachmentInterface[],\n        extraFields?: FieldInterface[],\n        duration?: DurationInterface,\n        quoteId?: string,\n        tags?: string[]\n    ): Observable<string> {\n        const req = new CreateSalesOrderRequest({\n            salespersonId: salespersonId,\n            partnerId: partnerId,\n            businessId: businessId,\n            marketId: marketId,\n            opportunityIds: opportunityIds,\n            requestedActivation: requestedActivation,\n            notes: notes,\n            packages: packages,\n            products: products,\n            customFields: customFields,\n            commonFields: commonFields,\n            origin: origin,\n            attachments: attachments,\n            extraFields: extraFields,\n            contractDuration: duration,\n            quoteId: quoteId,\n            tags: tags, // NOTE: this method is deprecated, see method docstring\n        });\n        return this.api.createSalesOrder(req).pipe(map(resp => resp.orderId));\n    }\n\n    public createOrder(o: OrderInterface): Observable<string> {\n        const req = new CreateSalesOrderRequest({\n            salespersonId: o.salespersonId,\n            partnerId: o.partnerId,\n            businessId: o.businessId,\n            marketId: o.marketId,\n            opportunityIds: o.opportunityIds,\n            requestedActivation: o.requestedActivation,\n            notes: o.notes,\n            packages: o.packages,\n            products: o.products,\n            customFields: o.customFields,\n            commonFields: o.commonFields,\n            origin: o.origin,\n            attachments: o.attachments,\n            extraFields: o.extraFields,\n            lineItems: ensureLineItemValuesAreOneOf(o.lineItems),\n            contractDuration: o.contractDuration,\n            quoteId: o.quoteId,\n            tags: o.tags,\n            customerNotes: o.customerNotes,\n            enforceContractTerm: o.enforceContractTerm,\n        });\n        return this.api.createSalesOrder(req).pipe(map(resp => resp.orderId));\n    }\n\n    public get(orderId: string, businessId: string, projectionFilter?: SalesOrderProjectionFilterInterface): Observable<Order> {\n        const req = new GetSalesOrderRequest({ businessId: businessId, orderId: orderId, projectionFilter: projectionFilter });\n        return this.api.getSalesOrder(req).pipe(map(resp => fillOutEmptyValues(resp.order)));\n    }\n\n    public getWithCalculatedTaxes(orderId: string, businessId: string): Observable<Order> {\n        const req = new GetSalesOrderWithCalculatedTaxesRequest({businessId, orderId });\n        return this.api.getSalesOrderWithCalculatedTaxes(req).pipe(map((resp: GetSalesOrderWithCalculatedTaxesResponse) => fillOutEmptyValues(resp?.order)));\n    }\n\n    public duplicate(orderId: string, businessId: string): Observable<string> {\n        const req = new DuplicateSalesOrderRequest({ businessId: businessId, orderId: orderId });\n        return this.api.duplicateSalesOrder(req).pipe(map(resp => resp.orderId));\n    }\n\n    public list(\n        partnerId: string,\n        filters: ListSalesOrderRequestFilters,\n        sortOption: ListSalesOrderRequestSortOption,\n        cursor: string,\n        pageSize: number,\n    ): Observable<PagedResponse<Order>> {\n        const req = new ListSalesOrderRequest({\n            partnerId: partnerId,\n            filters: filters,\n            sortOption: sortOption,\n            cursor: cursor,\n            pageSize: pageSize,\n        });\n\n        return this.api.listSalesOrder(req).pipe(\n            map(resp => {\n                const results = resp.totalResults || 0;\n                return new PagedResponse<Order>(resp.orders, resp.nextCursor, resp.hasMore, results);\n            }),\n        );\n    }\n\n    public approve(businessId: string, orderId: string): Observable<Order> {\n        const req = new ApproveSalesOrderRequest({ businessId: businessId, orderId: orderId });\n        return this.api.approveSalesOrder(req).pipe(map(resp => resp.order));\n    }\n\n    public decline(businessId: string, orderId: string, declinedReason: string, declinedReasonIds?: string[]): Observable<Order> {\n        const req = new DeclineSalesOrderRequest({\n            businessId: businessId,\n            orderId: orderId,\n            declinedReason: declinedReason,\n            declinedReasonIds: declinedReasonIds,\n        });\n        return this.api.declineSalesOrder(req).pipe(map(resp => resp.order));\n    }\n\n    public archive(businessId: string, orderId: string): Observable<Order> {\n        const req = new ArchiveSalesOrderRequest({ businessId: businessId, orderId: orderId });\n        return this.api.archiveSalesOrder(req).pipe(map(resp => resp.order));\n    }\n\n    public activate(orderId: string, businessId: string, customFields: CustomField[], commonFields: CommonField[],\n        extraFields?: FieldInterface[]\n    ): Observable<Order> {\n        const req = {\n            orderId: orderId,\n            businessId: businessId,\n            customFields: customFields,\n            commonFields: commonFields,\n            extraFields: extraFields\n        };\n        return this.api.activateProducts(req).pipe(map(resp => resp.order));\n    }\n\n    public check(\n        partnerId: string,\n        businessId: string,\n        productId: string,\n        editionId: string,\n        statuses?: Status[]\n    ): Observable<boolean> {\n        const req = new CheckSalesOrderExistsRequest({\n            partnerId: partnerId,\n            businessId: businessId,\n            productId: productId,\n            productEditionId: editionId,\n            statuses: statuses || []\n        });\n\n        return this.api.checkSalesOrderExists(req).pipe(map(resp => resp.exists));\n    }\n\n    public getConfig(partnerId: string, marketId: string): Observable<ConfigInterface> {\n        return this.api.getConfig({\n            partnerId: partnerId,\n            marketId: marketId\n        }).pipe(\n            map(resp => resp.config)\n        );\n    }\n\n    public updateConfig(config: ConfigInterface): Observable<any> {\n        return this.api.updateConfig({\n            config: config,\n            fieldMask: buildFieldMask(config)\n        }).pipe(\n            map(() => true)\n        );\n    }\n\n    public deleteConfig(partnerId: string, marketId: string): Observable<any> {\n        return this.api.deleteConfig({\n            partnerId,\n            marketId\n        }).pipe(\n            map(() => true)\n        );\n    }\n\n    public createAndSendToCustomer(order: OrderInterface, userID: string, offerExpiry?: Date): Observable<string> {\n        order.lineItems = ensureLineItemValuesAreOneOf(order.lineItems);\n        return this.api.sendForCustomerApproval({\n            order: order,\n            userId: userID,\n            offerExpiry: offerExpiry,\n        }).pipe(\n            map((resp => resp.orderId))\n        );\n    }\n\n    /*\n        @deprecated: Use the CustomerSalesOrderService instead\n    */\n    public customerCreate(order: OrderInterface): Observable<string> {\n        order.lineItems = ensureLineItemValuesAreOneOf(order.lineItems);\n        return this.api.customerCreateSalesOrder({\n            order: order,\n        }).pipe(\n            map((resp => resp.orderId))\n        );\n    }\n\n    public createDraft(order: OrderInterface): Observable<string> {\n        order.lineItems = ensureLineItemValuesAreOneOf(order.lineItems);\n        return this.api.createDraftSalesOrder({\n            order: order,\n        }).pipe(\n            map((resp => resp.orderId))\n        );\n    }\n\n    /*\n        @deprecated: Use the CustomerSalesOrderService instead\n    */\n    public customerApproveSalesOrder(orderId: string, businessId: string, agreements?: AgreementInterface[]): Observable<string> {\n        return this.api.customerApproveSalesOrder({\n            orderId: orderId,\n            businessId: businessId,\n            agreements: agreements,\n        }).pipe(\n            map((resp => resp.order.orderId))\n        );\n    }\n\n    public getUsers(orderId: string, businessId: string): Observable<{ [key: string]: UserInterface; }> {\n        return this.api.getUsers({\n            orderId: orderId,\n            businessId: businessId\n        }).pipe(\n            map(resp => resp.users !== undefined ? resp.users : {})\n        );\n    }\n\n    public updateAnswers(orderId: string, businessId: string, customFields: CustomFieldInterface[],\n        commonFields: CommonFieldInterface[], extraFields: FieldInterface[]): Observable<Order> {\n        return this.api.updateAnswers({\n            orderId: orderId,\n            businessId: businessId,\n            customFields: customFields,\n            commonFields: commonFields,\n            extraFields: extraFields,\n        }).pipe(\n            map((resp => resp.order))\n        );\n    }\n\n    public updateTags(orderId: string, businessId: string, tags: string[]): Observable<Order> {\n        return this.api.updateTags({\n            orderId,\n            businessId,\n            tags,\n        }).pipe(\n            map((resp) => resp.order)\n        );\n    }\n\n    public updateSalesperson(orderId: string, businessId: string, salespersonId: string): Observable<Order> {\n        return this.api.updateSalesperson({\n            orderId,\n            businessId,\n            salespersonId,\n        }).pipe(\n            map((resp) => resp.order)\n        );\n    }\n\n    public updateNotes(orderId: string, businessId: string, notes: string): Observable<boolean> {\n        return this.api.updateNotes({\n            orderId,\n            businessId,\n            notes,\n        }).pipe(\n            map(() => true)\n        );\n    }\n\n    public updateRequestedActivation(orderId: string, businessId: string, requestedActivation: Date): Observable<boolean> {\n        return this.api.updateRequestedActivation({\n            orderId,\n            businessId,\n            requestedActivation,\n        }).pipe(\n            map(() => true)\n        );\n    }\n\n    public updateContractDuration(orderId: string, businessId: string, contractDuration: DurationInterface): Observable<boolean> {\n        return this.api.updateContractDuration({\n            orderId,\n            businessId,\n            contractDuration,\n        }).pipe(\n            map(() => true)\n        );\n    }\n\n\n    public updateEnforceContractTerm(orderId: string, businessId: string, enforceContractTerm: boolean): Observable<boolean> {\n        return this.api.updateEnforceContractTerm({\n            orderId,\n            businessId,\n            enforceContractTerm,\n        }).pipe(\n            map(() => true)\n        );\n    }\n\n    public updateCurrentRevenue(orderId: string, businessId: string, lineItems: LineItemInterface[]): Observable<boolean> {\n        return this.api.updateCurrentRevenue({\n            orderId,\n            businessId,\n            lineItems,\n        }).pipe(\n            map(() => true)\n        );\n    }\n\n    public updateLineItems(orderId: string, businessId: string, lineItems: LineItemInterface[]): Observable<boolean> {\n        return this.api.updateLineItems({\n            orderId,\n            businessId,\n            lineItems,\n        }).pipe(\n            map(() => true)\n        );\n    }\n\n    public listTags(partnerId: string, filters: ListTagsRequestFiltersInterface): Observable<ListTagsResponse> {\n        return this.api.listTags({\n            partnerId: partnerId,\n            filters: filters,\n        }).pipe(\n            map(resp => resp)\n        );\n    }\n\n    public submitDraftSalesOrder(orderId: string, businessId: string, customFields: CustomFieldInterface[],\n        commonFields: CommonFieldInterface[], extraFields: FieldInterface[]): Observable<string> {\n        return this.api.submitDraftSalesOrder({\n            orderId: orderId,\n            businessId: businessId,\n            customFields: customFields,\n            commonFields: commonFields,\n            extraFields: extraFields,\n        }).pipe(\n            map((resp => resp.orderId))\n        );\n    }\n\n    public submitDraftForCustomerApproval(orderId: string, businessId: string, userId: string, customFields: CustomFieldInterface[],\n        commonFields: CommonFieldInterface[], extraFields: FieldInterface[], offerExpiry?: Date): Observable<string> {\n        return this.api.submitDraftForCustomerApproval({\n            orderId: orderId,\n            businessId: businessId,\n            userId: userId,\n            customFields: customFields,\n            commonFields: commonFields,\n            extraFields: extraFields,\n            offerExpiry: offerExpiry,\n        }).pipe(\n            map((resp => resp.orderId))\n        );\n    }\n\n    public sendExistingOrderToCustomerForApproval(orderId: string, businessId: string, userId: string,\n        offerExpiry?: Date, orderIsSmbPayable?: boolean): Observable<boolean> {\n        return this.api.sendExistingOrderToCustomerForApproval({\n            orderId: orderId,\n            businessId: businessId,\n            userId: userId,\n            offerExpiry: offerExpiry,\n            orderIsSmbPayable: orderIsSmbPayable,\n        }).pipe(\n            map((() => true))\n        );\n    }\n\n    public chargeOrder(orderId: string, businessId: string): Observable<boolean> {\n        return this.api.chargeOrder({\n            orderId: orderId,\n            businessId: businessId\n        }).pipe(map(resp => true));\n    }\n\n    public ignoreProductActivationError(orderId: string, businessId: string, productActivationUniqueId: string): Observable<boolean> {\n        return this.api.ignoreProductActivationError({\n            businessId: businessId,\n            orderId: orderId,\n            productActivationUniqueId: productActivationUniqueId,\n        }).pipe(map(resp => true));\n    }\n\n    public ignoreAllProductActivationErrors(orderId: string, businessId: string): Observable<boolean> {\n        return this.api.ignoreAllProductActivationErrors({\n            businessId: businessId,\n            orderId: orderId\n        }).pipe(map(resp => true));\n    }\n\n    public cancelOrder(orderId: string, businessId: string, notes: string): Observable<boolean> {\n        return this.api.cancelOrder({\n            businessId: businessId,\n            orderId: orderId,\n            notes: notes\n        }).pipe(map(() => true));\n    }\n\n    public requestCancellation(orderId: string, businessId: string, notes: string): Observable<boolean> {\n        return this.api.requestCancellation({\n            businessId: businessId,\n            orderId: orderId,\n            notes: notes\n        }).pipe(map(() => true));\n    }\n\n    public approveCancellation(orderId: string, businessId: string): Observable<boolean> {\n        return this.api.approveCancellation({\n            businessId: businessId,\n            orderId: orderId,\n        }).pipe(map(() => true));\n    }\n\n    public declineCancellation(orderId: string, businessId: string, notes: string): Observable<boolean> {\n        return this.api.declineCancellation({\n            businessId: businessId,\n            orderId: orderId,\n            notes: notes\n        }).pipe(map(() => true));\n    }\n\n    public previewOrderActivations(orderId: string, businessId: string): Observable<ProductActivation[]> {\n        return this.api.previewOrderActivations({\n            businessId,\n            orderId,\n        }).pipe(map(resp => resp.productActivations));\n    }\n\n    public scheduleActivation(orderId: string, businessId: string, customFields: CustomField[], commonFields: CommonField[],\n        extraFields?: FieldInterface[]): Observable<boolean> {\n        return this.api.scheduleActivation({\n            businessId,\n            orderId,\n            customFields,\n            commonFields,\n            extraFields,\n        }).pipe(map(() => true));\n    }\n\n    public convertToDraft(orderId: string, businessId: string): Observable<boolean> {\n        return this.api.convertToDraft({\n            businessId,\n            orderId,\n        }).pipe(map(() => true));\n    }\n\n    public getStatusCounts(partnerId: string, filters: GetStatusCountsRequestFiltersInterface): Observable<{ [key: string]: number; }> {\n        return this.api.getStatusCounts({\n            partnerId: partnerId,\n            filters: filters\n        }).pipe(map(resp => resp.counts));\n    }\n\n    public createInvoice(orderId: string, businessId: string): Observable<string> {\n        return this.api.createInvoice({\n            orderId: orderId,\n            businessId: businessId\n        }).pipe(map(resp => resp.invoiceId));\n    }\n\n    public createAndActivateOrder(order: OrderInterface): Observable<string> {\n        order.lineItems = ensureLineItemValuesAreOneOf(order.lineItems);\n        return this.api.createAndActivateOrder({\n            order: order,\n        }).pipe(\n            map(((resp: CreateAndActivateOrderResponse) => resp.orderId))\n        );\n    }\n\n    public updateCustomerNotes(orderId: string, businessId: string, customerNotes: string): Observable<boolean> {\n        return this.api.updateCustomerNotes({\n            orderId,\n            businessId,\n            customerNotes,\n        }).pipe(\n            map(() => true)\n        );\n    }\n\n    public updateAttachments(orderId: string, businessId: string, attachments: AttachmentInterface[]): Observable<boolean> {\n        return this.api.updateAttachments({\n            orderId,\n            businessId,\n            attachments,\n        }).pipe(\n            map(() => true)\n        );\n    }\n\n    public updateCustomerAttachments(orderId: string, businessId: string, attachments: AttachmentInterface[]): Observable<boolean> {\n        return this.api.updateCustomerAttachments({\n            orderId,\n            businessId,\n            attachments,\n        }).pipe(\n            map(() => true)\n        );\n    }\n\n    public updatePaymentMethodToken(orderId: string, businessId: string, paymentMethodToken: string): Observable<boolean> {\n        return this.api.updatePaymentMethodToken({\n            orderId,\n            businessId,\n            paymentMethodToken,\n        }).pipe(\n            map(() => true)\n        );\n    }\n\n    public updateCustomerRecipientUserId(orderId: string, businessId: string, customerRecipientUserId: string): Observable<boolean> {\n        return this.api.updateCustomerRecipientUserId({\n            orderId,\n            businessId,\n            customerRecipientUserId,\n        }).pipe(\n            map(() => true)\n        );\n    }\n\n\n    public getUploadFileUrl(): string {\n        return `${this.hostService.hostWithScheme}/file/upload`;\n    }\n\n    public leaseToAutomations(\n        businessId: string,\n        orderId: string,\n        customFields: CustomField[],\n        commonFields: CommonField[],\n        extraFields: FieldInterface[],\n        actionType: string,\n        declinedReason?: string,\n        declinedReasonIds?: string[]\n    ): Observable<Order> {\n        const leaseData = {\n            actionType: actionType,\n            declinedReason: declinedReason,\n            declinedReasonIds: declinedReasonIds,\n        };\n        const req = new LeaseSalesOrderToAutomationsRequest({\n            businessId: businessId,\n            orderId: orderId,\n            customFields: customFields,\n            commonFields: commonFields,\n            extraFields: extraFields,\n            leaseData: leaseData,\n        });\n        return this.api.leaseSalesOrderToAutomations(req).pipe(map(resp => resp.order));\n    }\n\n    public createLeasedToAutomationsSalesOrder(order: OrderInterface): Observable<string> {\n        order.lineItems = ensureLineItemValuesAreOneOf(order.lineItems);\n        return this.api.createLeasedToAutomationsSalesOrder({\n            order: order,\n        }).pipe(\n            map((resp => resp.orderId))\n        );\n    }\n\n    public getOrderRecipientDetails(orderToken: string): Observable<GetOrderRecipientDetailsResponseInterface> {\n        return this.api.getOrderRecipientDetails({ token: orderToken });\n    }\n\n    public validateLineItems(businessId: string, orderId: string ): Observable<FlattenedValidateLineItemsResponse> {\n        const req = new ValidateLineItemsRequest({ businessId: businessId, orderId: orderId });\n        return this.api.validateLineItems(req).pipe(\n            map((resp: ValidateLineItemsResponse) => flattenValidationErrors(resp))\n        );\n    }\n\n    public canOrderBeWholesaleBilled(businessId: string, orderId: string ): Observable<boolean> {\n        const req = new CanOrderBeWholesaleBilledRequest({ businessId: businessId, orderId: orderId });\n        return this.api.canOrderBeWholesaleBilled(req).pipe(\n            map((resp: CanOrderBeWholesaleBilledResponse) => resp.canOrderBeWholesaleBilled)\n        );\n    }\n\n\n    public deleteSalesOrder(orderId: string, businessId: string): Observable<boolean> {\n        return this.api.deleteSalesOrder({orderId: orderId, businessId: businessId}).pipe(\n            map(() => true));\n    }\n\n    public generateRetailSubscriptionGroupForOrder(orderId: string,\n    businessId: string,\n    retailSubscriptionGroup: RetailSubscriptionGroupInterface): Observable<string> {\n        return this.api.generateRetailSubscriptionGroupForOrder({orderId: orderId, businessId: businessId, retailSubscriptionGroup:retailSubscriptionGroup}).pipe(\n            map((resp:GenerateRetailSubscriptionGroupForOrderResponse) => resp.retailSubscriptionGroupId));\n    }\n\n    public updateRetailSubscriptionGroupForOrder(orderId: string,\n    businessId: string,\n    retailSubscriptionGroupId: string,\n    retailSubscriptionGroup: RetailSubscriptionGroupInterface): Observable<boolean> {\n        return this.api.updateRetailSubscriptionGroupForOrder({orderId: orderId, businessId: businessId, retailSubscriptionGroupId: retailSubscriptionGroupId, retailSubscriptionGroup:retailSubscriptionGroup}).pipe(\n            map(() => true));\n    }\n}\n\nfunction buildFieldMask(obj: any): FieldMaskInterface {\n    const fieldMaskPaths: string[] = [];\n\n    for (const x in obj) {\n        if (obj.hasOwnProperty(x) && obj[x] !== undefined) {\n            fieldMaskPaths.push(x);\n        }\n    }\n    return new FieldMask({ paths: fieldMaskPaths });\n}\n\nfunction ensureLineItemValuesAreOneOf(lineItems: LineItemInterface[] | undefined) {\n    return (lineItems || []).map(li => {\n        if (!!li.appKey) {\n            delete li.packageId;\n        } else {\n            delete li.appKey;\n        }\n        return li;\n    });\n}\n","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {\n    AgreementInterface,\n    CommonFieldInterface, ConfigInterface,\n    CustomFieldInterface,\n    FieldInterface,\n    LineItemInterface,\n    OrderInterface, SalesOrderProjectionFilterInterface,\n    UserInterface\n} from './_internal/interfaces';\n\nimport {Order, ProductActivation} from './_internal/objects/sales-orders'\n\nimport {CustomerSalesOrdersApiService} from './_internal/customer-sales-orders.api.service';\nimport {\n    CreateForPartnerApprovalResponse,\n    CreateWithPaymentIntentResponse,\n    CustomerGetConfigurationRequest,\n    DeclineSalesOrderRequest,\n    DeclineSalesOrderResponse,\n    InitiateOrderExportRequest,\n    InitiateOrderExportResponse,\n    ListCustomerSalesOrderRequest,\n    ListCustomerSalesOrderRequestFilters,\n    ListCustomerSalesOrderRequestSortOption\n} from './_internal/objects/api';\nimport {PagedResponse} from './sales-orders.service';\nimport {fillOutEmptyValues} from './utils';\nimport {GetConfigurationResponse} from './_internal';\n\n\n@Injectable({providedIn: 'root'})\nexport class CustomerSalesOrdersService {\n    constructor(private readonly api: CustomerSalesOrdersApiService) {\n    }\n\n    create(order: OrderInterface): Observable<string> {\n        order.lineItems = ensureLineItemValuesAreOneOf(order.lineItems);\n        return this.api.createSalesOrder({\n            order: order,\n        }).pipe(\n            map((resp => resp.orderId))\n        );\n    }\n\n    createForPartnerApproval(order: OrderInterface): Observable<string> {\n        order.lineItems = ensureLineItemValuesAreOneOf(order.lineItems);\n        return this.api.createForPartnerApproval({\n            order,\n        }).pipe(\n            map((resp: CreateForPartnerApprovalResponse) => resp.orderId),\n        );\n    }\n\n    approveSalesOrder(\n        orderId: string,\n        businessId: string,\n        agreements?: AgreementInterface[],\n        paymentMethodToken?: string\n    ): Observable<string> {\n        return this.api.approveSalesOrder({\n            orderId: orderId,\n            businessId: businessId,\n            agreements: agreements,\n            paymentMethodToken\n        }).pipe(\n            map((resp => resp.order.orderId))\n        );\n    }\n\n    updateAnswers(\n        orderId: string,\n        businessId: string,\n        customFields: CustomFieldInterface[],\n        commonFields: CommonFieldInterface[],\n        extraFields: FieldInterface[]\n    ): Observable<string> {\n        return this.api.updateAnswers({\n            orderId,\n            businessId,\n            customFields,\n            commonFields,\n            extraFields,\n        }).pipe(\n            map((resp => resp.order.orderId))\n        );\n    }\n\n\n    get(orderId: string, businessId: string, projectionFilter?: SalesOrderProjectionFilterInterface): Observable<Order> {\n        return this.api.getSalesOrder({\n            businessId: businessId,\n            orderId: orderId,\n            projectionFilter: projectionFilter,\n        }).pipe(map(resp => fillOutEmptyValues(resp.order)));\n    }\n\n    list(\n        partnerId: string,\n        filters: ListCustomerSalesOrderRequestFilters,\n        sortOption: ListCustomerSalesOrderRequestSortOption,\n        cursor: string,\n        pageSize: number,\n    ): Observable<PagedResponse<Order>> {\n        const req = new ListCustomerSalesOrderRequest({\n            partnerId: partnerId,\n            filters: filters,\n            sortOption: sortOption,\n            cursor: cursor,\n            pageSize: pageSize,\n        });\n\n        return this.api.listSalesOrder(req).pipe(\n            map((resp: any) => {\n                const results = resp.totalResults || 0;\n                return new PagedResponse<Order>(resp.orders, resp.nextCursor, resp.hasMore, results)\n            }),\n        );\n    }\n\n    getUsers(orderId: string, businessId: string): Observable<{ [key: string]: UserInterface }> {\n        return this.api.getUsers({\n            orderId: orderId,\n            businessId: businessId\n        }).pipe(\n            map(resp => resp.users !== undefined ? resp.users : {})\n        )\n    }\n\n    initiateOrderExport(exportOrderRequest: InitiateOrderExportRequest): Observable<InitiateOrderExportResponse> {\n        return this.api.initiateOrderExport(exportOrderRequest);\n    }\n\n    createWithPaymentIntent(order: OrderInterface): Observable<string> {\n        order.lineItems = ensureLineItemValuesAreOneOf(order.lineItems);\n        return this.api.createWithPaymentIntent({order: order}).pipe(map((resp: CreateWithPaymentIntentResponse) => resp.orderId));\n    }\n\n    declineSalesOrder(businessId: string, orderId: string, declinedReason: string): Observable<Order> {\n        const req = new DeclineSalesOrderRequest({\n            businessId: businessId,\n            orderId: orderId,\n            declinedReason: declinedReason,\n        });\n        return this.api.declineSalesOrder(req).pipe(map((resp: DeclineSalesOrderResponse) => resp.order));\n    }\n\n    getConfig(businessId: string, orderId: string): Observable<ConfigInterface> {\n        const req = new CustomerGetConfigurationRequest({\n            businessId: businessId,\n            orderId: orderId\n        })\n        return this.api.getConfig(req).pipe(\n            map((resp: GetConfigurationResponse) => resp.configuration)\n        )\n    }\n\n    public previewOrderActivations(orderId: string, businessId: string): Observable<ProductActivation[]> {\n        return this.api.previewOrderActivations({\n            businessId,\n            orderId,\n        }).pipe(map(resp => resp.productActivations));\n    }\n}\n\nfunction ensureLineItemValuesAreOneOf(lineItems: LineItemInterface[] | undefined) {\n    return (lineItems || []).map(li => {\n        if (!!li.appKey) {\n            delete li.packageId;\n        } else {\n            delete li.appKey;\n        }\n        return li;\n    })\n}\n","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {VendorOrdersApiService} from './_internal/vendor-orders.api.service';\nimport {ListOrdersRequest, ListOrdersRequestFilters, VendorOrder} from './_internal';\nimport {PagedResponse} from './sales-orders.service';\n\n@Injectable({providedIn: 'root'})\nexport class VendorOrdersService {\n  constructor(private readonly api: VendorOrdersApiService) {\n  }\n\n  public list(partnerId: string, cursor: string, filters: ListOrdersRequestFilters): Observable<PagedResponse<VendorOrder>> {\n    const request = new ListOrdersRequest({\n      partnerId: partnerId,\n      cursor: cursor,\n    });\n    if (filters) {\n      request.filters = filters\n    }\n\n    return this.api.listOrders(request).pipe(\n      map(resp => {\n        return new PagedResponse<VendorOrder>(\n          resp.orders,\n          resp.nextCursor,\n          resp.hasMore,\n          resp.totalResults,\n        )\n      }),\n    );\n  }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {PublicApiService} from './_internal/public.api.service';\nimport {\n    ApproveRequest,\n    DeclineRequest,\n    GetConfigurationRequest,\n    GetOrderRecipientSessionRequest,\n    GetOrderRecipientSessionResponse,\n    GetRequest,\n    Order,\n    UpdateOrderFormAnswersRequest\n} from './_internal/objects';\nimport {\n    AgreementInterface,\n    CommonFieldInterface,\n    ConfigInterface,\n    CustomFieldInterface,\n    FieldInterface\n} from './_internal/interfaces';\nimport {fillOutEmptyValues} from './utils';\n\n@Injectable({providedIn: 'root'})\nexport class SalesOrdersPublicService {\n    constructor(private readonly api: PublicApiService) {\n    }\n\n    approveSalesOrder(orderId: string, agreements?: AgreementInterface[]): Observable<string> {\n        const req = new ApproveRequest({orderId: orderId, agreements: agreements});\n        return this.api.approveSalesOrder(req).pipe(map(resp => resp.order.orderId));\n    }\n\n    get(orderId: string): Observable<Order> {\n        const req = new GetRequest({orderId: orderId});\n        return this.api.getSalesOrder(req).pipe(map(resp => fillOutEmptyValues(resp.order)));\n    }\n\n    updateAnswers(\n        orderId: string,\n        customFields: CustomFieldInterface[],\n        commonFields: CommonFieldInterface[],\n        extraFields: FieldInterface[]\n    ): Observable<string> {\n        const req = new UpdateOrderFormAnswersRequest({\n            orderId: orderId,\n            customFields: customFields,\n            commonFields: commonFields,\n            extraFields: extraFields,\n        })\n        return this.api.updateOrderFormAnswers(req).pipe(\n            map((resp => resp.order.orderId))\n        );\n    }\n\n    decline(orderId: string, declinedReason: string): Observable<Order> {\n        const req = new DeclineRequest({\n            orderId: orderId,\n            declinedReason: declinedReason,\n        });\n        return this.api.declineSalesOrder(req).pipe(map(resp => resp.order));\n    }\n\n    getConfig(orderId: string): Observable<ConfigInterface> {\n        const req = new GetConfigurationRequest({\n            orderId: orderId\n        })\n        return this.api.getConfig(req).pipe(\n            map(resp => resp.configuration)\n        )\n    }\n\n    getOrderRecipientSession(token: string): Observable<string> {\n        return this.api.getOrderRecipientSession(new GetOrderRecipientSessionRequest({token})).pipe(\n            map((resp: GetOrderRecipientSessionResponse) => resp.session)\n        );\n    }\n}\n\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport * as e from './_internal/enums';\nimport {\n    SubscriberInterface\n} from './_internal/interfaces';\n\n\nimport { NotificationsApiService } from './_internal/notifications.api.service';\nimport {GetSubscribedLocationsResponse, GetSubscribersResponse} from './_internal/objects/api';\n\n@Injectable({providedIn: 'root'})\nexport class NotificationsService {\n    constructor(private readonly api: NotificationsApiService) {\n    }\n\n    public subscribe(businessId: string, orderId: string, location: e.SubscriptionLocation): Observable<boolean> {\n        return this.api.subscribe({\n            businessId: businessId,\n            orderId: orderId,\n            location: location,\n        }).pipe(map(() => true));\n    }\n\n    public unsubscribe(businessId: string, orderId: string, location: e.SubscriptionLocation): Observable<boolean> {\n        return this.api.unsubscribe({\n            businessId: businessId,\n            orderId: orderId,\n            location: location\n        }).pipe(map(() => true));\n    }\n\n    public getSubscribedLocations(businessId: string, orderId: string): Observable<e.SubscriptionLocation[]> {\n        return this.api.getSubscribedLocations({\n            businessId: businessId,\n            orderId: orderId,\n        }).pipe(map((resp: GetSubscribedLocationsResponse) => resp.locations));\n    }\n\n    public getSubscribers(businessId: string, orderId: string): Observable<SubscriberInterface[]> {\n        return this.api.getSubscribers({\n            businessId: businessId,\n            orderId: orderId,\n        }).pipe(map((resp: GetSubscribersResponse) => resp.subscribers));\n    }\n}\n","import { DeclinedReasonInterface as DeclinedReasonAPI } from '../_internal';\n\nexport interface SetDeclinedReasonFields {\n    reason: string;\n}\n\nexport interface DeclinedReason {\n    id: string;\n    reason: string;\n    partnerId: string;\n    created: Date | null;\n    updated: Date | null;\n    archived?: Date | null;\n}\n\nexport function declinedReasonFromApi(r: DeclinedReasonAPI): DeclinedReason {\n    const zeroDate = new Date('0001-01-01T00:00:00Z').valueOf();\n\n    return {\n        id: r.id || '',\n        reason: r.reason || '',\n        partnerId: r.partnerId || '',\n        created: !!r.created && r.created.valueOf() !== zeroDate ? new Date(r.created) : null,\n        updated: !!r.updated && r.updated.valueOf() !== zeroDate ? new Date(r.updated) : null,\n        archived: !!r.archived && r.archived.valueOf() !== zeroDate ? new Date(r.archived) : null,\n    }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpResponse } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport {\n    ArchiveReasonRequest,\n    CreateReasonRequest,\n    CreateReasonResponse,\n    DeclinedReasonsApiService,\n    GetReasonRequest,\n    GetReasonResponse,\n    ListReasonsRequest,\n    ListReasonsResponse,\n    UpdateReasonRequest,\n    UpdateReasonResponse\n} from '../_internal';\nimport { DeclinedReason, declinedReasonFromApi, SetDeclinedReasonFields } from './declined-reason';\nimport { ListDeclinedReasonsFilters } from './list-reason';\n\n\n@Injectable({providedIn: 'root'})\nexport class DeclinedReasonService {\n    constructor(private readonly apiService: DeclinedReasonsApiService) {}\n\n    public create(partnerId: string, fields: SetDeclinedReasonFields): Observable<DeclinedReason> {\n        const request = new CreateReasonRequest({\n            partnerId,\n            reason: fields.reason\n        });\n        return this.apiService.createReason(request).pipe(map((resp: CreateReasonResponse) => declinedReasonFromApi(resp.declinedReason)));\n    }\n\n    public get(id: string): Observable<DeclinedReason> {\n        const request = new GetReasonRequest({id});\n        return this.apiService.getReason(request).pipe(map((resp: GetReasonResponse) => declinedReasonFromApi(resp.declinedReason)));\n    }\n\n    public update(id: string, fields: SetDeclinedReasonFields): Observable<DeclinedReason> {\n        const request = new UpdateReasonRequest({\n            id,\n            reason: fields.reason\n        });\n        return this.apiService.updateReason(request).pipe(map((resp: UpdateReasonResponse) => declinedReasonFromApi(resp.declinedReason)));\n    }\n\n    public archive(id: string): Observable<HttpResponse<null>> {\n        const request = new ArchiveReasonRequest({id});\n        return this.apiService.archiveReason(request)\n    }\n\n    public list(partnerId: string, filters: ListDeclinedReasonsFilters): Observable<DeclinedReason[]> {\n        const req = new ListReasonsRequest({partnerId, filters});\n        return this.apiService.listReasons(req).pipe(\n            map((resp: ListReasonsResponse) => (resp.declinedReasons || []).map(item => declinedReasonFromApi(item)))\n        );\n    }\n}\n","import {StatusHistoryItemInterface, DurationInterface} from './_internal/interfaces';\nimport {Status} from './_internal/enums';\n\nexport const CustomerApprovalEventSending = 'sending';\nexport const CustomerApprovalEventProcessing = 'processing';\nexport const CustomerApprovalEventDelivered = 'delivered';\nexport const CustomerApprovalEventBounced = 'bounced';\nexport const CustomerApprovalEventDropped = 'dropped';\nexport const CustomerApprovalEventUnsubscribed = 'unsubscribed';\nexport const CustomerApprovalEventDeferred = 'deferred';\nexport const CustomerApprovalEventSpamReport = 'spam-report';\nexport const CustomerApprovalEventOpened = 'opened';\nexport const CustomerApprovalEventClicked = 'clicked';\nexport const CustomerApprovalEventUpdatedAnswers = 'updated-answers';\nexport const RequestCancellationEvent = 'cancellation-requested';\nexport const DeclineCancellationEvent = 'cancellation-declined';\n\nexport const UpdatedTagsEvent = 'updated-tags';\nexport const UpdatedNotesEvent = 'updated-notes';\nexport const UpdatedCustomerNotesEvent = 'updated-customer-notes'\nexport const UpdatedRequestedActivationEvent = 'updated-requested-activation';\nexport const UpdateContractDurationEvent = 'updated-contract-duration';\nexport const UpdateEnforceContractTermEvent = 'updated-enforce-contract-term';\nexport const UpdatedDraftEvent = 'updated-draft';\nexport const UpdatedLineItemsEvent = 'updated-line-items';\nexport const DeclinedEvent = 'order-declined';\nexport const UpdatedSalespersonEvent = 'updated-salesperson';\nexport const UpdatedAttachmentsEvent = 'updated-attachments';\nexport const UpdatedCustomerAttachmentsEvent = 'updated-customer-attachments';\n\nexport class StatusHistoryEvent {\n  id: string;\n  name: string;\n\n  constructor(id: string, name: string) {\n    this.id = id;\n    this.name = name;\n  }\n}\n\nexport class SubmittedForCustomerApprovalSendingMetadataData {\n  offerExpiry: Date;\n}\n\nexport class SubmittedForCustomerApprovalMetadata {\n  userId: string;\n  event: StatusHistoryEvent;\n  offerExpiry?: Date;\n\n  constructor(userId: string, event: StatusHistoryEvent) {\n    this.userId = userId;\n    this.event = event;\n  }\n}\n\nexport class SubmittedForCustomerApprovalSendingMetadata extends SubmittedForCustomerApprovalMetadata {\n  userId: string;\n  event: StatusHistoryEvent;\n  offerExpiry?: Date;\n\n  constructor(userId: string, event: StatusHistoryEvent, metadata: SubmittedForCustomerApprovalSendingMetadataData) {\n    super(userId, event);\n    this.offerExpiry = metadata ? metadata.offerExpiry : undefined;\n  }\n}\n\nexport class UpdatedDraftMetadata {\n    userId: string;\n    event: StatusHistoryEvent;\n\n    constructor(userId: string, event: StatusHistoryEvent) {\n        this.userId = userId;\n        this.event = event;\n    }\n}\n\n/*\n    @deprecated: UpdatedLineItemsMetadata instead\n*/\nexport class UpdatedPricingMetadata {\n  userId: string;\n  event: StatusHistoryEvent;\n\n  constructor(userId: string, event: StatusHistoryEvent) {\n    this.userId = userId;\n    this.event = event;\n  }\n}\n\nexport class UpdatedLineItemsMetadata {\n  userId: string;\n  event: StatusHistoryEvent;\n\n  constructor(userId: string, event: StatusHistoryEvent) {\n    this.userId = userId;\n    this.event = event;\n  }\n}\n\ninterface UpdatedTagsMetadataData {\n    tags: string[]\n}\n\nexport class UpdatedTagsMetadata {\n    userId: string;\n    event: StatusHistoryEvent;\n    tags: string[];\n\n    constructor(userId: string, event: StatusHistoryEvent, data: UpdatedTagsMetadataData) {\n        this.userId = userId;\n        this.event = event;\n        this.tags = data.tags;\n    }\n}\n\ninterface UpdatedSalespersonMetadataData {\n}\n\nexport class UpdatedSalespersonMetadata {\n  userId: string;\n  event: StatusHistoryEvent;\n\n  constructor(userId: string, event: StatusHistoryEvent, data: UpdatedSalespersonMetadataData) {\n    this.userId = userId;\n    this.event = event;\n  }\n}\n\ninterface UpdatedRequestedActivationMetadataData {\n  previous: Date;\n  current: Date;\n}\n\nexport class UpdatedRequestedActivationMetadata {\n  userId: string;\n  event: StatusHistoryEvent;\n  previous: Date;\n  current: Date;\n\n  constructor(userId: string, event: StatusHistoryEvent, data: UpdatedRequestedActivationMetadataData) {\n    this.userId = userId;\n    this.event = event;\n    this.previous = data.previous;\n    this.current = data.current\n  }\n}\n\ninterface UpdateContractDurationMetadataData {\n  previous: DurationInterface;\n  current: DurationInterface;\n}\n\nexport class UpdateContractDurationMetadata {\n  userId: string;\n  event: StatusHistoryEvent;\n  previous: DurationInterface;\n  current: DurationInterface;\n\n  constructor(userId: string, event: StatusHistoryEvent, data: UpdateContractDurationMetadataData) {\n    this.userId = userId;\n    this.event = event;\n    this.previous = data.previous;\n    this.current = data.current\n  }\n}\n\ninterface UpdateEnforceContractTermMetadataData {\n  previous: boolean;\n  current: boolean;\n}\n\nexport class UpdateEnforceContractTermMetadata {\n  userId: string;\n  event: StatusHistoryEvent;\n  previous: boolean;\n  current: boolean;\n\n  constructor(userId: string, event: StatusHistoryEvent, data: UpdateEnforceContractTermMetadataData) {\n    this.userId = userId;\n    this.event = event;\n    this.previous = data.previous;\n    this.current = data.current;\n  }\n}\n\nexport class UpdatedAttachmentsMetadata {\n  userId: string;\n  event: StatusHistoryEvent;\n\n  constructor(userId: string, event: StatusHistoryEvent) {\n    this.userId = userId;\n    this.event = event;\n  }\n}\n\nexport class UpdatedCustomerAttachmentsMetadata {\n  userId: string;\n  event: StatusHistoryEvent;\n\n  constructor(userId: string, event: StatusHistoryEvent) {\n    this.userId = userId;\n    this.event = event;\n  }\n}\n\ninterface NotesMetadataData {\n  previous: string;\n  current: string;\n}\n\n/*\n    @deprecated: NotesMetadata instead\n*/\nexport class RequestCancellationMetadata {\n  userId: string;\n  event: StatusHistoryEvent;\n  previous: string;\n  current: string;\n\n  constructor(userId: string, event: StatusHistoryEvent, data: NotesMetadataData) {\n    this.userId = userId;\n    this.event = event;\n    this.previous = data.previous;\n    this.current = data.current\n  }\n}\n\nexport class NotesMetadata {\n  userId: string;\n  event: StatusHistoryEvent;\n  previous: string;\n  current: string;\n\n  constructor(userId: string, event: StatusHistoryEvent, data: NotesMetadataData) {\n    this.userId = userId;\n    this.event = event;\n    this.previous = data.previous;\n    this.current = data.current\n  }\n}\n\nexport class CustomerNotesMetadata extends NotesMetadata {\n  constructor(userId: string, event: StatusHistoryEvent, data: NotesMetadataData) {\n    super(userId, event, data);\n  }\n}\n\ninterface DeclinedOrderMetadataData {\n  current: string;\n  declined_reasons?: string[];\n  charge_failure_code?: string;\n  charge_decline_code?: string;\n}\n\nexport class DeclinedOrderMetadata {\n  userId: string;\n  event: StatusHistoryEvent;\n  previous: string;\n  current: string;\n  declinedReasons: string[];\n  chargeFailureCode: string;\n  chargeDeclineCode: string;\n\n  constructor(userId: string, event: StatusHistoryEvent, data: DeclinedOrderMetadataData) {\n    this.userId = userId;\n    this.event = event;\n    this.previous = '';\n    this.current = data.current\n    this.declinedReasons = data.declined_reasons || [];\n    this.chargeFailureCode = data.charge_failure_code || '';\n    this.chargeDeclineCode = data.charge_decline_code || '';\n  }\n}\n\nfunction customerApprovalEventFromKey(k: string): StatusHistoryEvent {\n  switch (k) {\n    case CustomerApprovalEventSending:\n      return new StatusHistoryEvent(CustomerApprovalEventSending, 'Sending');\n    case CustomerApprovalEventProcessing:\n      return new StatusHistoryEvent(CustomerApprovalEventProcessing, 'Processing');\n    case CustomerApprovalEventDelivered:\n      return new StatusHistoryEvent(CustomerApprovalEventDelivered, 'Delivered');\n    case CustomerApprovalEventBounced:\n      return new StatusHistoryEvent(CustomerApprovalEventBounced, 'Bounced');\n    case CustomerApprovalEventDropped:\n      return new StatusHistoryEvent(CustomerApprovalEventDropped, 'Dropped');\n    case CustomerApprovalEventUnsubscribed:\n      return new StatusHistoryEvent(CustomerApprovalEventUnsubscribed, 'Unsubscribed');\n    case CustomerApprovalEventDeferred:\n      return new StatusHistoryEvent(CustomerApprovalEventDeferred, 'Deferred');\n    case CustomerApprovalEventSpamReport:\n      return new StatusHistoryEvent(CustomerApprovalEventSpamReport, 'Spam report');\n    case CustomerApprovalEventOpened:\n      return new StatusHistoryEvent(CustomerApprovalEventOpened, 'Email Opened');\n    case CustomerApprovalEventClicked:\n      return new StatusHistoryEvent(CustomerApprovalEventClicked, 'Email Clicked');\n    case CustomerApprovalEventUpdatedAnswers:\n      return new StatusHistoryEvent(CustomerApprovalEventUpdatedAnswers, 'Updated Answers');\n    default:\n      return new StatusHistoryEvent('', 'Unknown');\n  }\n}\n\nexport type HistoryMetadata = (\n  SubmittedForCustomerApprovalMetadata |\n  UpdatedTagsMetadata |\n  UpdatedRequestedActivationMetadata |\n  UpdateContractDurationMetadata |\n  UpdateEnforceContractTermMetadata |\n  RequestCancellationMetadata |\n  NotesMetadata |\n  UpdatedDraftMetadata |\n  UpdatedPricingMetadata |\n  UpdatedLineItemsMetadata |\n  DeclinedOrderMetadata |\n  SubmittedForCustomerApprovalSendingMetadata |\n  UpdatedSalespersonMetadata |\n  UpdatedAttachmentsMetadata |\n  UpdatedCustomerAttachmentsMetadata |\n  null\n);\n\nexport function getMetadataFromStatusHistoryItem(h: StatusHistoryItemInterface): HistoryMetadata {\n  if (!h.metadata) {\n    return null;\n  }\n\n  let metadata;\n\n  try {\n      metadata = JSON.parse(h.metadata);\n  } catch {\n      return null\n  }\n  if (metadata.event === UpdatedTagsEvent) {\n    const event = new StatusHistoryEvent(UpdatedTagsEvent, 'Updated Tags');\n    return new UpdatedTagsMetadata(metadata.user_id, event, metadata.data);\n  }\n  if (metadata.event === UpdatedSalespersonEvent) {\n    const event = new StatusHistoryEvent(UpdatedSalespersonEvent, 'Updated Salesperson');\n    return new UpdatedSalespersonMetadata(metadata.user_id, event, metadata.data);\n  }\n  if (metadata.event === UpdatedRequestedActivationEvent) {\n    const event = new StatusHistoryEvent(UpdatedRequestedActivationEvent, 'Updated Contract Start');\n    return new UpdatedRequestedActivationMetadata(metadata.user_id, event, metadata.data);\n  }\n\n  if (metadata.event === UpdateContractDurationEvent) {\n    const event = new StatusHistoryEvent(UpdateContractDurationEvent, 'Updated Contract Length');\n    return new UpdateContractDurationMetadata(metadata.user_id, event, metadata.data);\n  }\n\n  if(metadata.event === UpdateEnforceContractTermEvent) {\n    const event = new StatusHistoryEvent(UpdateEnforceContractTermEvent, 'Updated Enforce Contract Term');\n    return new UpdateEnforceContractTermMetadata(metadata.user_id, event, metadata);\n  }\n  if(metadata.event === UpdatedAttachmentsEvent) {\n    const event = new StatusHistoryEvent(UpdatedAttachmentsEvent, 'Updated Attachments');\n    return new UpdatedAttachmentsMetadata(metadata.user_id, event);\n  }\n\n  if(metadata.event === UpdatedCustomerAttachmentsEvent) {\n    const event = new StatusHistoryEvent(UpdatedCustomerAttachmentsEvent, 'Updated Customer Attachments');\n    return new UpdatedCustomerAttachmentsMetadata(metadata.user_id, event);\n  }\n\n  if (metadata.event === RequestCancellationEvent) {\n    const event = new StatusHistoryEvent(RequestCancellationEvent, 'Cancellation Requested');\n    return new NotesMetadata(metadata.user_id, event, metadata.data);\n  }\n\n  if (metadata.event === DeclineCancellationEvent) {\n    const event = new StatusHistoryEvent(DeclineCancellationEvent, 'Cancellation Declined');\n    return new NotesMetadata(metadata.user_id, event, metadata.data);\n  }\n\n  if (metadata.event === UpdatedNotesEvent) {\n      const event = new StatusHistoryEvent(UpdatedNotesEvent, 'Updated Admin Notes');\n      return new NotesMetadata(metadata.user_id, event, metadata.data);\n  }\n\n  if (metadata.event === UpdatedCustomerNotesEvent) {\n      const event = new StatusHistoryEvent(UpdatedCustomerNotesEvent, 'Updated Customer Notes');\n      return new CustomerNotesMetadata(metadata.user_id, event, metadata.data);\n  }\n\n  if (metadata.event === UpdatedDraftEvent) {\n      const event = new StatusHistoryEvent(UpdatedDraftEvent, 'Updated Draft');\n      return new UpdatedDraftMetadata(metadata.user_id, event);\n  }\n\n  if (metadata.event === UpdatedLineItemsEvent) {\n    const event = new StatusHistoryEvent(UpdatedLineItemsEvent, 'Updated Contents');\n    return new UpdatedLineItemsMetadata(metadata.user_id, event);\n  }\n\n  if (metadata.event === DeclinedEvent) {\n    const event = new StatusHistoryEvent(DeclinedEvent, 'Declined');\n    return new DeclinedOrderMetadata(metadata.user_id, event, metadata.data);\n  }\n\n  if (h.status !== Status.SUBMITTED_FOR_CUSTOMER_APPROVAL) {\n    return null;\n  }\n\n  if (metadata.event === CustomerApprovalEventSending) {\n    const event = customerApprovalEventFromKey(metadata.event);\n    return new SubmittedForCustomerApprovalSendingMetadata(metadata.user_id, event, metadata.data)\n  }\n  return new SubmittedForCustomerApprovalMetadata(metadata.user_id, customerApprovalEventFromKey(metadata.event));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["enumStringToValue","e.DurationPeriod","e.Currency","e.RevenuePeriod","e.ActivationStatus","e.FieldType","e.Status","e.Origin","e.FulfillmentOrderStatus","e.RetailSubscriptionGroupDisplayOption","e.Source","e.UserRole","e.SubscriptionLocation","e.AuxiliaryDataFieldType","e.ValidationErrorCodes","e.InitiateOrderExportRequestDataFormatOption","e.ListCustomerSalesOrderRequestSortDirection","e.ListCustomerSalesOrderRequestSortField","e.InitiateOrderExportRequestSortDirection","e.InitiateOrderExportRequestSortField","e.ListSalesOrderRequestSortDirection","e.ListSalesOrderRequestSortField","e.ContentType","e.DocumentType","e.DocumentShareType","e.OrganizationType","e.DocumentStatus","e.DocumentEventType","e.Orientation","ensureLineItemValuesAreOneOf","i1.SalesOrdersApiService","i2.HostService","i1.CustomerSalesOrdersApiService","i1.VendorOrdersApiService","i1.PublicApiService","i1.NotificationsApiService","i1.DeclinedReasonsApiService"],"mappings":"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"}