import type { Campaign } from './Campaign'; import type { Schedule } from './Schedule'; import type { RequiredQualifier } from './RequiredQualifier'; /** * @type PromotionCampaignAssignment: Document representing a promotion campaign assignment. * * @property campaign: The campaign. * * @property campaignId: The ID of the campaign. * - **Min Length:** 1 * - **Max Length:** 256 * * @property coupons: The sorted array of assigned coupon IDs. * * @property couponsBased: Whether the coupons qualifier participates in the assignment\'s qualification rule. When true, the assigned coupons gate the promotion (combined with campaign-level coupons). When omitted, defaults to true if a non-empty coupons array is supplied, otherwise false. * * @property customerGroups: The sorted array of assigned customer groups. * * @property customerGroupsBased: Whether the customer-groups qualifier participates in the assignment\'s qualification rule. When true, the assigned customer groups gate the promotion (combined with campaign-level customer groups). When omitted, defaults to true if a non-empty customerGroups array is supplied, otherwise false. * * @property enabled: Read-only. True if the assigned promotion is enabled. Derived from the promotion\'s enabled state; cannot be set on the assignment. Use the Promotions API to change it. * * @property promotionId: The ID of the promotion. Use the Promotions API to fetch the full promotion. * - **Min Length:** 1 * - **Max Length:** 256 * * @property rank: The rank of promotion campaign assignment. * * @property requiredQualifier: * * @property schedule: The schedule of the assignment resource. * * @property sourceCodeBased: Whether the source-code-groups qualifier participates in the assignment\'s qualification rule. When true, the assigned source-code groups gate the promotion (combined with campaign-level source-code groups). When omitted, defaults to true if a non-empty sourceCodeGroups array is supplied, otherwise false. * * @property sourceCodeGroups: The sorted array of assigned source code groups. * */ export type PromotionCampaignAssignment = { campaign: Campaign; campaignId: string; coupons: Array; couponsBased: boolean; customerGroups: Array; customerGroupsBased: boolean; enabled: boolean; promotionId: string; rank: number; requiredQualifier: RequiredQualifier; schedule: Schedule; sourceCodeBased: boolean; sourceCodeGroups: Array; } & { [key: string]: any; };