import { Audit } from './common'; export interface WALLET_PASS_DATA_WEBHOOK { passId: number; passdata: { person: { email: string; phone: string; loginId: string; lastName: string; metadata: { [key: string]: string; }; firstName: string; }; points: number; status: string; optOuts: boolean; metadata: { [key: string]: string; }; expiryDate: Date; profileImage: string; }; personId: string; templateId: number; serialNumber: string; templateTierId: number; } export interface PASSKIT_DATA_WEBHOOK { person: { surname: string; forename: string; displayName: string; emailAddress: string; mobileNumber: string; }; metaData: { [key: string]: string; }; externalId: string; profileImage: string; } /** * The WalletPassData object, maintains the data for the wallet pass. This is used when creating a wallet pass. */ export interface WalletPassData { /** * Stores custom attributes which have been defined within the Brand Attributes. The brandAttribute name is the propertyName. */ metaData?: { [propertyName: string]: string; }; /** * The number of points to be displayed on the wallet pass. */ points?: number; /** * The expiration date of the wallet card */ expiryDate?: Date; /** * A custom profile image url to be used in the thumbnail of a wallet card, must be square. */ profileImage?: string; /** * The seat number to display on an event wallet card. */ seat?: string; /** * The row number to display on an event wallet card. */ row?: string; /** * The section number to display on an event wallet card. */ section?: string; /** * The gate number to display on an event wallet card. */ gate?: string; } /** * The WalletPerson object, maintains the person data for the wallet pass. This is used when creating a wallet pass. */ export interface WalletPerson { /** * The person's first name. */ firstName?: string; /** * The person's last name. */ lastName?: string; /** * The person's email address. */ email?: string; /** * The person's phone number. */ phone?: string; /** * The person's company. */ company?: string; } /** * The GeoLocation object, maintains the latitude and longitude of the wallet pass. This is used when creating a wallet pass. */ export interface GeoLocation { /** * The latitude of the wallet pass. */ latitude: number; /** * The longitude of the wallet pass. */ longitude: number; } export declare enum WalletStatus { ENROLLED = "ENROLLED", ACTIVE = "ACTIVE", INACTIVE = "INACTIVE", CHECKED_IN = "CHECKED_IN", EXPIRED = "EXPIRED", CHECKED_OUT = "CHECKED_OUT", DELETED = "DELETED" } export declare enum WalletStatusCode { ENROLLED = 100, ACTIVE = 200, INACTIVE = 700, CHECKED_IN = 300, EXPIRED = 800, CHECKED_OUT = 600, DELETED = 900 } /** * The WalletPassInput object, maintains the input data for the wallet pass. This is used when creating a wallet pass. */ export interface WalletPassInput { /** * The brand identifier. */ brandId: number; /** * The custom pass data. */ passdata: WalletPassData; /** * The person record. */ person?: WalletPerson; /** * The current message that is displayed on the wallet pass. */ currentMessage?: string; /** * The tier to put the card in during creation, if not provided will use the default tier. */ templateTierId?: number; /** * The location from which the card is being issued. */ geoLocation?: GeoLocation; /** * The ipaddress which is requesting the card to be issued. */ ipAddress?: string; /** * The templateId from which the card is being issued. If a program is provided, this is not required. */ templateId?: number; /** * The dynamic image url to be used in the thumbnail of a wallet card, must be square. */ dynamicImageUrl?: string; } /** * The WalletUploadLocation object, maintains the location of the wallet pass file. This is used when creating templates to provide the location of your image files when constructing the template. */ export interface WalletUploadLocation { /** * The key is used when creating your template record to map back the image file to the template during template construction. */ key: string; /** * The uploadUrl is the location you will upload your image file to for use in the template. */ uploadUrl: string; } /** * The wallet pass object that is maintained by bambu meta. */ export interface WalletPass { /** * The template identifier. */ templateId: number; /** * The tenant identifier. */ tenantId: number; /** * The brand identifier. */ brandId: number; /** * The serial number of the wallet pass. */ serialNumber: string; /** * The pass data associated to this pass, if this is returned it will be encrypted unless the request was made to decrypt with permission. */ passdata?: WalletPassData; /** * The person associated to this pass, if this is returned it will be encrypted unless the request was made to decrypt with permission. */ person?: WalletPerson; /** * The template tier identifier. */ templateTierId?: number; /** * The status of the wallet pass. */ passId: number; /** * The current message being displayed on this wallet pass. */ currentMessage: string; /** * The status the card is currently in. */ statusCode: WalletStatus; /** * The status the card is currently in. */ status: WalletStatusCode; /** * This is the end portion of the download url for the wallet pass, you will concatinate this with the base pass-ui url to get the full download url. */ downloadUrl?: string; /** * The passId from which the card was issued. */ id: number | string; /** * The created and updated times and users. */ audit: Audit; dynamicImageUrl?: string; }