import type { Schedule } from './Schedule'; import type { RequiredQualifier } from './RequiredQualifier'; /** * @type PromotionCampaignAssignmentRequest: Request body for creating or replacing a promotion campaign assignment (PUT). Omits the read-only nested campaign and promotion courtesy copies, which are response-only. * * @property campaignId: The ID of the campaign. If supplied, must equal the campaignId path parameter. * - **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 promotionId: The ID of the promotion. If supplied, must equal the promotionId path parameter. * - **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 PromotionCampaignAssignmentRequest = { campaignId?: string; coupons?: Array; couponsBased?: boolean; customerGroups?: Array; customerGroupsBased?: boolean; promotionId?: string; rank?: number; requiredQualifier?: RequiredQualifier; schedule: Schedule; sourceCodeBased?: boolean; sourceCodeGroups?: Array; } & { [key: string]: any; };