Added support to new semantics

This commit is contained in:
Alexander Cerutti
2024-10-07 01:27:29 +02:00
parent 9cd2683519
commit 40955e694b

View File

@@ -39,6 +39,24 @@ declare namespace SemanticTagType {
seatIdentifier?: string; seatIdentifier?: string;
seatType?: string; seatType?: string;
seatDescription?: string; seatDescription?: string;
/**
* For newly-introduced event tickets
* in iOS 18
*/
seatAisle?: string;
/**
* For newly-introduced event tickets
* in iOS 18
*/
seatLevel?: string;
/**
* For newly-introduced event tickets
* in iOS 18
*/
seatSectionColor?: string;
} }
interface WifiNetwork { interface WifiNetwork {
@@ -70,6 +88,24 @@ const SeatSemantics = Joi.object<SemanticTagType.Seat>().keys({
seatIdentifier: Joi.string(), seatIdentifier: Joi.string(),
seatType: Joi.string(), seatType: Joi.string(),
seatDescription: Joi.string(), seatDescription: Joi.string(),
/**
* Newly-introduced in iOS 18
* Used in poster event tickets
*/
seatAisle: Joi.string(),
/**
* Newly-introduced in iOS 18
* Used in poster event tickets
*/
seatLevel: Joi.string(),
/**
* For newly-introduced event tickets
* in iOS 18
*/
seatSectionColor: Joi.string(),
}); });
const LocationSemantics = Joi.object<SemanticTagType.Location>().keys({ const LocationSemantics = Joi.object<SemanticTagType.Location>().keys({
@@ -94,9 +130,29 @@ export interface Semantics {
*/ */
admissionLevel?: string; admissionLevel?: string;
/**
* For newly-introduced event tickets
* in iOS 18
*/
admissionLevelAbbreviation?: string;
airlineCode?: string; airlineCode?: string;
artistIDs?: string[]; artistIDs?: string[];
/**
* For newly-introduced event tickets
* in iOS 18
*/
albumIDs?: string[];
/**
* For newly-introduced event tickets
* in iOS 18
*/
airplay?: {
airPlayDeviceGroupToken: string;
}[];
/** /**
* For newly-introduced event tickets * For newly-introduced event tickets
* in iOS 18 * in iOS 18
@@ -107,6 +163,12 @@ export interface Semantics {
awayTeamLocation?: string; awayTeamLocation?: string;
awayTeamName?: string; awayTeamName?: string;
/**
* For newly-introduced event tickets
* in iOS 18
*/
additionalTicketAttributes?: string;
balance?: SemanticTagType.CurrencyAmount; balance?: SemanticTagType.CurrencyAmount;
boardingGroup?: string; boardingGroup?: string;
boardingSequenceNumber?: string; boardingSequenceNumber?: string;
@@ -186,11 +248,23 @@ export interface Semantics {
performerNames?: string[]; performerNames?: string[];
priorityStatus?: string; priorityStatus?: string;
/**
* For newly-introduced event tickets
* in iOS 18
*/
playlistIDs?: string[];
seats?: SemanticTagType.Seat[]; seats?: SemanticTagType.Seat[];
securityScreening?: string; securityScreening?: string;
silenceRequested?: boolean; silenceRequested?: boolean;
sportName?: string; sportName?: string;
/**
* For newly-introduced event tickets
* in iOS 18
*/
tailgatingAllowed?: number;
totalPrice?: SemanticTagType.CurrencyAmount; totalPrice?: SemanticTagType.CurrencyAmount;
transitProvider?: string; transitProvider?: string;
transitStatus?: string; transitStatus?: string;
@@ -199,6 +273,7 @@ export interface Semantics {
vehicleName?: string; vehicleName?: string;
vehicleNumber?: string; vehicleNumber?: string;
vehicleType?: string; vehicleType?: string;
venueEntrance?: string; venueEntrance?: string;
venueLocation?: SemanticTagType.Location; venueLocation?: SemanticTagType.Location;
@@ -216,6 +291,30 @@ export interface Semantics {
*/ */
venueParkingLotsOpenDate?: string; venueParkingLotsOpenDate?: string;
/**
* For newly-introduced event tickets
* in iOS 18
*/
venueBoxOfficeOpenDate?: string;
/**
* For newly-introduced event tickets
* in iOS 18
*/
venueDoorsOpenDate?: string;
/**
* For newly-introduced event tickets
* in iOS 18
*/
venueFanZoneOpenDate?: string;
/**
* For newly-introduced event tickets
* in iOS 18
*/
venueCloseDate?: string;
venuePhoneNumber?: string; venuePhoneNumber?: string;
venueRoom?: string; venueRoom?: string;
@@ -231,6 +330,18 @@ export interface Semantics {
*/ */
venueEntranceGate?: string; venueEntranceGate?: string;
/**
* For newly-introduced event tickets
* in iOS 18
*/
venueEntranceDoor?: string;
/**
* For newly-introduced event tickets
* in iOS 18
*/
venueEntrancePortal?: string;
wifiAccess?: SemanticTagType.WifiNetwork[]; wifiAccess?: SemanticTagType.WifiNetwork[];
} }
@@ -241,9 +352,29 @@ export const Semantics = Joi.object<Semantics>().keys({
*/ */
admissionLevel: Joi.string(), admissionLevel: Joi.string(),
/**
* For newly-introduced event tickets
* in iOS 18
*/
admissionLevelAbbreviation: Joi.string(),
airlineCode: Joi.string(), airlineCode: Joi.string(),
artistIDs: Joi.array().items(Joi.string()), artistIDs: Joi.array().items(Joi.string()),
/**
* For newly-introduced event tickets
* in iOS 18
*/
albumIDs: Joi.array().items(Joi.string()),
/**
* For newly-introduced event tickets
* in iOS 18
*/
airplay: Joi.array().items({
airplayDeviceGroupToken: Joi.string(),
}),
/** /**
* For newly-introduced event tickets * For newly-introduced event tickets
* in iOS 18 * in iOS 18
@@ -254,6 +385,8 @@ export const Semantics = Joi.object<Semantics>().keys({
awayTeamLocation: Joi.string(), awayTeamLocation: Joi.string(),
awayTeamName: Joi.string(), awayTeamName: Joi.string(),
additionalTicketAttributes: Joi.string(),
balance: CurrencyAmount, balance: CurrencyAmount,
boardingGroup: Joi.string(), boardingGroup: Joi.string(),
boardingSequenceNumber: Joi.string(), boardingSequenceNumber: Joi.string(),
@@ -327,11 +460,15 @@ export const Semantics = Joi.object<Semantics>().keys({
performerNames: Joi.array().items(Joi.string()), performerNames: Joi.array().items(Joi.string()),
priorityStatus: Joi.string(), priorityStatus: Joi.string(),
playlistIDs: Joi.array().items(Joi.string()),
seats: Joi.array().items(SeatSemantics), seats: Joi.array().items(SeatSemantics),
securityScreening: Joi.string(), securityScreening: Joi.string(),
silenceRequested: Joi.boolean(), silenceRequested: Joi.boolean(),
sportName: Joi.string(), sportName: Joi.string(),
tailgatingAllowed: Joi.number(),
totalPrice: CurrencyAmount, totalPrice: CurrencyAmount,
transitProvider: Joi.string(), transitProvider: Joi.string(),
transitStatus: Joi.string(), transitStatus: Joi.string(),
@@ -358,8 +495,31 @@ export const Semantics = Joi.object<Semantics>().keys({
*/ */
venueParkingLotsOpenDate: Joi.string(), venueParkingLotsOpenDate: Joi.string(),
venuePhoneNumber: Joi.string(), /**
* For newly-introduced event tickets
* in iOS 18
*/
venueBoxOfficeOpenDate: Joi.string(),
/**
* For newly-introduced event tickets
* in iOS 18
*/
venueDoorsOpenDate: Joi.string(),
/**
* For newly-introduced event tickets
* in iOS 18
*/
venueFanZoneOpenDate: Joi.string(),
/**
* For newly-introduced event tickets
* in iOS 18
*/
venueCloseDate: Joi.string(),
venuePhoneNumber: Joi.string(),
venueRoom: Joi.string(), venueRoom: Joi.string(),
/** /**
@@ -374,5 +534,17 @@ export const Semantics = Joi.object<Semantics>().keys({
*/ */
venueEntranceGate: Joi.string(), venueEntranceGate: Joi.string(),
/**
* For newly-introduced event tickets
* in iOS 18
*/
venueEntranceDoor: Joi.string(),
/**
* For newly-introduced event tickets
* in iOS 18
*/
venueEntrancePortal: Joi.string(),
wifiAccess: Joi.array().items(WifiNetwork), wifiAccess: Joi.array().items(WifiNetwork),
}); });