/** * The BambuBrand object, maintains brand configuration and details. */ export interface BambuBrand { /** * The brand unique identifier */ brandId: number; /** * The brand name */ name: string; /** * A description of the brand */ description: string; /** * The tenant identifier associated to this brand. */ tenantId: number; /** * The brand logo URL */ logo: string; /** * The report site URL for this brand if defined. */ reportSite?: string; /** * Thie external identifier for this brand if defined. */ externalIdentifier?: string; /** * The brand UI styling for the pass-ui configuration. */ uiConfig?: BambuBrandUIConfig; } /** * The BambuBrandUIConfig object, maintains brand UI configuration and details. */ export interface BambuBrandUIConfig { /** * The link activation page configuration. */ linkActivation?: { /** * The background color of the link activation page. */ backgroundColor?: string; /** * The primary color of the link activation page. */ primaryColor?: string; /** * The text color of the link activation page. */ textColor?: string; /** * The background color of the confirmation box. */ boxBackgroundColor?: string; /** * The text color of the confirmation box button */ buttonTextColor?: string; /** * The logo URL to be displayed in the link activation page. */ logo?: string; }; /** * The pass download page configuration. */ passDownload?: { /** * The background color of the pass download page. */ backgroundColor?: string; /** * The text color of the pass download page. */ textColor?: string; /** * The logo URL to be displayed in the pass download page. */ logo?: string; /** * And messaging to be displayed on the page. This takes advantage of markdown to render in the page. */ text?: string; }; } /** * The BambuBrandAttribute object, maintains brand attribute configuration and details. These attributes are used within wallet passes created for the brand. */ export interface BambuBrandAttribute { /** * The brand attribute unique identifier */ brandAttributeId: number; /** * The brand unique identifier */ brandId: number; /** * The brand attribute name */ name: string; /** * A description of the brand attribute */ description: string; /** * The status of the brand attribute */ statusCode: number; /** * Is this attribute required? */ required: boolean; /** * Is this the unique identifier for the brand? */ unique_key: boolean; /** * Is this attribute encrypted? */ encrypted: boolean; /** * Is this attribute searchable? */ searchable: boolean; /** * The brand attribute data type */ dataType: string; /** * The brand attribute options */ providedOptions?: AttributeOption[]; } /** * The AttributeOption object, maintains brand attribute option configuration and details. These attributes are used within wallet passes created for the brand. */ export interface AttributeOption { /** * The brand attribute option display name */ name: string; /** * The brand attribute option value */ value: string | number; /** * Is this the default option? There should be only one default option. */ isDefault?: boolean; }