diff --git a/src/schemas/PassFields.ts b/src/schemas/PassFields.ts index 76ae0fe..a148e4c 100644 --- a/src/schemas/PassFields.ts +++ b/src/schemas/PassFields.ts @@ -19,6 +19,14 @@ export interface PassFields { primaryFields: Field[]; secondaryFields: Field[]; transitType?: TransitType; + + /** + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain dashboard + * + * @see \ + */ additionalInfoFields?: Field[]; } @@ -29,5 +37,13 @@ export const PassFields = Joi.object().keys({ primaryFields: Joi.array().items(Field), secondaryFields: Joi.array().items(Field), transitType: TransitType, + + /** + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain dashboard + * + * @see \ + */ additionalInfoFields: Joi.array().items(Field), }); diff --git a/src/schemas/SemanticTagType.ts b/src/schemas/SemanticTagType.ts index c060117..0eda385 100644 --- a/src/schemas/SemanticTagType.ts +++ b/src/schemas/SemanticTagType.ts @@ -22,8 +22,8 @@ export const CurrencyAmount = Joi.object().keys({ }); /** - * For newly-introduced event tickets - * in iOS 18. + * @iOSVersion 18 + * @passStyle eventTicket (new layout) * * @see \ */ @@ -88,20 +88,20 @@ export interface Seat { seatDescription?: string; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ seatAisle?: string; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ seatLevel?: string; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ seatSectionColor?: string; } @@ -115,20 +115,20 @@ export const Seat = Joi.object().keys({ seatDescription: Joi.string(), /** - * Newly-introduced in iOS 18 - * Used in poster event tickets + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ seatAisle: Joi.string(), /** - * Newly-introduced in iOS 18 - * Used in poster event tickets + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ seatLevel: Joi.string(), /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ seatSectionColor: Joi.string().regex(RGB_HEX_COLOR_REGEX), }); diff --git a/src/schemas/Semantics.ts b/src/schemas/Semantics.ts index 124ee28..458f96b 100644 --- a/src/schemas/Semantics.ts +++ b/src/schemas/Semantics.ts @@ -15,14 +15,14 @@ import * as SemanticTagType from "./SemanticTagType"; export interface Semantics { /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ admissionLevel?: string; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ admissionLevelAbbreviation?: string; @@ -30,22 +30,22 @@ export interface Semantics { artistIDs?: string[]; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ albumIDs?: string[]; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ airplay?: { airPlayDeviceGroupToken: string; }[]; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ attendeeName?: string; @@ -54,8 +54,8 @@ export interface Semantics { awayTeamName?: string; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ additionalTicketAttributes?: string; @@ -88,16 +88,16 @@ export interface Semantics { duration?: number; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ entranceDescription?: string; eventEndDate?: string; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) * * Shows a message in the live activity * when the activity starts. @@ -108,8 +108,8 @@ export interface Semantics { eventStartDate?: string; /** - * For newly-introduced event tickets - * in iOS 18. + * @iOSVersion 18 + * @passStyle eventTicket (new layout). * * Can be used as an alternative way to * show show start date, with more control @@ -119,15 +119,33 @@ export interface Semantics { */ eventStartDateInfo?: SemanticTagType.EventDateInfo; + /** + * @iOSVersion < 18 + * Since iOS 18, for the event tickets these determine + * the template to be used when rendering the pass. + * + * - Generic Template + * - "PKEventTypeGeneric" + * - "PKEventTypeMovie" + * - "PKEventTypeConference" + * - "PKEventTypeConvention" + * - "PKEventTypeWorkshop" + * - "PKEventTypeSocialGathering" + * - Sport Template + * - "PKEventTypeSports" + * - Live Performance Template + * - "PKEventTypeLivePerformance"; + */ + eventType?: | "PKEventTypeGeneric" - | "PKEventTypeLivePerformance" | "PKEventTypeMovie" - | "PKEventTypeSports" | "PKEventTypeConference" | "PKEventTypeConvention" | "PKEventTypeWorkshop" - | "PKEventTypeSocialGathering"; + | "PKEventTypeSocialGathering" + | "PKEventTypeSports" + | "PKEventTypeLivePerformance"; flightCode?: string; flightNumber?: number; @@ -152,8 +170,8 @@ export interface Semantics { priorityStatus?: string; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ playlistIDs?: string[]; @@ -163,8 +181,8 @@ export interface Semantics { sportName?: string; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ tailgatingAllowed?: boolean; @@ -181,40 +199,46 @@ export interface Semantics { venueLocation?: SemanticTagType.Location; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueGatesOpenDate?: string; venueName?: string; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueParkingLotsOpenDate?: string; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueBoxOfficeOpenDate?: string; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueDoorsOpenDate?: string; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueFanZoneOpenDate?: string; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + */ + venueOpenDate?: string; + + /** + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueCloseDate?: string; @@ -222,26 +246,26 @@ export interface Semantics { venueRoom?: string; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueRegionName?: string; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueEntranceGate?: string; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueEntranceDoor?: string; /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueEntrancePortal?: string; @@ -250,14 +274,14 @@ export interface Semantics { export const Semantics = Joi.object().keys({ /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ admissionLevel: Joi.string(), /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ admissionLevelAbbreviation: Joi.string(), @@ -265,22 +289,22 @@ export const Semantics = Joi.object().keys({ artistIDs: Joi.array().items(Joi.string()), /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ albumIDs: Joi.array().items(Joi.string()), /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ airplay: Joi.array().items({ airplayDeviceGroupToken: Joi.string(), }), /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ attendeeName: Joi.string(), @@ -319,8 +343,8 @@ export const Semantics = Joi.object().keys({ duration: Joi.number(), /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ entranceDescription: Joi.string(), @@ -328,8 +352,8 @@ export const Semantics = Joi.object().keys({ eventName: Joi.string(), /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) * * Shows a message in the live activity * when the activity starts. @@ -337,8 +361,8 @@ export const Semantics = Joi.object().keys({ eventLiveMessage: Joi.string(), /** - * For newly-introduced event tickets - * in iOS 18. + * @iOSVersion 18 + * @passStyle eventTicket (new layout). * * Can be used as an alternative way to * show show start date, with more control @@ -396,8 +420,8 @@ export const Semantics = Joi.object().keys({ venueEntrance: Joi.string(), /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueGatesOpenDate: Joi.string(), @@ -405,32 +429,38 @@ export const Semantics = Joi.object().keys({ venueName: Joi.string(), /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueParkingLotsOpenDate: Joi.string(), /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueBoxOfficeOpenDate: Joi.string(), /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueDoorsOpenDate: Joi.string(), /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueFanZoneOpenDate: Joi.string(), /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + */ + venueOpenDate: Joi.string(), + + /** + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueCloseDate: Joi.string(), @@ -438,26 +468,26 @@ export const Semantics = Joi.object().keys({ venueRoom: Joi.string(), /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueRegionName: Joi.string(), /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueEntranceGate: Joi.string(), /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueEntranceDoor: Joi.string(), /** - * For newly-introduced event tickets - * in iOS 18 + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ venueEntrancePortal: Joi.string(), diff --git a/src/schemas/index.ts b/src/schemas/index.ts index 1c06dc6..90320ee 100644 --- a/src/schemas/index.ts +++ b/src/schemas/index.ts @@ -42,7 +42,8 @@ export interface RelevancyEntry { } /** - * Newly introduced in iOS 18. + * @iOSVersion 18 + * * Using a RelevancyInterval, will trigger a live activity on * new event ticket passes. * @@ -122,152 +123,208 @@ export interface PassProps { storeCard?: PassFields; /** - * New field for iOS 18 - * Event Ticket + * @iOSVersion 18 + * @passStyle eventTicket (new layout) */ preferredStyleSchemes?: PreferredStyleSchemes; /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain event guide" must be used. */ bagPolicyURL?: string; /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain Event Guide" must be used. */ orderFoodURL?: string; /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain Event Guide" must be used. */ parkingInformationURL?: string; /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain Event Guide" must be used. */ directionsInformationURL?: string; /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide + * + * @description + * + * URL to a resource to buy or access + * the parking spot. * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. - */ - contactVenueEmail?: string; - - /** - * New field for iOS 18 Event Ticket. - * @domain event guide - * - * To show buttons in the event guide, - * at least two among those marked with - * "@domain event guide" must be used. - */ - contactVenuePhoneNumber?: string; - - /** - * New field for iOS 18 Event Ticket. - * @domain event guide - * - * To show buttons in the event guide, - * at least two among those marked with - * "@domain event guide" must be used. - */ - contactVenueWebsite?: string; - - /** - * New field for iOS 18 Event Ticket. - * @domain event guide - * - * To show buttons in the event guide, - * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain Event Guide" must be used. */ purchaseParkingURL?: string; /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide + * + * @description + * + * URL to a resource to buy the + * merchandise. * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain Event Guide" must be used. */ merchandiseURL?: string; /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide + * + * @description + * + * URL to a resource about public or + * private transportation to reach the + * venue. * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain Event Guide" must be used. */ transitInformationURL?: string; /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide + * + * @description + * + * URL to a resource about accessibility + * in the events venue. * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain Event Guide" must be used. */ accessibilityURL?: string; /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide + * + * @description + * + * An URL to link experiences to the + * pass (upgrades and more). * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain Event Guide" must be used. */ addOnURL?: string; /** - * New field for iOS 18 Event Ticket. + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide + * + * To show buttons in the event guide, + * at least two among those marked with + * "@passDomain Event Guide" must be used. + */ + contactVenueEmail?: string; + + /** + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide + * + * To show buttons in the event guide, + * at least two among those marked with + * "@passDomain Event Guide" must be used. + */ + contactVenuePhoneNumber?: string; + + /** + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide + * + * To show buttons in the event guide, + * at least two among those marked with + * "@passDomain Event Guide" must be used. + */ + contactVenueWebsite?: string; + + /** + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Menu dropdown + * + * @description + * * Will add a button among options near "share" */ transferURL?: string; /** - * New field for iOS 18 Event Ticket. + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Menu dropdown + * + * @description + * * Will add a button among options near "share" */ sellURL?: string; /** - * New field for iOS 18 Event Ticket. + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * + * @description + * * Will remove an automatic shadow in the new * event ticket layouts. */ suppressHeaderDarkening?: boolean; /** - * New field for iOS 18 Event Ticket. + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * + * @description + * * By default, the chin is colored with a * blur. Through this option, it is possible * to specify a different and specific color @@ -276,7 +333,11 @@ export interface PassProps { footerBackgroundColor?: string; /** - * New field for iOS 18 Event Ticket. + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * + * @description + * * Enables the automatic calculation of the * `foregroundColor` and `labelColor` based * on the background image in the new event @@ -288,7 +349,11 @@ export interface PassProps { useAutomaticColor?: boolean; /** - * New field for iOS 18 Event Ticket. + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * + * @description + * * Applications AppStore Identifiers * related to the event ticket. * @@ -299,7 +364,7 @@ export interface PassProps { * the passes users has (probably differently * by `associatedStoreIdentifiers`). */ - auxiliaryStoreIdentifiers: number[]; + auxiliaryStoreIdentifiers?: number[]; } /** @@ -383,146 +448,206 @@ export const OverridablePassProps = Joi.object({ webServiceURL: Joi.string().regex(URL_REGEX), /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain Event Guide" must be used. */ bagPolicyURL: Joi.string().regex(URL_REGEX), /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain Event Guide" must be used. */ orderFoodURL: Joi.string().regex(URL_REGEX), /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain Event Guide" must be used. */ parkingInformationURL: Joi.string().regex(URL_REGEX), /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain Event Guide" must be used. */ directionsInformationURL: Joi.string(), /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide + * + * @description + * + * URL to a resource to buy or access + * the parking spot. * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. - */ - contactVenueEmail: Joi.string(), - - /** - * New field for iOS 18 Event Ticket. - * @domain event guide - * - * To show buttons in the event guide, - * at least two among those marked with - * "@domain event guide" must be used. - */ - contactVenuePhoneNumber: Joi.string(), - - /** - * New field for iOS 18 Event Ticket. - * @domain event guide - * - * To show buttons in the event guide, - * at least two among those marked with - * "@domain event guide" must be used. - */ - contactVenueWebsite: Joi.string(), - - /** - * New field for iOS 18 Event Ticket. - * @domain event guide - * - * To show buttons in the event guide, - * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain Event Guide" must be used. */ purchaseParkingURL: Joi.string(), /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide + * + * @description + * + * URL to a resource to buy the + * merchandise. * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain Event Guide" must be used. */ merchandiseURL: Joi.string(), /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide + * + * @description + * + * URL to a resource about public or + * private transportation to reach the + * venue. * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain Event Guide" must be used. */ transitInformationURL: Joi.string(), /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide + * + * @description + * + * URL to a resource about accessibility + * in the events venue. * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain Event Guide" must be used. */ accessibilityURL: Joi.string(), /** - * New field for iOS 18 Event Ticket. - * @domain event guide + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide + * + * @description + * + * An URL to link experiences to the + * pass (upgrades and more). * * To show buttons in the event guide, * at least two among those marked with - * "@domain event guide" must be used. + * "@passDomain Event Guide" must be used. */ addOnURL: Joi.string(), /** - * New field for iOS 18 Event Ticket. + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide + * + * @description + * + * To show buttons in the event guide, + * at least two among those marked with + * "@passDomain Event Guide" must be used. + */ + contactVenueEmail: Joi.string(), + + /** + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide + * + * @description + * + * To show buttons in the event guide, + * at least two among those marked with + * "@passDomain Event Guide" must be used. + */ + contactVenuePhoneNumber: Joi.string(), + + /** + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * @passDomain Event Guide + * + * @description + * + * To show buttons in the event guide, + * at least two among those marked with + * "@passDomain Event Guide" must be used. + */ + contactVenueWebsite: Joi.string(), + + /** + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * + * @description + * * Will add a button among options near "share" */ transferURL: Joi.string(), /** - * New field for iOS 18 Event Ticket. + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * + * @description + * * Will add a button among options near "share" */ sellURL: Joi.string(), /** - * New field for iOS 18 Event Ticket. + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * + * @description + * * Will remove an automatic shadow in the new * event ticket layouts. */ suppressHeaderDarkening: Joi.boolean(), /** - * New field for iOS 18 Event Ticket. + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * + * @description + * * By default, the chin is colored with a * blur. Through this option, it is possible * to specify a different and specific color @@ -531,7 +656,11 @@ export const OverridablePassProps = Joi.object({ footerBackgroundColor: Joi.string().regex(RGB_HEX_COLOR_REGEX), /** - * New field for iOS 18 Event Ticket. + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * + * @description + * * Enables the automatic calculation of the * `foregroundColor` and `labelColor` based * on the background image in the new event @@ -543,7 +672,11 @@ export const OverridablePassProps = Joi.object({ useAutomaticColor: Joi.boolean(), /** - * New field for iOS 18 Event Ticket. + * @iOSVersion 18 + * @passStyle eventTicket (new layout) + * + * @description + * * Applications AppStore Identifiers * related to the event ticket. *