Package-level declarations

Types

Link copied to clipboard

Where the issuer placed a TicketDetail on the original pass.

Link copied to clipboard
data class NewTicket(val title: String, val description: String? = null, val ticketNumber: String? = null, val category: TicketCategory = TicketCategory.GENERIC, val source: TicketSource = TicketSource.MANUAL, val issuer: TicketOrganization? = null, val holder: TicketPerson? = null, val seats: List<TicketSeat> = emptyList(), val barcodes: List<TicketBarcode> = emptyList(), val totalPrice: String? = null, val priceCurrency: String? = null, val dateIssued: String? = null, val validFrom: String? = null, val validThrough: String? = null, val reservation: TicketReservation? = null, val journey: TicketJourney? = null, val event: TicketEvent? = null, val membership: TicketMembership? = null, val style: TicketStyle? = null, val details: List<TicketDetail> = emptyList(), val relevantLocations: List<TicketRelevantLocation> = emptyList(), val relevantDate: String? = null, val wifiNetworks: List<TicketWifi> = emptyList(), val silenceRequested: Boolean? = null, val voided: Boolean? = null, val serialNumber: String? = null, val groupingIdentifier: String? = null, val organizationName: String? = null, val passTypeIdentifier: String? = null, val teamIdentifier: String? = null, val webServiceUrl: String? = null, val authenticationToken: String? = null, val sharingProhibited: Boolean? = null, val relevantStartDate: String? = null, val relevantEndDate: String? = null, val beacons: List<TicketBeacon> = emptyList(), val copiedFrom: String? = null) : Parcelable

Input model for creating or updating a ticket — the complete writable state, minus the server-managed fields (Ticket.uri, Ticket.artifactUri, Ticket.images, timestamps, Ticket.etag).

Link copied to clipboard
class NewTicketImages(val logo: ByteArray? = null, val icon: ByteArray? = null, val strip: ByteArray? = null, val thumbnail: ByteArray? = null, val footer: ByteArray? = null, val background: ByteArray? = null) : Parcelable

The binary pass images to store alongside a ticket on create, one slot per pkpass image role. Each non-null slot is uploaded into the ticket's container as {role}.png and linked from the ticket document (see TicketImages).

Link copied to clipboard
data class Ticket(val uri: String, val title: String, val description: String? = null, val ticketNumber: String? = null, val category: TicketCategory = TicketCategory.GENERIC, val source: TicketSource = TicketSource.MANUAL, val issuer: TicketOrganization? = null, val holder: TicketPerson? = null, val seats: List<TicketSeat> = emptyList(), val barcodes: List<TicketBarcode> = emptyList(), val totalPrice: String? = null, val priceCurrency: String? = null, val dateIssued: String? = null, val validFrom: String? = null, val validThrough: String? = null, val reservation: TicketReservation? = null, val journey: TicketJourney? = null, val event: TicketEvent? = null, val membership: TicketMembership? = null, val style: TicketStyle? = null, val details: List<TicketDetail> = emptyList(), val relevantLocations: List<TicketRelevantLocation> = emptyList(), val relevantDate: String? = null, val wifiNetworks: List<TicketWifi> = emptyList(), val silenceRequested: Boolean? = null, val voided: Boolean? = null, val serialNumber: String? = null, val groupingIdentifier: String? = null, val organizationName: String? = null, val passTypeIdentifier: String? = null, val teamIdentifier: String? = null, val webServiceUrl: String? = null, val authenticationToken: String? = null, val sharingProhibited: Boolean? = null, val relevantStartDate: String? = null, val relevantEndDate: String? = null, val beacons: List<TicketBeacon> = emptyList(), val copiedFrom: String? = null, val artifactUri: String? = null, val artifactVerified: Boolean? = null, val images: TicketImages? = null, val createdAt: String? = null, val modifiedAt: String? = null, val etag: String? = null) : Parcelable

A wallet ticket stored on the pod as a schema:Ticket resource — the complete read model.

Link copied to clipboard
class TicketArtifact(val uri: String, val contentType: String, val bytes: ByteArray) : Parcelable

The binary content of a ticket's original imported artifact read from the pod (e.g. the .pkpass file the ticket was created from).

Link copied to clipboard
data class TicketBarcode(val payload: String, val symbology: TicketBarcodeFormat = TicketBarcodeFormat.QR_CODE, val encoding: String? = null, val altText: String? = null, val rotating: Boolean = false) : Parcelable

One barcode on a ticket (solidshare:Barcode). A pass may carry several.

Link copied to clipboard

The barcode symbology of a ticket's payload, stored on a TicketBarcode as solidshare:symbology so the exact barcode the issuer produced can be re-rendered for gate scanners. NONE marks a barcode-less pass.

Link copied to clipboard
data class TicketBeacon(val proximityUuid: String? = null, val major: Int? = null, val minor: Int? = null, val relevantText: String? = null) : Parcelable

A Bluetooth beacon that should surface the pass nearby (solidshare:Beacon).

Link copied to clipboard

The kind of pass a ticket represents. Stored as a literal (solidshare:category) and used to pick the reservation/trip RDF types — see documents/TICKET_VOCAB.md §1.

Link copied to clipboard
data class TicketDetail(val label: String? = null, val value: String? = null, val placement: DetailPlacement? = null, val order: Int? = null, val changeMessage: String? = null, val textAlignment: String? = null, val linkUrl: String? = null) : Parcelable

A label/value field the importer could not map to a typed term (solidshare:Detail).

Link copied to clipboard
data class TicketEvent(val name: String? = null, val startDate: String? = null, val endDate: String? = null, val doorTime: String? = null, val status: TicketEventStatus? = null, val previousStartDate: String? = null, val duration: String? = null, val location: TicketPlace? = null, val performers: List<String> = emptyList(), val organizer: String? = null, val genre: String? = null, val sportName: String? = null, val leagueName: String? = null, val leagueAbbreviation: String? = null, val homeTeam: String? = null, val awayTeam: String? = null, val admissionLevel: String? = null, val admissionLevelAbbreviation: String? = null, val gatesOpenTime: String? = null, val boxOfficeOpenTime: String? = null, val parkingOpenTime: String? = null, val fanZoneOpenTime: String? = null, val venueOpenTime: String? = null, val venueCloseTime: String? = null, val tailgatingAllowed: Boolean? = null, val dateUnannounced: Boolean? = null, val dateUndetermined: Boolean? = null) : Parcelable

The event an event ticket admits to (schema:Event or a subtype).

Link copied to clipboard

Whether and how an event was rescheduled (schema:eventStatus).

Link copied to clipboard
data class TicketGeo(val latitude: Double? = null, val longitude: Double? = null, val elevation: Double? = null) : Parcelable

A latitude/longitude pair (schema:GeoCoordinates).

Link copied to clipboard
data class TicketImages(val logo: String? = null, val icon: String? = null, val strip: String? = null, val thumbnail: String? = null, val footer: String? = null, val background: String? = null) : Parcelable

The pod URIs of a ticket's stored pass images (solidshare:logoImage …), one per pkpass image role. They live inside the ticket's own container, next to its document and artifact, so sharing the container shares the complete pass.

Link copied to clipboard
data class TicketJourney(val mode: TransportMode, val carrierName: String? = null, val serviceNumber: String? = null, val serviceName: String? = null, val departure: TicketStop? = null, val arrival: TicketStop? = null, val departureTime: String? = null, val arrivalTime: String? = null, val originalDepartureTime: String? = null, val originalArrivalTime: String? = null, val boardingTime: String? = null, val originalBoardingTime: String? = null, val transitStatus: String? = null, val transitStatusReason: String? = null, val vehicleName: String? = null, val vehicleNumber: String? = null, val vehicleType: String? = null, val coachNumber: String? = null, val serviceBrand: String? = null, val duration: String? = null, val aircraft: String? = null, val boardingPolicy: String? = null) : Parcelable

The two-ended journey a travel ticket admits to (schema:Flight / TrainTrip / BusTrip / BoatTrip).

Link copied to clipboard
data class TicketList(val tickets: List<TicketSummary>) : Parcelable

A list of TicketSummary rows, wrapped as one Parcelable so it can cross the AIDL boundary.

Link copied to clipboard
data class TicketMembership(val programName: String? = null, val membershipNumber: String? = null, val membershipStatus: String? = null, val pointsBalance: String? = null, val balance: String? = null, val balanceCurrency: String? = null) : Parcelable

A loyalty / frequent-flyer membership (schema:ProgramMembership).

Link copied to clipboard
data class TicketOrganization(val name: String? = null, val logoUri: String? = null, val url: String? = null, val telephone: String? = null, val email: String? = null, val iataCode: String? = null) : Parcelable

The issuing organisation (schema:Organization, or schema:Airline when iataCode is set).

Link copied to clipboard
data class TicketPerson(val name: String? = null, val givenName: String? = null, val familyName: String? = null, val additionalName: String? = null, val honorificPrefix: String? = null, val honorificSuffix: String? = null, val phoneticName: String? = null, val nickname: String? = null) : Parcelable

The ticket holder (schema:Person).

Link copied to clipboard
data class TicketPlace(val name: String? = null, val address: String? = null, val geo: TicketGeo? = null, val telephone: String? = null, val room: String? = null, val entrance: String? = null, val entranceGate: String? = null, val entranceDoor: String? = null, val entrancePortal: String? = null, val regionName: String? = null) : Parcelable

A venue (schema:Place) — the location of an event ticket.

Link copied to clipboard
data class TicketRelevantLocation(val geo: TicketGeo? = null, val maxDistance: Int? = null, val relevantText: String? = null) : Parcelable

A location that should surface the pass on the lock screen (solidshare:RelevantLocation).

Link copied to clipboard
data class TicketReservation(val status: TicketReservationStatus? = null, val bookingReference: String? = null, val bookingTime: String? = null, val modifiedTime: String? = null, val fareClass: String? = null, val boardingGroup: String? = null, val boardingZone: String? = null, val passengerSequenceNumber: String? = null, val passengerPriorityStatus: String? = null, val securityScreening: String? = null, val compartmentCode: String? = null, val passengerStatus: String? = null, val baggageTags: List<String> = emptyList(), val baggageAllowance: String? = null, val fastTrack: Boolean? = null, val electronicTicket: Boolean? = null, val specialServiceRequests: List<String> = emptyList(), val passengerCapabilities: List<String> = emptyList(), val documentsVerified: Boolean? = null, val tariff: String? = null, val validityRegion: String? = null, val checkinTime: String? = null, val checkoutTime: String? = null, val numAdults: Int? = null, val numChildren: Int? = null) : Parcelable

The booking envelope (schema:Reservation or a subtype) — everything about the booking itself.

Link copied to clipboard

Booking lifecycle state (schema:reservationStatus).

Link copied to clipboard
data class TicketSeat(val seatNumber: String? = null, val seatRow: String? = null, val seatSection: String? = null, val seatingType: String? = null, val seatIdentifier: String? = null, val seatLevel: String? = null, val seatAisle: String? = null, val seatDescription: String? = null, val seatSectionColor: String? = null, val coach: String? = null) : Parcelable

A seat assignment (schema:Seat). Repeatable — a pass may cover several seats.

Link copied to clipboard

How a ticket entered the pod, stored as a literal (solidshare:source).

Link copied to clipboard
data class TicketStop(val name: String? = null, val code: String? = null, val iataCode: String? = null, val cityName: String? = null, val timeZone: String? = null, val address: String? = null, val geo: TicketGeo? = null, val terminal: String? = null, val gate: String? = null, val platform: String? = null, val securityPrograms: List<String> = emptyList()) : Parcelable

One end of a journey — an airport, station, stop, or terminal.

Link copied to clipboard
data class TicketStyle(val foregroundColor: String? = null, val backgroundColor: String? = null, val labelColor: String? = null, val stripColor: String? = null, val footerBackgroundColor: String? = null, val logoText: String? = null, val logoSymbolName: String? = null) : Parcelable

The pass's presentation (solidshare:PassStyle) — colours and image URIs. Entirely minted, so the wallet can re-render a pass faithfully and export it back to .pkpass.

Link copied to clipboard
data class TicketSummary(val uri: String, val title: String, val category: TicketCategory = TicketCategory.GENERIC, val eventStart: String? = null, val issuer: String? = null, val validThrough: String? = null, val backgroundColor: String? = null, val foregroundColor: String? = null) : Parcelable

One cached row of a tickets index — enough to render a wallet list without fetching each ticket document.

Link copied to clipboard
data class TicketWifi(val ssid: String? = null, val password: String? = null) : Parcelable

A Wi-Fi network associated with the pass (solidshare:WifiNetwork).

Link copied to clipboard

The mode of a journey — selects the schema:*Trip type and its per-mode predicates.

Properties

Link copied to clipboard

Document name minted for a ticket inside its per-ticket container ({tickets}/{uuid}/ticket). The container also holds the ticket's binary attachments (artifact, pass images). Extension-less like TICKETS_INDEX_NAME.

Link copied to clipboard

Fragment identifying a ticket's primary subject within its document.

Link copied to clipboard

Where a new tickets container is allocated: {storage}datamodule/tickets/.

Link copied to clipboard

Document name minted for the tickets index inside a tickets container. Extension-less on purpose: the index is linked data reached by URL — the type index links to this document and its rows link to each ticket — so the URI never encodes a representation (the module reads and writes JSON-LD; how the server persists it is its own business). Only used when bootstrapping; discovery always follows the registered URL, whatever it is named.

Link copied to clipboard

Path suffix appended to a storage root when allocating the tickets container.