diff --git a/src/schemas/Semantics.ts b/src/schemas/Semantics.ts index e4c146b..8e07be4 100644 --- a/src/schemas/Semantics.ts +++ b/src/schemas/Semantics.ts @@ -32,6 +32,16 @@ declare namespace SemanticTagType { longitude: number; } + /** + * For newly-introduced event tickets + * in iOS 18 + */ + + interface RelevantDate { + startDate: string; + endDate: string; + } + interface Seat { seatSection?: string; seatRow?: string; @@ -69,6 +79,15 @@ const PersonNameComponent = phoneticRepresentation: Joi.string(), }); +/** + * Minimum supported version: iOS 18 + */ + +const RelevantDate = Joi.object().keys({ + startDate: Joi.string().required(), + endDate: Joi.string().required(), +}); + const seat = Joi.object().keys({ seatSection: Joi.string(), seatRow: Joi.string(), @@ -164,6 +183,8 @@ export interface Semantics { performerNames?: string[]; priorityStatus?: string; + relevantDates?: SemanticTagType.RelevantDate[]; + seats?: SemanticTagType.Seat[]; securityScreening?: string; silenceRequested?: boolean; @@ -250,6 +271,8 @@ export const Semantics = Joi.object().keys({ performerNames: Joi.array().items(Joi.string()), priorityStatus: Joi.string(), + relevantDates: Joi.array().items(RelevantDate), + seats: Joi.array().items(seat), securityScreening: Joi.string(), silenceRequested: Joi.boolean(),