APX Data Dictionary · APX Specification · APX 0.16.0 · OpenAPI 0.16.0 · built on APDS 4.1 (2026-01-14) · DraftAPX
APX

Data Dictionary

APX Specification: technical documentation

Version 0.16.0 (draft)

Updated 2026-11-02

APX Specification · APX 0.16.0 · OpenAPI 0.16.0 · built on APDS 4.1 (2026-01-14) · Draft

Introduction

This data dictionary gives the definitions and characteristics of every class, attribute, association role, enumeration and external code list that the APX API defines. It is generated from the normative OpenAPI document, spec/dist/apx-v1.yaml, each time the documents are built, so it always matches the API.

It follows the layout of the APDS 4.1 Data Dictionary:

APDS 4.1 classes are not redefined here. Where an APX member uses one, its type names the APDS domain and class (for example Session.Session), and its definition is in the APDS 4.1 Data Dictionary.

How to read the tables

The tables use the columns of the APDS 4.1 Data Dictionary, with three additions for APX:

  1. Class name: the symbolic name (UpperCamelCase) of the class, as it appears in the OpenAPI document.
  2. Association end / Attribute name: the symbolic name of the member. A member of an unnamed structure is written owner.member.
  3. Designation: the name in natural language.
  4. Definition: the definition, taken from the OpenAPI document. Where the document gives none, the definition of the referenced class is used, or the wording APX uses for the same member elsewhere. A definition marked ‡ was derived from the member's name because the API gives no description. A definition marked † was written by the editors from the APX standard text because the API gives none. Both marks show where the OpenAPI descriptions should be filled in, so that a later edition can drop the marks. An enumeration value shown with "—" has no definition yet.
  5. Kind: class, union (one of several shapes) or enumeration.
  6. Multiplicity: written m..n, as in APDS. m is 0 for optional and 1 or more for mandatory; n is a number or *.
  7. Target / Type: the class, datatype or enumeration of the member, written Domain.Name for APDS 4.1 types and Package.Name for APX types. "code list" names the APX registry whose values the member takes.
  8. Notes (APX): read-only (set by the server), write-only (accepted on input, never returned), nullable (may be sent as null) and deprecated.
  9. APDS status (APX): APX only when the class stays in the APX specification, or the APDS element proposed from it and its tier (see 06 Requests to APDS).

A.1 Data dictionary of packages for "APX"

A.1.1 "Common" package

A.1.1.1 Location of "Common" package. The location of the "Common" package is:

-- APX/Common (source: spec/openapi/domains/common/schemas.yaml; normative text: APX Parts 4, 5, 10 and 12)

A.1.1.2 Classes of the "Common" package

Table A.1 -- Classes of the "Common" package

Class name Designation Definition Kind APDS status
ApxResourceCore Apx resource core Identity core shared by every APX-defined resource. Shaped so any APX resource can itself be the target of an APDS Reference or VersionedReference (RFC 4122 UUID identifier + integer version). class APX only
CodeListValue Code list value A value drawn from an APX or implementer UserDefinedCodeList — carries the defined value plus an optional ReferencedCodeListEntry-style pointer to the list that defines it. class APX only
CredentialDigest Credential digest The apds-ext:apx:credential-digest@1.0 decoration (Part 9 §9.6 rule 6): a keyed digest of a normalized credential identification (a plate), so a consumer that only needs "same plate?" can match without the plate itself. value is base64url(HMAC-SHA-256(key, normalized identification)); the key is named by keyId and distributed through GET /v1/digest-keys. Visible under apx.data:read. class APX only
EventEnvelope Event envelope The single envelope for all APX asynchronous delivery (webhooks and SSE). Attribute names are aligned with CloudEvents 1.0 (informative mapping in the standard's annex); subject carries an APDS Reference so events bind to APDS/APX entities natively. class APX only
Extensions Extensions The official APDS extension container (Use Case Document §C.2.5). Keys MUST follow apds-ext:<namespace>:<class>@<major>.<minor>. Implementations MUST preserve unknown extension keys on round-trip (tolerant reader, faithful writer). An APX decoration key, wherever the container appears, MUST carry a value valid against that decoration's schema (Part 4 §4.3); other keys are any object. class APX only
Problem Problem RFC 9457 problem details. APX problem type URIs are registered in the APX problem-type registry. Used for all APX error responses; APDS-native routes may alternatively use the APDS ResponseStatus shape. class APX only
RecordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). class Proposed: RecordType (Tier 3)

A.1.1.3 Specializations of the "Common" package

There are no specializations in the "Common" package.

A.1.1.4 Associations of the "Common" package

Table A.2 -- Associations of the "Common" package

Class name Association end Designation Definition Multiplicity Target Notes
ApxResourceCore recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
CodeListValue codeListId Code list id VersionedReference to the defining UserDefinedCodeList. 0..1 PkCommon.VersionedReference
EventEnvelope subject Subject The entity this event is about. 0..1 PkCommon.Reference
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
Extensions apds-ext:apx:devicestatus@1.0 0 Live state overlay keyed by Reference to an APDS SupplementalEquipment — never duplicates its descriptive fields. APDS 4.1 has no general equipment status list: its RefillPointStatusEnum (Data Dictionary A.3.53) covers refill points only and is absent from apds-api-4.1.yaml. deviceState values come from the APX registry apx-device-states, which follows that enumeration's style and shares its available, occupied, inoperative and unknown values. Attachable to APDS payloads as apds-ext:apx:devicestatus@1.0. 0..1 Control.DeviceStatus
apds-ext:apx:ratepolicy@1.0 0 Level B decoration on an APDS RateTable, carried in its extensions container as apds-ext:apx:ratepolicy@1.0 (Part 6 §6.6). APDS models the rate deck completely; it has no way to say which tables an agent may offer as a negotiated rate. This is that flag — and because it rides inside the RateTable, every consumer mirroring the deck through the native /rates route (Part 5 §5.2) receives it with the table, no second query. APX deliberately defines NO selection rules here (length of stay, time of day, caller type): the system presenting the deck to an agent or a third party applies its own guardrails. The server's only rule is enforcement — a pushNegotiatedRate naming a table that is not flagged negotiable is refused (422 rate-not-negotiable). 0..1 Control.RatePolicy
apds-ext:apx:lpr-read@1.0 0 What a modern LPR camera knows beyond the plate string and one overall score (Part 13 §13.3a). Carried on the ingested APDS Observation as the Level B decoration apds-ext:apx:lpr-read@1.0 in its extensions container (Part 4 §4.3 — plain APDS consumers ignore it), and projected on LprRead.detail and PlateCandidate.detail. Every field optional; each recognized attribute carries its own confidence. APDS's vehicleAncillaryIdentification (country, stateProvince, make, model, color) remains the APDS-visible copy of the winning values; this block adds the per-attribute confidence, the candidates that lost, and the passage geometry APDS has no fields for. 0..1 Lpr.LprReadDetail
apds-ext:apx:lane-cameras@1.0 0 The LPR cameras on a lane and which way each one faces (Part 13 §13.3a(5)). Carried on an APDS VehicularAccess as the Level B decoration apds-ext:apx:lane-cameras@1.0 in its extensions container (Part 4 §4.3). Facing is relative to the facility, not to the lane's mode, so it holds on reversible lanes. Describes the setup only; APX derives nothing from it. 0..1 Lpr.LaneCameras
apds-ext:apx:reservation@1.0 0 The apds-ext:apx:reservation@1.0 extension object attached to a native AssignedRight. Presence of this extension marks the AssignedRight as a reservation; state transitions follow Part 14 §14.1 (transition table). plannedStart/plannedEnd MUST mirror the AssignedRight's plannedUses[0].startTime/endTime, which is authoritative. 0..1 Reservations.ReservationExtension
apds-ext:apx:permit@1.0 0 The apds-ext:apx:permit@1.1 extension object (Part 14 §14.2; @1.0 remains valid and carries the first two members only): links a renewal permit to the one it renews, so a portal can follow the chain, and caps how many of a multi-vehicle permit's vehicles may be parked at once (§14.2d). 0..1 Reservations.PermitExtension
apds-ext:apx:permit@1.1 1 The apds-ext:apx:permit@1.1 extension object (Part 14 §14.2; @1.0 remains valid and carries the first two members only): links a renewal permit to the one it renews, so a portal can follow the chain, and caps how many of a multi-vehicle permit's vehicles may be parked at once (§14.2d). 0..1 Reservations.PermitExtension
apds-ext:apx:session-detail@1.0 0 The apds-ext:apx:session-detail@1.0 decoration on an APDS Session (Part 5 §5.8): what the pairing of reads decided and APDS has no members for — the reads behind the visit, why and how it ended, the matches it rests on, and the parent visit of an area Session. Written with the native Session POST/PUT by an external pairing engine; a server that pairs reads itself SHOULD write the same block on its own Sessions. A plain APDS client ignores it. It adds no event topic and carries no plate characters. A write that breaks a consistency rule of §5.8 is 422 and nothing is written. 0..1 Data.SessionDetail
apds-ext:apx:match-evidence@1.0 0 How a link to a Session was established and how sure it is (Part 5 §5.8; shared by the matches[] member of apds-ext:apx:session-detail@1.0 and the decoration apds-ext:apx:match-evidence@1.0 on a Violation or ValetTicket). Carries no plate characters and no vehicle attribute values (Part 9 §9.6). Where both ends of one link carry evidence (the Session's matches[] entry and the decoration on the Violation or ValetTicket), the two MUST agree. Evidence with plate.method: lenient or applied: false may excuse a stay but never accuse one: issue on a Violation resting on it is 409 violation-not-issuable (Part 19 §19.4 rule 5). 0..1 Data.MatchEvidence
apds-ext:apx:stay-compliance@1.0 0 The apds-ext:apx:stay-compliance@1.0 decoration on an APDS Session (Part 5 §5.9): the outcome a compliance engine scored for the stay, and the policy it measured against. Written with the native Session POST/PUT by the engine; a server that scores stays itself SHOULD write the same block. The rules that produce the outcome stay in the engine. 0..1 Data.StayCompliance
apds-ext:apx:violation-source@1.0 0 The apds-ext:apx:violation-source@1.0 decoration (Part 19 §19.13): a violation issued by an external enforcement system and imported through POST /v1/enforcement/violation-imports, keyed on system + recordId. sourceRevision, or without one sourceUpdatedTime, orders the source's revisions. 0..1 Violations.ViolationSource
apds-ext:apx:payment-detail@1.0 0 The apds-ext:apx:payment-detail@1.0 decoration (Part 13 §13.6a) on a PaymentRecord or an APDS Payment: the rate sold and the lines that sum to the total, so revenue reports and the deck price check have the base amount, the fee, and the product without a bilateral code. On a PaymentRecord it carries rateSold and lines; on a native APDS Payment it carries rateSold only, because the Payment's own paymentLines are the itemization there. 0..1 Accounts.PaymentDetail
apds-ext:apx:credential-digest@1.0 0 The apds-ext:apx:credential-digest@1.0 decoration (Part 9 §9.6 rule 6): a keyed digest of a normalized credential identification (a plate), so a consumer that only needs "same plate?" can match without the plate itself. value is base64url(HMAC-SHA-256(key, normalized identification)); the key is named by keyId and distributed through GET /v1/digest-keys. Visible under apx.data:read. 0..1 Common.CredentialDigest
apds-ext:apx:equipment-detail@1.0 0 What a piece of hardware is, where it is, and what it does (Part 26 §26.1). Carried on an APDS SupplementalEquipment as the Level B decoration apds-ext:apx:equipment-detail@1.0 in its extensions container (Part 4 §4.3). The equipment TYPE stays the APDS EquipmentTypeEnum (often paymentMachine or other); role says what the item does on the site, from the fixed code list apx-equipment-roles. 0..1 SiteConfiguration.EquipmentDetail
apds-ext:apx:camera@1.0 0 A camera anywhere on the site, not only on a lane (Part 26 §26.3). Carried on a SupplementalEquipment whose EquipmentDetail role is camera, as the Level B decoration apds-ext:apx:camera@1.0. Where the camera is (area, level, lane) and what it is built into (builtInto) are EquipmentDetail members, shared with every other piece of hardware; this decoration adds how it is mounted, what it looks at, and how it can be viewed. It holds no addresses, usernames or passwords: a view is obtained through POST /v1/cameras/{id}/views and the password never leaves the site (Part 26 §26.3). Camera models and stream profiles follow ONVIF (Profile S, Profile T) and are not redefined. apds-ext:apx:lane-cameras@1.0 (Part 13) is unchanged. 0..1 SiteConfiguration.CameraDetail
apds-ext:apx:external-ids@1.0 0 The ids other systems use for the same place, lane or equipment (Part 26 §26.6). Carried on any HierarchyElement as the Level B decoration apds-ext:apx:external-ids@1.0. APDS SupplementalFacility.externalIdentifiers holds untyped strings; here each id says which system issued it. system is a URI the issuer owns, usually its own domain, so APX names no products or platforms. POST /v1/identifiers:resolve finds the APX record from such an id. 0..1 SiteConfiguration.ExternalIdentifiers
apds-ext:apx:place-operations@1.0 0 Operational facts about a place that a call centre needs before a call (Part 26 §26.5). Carried on a place HierarchyElement as the Level B decoration apds-ext:apx:place-operations@1.0. escalationContacts lists roles in calling order, never names or phone numbers: the call platform holds those, so APX carries no personal contact data. A Part 17 approval request is addressed to a role from this list. 0..1 SiteConfiguration.PlaceOperations
RecordInfo creator Creator Reference to the creating Organisation or Contact. 0..1 PkCommon.Reference

A.1.1.5 Attributes of the "Common" package

Table A.3 -- Attributes of the "Common" package

Class name Attribute name Designation Definition Multiplicity Type Notes
ApxResourceCore id Id RFC 4122 UUID, unique within the resource class. 1..1 Uuid
version Version Monotonically increasing object version. 1..1 Integer
CodeListValue value Value The definedValue from the code list entry. 1..1 String
CredentialDigest alg Alg The digest algorithm: HMAC-SHA-256. † 1..1 CredentialDigest.alg (enumeration)
keyId Key id The digest key the value was computed under (rotation by keyId). 1..1 String
value Value base64url, no padding. 1..1 String
credentialType Credential type * barcode : barcode or QR digital print pattern, held on any physical media. * bluetooth : specific bluetooth or BLE identification chip used to associate a BLE receiver to a specific user. Used for both one time and permit uses. * eticket : digital equivalent of a paper ticket, often presentable via smartphone or similar device for control. * hangtag : visible, often removable, credential indicator, with visible markings * licensePlate : fixed plate, in a defined format, used to identify a specific vehicle- Normally a permanent fixture. * permit : issued credential, often in the form of an adhesive label, often placed on the windscreen, credential indicator, with visible markings * qrCode : quick Reference (QR) code * rfid : specific RF identification associated to an RFID-related account. Used for permit uses. * ticket : typically issued paper with printed details, often with magnetic strips; typically single use disposable. * electronicID : an identifier transmitted by electronic means * ticketcoupon : a visible printed or written paper-based ticket or coupon carrying an identifiable credential. * vehicleplate : a fixed identifier (registration plate) visible and fixed to a vehicle. 0..1 Right.CredentialTypeEnum
EventEnvelope id Id Unique event id (delivery-stable; retries reuse it). 1..1 Uuid
type Type Event topic. Either an APX topic (apx.<domain>.<event>.vN) or an APDS EventTypeEnum value (e.g. SessionCreated). 1..1 String
source Source Identifies the publishing implementation/site. 1..1 String
time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
dataschema Dataschema Optional URI of the schema that data validates against. 0..1 Url
data Data Event payload. For APDS EventTypeEnum topics this is the APDS EventData shape. 1..1 Object
Problem type Type Problem type URI from the APX problem registry. 1..1 Url
title Title Short human-readable summary of the problem type. 1..1 String
status Status HTTP status code. 1..1 Integer
detail Detail Human-readable explanation specific to this occurrence. 0..1 String
instance Instance URI reference identifying this specific occurrence. 0..1 String
RecordInfo creationTime Creation time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
creationUser Creation user Human or system principal that created the record. 0..1 String
lastUpdate Last update ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
lastUpdateUser Last update user Human or system principal that last updated the record. 0..1 String
origin Origin The implementation that first created the record, when it differs from the one serving it (Part 18 §18.6 replication): the origin's EventEnvelope.source value. Absent on records the serving implementation created itself. 0..1 String

A.1.2 "Discovery" package

A.1.2.1 Location of "Discovery" package. The location of the "Discovery" package is:

-- APX/Discovery (source: spec/openapi/domains/discovery/schemas.yaml; normative text: APX Part 16)

A.1.2.2 Classes of the "Discovery" package

Table A.4 -- Classes of the "Discovery" package

Class name Designation Definition Kind APDS status
ApxConfiguration Apx configuration Unauthenticated bootstrap configuration document. class APX only
DiscoveryDocument Discovery document What THIS credential can do: exactly the endpoints, commands, topics, and places reachable with the presented token's scopes and grants. Two clients with different grants receive different documents; a client can call everything its document lists and nothing more. class APX only

A.1.2.3 Specializations of the "Discovery" package

There are no specializations in the "Discovery" package.

A.1.2.4 Associations of the "Discovery" package

Table A.5 -- Associations of the "Discovery" package

Class name Association end Designation Definition Multiplicity Target Notes
ApxConfiguration extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
DiscoveryDocument organisation Organisation The client's Organisation (token claim apx_org). 0..1 PkCommon.Reference
uiSurfaces Ui surfaces The vendor screens this client may launch (Part 25 §25.1), each with its display and launch modes and the actions it reports back. Present only when the host implements apx-ui-launch and the client holds apx.ui:launch. 0..* UiLaunch.UiSurface
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions

A.1.2.5 Attributes of the "Discovery" package

Table A.6 -- Attributes of the "Discovery" package

Class name Attribute name Designation Definition Multiplicity Type Notes
ApxConfiguration apxVersion Apx version APX standard version implemented (semver). This is the edition (Part 3 §3.4) whose Parts and registries the implementation follows; when edition is also present the two are equal. 1..1 String
edition Edition The APX edition implemented (Part 3 §3.4), as named in its spec/edition.json. 0..1 String
apdsVersion Apds version APDS version this implementation extends. 1..1 String
tokenEndpoint Token endpoint OAuth2 token endpoint (client-credentials grant). 1..1 Url
apiBase Api base The URL every path in the bundle is relative to (APX /v1/… and APDS-native routes alike). Absent means the origin root that serves this document. REQUIRED when the API is mounted elsewhere (Part 16 §16.1). 0..1 Url
conformanceClasses Conformance classes APX conformance classes this implementation supports, closed under the Part 3 §3.1 dependency table, plus any vendor classes (<vendor-ns>-<class>). Clients ignore classes they do not recognise. 0..* String
features Features Optional features the implementation offers — definedValues from apx-features or vendor features (Part 6 §6.5, Part 11, Part 16 §16.1). 0..* String (code list apx-features)
registries Registries Locations of the published UserDefinedCodeList registries, keyed by the registry name from Part 11 (vendor lists by their own name). 0..1 Map of Url
registryVersions Registry versions The version of each registry the implementation validates against, keyed as registries. 0..1 Map of Integer
DiscoveryDocument client Client The OAuth client id this document was computed for. 1..1 String
conformanceClasses Conformance classes Server classes usable by this client (intersection with its scopes). Always a subset of the bootstrap document's conformanceClasses (Part 16 §16.2). 0..* String
scopes Scopes The scopes of the presented token, reflected exactly (Part 16 §16.2). † 0..* String
places Places Granted HierarchyElement subtree roots (token claim apx_places), reflected exactly. Fail-closed semantics (Part 9 §9.3): an empty array means NO places; the explicit wildcard entry "*" means all places. A token with no apx_places claim is reflected as [], never by omitting the member (Part 16 §16.2). 0..* String
endpoints Endpoints Callable endpoints (APDS-native, APX, and vendor routes under /apx/x/<vendor-ns>/), each callable for at least one target inside the granted places (Part 16 §16.2). 0..* Structure (members below)
endpoints.path Path The OpenAPI path template exactly as it appears in the bundle (/v1/commands/{id}; APDS-native routes unchanged), relative to the bootstrap document's apiBase. 1..1 String
endpoints.methods Methods Upper-case HTTP method names. 0..* String
commandTypes Command types Command types this client may execute (empty without apx.control:execute). A permission list; what the host offers is features (Part 16 §16.2). 0..* String
features Features Optional features of claimed classes that this client may use (definedValues from apx-features, Part 11; Part 6 §6.5). Listed whenever the host offers the feature and the client holds a read or execute scope of the class, so a read-only client can see it too. 0..* String (code list apx-features)
placeCapabilities Place capabilities What each granted place can do, before a call (Part 16 §16.2): the command types the site executes, the surfaces offered there, and the optional features it supports. A site with no revenue control link lists no command types, so an agent knows to use the vendor's screen instead. Absent when every place offers the same as the document-level commandTypes, uiSurfaces and features. 0..* Structure (members below)
placeCapabilities.place Place The HierarchyElement subtree root the row applies to. 1..1 Uuid
placeCapabilities.commandTypes Command types The apx-command-types values this client may send at this place (Part 16 §16.2). † 0..* String
placeCapabilities.uiSurfaces Ui surfaces apx-ui-surfaces values offered at this place. 0..* String
placeCapabilities.features Features The apx-features values the implementation offers at this place. † 0..* String
topics Topics Topics this client may subscribe to: APX registry topics, APDS EventTypeEnum values (Part 8), and vendor topics (<vendor-ns>.). 0..* String
rateLimits Rate limits Advisory per-credential limits (Part 16 §16.2). Defined keys: requestsPerMinute, commandsPerMinute, burst (most requests in any one second), subscriptionsMax, streamConnectionsMax. Every value is a per-credential integer; other keys are advisory vendor additions. 0..1 Map of Integer
replication Replication Part 18 §18.6 — for a place this implementation shares with a replicated site or aggregator implementation, which side is authoritative for each entity class. A write to a class from the non-authoritative side is 409 not-authoritative. Absent when the implementation replicates nothing. 0..* Structure (members below)
replication.place Place The HierarchyElement subtree root the row applies to. 1..1 Uuid
replication.class Class An APDS class (Session, RateTable…) or APX resource class (Violation, Alert…). 1..1 String
replication.authority Authority Which side, site or aggregator, is authoritative for the class at the place (Part 18 §18.6). † 1..1 DiscoveryDocument.replication.authority (enumeration)
replication.peer Peer The other implementation's EventEnvelope.source. 0..1 String

A.1.3 "Data" package

A.1.3.1 Location of "Data" package. The location of the "Data" package is:

-- APX/Data (source: spec/openapi/domains/data/schemas.yaml; normative text: APX Parts 5 and 18)

A.1.3.2 Classes of the "Data" package

Table A.7 -- Classes of the "Data" package

Class name Designation Definition Kind APDS status
AssignedRightChangePayload Assigned right change payload A change-mode body for native PUT /rights/assigned/{id} (Part 5 §5.1a): id plus only the AssignedRight members that changed; an absent member is unchanged and an explicit null clears it. Every member present is checked against the class, and a member the class does not define is refused. Generated at build time (tools/change-payloads.mjs); the generic ChangePayload remains the shape of change-feed items. class APX only
ChangeFeedCursor Change feed cursor mode=change only. Opaque cursor resuming strictly after the last change in this page (Part 5 §5.2 rules 1, 2, 5). datatype APX only
ChangeFeedGrantAdditions Change feed grant additions mode=change only. Present on the first page served after the credential's apx_places grant gained subtrees: the new subtree roots, which the client full-syncs with the route's place filter before relying on the feed for them (Part 5 §5.2 rule 7). list APX only
ChangeFeedNext Change feed next mode=change only. Link to the next page when more changes are immediately available (the same request with this page's cursor); null otherwise. datatype APX only
ChangeFeedPage Change feed page Response of a native APDS list route when called with mode=change. Items are VERBATIM APDS entities carrying only changed fields plus identity (change semantics per Part 5: explicit null = clear the field, absent = unchanged — generalizing APDS Use Case C.1.1.6). Deletions are APDS DeletedReferences (tombstones). class APX only
ChangeFeedTombstones Change feed tombstones mode=change only. Resources removed since the cursor (retention purge, Part 9 §9.6; release of a moved place, Part 18 §18.4), as APDS DeletedReferences carrying the APX resource's schema name as className. Retained for the cursor window (Part 5 §5.2 rule 4). list APX only
ChangeFeedUpdateMode Change feed update mode Present, with the value change, exactly when the page answers mode=change (Part 5 §5.2 rule 8); absent on an ordinary list page. datatype APX only
ChangePayload Change payload A change-mode payload for any native APDS entity class (Part 5 §5.1): the entity's identity plus only the members that changed. An absent member is unchanged; an explicit null clears it. Nested objects that carry their own id (a Session segment, say) follow the same rule. class APX only
ContactPointChangePayload Contact point change payload A change-mode body for native PUT /contacts/{contactId} (Part 5 §5.1a): id plus only the ContactPoint members that changed; an absent member is unchanged and an explicit null clears it. Every member present is checked against the class, and a member the class does not define is refused. Generated at build time (tools/change-payloads.mjs); the generic ChangePayload remains the shape of change-feed items. class APX only
HierarchyElementChangePayload Hierarchy element change payload A change-mode body for native PUT /places/{id} (Part 5 §5.1a): id plus only the HierarchyElement members that changed; an absent member is unchanged and an explicit null clears it. Every member present is checked against the class, and a member the class does not define is refused. Generated at build time (tools/change-payloads.mjs); the generic ChangePayload remains the shape of change-feed items. class APX only
MatchEvidence Match evidence How a link to a Session was established and how sure it is (Part 5 §5.8; shared by the matches[] member of apds-ext:apx:session-detail@1.0 and the decoration apds-ext:apx:match-evidence@1.0 on a Violation or ValetTicket). Carries no plate characters and no vehicle attribute values (Part 9 §9.6). Where both ends of one link carry evidence (the Session's matches[] entry and the decoration on the Violation or ValetTicket), the two MUST agree. Evidence with plate.method: lenient or applied: false may excuse a stay but never accuse one: issue on a Violation resting on it is 409 violation-not-issuable (Part 19 §19.4 rule 5). class Proposed: MatchEvidence (Tier 3); Proposed: MatchTypeEnum (Tier 3); Proposed: MatchDecisionEnum (Tier 3)
ObservationElementChangePayload Observation element change payload A change-mode body for native PUT /observations/{id} (Part 5 §5.1a): id plus only the ObservationElement members that changed; an absent member is unchanged and an explicit null clears it. Every member present is checked against the class, and a member the class does not define is refused. Generated at build time (tools/change-payloads.mjs); the generic ChangePayload remains the shape of change-feed items. class APX only
OccupancyHistoryPage Occupancy history page Occupancy per clock interval for one HierarchyElement (Part 5 §5.5a): the history behind the §5.5 snapshot, derived from the APDS DemandTable records the implementation holds. Buckets are aligned to the interval boundary in the place's time zone; a bucket with no demand record carries no counts, never a guess. class Proposed: DemandType (Tier 3)
OccupancySnapshot Occupancy snapshot Current occupancy for one HierarchyElement, computed from the APDS occupancy model (Supply + DemandTable) that natively lives in the Place hierarchy. A convenience READ (Part 5 §5.5): the Place payload remains the source of truth; this answers "how full is it right now" without pulling the hierarchy. Composed entirely of verbatim APDS occupancy classes — APX adds no parallel occupancy datatypes. class APX only
RateTableChangePayload Rate table change payload A change-mode body for native PUT /rates/{id} (Part 5 §5.1a): id plus only the RateTable members that changed; an absent member is unchanged and an explicit null clears it. Every member present is checked against the class, and a member the class does not define is refused. Generated at build time (tools/change-payloads.mjs); the generic ChangePayload remains the shape of change-feed items. class APX only
RightSpecificationChangePayload Right specification change payload A change-mode body for native PUT /rights/specs/{id} (Part 5 §5.1a): id plus only the RightSpecification members that changed; an absent member is unchanged and an explicit null clears it. Every member present is checked against the class, and a member the class does not define is refused. Generated at build time (tools/change-payloads.mjs); the generic ChangePayload remains the shape of change-feed items. class APX only
SessionChangePayload Session change payload A change-mode body for native PUT /sessions/{id} (Part 5 §5.1a): id plus only the Session members that changed; an absent member is unchanged and an explicit null clears it. Every member present is checked against the class, and a member the class does not define is refused. Generated at build time (tools/change-payloads.mjs); the generic ChangePayload remains the shape of change-feed items. class APX only
SessionClosure Session closure Why and how a Session ended (Part 5 §5.8). class Proposed: SessionClosure (Tier 1)
SessionDetail Session detail The apds-ext:apx:session-detail@1.0 decoration on an APDS Session (Part 5 §5.8): what the pairing of reads decided and APDS has no members for — the reads behind the visit, why and how it ended, the matches it rests on, and the parent visit of an area Session. Written with the native Session POST/PUT by an external pairing engine; a server that pairs reads itself SHOULD write the same block on its own Sessions. A plain APDS client ignores it. It adds no event topic and carries no plate characters. A write that breaks a consistency rule of §5.8 is 422 and nothing is written. class Proposed: Session (Tier 1); Proposed: SessionLifecycleEnum (Tier 2)
SessionReadBinding Session read binding One LPR read attached to a Session by the pairing engine (Part 5 §5.8, member reads[] of apds-ext:apx:session-detail@1.0). class Proposed: SessionRead (Tier 1); Proposed: SessionReadRoleEnum (Tier 1)
StayCompliance Stay compliance The apds-ext:apx:stay-compliance@1.0 decoration on an APDS Session (Part 5 §5.9): the outcome a compliance engine scored for the stay, and the policy it measured against. Written with the native Session POST/PUT by the engine; a server that scores stays itself SHOULD write the same block. The rules that produce the outcome stay in the engine. class APX only

A.1.3.3 Specializations of the "Data" package

There are no specializations in the "Data" package.

A.1.3.4 Associations of the "Data" package

Table A.8 -- Associations of the "Data" package

Class name Association end Designation Definition Multiplicity Target Notes
AssignedRightChangePayload extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions nullable
ChangeFeedGrantAdditions item Item mode=change only. Present on the first page served after the credential's apx_places grant gained subtrees: the new subtree roots, which the client full-syncs with the route's place filter before relying on the feed for them (Part 5 §5.2 rule 7). 0..*
ChangeFeedPage publisher Publisher The publishing Organisation. 0..1 PkCommon.Reference
items Items Changed APDS entities of the route's class, each a change payload (identity plus only the changed members; Part 5 §5.1). 0..* Data.ChangePayload
deleted Deleted Tombstones for deleted entities. 0..* PkCommon.DeletedReference
ChangeFeedTombstones item Item mode=change only. Resources removed since the cursor (retention purge, Part 9 §9.6; release of a moved place, Part 18 §18.4), as APDS DeletedReferences carrying the APX resource's schema name as className. Retained for the cursor window (Part 5 §5.2 rule 4). 0..* PkCommon.DeletedReference
ContactPointChangePayload extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions nullable
HierarchyElementChangePayload extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions nullable
MatchEvidence target Target The record at the other end of the link. In matches[]: an AssignedRight, a ValetTicket, a Violation, a PlateListEntry, or an Observation. In the decoration on a Violation or ValetTicket: the Session. 1..1 PkCommon.Reference
ObservationElementChangePayload extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions nullable
OccupancyHistoryPage place Place Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
OccupancySnapshot place Place The HierarchyElement (Place, Level, Area, …) this snapshot describes. 1..1 PkCommon.Reference
supply Supply The element's supply (verbatim APDS Supply). 0..1 Occupancy.Supply
demand Demand The latest area demand record (verbatim APDS DemandType — count, percentage, occupancyCalculation, recordDateTime). 0..1 Occupancy.DemandType
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
RateTableChangePayload extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions nullable
RightSpecificationChangePayload extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions nullable
SessionChangePayload extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions nullable
SessionDetail reads Reads The reads attached to this Session. A read already bound as entry or exit to another Session of the same place is refused with 409 read-already-bound unless supersedes names that Session. A read naming no Observation visible to the caller is 422 reference-unknown. 0..* Data.SessionReadBinding
supersedes Supersedes The Session whose reads this write takes over (a re-pairing). 0..1 PkCommon.Reference
closure Closure Why and how a Session ended (Part 5 §5.8). 0..1 Data.SessionClosure
matches Matches How a link to a Session was established and how sure it is (Part 5 §5.8; shared by the matches[] member of apds-ext:apx:session-detail@1.0 and the decoration apds-ext:apx:match-evidence@1.0 on a Violation or ValetTicket). Carries no plate characters and no vehicle attribute values (Part 9 §9.6). Where both ends of one link carry evidence (the Session's matches[] entry and the decoration on the Violation or ValetTicket), the two MUST agree. Evidence with plate.method: lenient or applied: false may excuse a stay but never accuse one: issue on a Violation resting on it is 409 violation-not-issuable (Part 19 §19.4 rule 5). 0..* Data.MatchEvidence
parent Parent The visit this area Session is part of (className Session). The parent's hierarchyElement MUST be an ancestor of this Session's (422 request-unprocessable otherwise). Consumers count visits by Sessions without parent; children still open when the parent ends SHOULD be closed no later than its actualEnd with endReason parentExit. 0..1 PkCommon.Reference
SessionReadBinding observation Observation The APDS ObservationElement (className ObservationElement). 1..1 PkCommon.Reference
StayCompliance policy Policy The EnforcementPolicy, at its version, the evaluation used (Part 19 §19.10), whose stayGrace explains the result. Naming no policy visible to the caller is 422 reference-unknown. 0..1 PkCommon.VersionedReference

A.1.3.5 Attributes of the "Data" package

Table A.9 -- Attributes of the "Data" package

Class name Attribute name Designation Definition Multiplicity Type Notes
AssignedRightChangePayload id Id The entity identifier (APDS VersionedIdentity.id). 1..1 String
version Version Positive integer representing the object version. 0..1 Integer nullable
rightSpecification Right specification The RightSpecification the right was granted under. † 0..1 Object nullable
rightHolder Right holder The holder of the right. † 0..1 Object nullable
assignedRightIssuer Assigned right issuer The party that issued the right; server-assigned. † 0..1 Object nullable
issueMethod Issue method How the right's credential was issued: electronic, permit or ticket. † 0..1 Right.IssueMethodTypeEnum nullable
issuanceTime Issuance time The datetime this AssignedRight was issued. 0..1 DateTime nullable
minutesAvailable Minutes available Number of decimal minutes that are remaining for use under a specified AssignedRight. 0..1 Decimal nullable
minutesUsed Minutes used Number of decimal minutes that have been used under a specified AssignedRight. 0..1 Decimal nullable
totalMinutes Total minutes Number of decimal minutes that have been issued under a specified AssignedRight. 0..1 Decimal nullable
remainingValue Remaining value The value of the right not yet used. † 0..1 Object nullable
totalRightValue Total right value The total value of the right. † 0..1 Object nullable
instancesUsed Instances used The total number of instances that have been used under a specified RightSpecification. 0..1 Integer nullable
instancesAvailable Instances available The total number of instances that are available for use under a specified RightSpecification. 0..1 Integer nullable
totalInstances Total instances The total number of instances that have been issued under a specified AssignedRight. 0..1 Integer nullable
expiry Expiry The datetime when the specific AssignedRight expires, and is not longer available for use. 0..1 DateTime nullable
plannedUses Planned uses The planned future uses of the AssignedRight. † 0..* Object nullable
payments Payments The payments made for the AssignedRight. † 0..* Object nullable
monetaryValue Monetary value A record of the monetary value of the right and the service provider that sells it. † 0..1 Object nullable
ChangeFeedPage publicationTime Publication time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
updateMode Update mode Marks the page as a change page; always change (Part 5 §5.2). † 1..1 String (fixed value "change")
cursor Cursor Opaque cursor to resume AFTER the last change in this page. 1..1 String
grantAdditions Grant additions Present on the first page served after the credential's apx_places grant gained subtrees (Part 5 §5.2 rule 7): the new subtree roots. The client MUST full-sync these subtrees before relying on the feed for them — the cursor does not retroactively cover their history. 0..* Uuid
next Next Link to the next page when more changes are immediately available; null otherwise. 0..1 String nullable
ChangePayload id Id The entity's identifier (APDS VersionedIdentity.id). 1..1 String
version Version On a write, the version the client last read (the precondition, Part 4 §4.2a); on a feed item, the version after the change. 0..1 Integer
ContactPointChangePayload contactType Contact type Whether the contact carries its details or refers to an existing contact. † 0..1 PkCommon.ContactTypeEnum nullable
contactNotDefined Contact not defined When true, there is currently no contact defined for the selected role and/or timeframe. Don't use the specialisations in this case. 0..1 Boolean nullable
contactUnknown Contact unknown When true, the contact for the selected role and/or timeframe is unknown. Don't use the specialisations in this case. 0..1 Boolean nullable
shareWithPublic Share with public When true, the details of this contact may be shared with the public. If false these contacts details are for internal purposes only. 0..1 Boolean nullable
validityOfContact Validity of contact The period during which the contact is valid. † 0..1 Object nullable
id Id The entity identifier (APDS VersionedIdentity.id). 1..1 String
version Version Positive integer representing the object version. 0..1 Integer nullable
organisationName Organisation name The name of the organisation of the contact. † 0..* Object nullable
type Type Defines the supported lists of types of contact. * customerService : Contact details for parking customer support for a facility or specific entity * emergencyContact : Contact details for emergency assistance or support for a facility or specific entity specifically related to parking operations * enforcementSystemProvider : Contact details for the provider of the enforcement system * operator : Contact details for the parking operator for a facility or specific entity * owner : Contact details for the owner of a facility or specific entity. * propertyManager : Contact details for the property manager of a facility or related facility. * securityService : Contact details for security services for a facility or specific entity * serviceProvider : Contact details for a parking service provider (e.g. pay-by-mobile provider) 0..1 PkCommon.ContactPointTypeEnum nullable
address Address The addresses of the contact. † 0..* Object nullable
contactDetails Contact details Details for the person, service or parking site, especially address information. † 0..* Object nullable
eMailCommonData E mail common data The e-mail point of contact. † 0..* Object nullable
telephoneContacts Telephone contacts The telephone points of contact. † 0..* Object nullable
pointLocations Point locations The geographic location of the contact point. † 0..* Object nullable
HierarchyElementChangePayload id Id The entity identifier (APDS VersionedIdentity.id). 1..1 String
version Version Positive integer representing the object version. 0..1 Integer nullable
type Type Defines the supported lists of types of parking hierarchy elements permissible * campus : a data structure holding information about a large, often ill-defined area, which may contain many parking structures. * identifiedArea : a data structure holding information about a coherent feature, such as a set of parking spaces that all share the same characteristics. * place : a data structure holding information about a single identifiable parking place. * space : a data structure holding information about a single space for parking, usually designed for one vehicle, which may be denoted by painted or other road surface markers. * subplaceElement : a sub-division of a place for the convenience of the operator that may be used for parking related or other purposes. * specificArea : a specialisation of an identified area that denotes a specific geographic area in a place that has a common physical infrastructure purpose and common characteristics. * vehicularAccess : a specialisation of an identified area defining vehicular access areas. * electricChargingEquipment : a specialisation of a supplemental facility for electric charging areas. * supplementalEquipment : a specialisation of a supplemental facility which is available on some site, for example on a rest area. * supplementalServiceFacility : a specialisation of a supplemental facility to specify the type and number of available sub-facilities, for example 20 restaurants. 0..1 Place.HierarchyElementTypeEnum nullable
name Name Name in natural language. 0..* Object nullable
description Description Free-text description. 0..* Object nullable
aliases Aliases Array of SpecificLanguageString objects representing multi language text. 0..* PkCommon.MultilingualString nullable
operatorDefinedReference Operator defined reference The operator's own reference for the element, the designated alias for a source identifier (Part 4 §4.1a). † 0..1 Object nullable
parentId Parent id The element directly above this one in the place hierarchy. † 0..1 Object nullable
childIds Child ids The child nodes directly related to this hierarchy element. † 0..* Object nullable
layer Layer Indicator of the position of this hierarchy element in the specific hierarchy, with the top of the hierarchy numbered layer 0. 0..1 Integer nullable
rightSpecifications Right specifications The RightSpecifications associated with the element. † 0..* Object nullable
hierarchyElementRecord Hierarchy element record Information concerning the creation of the hierarchy element. † 0..1 Object nullable
hierarchyElementReference Hierarchy element reference A unique reference identifier for this part of the place hierarchy. † 0..1 Object nullable
occupancyLevel Occupancy level The occupancy level of the element, as specified by the data supplier. † 0..1 Object nullable
responsibilityRoleAssignments Responsibility role assignments The roles and responsibilities for the element, such as its operator. † 0..* Object nullable
characteristics Characteristics Information concerning the characteristics of the parking facility. † 0..1 Object nullable
contacts Contacts Contact information for the hierarchy element. † 0..* Object nullable
marketing Marketing A link to marketing material for the facility. † 0..1 Object nullable
operatingRestrictions Operating restrictions The operating restrictions for the hierarchy element. † 0..* Object nullable
rgbColours Rgb colours Colours associated with the hierarchy element. † 0..* Object nullable
times Times The time periods of the facility, such as hours of operation, access and egress, and entrance and exit open times. † 0..1 Object nullable
paymentMethods Payment methods The payment methods accepted at the hierarchy element. † 0..* Object nullable
safetyStandardClassifications Safety standard classifications The safety standard classifications of the place. † 0..* Object nullable
timeZone Time zone IANA time-zone (see https://www.iana.org/time-zones) 0..1 String nullable
placeStreetAddress Place street address The street address of the place. † 0..1 Object nullable
placeBoundedZone Place bounded zone The geographic area bounding the place. † 0..* Object nullable
indicativePointLocation Indicative point location An indicative point location for the element. † 0..* Object nullable
spaceId Space id A reference identifying the space. † 0..1 Object nullable
detection Detection The method used to detect occupancy of the space by a vehicle. † 0..1 Occupancy.ParkingSpaceOccupancyDetectionEnum nullable
spaceBoundedZone Space bounded zone The geographic area of the space, as a GeoJSON object. † 0..1 Object nullable
spaceDimension Space dimension The dimensions of the space. † 0..1 Object nullable
spaceMaximumDims Space maximum dims The maximum physical dimensions for the space's defined purpose. † 0..1 Object nullable
MatchEvidence matchType Match type The kind of link: right — an AssignedRight covers the stay; valet — a ValetTicket's stay; violation — a Violation's stay; list — a plate-list entry matched the vehicle (Part 24); exitPairing — an exit read paired to the Session's entry; sweep — the vehicle seen during an inventory or patrol sweep tied to the Session; other — anything else. 1..1 MatchEvidence.matchType (enumeration)
plate Plate How the plate strings agreed, when the link rests on a plate. 0..1 Structure (members below)
plate.method Method exact — the same characters; alias — a plate the right or account lists for the same vehicle; fold — equal after folding look-alike characters (O/0, I/1, B/8); fuzzy — within the implementation's edit-cost threshold; lenient — accepted under a relaxed rule that may excuse a stay but never accuse one; reviewer — a person judged the plates to match where no automatic method did. 1..1 MatchEvidence.plate.method (enumeration)
plate.editCost Edit cost The weighted edit cost of a fuzzy or lenient match; null otherwise. 0..1 Decimal nullable
plate.jurisdiction Jurisdiction Issuing jurisdiction of the plate (state, province or country). 0..1 MatchEvidence.plate.jurisdiction (enumeration)
vehicle Vehicle The vehicle-attribute evidence (make, model, colour) behind the match, as a level and a score — never the values. 0..1 Structure (members below)
vehicle.level Level unknown — not compared; mismatch — the attributes contradict the match; inconclusive — compared, no signal; weak, good, strong — increasing support. 1..1 MatchEvidence.vehicle.level (enumeration)
vehicle.llr Llr Log-likelihood ratio of the vehicle evidence. 0..1 Decimal
vehicle.model Model The evidence model and version that scored it, opaque. 0..1 String
applied Applied False is a shadow match — recorded for evaluation, not acted on. A link the record actually carries has applied: true. 1..1 Boolean
decidedBy Decided by Whether software or a person made the link. A matchTicket that binds a lane-inquiry candidate SHOULD be recorded as person (Part 5 §5.8 rule 5). 0..1 MatchEvidence.decidedBy (enumeration)
decidedTime Decided time When the link was made. 0..1 PkCommon.DateTime
ObservationElementChangePayload id Id The entity identifier (APDS VersionedIdentity.id). 1..1 String
version Version Positive integer representing the object version. 0..1 Integer nullable
method Method A list of the supported observation types. 0..1 Observation.ObservationTypeEnum nullable
observer Observer The individual person making the observation recorded in this observation element. 0..1 String nullable
type Type * barcode : barcode or QR digital print pattern, held on any physical media. * bluetooth : specific bluetooth or BLE identification chip used to associate a BLE receiver to a specific user. Used for both one time and permit uses. * eticket : digital equivalent of a paper ticket, often presentable via smartphone or similar device for control. * hangtag : visible, often removable, credential indicator, with visible markings * licensePlate : fixed plate, in a defined format, used to identify a specific vehicle- Normally a permanent fixture. * permit : issued credential, often in the form of an adhesive label, often placed on the windscreen, credential indicator, with visible markings * qrCode : quick Reference (QR) code * rfid : specific RF identification associated to an RFID-related account. Used for permit uses. * ticket : typically issued paper with printed details, often with magnetic strips; typically single use disposable. * electronicID : an identifier transmitted by electronic means * ticketcoupon : a visible printed or written paper-based ticket or coupon carrying an identifiable credential. * vehicleplate : a fixed identifier (registration plate) visible and fixed to a vehicle. 0..1 Right.CredentialTypeEnum nullable
observedCredentialId Observed credential id Specific identifier to the referenced observed credential. 0..1 String nullable
observationStartTime Observation start time The initial date and time of the observation. 0..1 DateTime nullable
observationEndTime Observation end time The ending date and time of the observation, when it was continous since observationStartTime. 0..1 DateTime nullable
description Description Free-text description. 0..* Object nullable
creationDateTime Creation date time The date and time stamp for the creation of the observation element. 0..1 DateTime nullable
location Location The location of the observation: where it was observed and where the observer was (APDS Data Dictionary, Observation package). † 0..1 Object nullable
images Images Still or moving images that are evidence for the observation, or references to such evidence. † 0..* Object nullable
elementIds Element ids The hierarchy element (for example a Place, Area or lane) at which the observation was made. † 0..1 Object nullable
vehicleAncillaryIdentification Vehicle ancillary identification Further identification of the observed vehicle, such as make, model and colour. † 0..1 Object nullable
observerOrganisation Observer organisation The organisation responsible for the observation. † 0..1 Object nullable
confidence Confidence Confidence in the value, from 0 to 1. 0..1 Object nullable
characterConfidence Character confidence Per-character confidence in the observed identifier, such as a plate read. † 0..1 Object nullable
OccupancyHistoryPage interval Interval The bucket length as requested (ISO 8601 duration, e.g. PT1H). 1..1 PkCommon.Duration
from From ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
to To ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
buckets Buckets The occupancy figures for each interval, aligned to the interval boundary in the place's time zone (Part 5 §5.5a). † 0..* Structure (members below)
buckets.start Start ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
buckets.maxCount Max count The highest demand count recorded in the bucket. 0..1 Integer
buckets.avgCount Avg count The time-weighted mean demand count over the bucket. 0..1 Decimal
buckets.supplyQuantity Supply quantity The supply in force during the bucket (APDS Supply.supplyQuantity). 0..1 Integer
buckets.samples Samples How many demand records the bucket is computed from. 0..1 Integer
OccupancySnapshot computedAt Computed at When this snapshot was computed. 1..1 PkCommon.DateTime
available Available Convenience derivation: supply.supplyQuantity − demand.count when both are known; null when either side is unknown. Never negative — overfull facilities clamp to 0 (the demand record still shows the true count). 0..1 Integer nullable
evCharging Ev charging Part 23 §23.7 — charging availability under this element, derived from ChargingPointStatus. Optional; present only when the implementation claims apx-charging. Counts are of charging points (APDS ElectricChargingEquipment), not connectors. Absent counts are unknown, never guessed. 0..1 Structure (members below)
evCharging.pointsTotal Points total The number of charging points under the element. † 0..1 Integer
evCharging.available Available Points with availability: available. 0..1 Integer
evCharging.charging Charging The number of charging points under the element that are charging. † 0..1 Integer
evCharging.occupiedNotCharging Occupied not charging Points occupied (cable connected, no energy) — includes complete and idle sessions. 0..1 Integer
evCharging.blocked Blocked Points whose bay holds a vehicle that is not plugged in, or is obstructed. 0..1 Integer
evCharging.inoperative Inoperative Points inoperative or outOfOrder. 0..1 Integer
RateTableChangePayload id Id The entity identifier (APDS VersionedIdentity.id). 1..1 String
version Version Positive integer representing the object version. 0..1 Integer nullable
rateTableName Rate table name The name of the rate table. † 0..* Object nullable
rateTableID Rate table ID An identifier of the rate table. † 0..* Object nullable
availability Availability * private : Parking access is limited to known and authorized individuals. * public : Open to the public. * restricted : Open to the public but requires a direct purpose or permission to use from owner (e.g. Doctor's surgery, storefront...)" 0..1 Rates.RateAvailabilityTypeEnum nullable
rateResponsibleParty Rate responsible party The organisation responsible for fee collection under the rate table; server-assigned. † 0..1 Object nullable
rateSupersedeLink Rate supersede link The rate table that this rate table temporarily supersedes, for the duration set by its expiration times. † 0..1 Object nullable
validation Validation Indicates if validations are accepted when using this RateTable. 0..1 Boolean nullable
rateType Rate type The type of rates in the table: contract, daily, event or hourly. † 0..1 Rates.RateTypeEnum nullable
additionalInformation Additional information Represents a Url for an internet accessible resource. 0..1 PkCommon.Url nullable
validity Validity When the rate table is valid. † 0..1 Object nullable
rateLineCollections Rate line collections The rate line collections that define the rate table. † 0..* Object nullable
RightSpecificationChangePayload id Id The entity identifier (APDS VersionedIdentity.id). 1..1 String
version Version Positive integer representing the object version. 0..1 Integer nullable
description Description Free-text description. 0..* Object nullable
type Type Defines the type of RightSpecification * accessPermission : intended grant access permission * loadingUnloading : intended granting permissions to load and unload vehicles. * oneTimeUseParking : intended for one time or limited parking usage * permitParking : intended for multi-use parking usage * setDownPickup : intended for passenger set down and pick up * waiting : intended to grant permission for an accompanied vehicle to wait 0..1 Right.RightSpecificationTypeEnum nullable
financialReference Financial reference Creator defined free-text reference to financial transactions associated to the specific Right Specification. 0..1 String nullable
transferable Transferable Whether the RightSpecification is available to be transferred between assigned right holders or users. † 0..1 Boolean nullable
transferableConditions Transferable conditions The conditions under which the RightSpecification may be transferred. † 0..1 Boolean nullable
credentials Credentials * barcode : barcode or QR digital print pattern, held on any physical media. * bluetooth : specific bluetooth or BLE identification chip used to associate a BLE receiver to a specific user. Used for both one time and permit uses. * eticket : digital equivalent of a paper ticket, often presentable via smartphone or similar device for control. * hangtag : visible, often removable, credential indicator, with visible markings * licensePlate : fixed plate, in a defined format, used to identify a specific vehicle- Normally a permanent fixture. * permit : issued credential, often in the form of an adhesive label, often placed on the windscreen, credential indicator, with visible markings * qrCode : quick Reference (QR) code * rfid : specific RF identification associated to an RFID-related account. Used for permit uses. * ticket : typically issued paper with printed details, often with magnetic strips; typically single use disposable. * electronicID : an identifier transmitted by electronic means * ticketcoupon : a visible printed or written paper-based ticket or coupon carrying an identifiable credential. * vehicleplate : a fixed identifier (registration plate) visible and fixed to a vehicle. 0..* Right.CredentialTypeEnum nullable
validity Validity When the RightSpecification is valid. † 0..1 Object nullable
expiry Expiry Date/time showing the timestamp for when a RightSpecification ceases to be valid. 0..1 DateTime nullable
rightPools Right pools The pools sharing the number of AssignedRights available, in use or intended for use under the specification in given periods by a given issuer. † 0..* Object nullable
issuer Issuer The party that issues rights of this specification; server-assigned. † 0..1 Object nullable
hierarchyElements Hierarchy elements The places where the RightSpecification is available. † 0..* Object nullable
rateEligibility Rate eligibility The combinations of eligibility requirements and RateTables that apply to the RightSpecification. † 0..* Object nullable
rateTransition Rate transition The rate transition rules that apply to rights of this specification. † 0..1 Object nullable
SessionChangePayload id Id The entity identifier (APDS VersionedIdentity.id). 1..1 String
version Version Positive integer representing the object version. 0..1 Integer nullable
actualStart Actual start The date/time of the start of the session. 0..1 DateTime nullable
actualEnd Actual end The date/time of the end of the session. 0..1 DateTime nullable
initiator Initiator The party that initiated the session; server-assigned. † 0..1 Object nullable
hierarchyElement Hierarchy element The element of the place hierarchy where the session takes place. † 0..1 Object nullable
identifiedCredentials Identified credentials The credentials used for verification during the session. † 0..* Object nullable
segments Segments The segments that record changes of rate and assigned right during the session. † 0..* Object nullable
identifiedVehicle Identified vehicle The vehicle identified for the session. † 0..1 Object nullable
SessionClosure endReason End reason definedValue from apx-session-end-reasons (Part 11) or an implementer code list. 0..1 String (code list apx-session-end-reasons)
endInferred End inferred True when actualEnd was set by a rule rather than observed. 0..1 Boolean
startObserved Start observed False declares actualStart synthetic — an exit-only Session whose entry was never observed; the writer SHOULD then set actualStart equal to actualEnd. Consumers MUST exclude such Sessions from dwell statistics and from occupancy (Part 5 §5.8 rule 4). Absent means true. 0..1 Boolean
rule Rule The implementer rule that closed a stale Session (e.g. transient-48h); null when none applied. 0..1 String nullable
SessionDetail lifecycle Lifecycle open — a vehicle is in the facility, no actualEnd yet; ended — closed, may still be revised; final — no further revision expected; disputed — under review. Every state but open requires actualEnd, and open forbids it (422 request-unprocessable otherwise). final is the writer's statement, never a lock: a server MUST NOT refuse a later revision on that ground. 0..1 SessionDetail.lifecycle (enumeration)
flags Flags Open flags — entryUnknown, orphanExit, reentry, passThrough, or implementer values. 0..* String
passThrough Pass through An area stay shorter than the area's minimum dwell — never scored or billed. 0..1 Boolean
SessionReadBinding role Role entry and exit are the passages that opened and closed the visit; duplicate is the same passage seen by another camera or frame; activity is the vehicle seen inside (a sweep, a bay camera). 1..1 SessionReadBinding.role (enumeration)
representative Representative The read that stands for the visit in lists and screen-pops. At most one per Session; two are 422 request-unprocessable (Part 5 §5.8 rule 1). 0..1 Boolean
StayCompliance status Status definedValue of apx-stay-compliance-statuses, or an implementer code. 1..1 String
family Family The family of the status. For a registry status it MUST be the family the registry gives (422 request-unprocessable). compliant — rights or an exemption covered the stay violation — the stay was not covered as the policy requires withheld — not scored, or held back for review other — an outcome none of the other families fits, for example paid after exit 1..1 StayCompliance.family (enumeration)
pendingStatus Pending status The status the stay would have once a person confirms it; present only with status reviewRequired (422 request-unprocessable otherwise). 0..1 String
flags Flags Facts behind the status — definedValues of apx-stay-compliance-flags, or implementer codes. 0..* String
evaluatedTime Evaluated time When the evaluation ran. 1..1 PkCommon.DateTime
sequence Sequence Orders the evaluations of one Session. A write with a lower sequence than the one held is 409 evaluation-out-of-order; an equal one replaces it. 1..1 Integer
final Final The writer's statement that no further evaluation is expected; never a lock. 0..1 Boolean

A.1.4 "Events" package

A.1.4.1 Location of "Events" package. The location of the "Events" package is:

-- APX/Events (source: spec/openapi/domains/events/schemas.yaml; normative text: APX Part 8)

A.1.4.2 Classes of the "Events" package

Table A.10 -- Classes of the "Events" package

Class name Designation Definition Kind APDS status
ApxEventSubscription Apx event subscription Superset of the APDS 4.1 EventSubscription. A stock APDS client sending only {endpoint, topics} (EventTypeEnum values) gets stock behavior; the APX fields are additive and optional. class APX only
ApxEventSubscriptionPatch Apx event subscription patch Body of PATCH /webhooks/{id}: a JSON Merge Patch (RFC 7396) over ApxEventSubscription. Members present replace the stored value, an explicit null clears an optional member, and absent members are unchanged — so {"status": "active"} alone resumes a subscription. version, when given, is the precondition (Part 4 §4.2a); a stale one is 409 version-conflict. id, activeKeyIds, and recordInfo are server-managed and cannot be patched. class APX only
DeliveryAttempt Delivery attempt One delivery attempt of one event to one subscription. class APX only
DeliveryRecord Delivery record One entry in a subscription's delivery ledger. class APX only
SubscriptionFailure Subscription failure Data of apx.subscription.failed.v1 (Part 8 §8.3): which subscription stopped, where it was delivering, and the attempt that exhausted the schedule. The envelope subject references the same subscription. class APX only
SubscriptionFilters Subscription filters Server-side delivery filtering. class APX only

A.1.4.3 Specializations of the "Events" package

There are no specializations in the "Events" package.

A.1.4.4 Associations of the "Events" package

Table A.11 -- Associations of the "Events" package

Class name Association end Designation Definition Multiplicity Target Notes
ApxEventSubscription filters Filters Server-side delivery filtering. 0..1 Events.SubscriptionFilters
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
ApxEventSubscriptionPatch filters Filters Replaces the stored filters; {} removes every filter. 0..1 Events.SubscriptionFilters
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
DeliveryRecord attemptHistory Attempt history Every attempt so far, oldest first (Part 8 §8.3). deliveryId and lastCode above are those of the latest entry. The normative schedule makes at most 27 attempts per event. 0..* Events.DeliveryAttempt
SubscriptionFailure subscription Subscription The subscription (className ApxEventSubscription). 1..1 PkCommon.Reference

A.1.4.5 Attributes of the "Events" package

Table A.12 -- Attributes of the "Events" package

Class name Attribute name Designation Definition Multiplicity Type Notes
ApxEventSubscription id Id Assigned at creation; used with DELETE/PATCH /webhooks/{id}. 0..1 Uuid
version Version Version number of the record; increases by one on each change (Part 4). 0..1 Integer
endpoint Endpoint Client endpoint URL for webhook deliveries (required for transport=webhook). 0..1 PkCommon.Url
topics Topics APDS EventTypeEnum values (e.g. SessionCreated) and/or APX topics (apx.<domain>.<event>.vN) — freely mixed. 1..* String
transport Transport How events reach the subscriber: by webhook or by server-sent events stream (Part 8). † 0..1 ApxEventSubscription.transport (enumeration)
secret Secret HMAC signing secret (≥32 bytes of entropy, used as raw UTF-8 key material; shorter is 400 invalid-request). For transport: webhook only: server-generated when absent and returned EXACTLY ONCE — in the Prefer=representation creation response. Never present in GET/PATCH responses. An SSE subscription has nothing to sign and gets no secret (Part 8 §8.1). 0..1 String
secretRef Secret ref Identifier of an out-of-band-exchanged secret (Part 9 §9.4) — supply INSTEAD of secret when key material must never transit the API. Never a secret value itself. 0..1 String write-only
keyId Key id Identifier the client chooses for the key it supplies with secret or secretRef; deliveries signed with that key carry it in APX-Key-Id. Server-assigned when absent (Part 8 §8.1). 0..1 String write-only
retireKeyIds Retire key ids PATCH only: key ids to retire now, ending a rotation overlap early. Retiring the last active key is 400 invalid-request. Without it, the server retires the superseded key 24 hours after the rotation (Part 8 §8.1). 0..* String write-only
activeKeyIds Active key ids Identifiers of the currently valid signing keys — two entries during a rotation overlap window, matching deliveries' APX-Key-Id header (Part 9 §9.4). 0..* String read-only
status Status active delivers; paused holds matching events for up to 24 hours and delivers them in order on resume (Part 8 §8.1); failed is server-assigned when the retry schedule is exhausted (a client setting it is 400 invalid-request). PATCH status: active to resume a paused or failed subscription. 0..1 ApxEventSubscription.status (enumeration)
ApxEventSubscriptionPatch version Version The version the client last read. 0..1 Integer
endpoint Endpoint Represents a Url for an internet accessible resource. 0..1 PkCommon.Url
topics Topics The topics the subscription delivers, replacing the stored list. † 0..* String
transport Transport How events reach the subscriber: by webhook or by server-sent events stream (Part 8). † 0..1 ApxEventSubscriptionPatch.transport (enumeration)
secret Secret A new signing secret; starts a rotation overlap (Part 8 §8.1). 0..1 String
secretRef Secret ref A reference to a new signing secret exchanged out of band, never the secret itself; starts a key rotation (Part 9 §9.4). † 0..1 String write-only
keyId Key id The name the client gives the new signing key; the server assigns one when absent (Part 8 §8.1). † 0..1 String write-only
retireKeyIds Retire key ids The signing keys to retire, ending a rotation overlap (Part 8 §8.1). † 0..* String write-only
status Status active or paused — the client-settable states. failed is server-assigned; a PATCH setting it is 400 invalid-request. 0..1 ApxEventSubscriptionPatch.status (enumeration)
DeliveryAttempt deliveryId Delivery id The attempt's APX-Delivery-Id (unique per attempt). 1..1 Uuid
time Time When the attempt was sent — also its APX-Timestamp (each attempt is signed afresh, Part 8 §8.3). 1..1 PkCommon.DateTime
code Code HTTP status code received (0 = network error or timeout). 1..1 Integer
DeliveryRecord deliveryId Delivery id The APX-Delivery-Id of the latest delivery attempt (Part 8 §8.3). † 1..1 Uuid
eventId Event id EventEnvelope.id delivered (stable across retries). 1..1 Uuid
attempts Attempts The number of delivery attempts made for the event so far (Part 8 §8.3). † 1..1 Integer
status Status Whether the event was delivered, is still being retried, or failed. † 1..1 DeliveryRecord.status (enumeration)
lastCode Last code Last HTTP status code received from the endpoint (0 = network error). 0..1 Integer
time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
SubscriptionFailure endpoint Endpoint The endpoint that stopped answering (webhook transport). 0..1 PkCommon.Url
failedTime Failed time When the subscription entered failed. 1..1 PkCommon.DateTime
firstFailedEventId First failed event id EventEnvelope.id of the first event that could not be delivered. 0..1 Uuid
attempts Attempts Attempts made for that event before the schedule was exhausted. 0..1 Integer
lastCode Last code The last HTTP status code received (0 = network error). 0..1 Integer
SubscriptionFilters places Places Only events bound to these HierarchyElement subtrees are delivered (Part 8 §8.5). Every entry must lie inside the token's apx_places grant, else 403 insufficient-grant. 0..* Uuid
severityFloor Severity floor For alert topics — minimum severity delivered. 0..1 SubscriptionFilters.severityFloor (enumeration)
alertTypes Alert types For alert topics — only alerts whose alertType is listed are delivered (Part 8 §8.5a). Values are apx-alert-types entries or implementer types; combines with severityFloor (both must hold). 0..* String (code list apx-alert-types)

A.1.5 "Control" package

A.1.5.1 Location of "Control" package. The location of the "Control" package is:

-- APX/Control (source: spec/openapi/domains/control/schemas.yaml; normative text: APX Part 6)

A.1.5.2 Classes of the "Control" package

Table A.13 -- Classes of the "Control" package

Class name Designation Definition Kind APDS status
Approval Approval Approval evidence, REQUIRED on a write whose AllowedAction said requiresApproval (Part 17 §17.3). Servers MUST reject a requires-approval action without it (403 approval-required). One shared shape for control commands and domain actions (e.g. refunds). class APX only
Command Command A request for an operational action against a lane/device/place. Perishable (expiryTime), idempotent (Idempotency-Key), fully audited (immutable statusHistory). class APX only
CommandResult Command result The structured outcome of a command, populated by the server when the command reaches succeeded (Part 6 §6.1a) and absent before then. Members are normative per command type: lostTicket → ticketNumber, session, amountDue; matchTicket → session, amountDue; pushNegotiatedRate → amountDue, and rateTable when a table was selected (absent for a stated amount, which the lane inquiry reports as currentTicket.negotiatedAmount). Other command types leave it absent unless a registry entry says otherwise. It restates what the lane inquiry shows, so a console can continue (print, take payment) without parsing statusHistory[].detail or making a second call. class APX only
DeviceStatus Device status Live state overlay keyed by Reference to an APDS SupplementalEquipment — never duplicates its descriptive fields. APDS 4.1 has no general equipment status list: its RefillPointStatusEnum (Data Dictionary A.3.53) covers refill points only and is absent from apds-api-4.1.yaml. deviceState values come from the APX registry apx-device-states, which follows that enumeration's style and shares its available, occupied, inoperative and unknown values. Attachable to APDS payloads as apds-ext:apx:devicestatus@1.0. class Proposed: EquipmentStatus (Tier 1)
DisplayProof Display proof What a sign or display confirmed it showed, and when (Part 6 §6.1a): CommandResult.display for a commanded message, and the proof members of a Part 26 §26.9 DisplayRecord for any message. Carries a hash and the wording version, never the message text. class APX only
LaneStatus Lane status The transaction context at a lane right now (the call-center screen-pop). Composes APDS references and data; adds no parallel entities. class APX only
MatchCandidate Match candidate An open session at the place that plausibly belongs to the vehicle in the lane (Part 6 §6.7). Produced by the lane inquiry from the lane's own LPR read, a presented credential, the account registry (by plate or phone), or a checked-in reservation. Composes APDS references; adds no parallel session store. Advisory until a matchTicket command binds one. class APX only
RatePolicy Rate policy Level B decoration on an APDS RateTable, carried in its extensions container as apds-ext:apx:ratepolicy@1.0 (Part 6 §6.6). APDS models the rate deck completely; it has no way to say which tables an agent may offer as a negotiated rate. This is that flag — and because it rides inside the RateTable, every consumer mirroring the deck through the native /rates route (Part 5 §5.2) receives it with the table, no second query. APX deliberately defines NO selection rules here (length of stay, time of day, caller type): the system presenting the deck to an agent or a third party applies its own guardrails. The server's only rule is enforcement — a pushNegotiatedRate naming a table that is not flagged negotiable is refused (422 rate-not-negotiable). class Proposed: RateTable (Tier 2)
ValidationProvider Validation provider A venue/organisation allowed to validate tickets at a place. class APX only

A.1.5.3 Specializations of the "Control" package

There are no specializations in the "Control" package.

A.1.5.4 Associations of the "Control" package

Table A.14 -- Associations of the "Control" package

Class name Association end Designation Definition Multiplicity Target Notes
Approval approvalRequest Approval request The Part 17 §17.3a ApprovalRequest whose decision this evidence cites, when the approval was asked for through APX. 0..1 PkCommon.Reference
Command target Target Reference to the target — SupplementalEquipment (device) or a VehicularAccess/Place HierarchyElement (lane/place scope). 1..1 PkCommon.Reference
requestedBy Requested by The organisation requesting the action (defaults to the token's apx_org). 0..1 PkCommon.Reference
resolutionContext Resolution context The ResolutionContext this command resolves (Part 17) — links the action into the interaction's audit chain. 0..1 PkCommon.Reference
approval Approval Approval evidence, REQUIRED on a write whose AllowedAction said requiresApproval (Part 17 §17.3). Servers MUST reject a requires-approval action without it (403 approval-required). One shared shape for control commands and domain actions (e.g. refunds). 0..1 Control.Approval
result Result The structured outcome of a command, populated by the server when the command reaches succeeded (Part 6 §6.1a) and absent before then. Members are normative per command type: lostTicket → ticketNumber, session, amountDue; matchTicket → session, amountDue; pushNegotiatedRate → amountDue, and rateTable when a table was selected (absent for a stated amount, which the lane inquiry reports as currentTicket.negotiatedAmount). Other command types leave it absent unless a registry entry says otherwise. It restates what the lane inquiry shows, so a console can continue (print, take payment) without parsing statusHistory[].detail or making a second call. 0..1 Control.CommandResult
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
CommandResult session Session The APDS Session the ticket belongs to (lostTicket, matchTicket). 0..1 PkCommon.Reference
amountDue Amount due The amount due on the ticket immediately after the command. 0..1 Rates.AmountInCurrency
rateTable Rate table The RateTable at the exact version applied (pushNegotiatedRate with a table; absent for a stated amount). 0..1 PkCommon.VersionedReference
display Display Proof of display for displayMessage (Part 6 §6.1a): what the device confirmed it showed, when, and whether the player or an operator acknowledged it. A Part 26 §26.9 DisplayRecord that names this command MUST agree with it. 0..1 Control.DisplayProof
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
DeviceStatus device Device Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
LaneStatus lane Lane Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference
currentTicket.session Session Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
currentTicket.amountDue Amount due A class supporting the definition of a unit of currency in a defined currency. 0..1 Rates.AmountInCurrency
currentTicket.validations.provider Provider Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
currentTicket.validations.amountReduced Amount reduced The ACTUAL value this validation removed from the amount due (dispute evidence). 0..1 Rates.AmountInCurrency
currentTicket.lpr.observation Observation Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
currentTicket.negotiatedRate.rateTable Rate table The RateTable selected (VersionedReference — the exact version applied). 1..1 PkCommon.VersionedReference
currentTicket.negotiatedRate.command Command The pushNegotiatedRate Command that applied it — carries agent, reason, and the audit trail. 1..1 PkCommon.Reference
currentTicket.negotiatedRate.policy Policy The table's apds-ext:apx:ratepolicy@1.0 decoration as it stood when applied (its displayName is what the agent saw). 0..1 Control.RatePolicy
currentTicket.negotiatedAmount.amount Amount The amount stated, as the command's parameters.amount. 1..1 Rates.AmountInCurrency
currentTicket.negotiatedAmount.command Command The pushNegotiatedRate Command that applied it — the audit trail. 1..1 PkCommon.Reference
currentTicket.matchedCommand Matched command When this ticket was bound to an open session by a matchTicket command (Part 6 §6.7), the Command that made the match — carries agent, parameters.evidence, and the audit trail. Absent for a ticket physically inserted at the lane. 0..1 PkCommon.Reference
matchCandidates Match candidates Open sessions at this lane's place that plausibly belong to the vehicle in the lane, best first (Part 6 §6.7). Computed when the lane has no ticket in the machine, or whenever the caller passes a plate, phone, or credential lookup parameter. ADVISORY: the agent confirms with the driver; the server never binds a candidate without a matchTicket command. 0..* Control.MatchCandidate
monthlyCredential.credential Credential Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
monthlyCredential.recentEvents.lane Lane Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
MatchCandidate session Session The open APDS Session this candidate proposes. 1..1 PkCommon.Reference
entryLane Entry lane The VehicularAccess the session entered through. 0..1 PkCommon.Reference
evidence Evidence The record that produced the match — the entry Observation, the Credential, the RightHolder account, or the AssignedRight — so the agent can show it and the matchTicket command can cite it. 0..1 PkCommon.Reference
amountDueIfMatched Amount due if matched What the exit would price at from this session's true entry time — so the agent can tell the driver before matching. 0..1 Rates.AmountInCurrency
ValidationProvider provider Provider Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference
program Program The ValidationProgram this row is derived from, when the server claims apx-validations (Part 20) — additive; absent otherwise. 0..1 PkCommon.Reference
benefit.amount Amount Fixed money off. 0..1 Rates.AmountInCurrency

A.1.5.5 Attributes of the "Control" package

Table A.15 -- Attributes of the "Control" package

Class name Attribute name Designation Definition Multiplicity Type Notes
Approval approvedBy Approved by The approving principal (role per AllowedAction.approvalRole). 1..1 String
approvedAt Approved at ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
note Note Free-text note from the actor. 0..1 String
Command id Id Unique identifier of the record (Part 4). 1..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 1..1 Integer read-only
commandType Command type definedValue from apx-command-types (vendGate, lostTicket, pushRate, applyValidation, pushNegotiatedRate, matchTicket, …). 1..1 String
parameters Parameters Command-type-specific parameters. Normative parameter schemas per commandType are given in Part 6 (e.g. lostTicket.method, pushRate.rateTable VersionedReference, applyValidation.ticket + provider, displayMessage.message, setDeviceState.state, pushNegotiatedRate.rateTable VersionedReference to a RateTable flagged negotiable, or pushNegotiatedRate.amount AmountInCurrency (any amount the agent states, where the host offers the negotiatedAmounts feature), matchTicket.session + evidence, resetPassback/forceIn/forceOut.credential, courtesyExit.holder). 0..1 Object
agent Agent Opaque principal of the human or AI agent who initiated the command (mirrors SupportInteraction.agent, Part 17 §17.6). Distinct from requestedBy (the organisation) and from approval.approvedBy (the approver). REQUIRED for pushNegotiatedRate and matchTicket (Part 6 §6.6–6.7): who selected the rate, who made the match. 0..1 String
agentType Agent type Whether agent is a person or an AI agent (mirrors SupportInteraction.agentType). 0..1 Command.agentType (enumeration)
reason Reason Free-text or code-list reason for the action (audit). 0..1 String
resolutionContextVersion Resolution context version The version of the ResolutionContext whose allowed actions this write was checked against, recorded by the server so the decision stays reconstructible after the context is recomputed or expires (Part 17 §17.2). 0..1 Integer read-only
correlationId Correlation id Correlation chain id (Part 17 §17.7) — one id connects call → context → command → events → support interaction. 0..1 Uuid
expiryTime Expiry time Commands are perishable — MUST NOT be dispatched after this instant. 0..1 PkCommon.DateTime
priority Priority Priority of the command. ‡ 0..1 Command.priority (enumeration)
status Status The command's lifecycle state (Part 6 §6.1). † 1..1 Command.status (enumeration) read-only
confirmationLevel Confirmation level How far success is actually confirmed (Part 6 §6.1): the command was accepted; the device acknowledged it; or the physical outcome was verified (e.g. gate-state sensor). Consumers — AI agents especially — MUST NOT claim a physical outcome ("the gate is open") beyond this level ("the open command was accepted"). 0..1 Command.confirmationLevel (enumeration) read-only
statusHistory Status history Immutable, append-only lifecycle audit — THE audit trail (Part 4 §4.2). 0..* Structure (members below)
statusHistory.state State The command status entered at this point in the lifecycle. † 1..1 String
statusHistory.time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
statusHistory.actor Actor The person or system that performed the action. 1..1 String
statusHistory.detail Detail Further detail, in free text. 0..1 String
CommandResult ticketNumber Ticket number The ticket the command issued or bound (lostTicket). 0..1 String
DeviceStatus deviceState Device state definedValue from apx-device-states. 1..1 String
lastCommunication Last communication When the device last reported; an agent reads "offline since" from it (Part 6 §6.4). 0..1 PkCommon.DateTime
stateChangedTime State changed time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
fault Fault The current fault, when deviceState is fault or inoperative and the device reports one (Part 6 §6.4). 0..1 Structure (members below)
fault.code Code The implementation's fault code, as the device reports it. 1..1 String
fault.displayText Display text What the device shows or what the technician reads for the code. 0..1 String
fault.since Since ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
consumables Consumables Supply levels the device reports (Part 6 §6.4). low or empty raises the Part 7 consumableLow alert. 0..* Structure (members below)
consumables.kind Kind Which consumable the level is reported for (Part 6 §6.4). † 1..1 DeviceStatus.consumables.kind (enumeration)
consumables.level Level How much of the consumable is left, as a level, not a count. † 1..1 DeviceStatus.consumables.level (enumeration)
maintenanceMode Maintenance mode The device is under test or maintenance; calls and events from it are excluded from service figures (Part 6 §6.4). 0..1 Boolean
DisplayProof shownTime Shown time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
contentHash Content hash Hash of the rendered content, so a dispute can prove what was shown. 0..1 String
wordingVersion Wording version The wording version the template was rendered under. 0..1 String
screenshot Screenshot Access-controlled link to a capture of the display (Part 9 §9.6). 0..1 PkCommon.Url
acknowledgedBy Acknowledged by Acknowledged by of the display proof. ‡ 0..1 DisplayProof.acknowledgedBy (enumeration)
LaneStatus currentTicket Current ticket The ticket/credential currently in the machine, if any. 0..1 Structure (members below)
currentTicket.ticketNumber Ticket number Number printed on, or encoded in, the parking ticket. 0..1 String
currentTicket.issuedTime Issued time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
currentTicket.paidInFull Paid in full Whether the amount due on the ticket has been paid in full. † 0..1 Boolean
currentTicket.validations Validations The validations applied to the ticket, each with its provider and the actual amount reduced. † 0..* Structure (members below)
currentTicket.validations.providerName Provider name Human-readable vendor name (from the place's ValidationProvider list). 0..1 String
currentTicket.validations.validationType Validation type The provider's validation type at time of application. 0..1 String
currentTicket.validations.validationId Validation id Unique id of this applied validation — maps to APDS Segment.validationId. 0..1 String
currentTicket.validations.appliedTime Applied time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
currentTicket.lpr Lpr Latest plate read at this lane (APDS Observation-derived). 0..1 Structure (members below)
currentTicket.lpr.plate Plate Vehicle license plate text as read or entered. 0..1 String
currentTicket.lpr.confidence Confidence Confidence in the value, from 0 to 1. 0..1 Decimal
currentTicket.lpr.imageLink Image link Represents a Url for an internet accessible resource. 0..1 PkCommon.Url
currentTicket.negotiatedRate Negotiated rate The negotiated rate in effect on this ticket, if a pushNegotiatedRate command that selected a RateTable succeeded for it (Part 6 §6.6). Absent when the ticket prices from the lane's normal rate deck, and absent when the agent stated an amount instead (see negotiatedAmount). At most one of negotiatedRate and negotiatedAmount is present: the latest succeeded pushNegotiatedRate for the ticket decides which. 0..1 Structure (members below)
currentTicket.negotiatedRate.agent Agent The principal who selected the rate (copied from the command for the screen-pop). 0..1 String
currentTicket.negotiatedAmount Negotiated amount The amount an agent stated for this ticket, if a pushNegotiatedRate command carrying parameters.amount succeeded for it (the negotiatedAmounts feature, Part 6 §6.3, §6.6). Absent otherwise. It is what the ticket owes, not a discount. At most one of negotiatedRate and negotiatedAmount is present: the latest succeeded pushNegotiatedRate for the ticket decides which. 0..1 Structure (members below)
currentTicket.negotiatedAmount.reason Reason The command's reason, copied for the screen-pop. 1..1 String
currentTicket.negotiatedAmount.agent Agent The principal who stated the amount (the command's agent), copied for the screen-pop. 1..1 String
monthlyCredential Monthly credential Monthly-parker credential context at the lane, if presented. 0..1 Structure (members below)
monthlyCredential.cardNumber Card number The access credential number presented, not a payment card number. † 0..1 String
monthlyCredential.accessGranted Access granted Whether access was granted to the presented credential. † 0..1 Boolean
monthlyCredential.denialReason Denial reason When access is denied — definedValue from apx-access-denial-reasons or an implementer code list (Part 11), the same vocabulary as Part 21 access events. 0..1 String (code list apx-access-denial-reasons)
monthlyCredential.lastActivity Last activity ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
monthlyCredential.recentEvents Recent events The last 10 activity events on this credential (trend view). 0..10 Structure (members below)
monthlyCredential.recentEvents.time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
monthlyCredential.recentEvents.event Event The kind of activity recorded, such as entry or exit. † 0..1 String
MatchCandidate ticketNumber Ticket number The entry ticket number, if a ticket was issued at entry. 0..1 String
entryTime Entry time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
plate Plate The plate recorded on the session at entry, if any. 0..1 String
matchedBy Matched by How this candidate was found: the lane's LPR read against the entry read (plateRead); a credential presented at the lane (credential); the account registry by plate or phone (account); a checked-in reservation carrying the plate (reservation). 1..1 MatchCandidate.matchedBy (enumeration)
confidence Confidence Server's confidence that this is the vehicle in the lane (a plate-read match projects APDS Confidence.overallConfidence). 1..1 Decimal
imageLink Image link The entry image, for visual confirmation (access-controlled per Part 9 §9.6). 0..1 PkCommon.Url
RatePolicy negotiable Negotiable Whether this RateTable MAY be selected by a pushNegotiatedRate command. 1..1 Boolean
displayName Display name Short agent-facing label for the table when offered as a negotiated rate (e.g. "Customer-service flat $20"). 0..1 String
note Note Free-text guidance for the presenting system or agent. Informative — never evaluated by the server. 0..1 String
ValidationProvider name Name Name in natural language. 0..1 String
validationType Validation type e.g. flat discount, hours comped — implementer code list. 0..1 String
benefit Benefit What the validation is WORTH — disclosed in the lookup so agents can answer disputes. Exactly one of amount (money off), duration (comped time, priced at the applicable rate), or percentage (proportionate discount) applies. 0..1 Structure (members below)
benefit.description Description Human-readable statement of the benefit. 1..1 String
benefit.duration Duration Comped parking time (ISO 8601), valued at the applicable rate. 0..1 PkCommon.Duration
benefit.percentage Percentage Proportionate discount on the amount due, mirrored from a percentage ValidationProgram (Part 20 §20.1). 0..1 Decimal

A.1.6 "SiteConfiguration" package

A.1.6.1 Location of "SiteConfiguration" package. The location of the "SiteConfiguration" package is:

-- APX/SiteConfiguration (source: spec/openapi/domains/siteconfig/schemas.yaml; normative text: APX Part 26)

A.1.6.2 Classes of the "SiteConfiguration" package

Table A.16 -- Classes of the "SiteConfiguration" package

Class name Designation Definition Kind APDS status
CameraDetail Camera detail A camera anywhere on the site, not only on a lane (Part 26 §26.3). Carried on a SupplementalEquipment whose EquipmentDetail role is camera, as the Level B decoration apds-ext:apx:camera@1.0. Where the camera is (area, level, lane) and what it is built into (builtInto) are EquipmentDetail members, shared with every other piece of hardware; this decoration adds how it is mounted, what it looks at, and how it can be viewed. It holds no addresses, usernames or passwords: a view is obtained through POST /v1/cameras/{id}/views and the password never leaves the site (Part 26 §26.3). Camera models and stream profiles follow ONVIF (Profile S, Profile T) and are not redefined. apds-ext:apx:lane-cameras@1.0 (Part 13) is unchanged. class Proposed: Camera (Tier 2); Proposed: CameraMountingEnum (Tier 2); Proposed: CameraViewEnum (Tier 2)
CameraView Camera view A single-use, short-lived link to a camera's live stream, a still, or a recording (Part 26 §26.3). Bound to the agent it was issued to and logged against the correlationId; it expires at expiresAt, never more than 5 minutes after issue, and it never contains a camera credential. class APX only
CameraViewRequest Camera view request Asks for a short-lived link to see a camera (Part 26 §26.3). Whoever holds the camera answers, the PARCS, the video system or an on-site gateway, and the camera's password never leaves the site. playback needs from and to and the cameraPlayback feature. class APX only
CommsPoint Comms point Any way a parker reaches help from a lane or a location (Part 26 §26.4): an intercom, an analog dialler, a posted phone number, a kiosk, a QR code, an app. A call platform matches an inbound contact to a comms point by the number it calls out as (callerId), the number it called (phoneNumber), or its own device id (commsDeviceId), and APX then answers with the lane, or with the location only when the comms point serves no single lane (a posted number shared by many lanes can never name the lane by itself). class Proposed: CommsPoint (Tier 3)
DisplayRecord Display record The record that a sign showed a message (Part 26 §26.9): which sign, which kind of message, when, and for which read or stay. Written by whichever system drove the display, the edge controller, the PARCS or the sign's own player, often with no APX command involved; immutable once written. It is the proof of display a refused-service message needs (Part 24 §24.4), and the data an operator measures the signs by. class APX only
EquipmentDetail Equipment detail What a piece of hardware is, where it is, and what it does (Part 26 §26.1). Carried on an APDS SupplementalEquipment as the Level B decoration apds-ext:apx:equipment-detail@1.0 in its extensions container (Part 4 §4.3). The equipment TYPE stays the APDS EquipmentTypeEnum (often paymentMachine or other); role says what the item does on the site, from the fixed code list apx-equipment-roles. class Proposed: SupplementalEquipment (Tier 2)
EquipmentRecord Equipment record An APDS SupplementalEquipment as APX serves it (Part 26 §26.1): the stock APDS record plus its extensions container, which carries the apds-ext:apx:equipment-detail@1.0 decoration (REQUIRED on every record this class serves), apds-ext:apx:camera@1.0 on a camera, and apds-ext:apx:external-ids@1.0 where other systems have ids for it. The APDS record itself is never reshaped. class APX only
ExternalIdentifiers External identifiers The ids other systems use for the same place, lane or equipment (Part 26 §26.6). Carried on any HierarchyElement as the Level B decoration apds-ext:apx:external-ids@1.0. APDS SupplementalFacility.externalIdentifiers holds untyped strings; here each id says which system issued it. system is a URI the issuer owns, usually its own domain, so APX names no products or platforms. POST /v1/identifiers:resolve finds the APX record from such an id. class APX only
IdentifierResolution Identifier resolution The APX record an external id names (Part 26 §26.6). class APX only
IdentifierResolveRequest Identifier resolve request An external id to look up (Part 26 §26.6), as it appears in an ExternalIdentifiers entry. class APX only
PlaceOperations Place operations Operational facts about a place that a call centre needs before a call (Part 26 §26.5). Carried on a place HierarchyElement as the Level B decoration apds-ext:apx:place-operations@1.0. escalationContacts lists roles in calling order, never names or phone numbers: the call platform holds those, so APX carries no personal contact data. A Part 17 approval request is addressed to a role from this list. class APX only

A.1.6.3 Specializations of the "SiteConfiguration" package

Table A.17 -- Specializations of the "SiteConfiguration" package

Class name Parent class name
CommsPoint Common.ApxResourceCore
DisplayRecord Common.ApxResourceCore
DisplayRecord Control.DisplayProof
EquipmentRecord Place.SupplementalEquipment

A.1.6.4 Associations of the "SiteConfiguration" package

Table A.18 -- Associations of the "SiteConfiguration" package

Class name Association end Designation Definition Multiplicity Target Notes
CameraDetail recorder.equipment Equipment Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
CameraView camera Camera Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference
CommsPoint place Place The location it serves. 1..1 PkCommon.Reference
lane Lane The VehicularAccess it serves, when it serves exactly one. 0..1 PkCommon.Reference
equipment Equipment The SupplementalEquipment it is, when it is inventoried hardware (role intercom, analogDialer, emergencyPhone). 0..1 PkCommon.Reference
serves Serves The barrier an agent opens for this comms point, a gate or an access door, when there is one. 0..1 PkCommon.Reference
coverage.period Period Defines a continuous time period or a set of discontinuous time periods defined by the intersection of a set of criteria all within an overall delimiting interval. 0..1 PkCommon.Period
DisplayRecord display Display The sign, a SupplementalEquipment of §26.1 (role laneDisplay or countSign). 1..1 PkCommon.Reference
place Place The place of the display; the server derives it from the device, and a body value that disagrees is 422 request-unprocessable. 0..1 PkCommon.Reference
observation Observation The read that triggered the message (className ObservationElement), when there was one. 0..1 PkCommon.Reference
session Session The stay the message was for (className Session), when there was one. 0..1 PkCommon.Reference
command Command The Part 6 displayMessage command that drove the sign, when one did; shownTime and contentHash then agree with its CommandResult.display. 0..1 PkCommon.Reference
EquipmentDetail lane Lane The VehicularAccess the item serves. Absent for place-level equipment (an access door, a pay-on-foot station, a server). 0..1 PkCommon.Reference
builtInto Built into The host equipment this item is part of (an intercom in a door's call box, a camera in a pay station). 0..1 PkCommon.Reference
controls Controls The barriers this device opens (an exit verifier that controls gate 2, a card reader that controls an access door). 0..* PkCommon.Reference
serviceProvider.organisation Organisation Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
EquipmentRecord extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
IdentifierResolution target Target The place, lane, equipment or comms point found. 1..1 PkCommon.Reference
place Place The place the target belongs to (the target itself when it is a place). 0..1 PkCommon.Reference
PlaceOperations escalationContacts.hours Hours When this role is reachable. Absent means always. 0..1 PkCommon.Period

A.1.6.5 Attributes of the "SiteConfiguration" package

Table A.19 -- Attributes of the "SiteConfiguration" package

Class name Attribute name Designation Definition Multiplicity Type Notes
CameraDetail mounting Mounting When builtIn, EquipmentDetail builtInto names the host, for example a pay station's driver camera. 0..1 CameraDetail.mounting (enumeration)
view View What the camera looks at; one camera may cover several. 1..* CameraDetail.view (enumeration)
faces Faces For lanes, plazas and ramps, relative to the facility (Part 13 §13.3a). 0..1 CameraDetail.faces (enumeration)
primary Primary Show this camera first for its lane or area. 0..1 Boolean
ptz Ptz Can pan, tilt and zoom. 0..1 Boolean
recorder Recorder The DVR or NVR that records it (an equipment item with role videoRecorder) and the channel. 0..1 Structure (members below)
recorder.channel Channel The channel on the recorder that keeps this camera. † 0..1 String
streams Streams What the camera can deliver, so a host knows what kind of view to ask for. 0..* Structure (members below)
streams.protocol Protocol The stream protocol the camera can deliver (Part 26 §26.3). † 1..1 CameraDetail.streams.protocol (enumeration)
streams.transport Transport The transport of the stream, such as tcp or udp for RTSP. † 0..1 String
streams.resolution Resolution The picture size of the stream, such as 1920x1080. † 0..1 String
retentionDays Retention days How long recordings are kept; stated per camera because driver and pedestrians views capture faces (Part 26 §26.3). 0..1 Integer
credentialRef Credential ref For a camera that cannot sit behind a gateway, the label of the credential the receiving system looks up in its own vault. NEVER the secret itself; the secret is exchanged once, outside APX, at onboarding (Part 9 §9.7). 0..1 String
CameraView id Id Unique identifier of the record (Part 4). 1..1 Uuid
kind Kind The kind of view the link delivers. † 1..1 CameraView.kind (enumeration)
url Url The single-use link, bound to the agent, that delivers the view until expiresAt (Part 26 §26.3). † 1..1 Url
protocol Protocol What the link serves (snapshot is an image). 0..1 CameraView.protocol (enumeration)
expiresAt Expires at ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
issuedTo Issued to The agent, echoed. 0..1 String
from From ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
to To ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
CameraViewRequest kind Kind Whether a live view, a snapshot or a playback is asked for (Part 26 §26.3). † 1..1 CameraViewRequest.kind (enumeration)
from From ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
to To ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
agent Agent The staff member the view is issued to; every view is logged against them. 1..1 String
agentType Agent type Whether a person or an AI agent will view the camera. † 0..1 CameraViewRequest.agentType (enumeration)
correlationId Correlation id The interaction the view belongs to; a view link MUST NOT be reused outside it. 1..1 Uuid
interactionId Interaction id The calling application's opaque interaction identifier (Part 17 §17.7). † 0..1 String
CommsPoint id Id Unique identifier of the record (Part 4). 0..1 Uuid read-only
version Version Server-managed; bodies carry it only for a versioned replace (Part 4 §4.2a). 0..1 Integer read-only
type Type definedValue from apx-comms-point-types. 1..1 String
phoneNumber Phone number E.164. The number that is called when help is requested, dialled by the parker for a posted number, or by the intercom or dialler when its button is pushed. 0..1 String
callerId Caller id E.164. The number the device calls out as. 0..1 String
commsDeviceId Comms device id The id the call platform uses for this comms point when it identifies it by neither caller id nor dialled number. 0..1 String
coverage Coverage When the comms point is answered and in which languages. The answering call centre itself is not named. 0..* Structure (members below)
coverage.languages Languages BCP 47 language tags. 0..* String
DisplayRecord id Id Unique identifier of the record (Part 4). 0..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 0..1 Integer read-only
messageKind Message kind definedValue of apx-display-message-kinds, or an implementer code for a location's own messages. 1..1 String
EquipmentDetail role Role definedValue from apx-equipment-roles (a fixed list; other is a code, not free text). 1..1 String
manufacturer Manufacturer The maker of the item, as named on it (Part 26 §26.1). † 0..1 String
model Model Vehicle model. 0..1 String
firmwareVersion Firmware version The firmware release running on the item; recommended. † 0..1 String
softwareVersion Software version The application software on the device, when distinct from its firmware. 0..1 String
serialNumber Serial number The maker's serial number of the item. † 0..1 String
macAddresses Mac addresses One per network interface, lower-case hex without separators. 0..* String
installedAt Installed at The date the item went into service. † 0..1 Date
area Area Where on the site the item is, a definedValue from apx-area-types (Part 26 §26.2). 0..1 String
level Level The floor label as signed on site. 0..1 String
serviceProvider Service provider Who services the item. An organisation and a support reference, never a person. 0..1 Structure (members below)
serviceProvider.supportReference Support reference The provider's own reference for this unit or contract (an asset tag, a contract number). 0..1 String
ExternalIdentifiers identifiers Identifiers The identifiers other systems use for this element, each with the system that issued it (Part 26 §26.6). † 1..* Structure (members below)
identifiers.system System A URI owned by the system that issued the id. 1..1 Url
identifiers.id Id Unique identifier of the record (Part 4). 1..1 String
IdentifierResolution className Class name The target's class, repeated for convenience. 1..1 String
IdentifierResolveRequest system System The URI of the system that issued the identifier, as it appears in the element's external identifiers. † 1..1 Url
id Id Unique identifier of the record (Part 4). 1..1 String
PlaceOperations commsAccountId Comms account id The id the call platform uses for the whole site (its account), the site-level pair of CommsPoint.commsDeviceId. 0..1 String
escalationContacts Escalation contacts Who to escalate to, by role, in order. 0..* Structure (members below)
escalationContacts.role Role definedValue from apx-escalation-roles. 1..1 String
escalationContacts.order Order Calling order; 1 is tried first. 1..1 Integer

A.1.7 "Alerts" package

A.1.7.1 Location of "Alerts" package. The location of the "Alerts" package is:

-- APX/Alerts (source: spec/openapi/domains/alerts/schemas.yaml; normative text: APX Part 7)

A.1.7.2 Classes of the "Alerts" package

Table A.20 -- Classes of the "Alerts" package

Class name Designation Definition Kind APDS status
Alert Alert An operational condition requiring attention. Alert types are OPEN (UserDefinedCodeList apx-alert-types, seeded from APDS Use Case C.2.2 transaction exceptions and space statuses); severity is CLOSED. class Proposed: Alert (Tier 2); Proposed: AlertSeverityEnum (Tier 2); Proposed: AlertStatusEnum (Tier 2)
AlertTransition Alert transition Optional body of POST /v1/alerts/{id}/acknowledge and /resolve (Part 7 §7.2). Annotates the statusHistory[] entry the transition appends. Sending no body is equivalent to sending {}. class APX only

A.1.7.3 Specializations of the "Alerts" package

There are no specializations in the "Alerts" package.

A.1.7.4 Associations of the "Alerts" package

Table A.21 -- Associations of the "Alerts" package

Class name Association end Designation Definition Multiplicity Target Notes
Alert source.device Device Reference to a SupplementalEquipment. 0..1 PkCommon.Reference
relatedEntity Related entity The APDS/APX entity this alert concerns (Session, AssignedRight, Command…). 0..1 PkCommon.Reference
supportInteraction Support interaction The Part 17 SupportInteraction the alert was raised from, when a call produced it (a receipt request, a refund request, a damage report; Part 7 §7.6). 0..1 PkCommon.Reference
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
AlertTransition extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions

A.1.7.5 Attributes of the "Alerts" package

Table A.22 -- Attributes of the "Alerts" package

Class name Attribute name Designation Definition Multiplicity Type Notes
Alert id Id Server-assigned when the raise carries none. A client MAY supply its own UUID on raise (Part 4 §4.1, Part 7 §7.1); an id that already exists is 409 id-collision. 1..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 1..1 Integer read-only
alertType Alert type definedValue from apx-alert-types or an implementer code list. 1..1 String
severity Severity How serious the condition is, from info to critical (Part 7). † 1..1 Alert.severity (enumeration)
status Status Lifecycle: raised → acknowledged → resolved | expired. 1..1 Alert.status (enumeration) read-only
source Source Where the condition was detected. 0..1 Structure (members below)
source.place Place HierarchyElement UUID (subtree semantics for filtering). 0..1 Uuid
occurrenceTime Occurrence time When the condition actually occurred (may precede detection). 0..1 PkCommon.DateTime
detectionTime Detection time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
expiryTime Expiry time The end of the alert's validity window (Part 7 §7.3). Settable on raise; when absent the server MAY default it by policy per alertType, and returns the value it applies. If the alert is still raised or acknowledged at this instant the server transitions it to expired and publishes apx.alert.status.v1. Absent means the alert never expires on its own. 0..1 PkCommon.DateTime
description Description Human-readable detail. 0..1 PkCommon.MultilingualString
statusHistory Status history Immutable, append-only lifecycle audit (Part 4 §4.2). 0..* Structure (members below)
statusHistory.state State The alert status entered at this point in the lifecycle. † 1..1 String
statusHistory.time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
statusHistory.actor Actor Client/agent principal that caused the transition. 1..1 String
statusHistory.detail Detail Further detail, in free text. 0..1 String
AlertTransition detail Detail Copied verbatim into the appended history entry's detail. 0..1 String
agent Agent The human or AI principal acting through the calling client (as Command.agent, Part 6 §6.1). When given it is recorded as the appended entry's actor; otherwise actor is the principal derived from the token. Attribution only: authorization is always the token's. 0..1 String

A.1.8 "Accounts" package

A.1.8.1 Location of "Accounts" package. The location of the "Accounts" package is:

-- APX/Accounts (source: spec/openapi/domains/accounts/schemas.yaml; normative text: APX Part 13)

A.1.8.2 Classes of the "Accounts" package

Table A.23 -- Classes of the "Accounts" package

Class name Designation Definition Kind APDS status
Account Account A billable parking account (monthly parker, fleet…), anchored on an APDS RightHolder. class Proposed: RightHolder (Tier 2); Proposed: AccountStatusEnum (Tier 2)
AccountSearch Account search Request body of POST /v1/accounts:search (Part 13 §13.1): the same keys as the GET lookup, carried in a body so personal data never enters a URL (Part 9 §9.6). class APX only
PaymentDetail Payment detail The apds-ext:apx:payment-detail@1.0 decoration (Part 13 §13.6a) on a PaymentRecord or an APDS Payment: the rate sold and the lines that sum to the total, so revenue reports and the deck price check have the base amount, the fee, and the product without a bilateral code. On a PaymentRecord it carries rateSold and lines; on a native APDS Payment it carries rateSold only, because the Payment's own paymentLines are the itemization there. class Proposed: RateSold (Tier 3); Proposed: RateProductEnum (Tier 3); Proposed: RateClassEnum (Tier 3)
PaymentLink Payment link A hosted payment link sent to a customer (Part 13 §13.1a) — the customer-service payment action of first resort. APX carries the link's lifecycle, never card data; the hosted page is the implementer's PCI scope. class APX only
PaymentLinkCancel Payment link cancel Request body cancelling a payment link before the customer pays (Part 13 §13.1a). The body is optional; reason is recorded on the link's audit trail. class APX only
PaymentRecord Payment record A payment taken through APX (maps to the APDS Payment concept; card capture stays in the implementer's PCI scope). class Proposed: Payment (Tier 2); Proposed: PaymentStatusEnum (Tier 2); Proposed: CaptureStatusEnum (Tier 2)
PaymentSearch Payment search Request body of POST /v1/payments:search (Part 13 §13.2): the same keys and rules as the GET lookup, in a body (Part 9 §9.6). class APX only
Posting Posting An accounting write-back of a payment to a monthly-parking/AR system. class APX only
PostingRequest Posting request Request body for the accounting write-back of a payment. class APX only
ReceiptDelivery Receipt delivery The outcome of a receipt request (Part 13 §13.1a). class APX only
ReceiptRequest Receipt request Asks the implementation to send the receipt for a settled payment again (Part 13 §13.1a). The destination travels in the body, never in a URL, and is not stored beyond the delivery. class APX only

A.1.8.3 Specializations of the "Accounts" package

There are no specializations in the "Accounts" package.

A.1.8.4 Associations of the "Accounts" package

Table A.24 -- Associations of the "Accounts" package

Class name Association end Designation Definition Multiplicity Target Notes
Account holder Holder Reference to the APDS RightHolder. 0..1 PkCommon.Reference
credentials Credentials The account's CredentialRecords (Part 21), when the server claims apx-credentials — additive; cardNumber and plates remain the APDS-only summary. 0..* PkCommon.Reference
balance Balance Current balance due. 0..1 Rates.AmountInCurrency
places Places HierarchyElement subtree roots this account is valid at. On aggregating implementations (one endpoint fronting many locations) this is how consumers attribute the account to its site(s); results of place-less account lookups MUST stay within the caller's apx_places grant (Part 13 §13.5). 0..* PkCommon.Reference
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
PaymentDetail rateSold.rateTable Rate table The APDS RateTable at the version applied, when known. 0..1 PkCommon.VersionedReference
lines Lines The itemization, as APDS PaymentLines (by $ref, never re-shaped). Each line's code is its idCode: a definedValue of apx-payment-line-codes (Part 11) or an implementer code. A line coded validation has paymentType: validation and its value is the value the validation offset (not money collected); every other line has paymentType: payment, and a reduction (discount) is a negative value. The currencyValues of the paymentType: payment lines MUST sum to the record's amount, in its currencyType; otherwise 422 request-unprocessable and nothing is charged. Only on a PaymentRecord: on a native APDS Payment the itemization is that Payment's own paymentLines and this member is absent (one store, Part 13 §13.6a). 0..* Rates.PaymentLine
PaymentLink place Place Site binding (Part 13 §13.5). 1..1 PkCommon.Reference
account Account The account the payment settles (or omit and use ticketNumber). 0..1 PkCommon.Reference
session Session Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
amount Amount Requested amount; omit to charge the current amount due. 0..1 Rates.AmountInCurrency
payment Payment The resulting PaymentRecord once paid. 0..1 PkCommon.Reference
resolutionContext Resolution context Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
approval Approval Approval evidence, when the context's AllowedAction for the link said requiresApproval (Part 17 §17.3). 0..1 Control.Approval
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
PaymentRecord place Place The HierarchyElement (site) this payment is bound to. REQUIRED so every payment — in API responses and in apx.accounts.payment.recorded.v1 events — is attributable to its location on implementations fronting many places (Part 13 §13.5). 1..1 PkCommon.Reference
amount Amount A class supporting the definition of a unit of currency in a defined currency. 1..1 Rates.AmountInCurrency
refundedAmount Refunded amount Cumulative amount refunded so far (Part 13 §13.1a). Absent or zero = nothing refunded. When it reaches amount the record is reversed; a partial refund leaves it approved with this member showing what was given back. 0..1 Rates.AmountInCurrency read-only
account Account Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
postings Postings Accounting write-backs (PARIS-style) applied for this payment. 0..* Accounts.Posting
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
Posting newBalance New balance A class supporting the definition of a unit of currency in a defined currency. 0..1 Rates.AmountInCurrency
PostingRequest account Account Account to post against when the payment isn't already account-bound. 0..1 PkCommon.Reference
ReceiptDelivery payment Payment Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference

A.1.8.5 Attributes of the "Accounts" package

Table A.25 -- Attributes of the "Accounts" package

Class name Attribute name Designation Definition Multiplicity Type Notes
Account id Id Unique identifier of the record (Part 4). 1..1 Uuid
version Version Version number of the record; increases by one on each change (Part 4). 1..1 Integer
name Name Name in natural language. 0..1 String
phone Phone The contact phone number on file, personal data returned only under apx.accounts:read (Part 9 §9.6). † 0..1 String
email Email Contact e-mail on file. Personal data under the same Part 9 §9.6 minimization rule as phone: returned only under apx.accounts:read (Part 13 §13.1). 0..1 String
cardNumber Card number Access credential number (NOT a payment card PAN). 0..1 String
plates Plates The licence plates registered to the account. † 0..* String
accountStatus Account status Whether the account is enabled for use. † 1..1 Account.accountStatus (enumeration)
AccountSearch name Name Name in natural language. 0..1 String
phone Phone A phone number to look accounts up by. † 0..1 String
email Email An e-mail address to look accounts up by. † 0..1 String
card Card Truncated card digits only (two to four); more is 422 personal-data-not-permitted. 0..1 String
plate Plate Vehicle license plate text as read or entered. 0..1 String
place Place HierarchyElements that narrow the lookup to accounts valid at them. † 0..* Uuid
page Page Pagination information for this page of results. 0..1 Integer
PaymentDetail rateSold Rate sold The rate the vendor sold, as the vendor names it. 0..1 Structure (members below)
rateSold.id Id The vendor's rate id, or the APDS RateTable id when the deck is the source. 0..1 String
rateSold.name Name Name in natural language. 0..1 String
rateSold.product Product The kind of product the rate sold. † 0..1 PaymentDetail.rateSold.product (enumeration)
rateSold.class Class How the price of the rate sold was arrived at. † 0..1 PaymentDetail.rateSold.class (enumeration)
PaymentLink id Id Unique identifier of the record (Part 4). 1..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 1..1 Integer read-only
ticketNumber Ticket number Number printed on, or encoded in, the parking ticket. 0..1 String
channel Channel Delivery channel (sms | email | other implementer code list). 1..1 String
sentTo Sent to Masked destination (e.g. "+1•••••••4567"). PII-minimized. 0..1 String
status Status The link's lifecycle state (Part 13 §13.1a). † 1..1 PaymentLink.status (enumeration) read-only
expiresAt Expires at ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
correlationId Correlation id Identifier that links related requests and records. 0..1 Uuid
resolutionContextVersion Resolution context version The version of the ResolutionContext whose allowed actions this write was checked against, recorded by the server so the decision stays reconstructible after the context is recomputed or expires (Part 17 §17.2). 0..1 Integer read-only
PaymentLinkCancel reason Reason Why the link was cancelled (implementer code list, e.g. wrongRecipient, paidOtherwise). 0..1 String
note Note Free-text note from the actor. 0..1 String
PaymentRecord id Id Unique identifier of the record (Part 4). 1..1 Uuid read-only
transactionID Transaction ID The transaction identifier of the payment, returned when it is taken (Part 13 §13.1). † 1..1 String read-only
dateCollected Date collected ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime read-only
meansOfPayment Means of payment How the customer paid, in APDS's own vocabulary (MeansOfPaymentEnum, which APDS uses for the means a place accepts). A card whose credit or debit type the payment layer does not report is unknown. 0..1 Rates.MeansOfPaymentEnum
channel Channel Where the payment was captured. lane = a lane device; payStation = a pay-on-foot or pay station; agent = a person on the implementer's own PCI-scoped terminal; autoAttendant = a PCI-compliant IVR that captures the card out of band; online = web or mobile app. APX never carries PANs, whichever channel is used. 0..1 PaymentRecord.channel (enumeration)
paymentStatus Payment status The payment layer's answer. approved = approved (for a hold, see captureStatus); declined = refused by the payment layer; reversed = a hold voided, or a payment refunded in full. Transitions per Part 13 §13.1a. 1..1 PaymentRecord.paymentStatus (enumeration) read-only
captureStatus Capture status Whether an approved payment's funds have been collected (Part 13 §13.1a). authorized = a hold: the payment layer approved an authorization-only request (captureLater: true), funds are held, nothing is collected yet; settled by POST /v1/payments/{id}/capture or released by …/void. captured = collected. Absent = captured (a sale). A hold is returned to the caller that created it, but is not listed by GET /v1/payments unless asked for, is not published on apx.accounts.payment.recorded.v1, and is not materialized as an APDS Payment until captured. 0..1 PaymentRecord.captureStatus (enumeration) read-only
captureLater Capture later Create-time intent: true asks for authorization only (the record is created paymentStatus: approved, captureStatus: authorized and is settled later by POST /v1/payments/{id}/capture or released by …/void). Absent or false = sale (authorize and capture at once). A server that does not model an authorization lifecycle refuses true with 422 request-unprocessable (Part 13 §13.1a). 0..1 Boolean
ticketNumber Ticket number Number printed on, or encoded in, the parking ticket. 0..1 String
cardLast4 Card last4 Truncated payment-card digits (PCI-permitted). For transient parkers with no LPR and no readable ticket, this is often the ONLY key a caller can provide — the lookup of last resort. 0..1 String
PaymentSearch ticketLast4 Ticket last4 The last four digits of the ticket number, a truncated key limited to the last 8 hours without a date (Part 13 §13.2). † 0..1 String
cardLast4 Card last4 The last four digits of the payment card, a truncated key limited to the last 8 hours without a date (Part 13 §13.2). † 0..1 String
ticketNumber Ticket number Number printed on, or encoded in, the parking ticket. 0..1 String
account Account The identifier of an account whose payments are sought (Part 13 §13.2). † 0..1 Uuid
date Date The date the payments were made, narrowing a keyed query. † 0..1 Date
place Place HierarchyElements that narrow a keyed query to payments bound to them. † 0..* Uuid
captureStatus Capture status Whether to return only holds or only collected payments; holds are excluded unless asked for (Part 13 §13.2). † 0..1 PaymentSearch.captureStatus (enumeration)
page Page Pagination information for this page of results. 0..1 Integer
Posting confirmationNumber Confirmation number The confirmation number the accounting system returned for the posting. † 1..1 String
accountUpdated Account updated Whether the accounting system updated the account. † 1..1 Boolean
postedTo Posted to Target accounting system identifier (e.g. "paris"). 0..1 String
time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
PostingRequest postedTo Posted to Target accounting system identifier; server default applies when omitted. 0..1 String
note Note Free-text note from the actor. 0..1 String
ReceiptDelivery channel Channel The channel the receipt was sent by. † 1..1 ReceiptDelivery.channel (enumeration)
status Status Whether the receipt is queued, sent or failed. † 1..1 ReceiptDelivery.status (enumeration)
link Link For channel = link, the receipt's short-lived URL. 0..1 Url
requestedAt Requested at ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
ReceiptRequest channel Channel print re-prints at the device the payment was taken on; link returns a short-lived URL for the agent to read out or forward. 1..1 ReceiptRequest.channel (enumeration)
destination Destination The e-mail address or E.164 number for email and sms; ignored for print and link. 0..1 String
agent Agent The agent who asked for the receipt to be re-sent, for the audit record. † 0..1 String
correlationId Correlation id Identifier that links related requests and records. 0..1 Uuid

A.1.9 "Lpr" package

A.1.9.1 Location of "Lpr" package. The location of the "Lpr" package is:

-- APX/Lpr (source: spec/openapi/domains/lpr/schemas.yaml; normative text: APX Part 13)

A.1.9.2 Classes of the "Lpr" package

Table A.26 -- Classes of the "Lpr" package

Class name Designation Definition Kind APDS status
AttributeRead Attribute read One recognized attribute with its own confidence (0–1, APDS Confidence scale). class Proposed: AttributeRead (Tier 1)
LaneCameras Lane cameras The LPR cameras on a lane and which way each one faces (Part 13 §13.3a(5)). Carried on an APDS VehicularAccess as the Level B decoration apds-ext:apx:lane-cameras@1.0 in its extensions container (Part 4 §4.3). Facing is relative to the facility, not to the lane's mode, so it holds on reversible lanes. Describes the setup only; APX derives nothing from it. class Proposed: VehicularAccess (Tier 2); Proposed: LaneCamera (Tier 2); Proposed: CameraFacingEnum (Tier 2)
LprRead Lpr read One plate read joined with its ticket/session context. class Proposed: ImageTypeEnum (Tier 2)
LprReadDetail Lpr read detail What a modern LPR camera knows beyond the plate string and one overall score (Part 13 §13.3a). Carried on the ingested APDS Observation as the Level B decoration apds-ext:apx:lpr-read@1.0 in its extensions container (Part 4 §4.3 — plain APDS consumers ignore it), and projected on LprRead.detail and PlateCandidate.detail. Every field optional; each recognized attribute carries its own confidence. APDS's vehicleAncillaryIdentification (country, stateProvince, make, model, color) remains the APDS-visible copy of the winning values; this block adds the per-attribute confidence, the candidates that lost, and the passage geometry APDS has no fields for. class Proposed: ObservationElement (Tier 1); Proposed: AlternateRead (Tier 1); Proposed: ReadReview (Tier 2); Proposed: Image (Tier 2); Proposed: ImageRegion (Tier 2); Proposed: ReadAttributeEnum (Tier 1); Proposed: VehicleMovementEnum (Tier 1); Proposed: PlateFaceEnum (Tier 2); Proposed: ReadReviewStateEnum (Tier 2)
LprReadSearch Lpr read search Request body of POST /v1/lpr/reads:search (Part 13 §13.3): the same keys as the GET lookup, carried in a body so a plate never enters a URL that proxies and access logs keep (Part 9 §9.6). At least one of plate, ticket, observation, or session is REQUIRED. class APX only
PlateCorrection Plate correction Request body of PUT /v1/lpr/reads/{observation}/plate (Part 13 §13.3a(4a)): a reviewer's decision on one read. confirmed keeps the engine's values; corrected replaces them with the ones given; rejected marks the read unusable for pairing and enforcement. plate, country, and stateProvince belong to corrected only: sent with another decision they are 422 request-unprocessable. class APX only

A.1.9.3 Specializations of the "Lpr" package

There are no specializations in the "Lpr" package.

A.1.9.4 Associations of the "Lpr" package

Table A.27 -- Associations of the "Lpr" package

Class name Association end Designation Definition Multiplicity Target Notes
LprRead place Place The HierarchyElement (site) where the read occurred. REQUIRED so cross-lookups and apx.data.observation.created.v1 consumers can always attribute the read to its location (Part 13 §13.5). 1..1 PkCommon.Reference
detail Detail Further detail, in free text. 0..1 Lpr.LprReadDetail
observation Observation The underlying APDS Observation. 0..1 PkCommon.Reference
session Session Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
lane Lane The VehicularAccess (lane) the read was taken at, when the Observation's elementIds reference one. Whether the read was an entry or an exit is detail.accessEvent (Part 13 §13.3a(4)); the lane used does not decide it. 0..1 PkCommon.Reference
recentReservations Recent reservations The same customer's last 10 reservations (newest first) — customer resolved from the plate via the account registry or the reservation's own vehicle credentials. 0..10 Reservations.ReservationSummary
extensions Extensions The underlying Observation's extensions, projected minus the apds-ext:apx:lpr-read@1.0 block (which is detail), so vendor keys preserved on ingest are visible here (Part 13 §13.3a, Part 4 §4.3). 0..1 Common.Extensions
LprReadDetail plate Plate Vehicle license plate text as read or entered. 0..1 Lpr.AttributeRead
country Country Plate issuing country (APDS VehicleAncillaryIdentification.country vocabulary). 0..1 Lpr.AttributeRead
stateProvince State province Plate issuing state/province (APDS VehicleAncillaryIdentification.stateProvince vocabulary). 0..1 Lpr.AttributeRead
plateCategory Plate category The plate's category where the issuing country uses one (e.g. the prefix on some Gulf-state plates). Absent where the country has none. 0..1 Lpr.AttributeRead
make Make Vehicle make. 0..1 Lpr.AttributeRead
model Model Vehicle model. 0..1 Lpr.AttributeRead
color Color One recognized attribute with its own confidence (0–1, APDS Confidence scale). 0..1 Lpr.AttributeRead
bodyType Body type The engine's own vehicle class label (SUV, sedan, pickup, bus, truck…), carried as the engine reports it and not mapped to a standard list. 0..1 Lpr.AttributeRead
review.original.plate Plate Vehicle license plate text as read or entered. 0..1 Lpr.AttributeRead
review.original.country Country One recognized attribute with its own confidence (0–1, APDS Confidence scale). 0..1 Lpr.AttributeRead
review.original.stateProvince State province State or province that issued the plate. 0..1 Lpr.AttributeRead
PlateCorrection extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions

A.1.9.5 Attributes of the "Lpr" package

Table A.28 -- Attributes of the "Lpr" package

Class name Attribute name Designation Definition Multiplicity Type Notes
AttributeRead value Value The recognised value; for plate, country, state, make, model and colour it equals the value carried in the observed credential or vehicle ancillary identification. † 1..1 String
confidence Confidence Confidence in the value, from 0 to 1. 0..1 Decimal
LaneCameras cameras Cameras The LPR cameras on the lane, each with its identifier and the way it faces. † 1..* Structure (members below)
cameras.cameraId Camera id The camera, as Image.cameraID names it on its reads. MUST be unique within the Place. 1..1 String
cameras.faces Faces inward — looking into the facility, the way entering traffic travels (reads the rear plates of entering vehicles); outward — looking out of it, the way exiting traffic travels (reads the rear plates of exiting vehicles). 1..1 LaneCameras.cameras.faces (enumeration)
LprRead plate Plate Vehicle license plate text as read or entered. 1..1 String
confidence Confidence Overall read accuracy (APDS 4.1 Confidence.overallConfidence). Per-attribute confidences are in detail. 0..1 Decimal
laneTravel Lane travel DEPRECATED since 0.12.0, removed at 1.0. APX no longer derives direction; use detail.accessEvent (entry | exit), which the LPR system reports (Part 13 §13.3a(4)). Servers SHOULD return unknown. 0..1 LprRead.laneTravel (enumeration) read-only, deprecated
observationDateTime Observation date time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
ticketNumber Ticket number Number printed on, or encoded in, the parking ticket. 0..1 String
imageLink Image link Screenshot/still of the read (APDS Image). Absent when no image was taken or the imagery has been purged (see purgedImagery). The preferred still; every unpurged image is in images[]. 0..1 PkCommon.Url
images Images Every unpurged image of the read (Part 13 §13.3c), by kind: the APDS ImageTypeEnum values plus plateExtended (a wider crop around the plate) and context (the scene around the vehicle, wider than the overview), carried as imageType strings until APDS adds them. Same access and purge rules as imageLink. 0..* Structure (members below)
images.id Id The APDS Image id. 1..1 String
images.imageType Image type overview, plate (APDS ImageTypeEnum), plateExtended, context, or an implementer kind. 0..1 String
images.imageLink Image link Represents a Url for an internet accessible resource. 0..1 PkCommon.Url
images.cameraId Camera id The camera that captured the image, as Image.cameraID names it (Part 13 §13.3a(5)). † 0..1 String
cameraId Camera id The capturing camera (APDS Image.cameraID), opaque. 0..1 String
purgedImagery Purged imagery True when imagery for this read existed and was purged under the published retention schedule (Part 13 §13.3b), so a consumer can tell "picture purged" from "no picture taken". Absent or false otherwise. 0..1 Boolean read-only
LprReadDetail alternateReads Alternate reads The other candidate plate strings the engine considered for this capture, best first — kept so a correction (Part 17 §17.5) can pick a loser. 0..* Structure (members below)
alternateReads.plate Plate Vehicle license plate text as read or entered. 1..1 String
alternateReads.stateProvince State province State or province that issued the plate. 0..1 String
alternateReads.confidence Confidence Confidence in the value, from 0 to 1. 0..1 Decimal
frameReads Frame reads How many frames read this plate as the vehicle passed. Engines need at least two to call movement, so a camera that sees only one of the vehicle's plates still reports it (Part 13 §13.3a(3)). 0..1 Integer
platesRead Plates read How many distinct plates of the vehicle were read in the passage (1 = one plate; 2 = front and rear). 0..1 Integer
plateFace Plate face Which plate of the vehicle was read, for engines that can tell. 0..1 LprReadDetail.plateFace (enumeration)
plateBox Plate box The plate's position in the camera frame, as fractions 0–1 of the frame's height (top, bottom) and width (left, right), so it survives image resizing. 0..1 Structure (members below)
plateBox.top Top The top edge of the plate, as a fraction 0–1 of the frame's height. † 1..1 Decimal
plateBox.left Left The left edge of the plate, as a fraction 0–1 of the frame's width. † 1..1 Decimal
plateBox.bottom Bottom The bottom edge of the plate, as a fraction 0–1 of the frame's height. † 1..1 Decimal
plateBox.right Right The right edge of the plate, as a fraction 0–1 of the frame's width. † 1..1 Decimal
movement Movement The vehicle's motion relative to the camera: toward it, away from it, or stopped. A camera fact, not a statement about the facility. approaching and receding are deprecated synonyms of toward and away — accepted until 1.0; writers SHOULD send the new values (Part 13 §13.3a(3)). 0..1 LprReadDetail.movement (enumeration)
speed Speed Vehicle speed in km/h when the engine measures it; absent otherwise, never a sentinel such as -1. 0..1 Decimal
accessEvent Access event Whether this read was a vehicle entering or leaving the facility, as reported by the LPR system — not the lane's configured purpose (the lane's APDS accessType), and never inferred by the APX server. Absent means unknown. The LPR system MAY revise it through PUT /v1/lpr/reads/{observation}/access-event (Part 13 §13.3a(4)). 0..1 LprReadDetail.accessEvent (enumeration)
captureGroup Capture group Opaque id linking the reads of one vehicle's passage — several frames, and one camera or several (e.g. front plate and rear plate) — so consumers can treat them as one event. Reads of one group SHOULD carry the same accessEvent (Part 13 §13.3a(6)). 0..1 String
engine Engine Recognition engine/vendor identifier, opaque (for confidence calibration downstream). 0..1 String
review Review The human-review state of the read (Part 13 §13.3a(4a)): a low-confidence read, or any read in a jurisdiction that requires review, is pending until a reviewer confirms, corrects, or rejects it through PUT /v1/lpr/reads/{observation}/plate. notRequired is a read no rule sent to review. Absent means the implementation does not review reads. 0..1 Structure (members below)
review.state State Where the read is in human review (Part 13 §13.3a(4a)). † 0..1 LprReadDetail.review.state (enumeration)
review.reasons Reasons Why the read was sent to review — definedValues from apx-read-review-reasons (Part 11) or implementer values. 0..* String (code list apx-read-review-reasons)
review.decidedTime Decided time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
review.decidedBy Decided by Opaque reviewer principal. 0..1 String
review.original Original The engine's values before the first correction, with their confidences, kept so the correction is auditable. Set by the server on the first corrected decision and never changed afterwards (Part 13 §13.3a(4a)). 0..1 Structure (members below)
LprReadSearch plate Plate Vehicle license plate text as read or entered. 0..1 String
ticket Ticket A ticket number whose reads are sought. † 0..1 String
observation Observation The identifier of an Observation whose read is sought. † 0..1 Uuid
session Session The identifier of a Session whose reads are sought. † 0..1 Uuid
place Place Narrow results below the grant to one HierarchyElement and its subtree. 0..1 Uuid
page Page Pagination information for this page of results. 0..1 Integer
PlateCorrection decision Decision The reviewer's decision on the read. † 1..1 PlateCorrection.decision (enumeration)
plate Plate The corrected plate. Required when decision is corrected; not allowed otherwise. 0..1 String
country Country APDS VehicleAncillaryIdentification.country vocabulary. Only with corrected. 0..1 String
stateProvince State province APDS VehicleAncillaryIdentification.stateProvince vocabulary. Only with corrected. 0..1 String
reason Reason Why the action was taken. 0..1 String
reviewer Reviewer Opaque reviewer principal (recorded as review.decidedBy). 0..1 String

A.1.10 "Reservations" package

A.1.10.1 Location of "Reservations" package. The location of the "Reservations" package is:

-- APX/Reservations (source: spec/openapi/domains/reservations/schemas.yaml; normative text: APX Part 14)

A.1.10.2 Classes of the "Reservations" package

Table A.29 -- Classes of the "Reservations" package

Class name Designation Definition Kind APDS status
PermitExtension Permit extension The apds-ext:apx:permit@1.1 extension object (Part 14 §14.2; @1.0 remains valid and carries the first two members only): links a renewal permit to the one it renews, so a portal can follow the chain, and caps how many of a multi-vehicle permit's vehicles may be parked at once (§14.2d). class Proposed: OverageBilling (Tier 2); Proposed: OverageBillingModeEnum (Tier 2)
PermitIssueRequest Permit issue request Issue a permit from a pooled RightSpecification — creates a native AssignedRight with (possibly multiple) vehicle credentials, per the APDS annual-permit use case (one right, multiple vehicles). class APX only
PoolAvailability Pool availability Availability of one RightPool of a pooled RightSpecification (APDS RightPool profile, Part 14 §14.2). issued = RightPool.distributedAssignedRights, available = RightPool.availableAssignedRights, capacity = their sum. class APX only
ReservationExtension Reservation extension The apds-ext:apx:reservation@1.0 extension object attached to a native AssignedRight. Presence of this extension marks the AssignedRight as a reservation; state transitions follow Part 14 §14.1 (transition table). plannedStart/plannedEnd MUST mirror the AssignedRight's plannedUses[0].startTime/endTime, which is authoritative. class Proposed: AssignedRight (Tier 2); Proposed: ReservationStateEnum (Tier 2)
ReservationSummary Reservation summary Compact view of one past/current reservation, for customer-history lookups. Also the data of apx.reservation.noshow.v1 (Part 14 §14.1 step 6). class APX only

A.1.10.3 Specializations of the "Reservations" package

There are no specializations in the "Reservations" package.

A.1.10.4 Associations of the "Reservations" package

Table A.30 -- Associations of the "Reservations" package

Class name Association end Designation Definition Multiplicity Target Notes
PermitExtension renews Renews The AssignedRight this permit renews. 0..1 PkCommon.Reference
renewedBy Renewed by Set by the server on the renewed permit when a renewal is issued. 0..1 PkCommon.Reference read-only
overageBilling.dayRate Day rate A class supporting the definition of a unit of currency in a defined currency. 0..1 Rates.AmountInCurrency
PermitIssueRequest rightSpecification Right specification Represents a reference to an identifiable object where the combination of the identifier and version is unique. It is composed of an unique identifier, a version and potentially a string identifying the class of the referenced object. 1..1 PkCommon.VersionedReference
holder Holder The RightHolder the permit is issued to; materialized as a CustomerCredential on the AssignedRight (Part 14 §14.2). 1..1 PkCommon.Reference
extensions Extensions Extension container (Part 4 §4.3). apds-ext:apx:permit@1.0 links a renewal to the permit it renews (Part 14 §14.2). 0..1 Common.Extensions
extensions.apds-ext:apx:permit@1.0 0 The apds-ext:apx:permit@1.1 extension object (Part 14 §14.2; @1.0 remains valid and carries the first two members only): links a renewal permit to the one it renews, so a portal can follow the chain, and caps how many of a multi-vehicle permit's vehicles may be parked at once (§14.2d). 0..1 Reservations.PermitExtension
PoolAvailability rightSpecification Right specification Represents a reference to an identifiable object where the combination of the identifier and version is unique. It is composed of an unique identifier, a version and potentially a string identifying the class of the referenced object. 1..1 PkCommon.VersionedReference
pool Pool The RightPool these counts are for (selected per Part 14 §14.2). 0..1 PkCommon.VersionedReference
validity Validity The selected pool's validity window (APDS RightPool.validity), when it has one. 0..1 PkCommon.Validity
ReservationExtension checkInSession Check in session Set when a Session referencing this AssignedRight is created. 0..1 PkCommon.Reference
ReservationSummary reservation Reservation Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference
amountPaid Amount paid What the customer prepaid, so an agent at the lane sees it without a payment lookup. 0..1 Rates.AmountInCurrency

A.1.10.5 Attributes of the "Reservations" package

Table A.31 -- Attributes of the "Reservations" package

Class name Attribute name Designation Definition Multiplicity Type Notes
PermitExtension maxConcurrentVehicles Max concurrent vehicles How many of the permit's registered vehicles may be parked at the place at once (Part 14 §14.2d). Absent means every registered vehicle may. A vehicle beyond the limit is an overage. 0..1 Integer
overageBilling Overage billing What an overage costs (Part 14 §14.2d). 0..1 Structure (members below)
overageBilling.mode Mode rack — the place's transient rate deck; dayRate — the flat dayRate; none — recorded, not billed. 1..1 PermitExtension.overageBilling.mode (enumeration)
PermitIssueRequest credentials Credentials Vehicle credentials (e.g. plates) usable under this one permit; each is materialized as a VehicleCredential (Part 14 §14.2). 0..* Structure (members below)
credentials.credentialType Credential type An APDS CredentialTypeEnum value, which MUST also be in the RightSpecification's credentials allow-list (Part 14 §14.2). 0..1 String
credentials.credentialIdentification Credential identification What the lane reads — the plate string, tag id, or card number. 0..1 String
validity Validity The permit's validity window; materialized as one PlannedUse (startTime/endTime) and expiry = end (Part 14 §14.2). 0..1 Structure (members below)
validity.start Start ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
validity.end End ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
PoolAvailability capacity Capacity Permits the pool can issue in total (issued + available); may exceed spaces when the operator oversells. 1..1 Integer
issued Issued The number of permits the pool has issued (APDS RightPool.distributedAssignedRights). † 1..1 Integer
available Available The number of permits the pool can still issue (APDS RightPool.availableAssignedRights). † 1..1 Integer
spaces Spaces Physical spaces behind the pool, when the operator sells above that count. Informative. 0..1 Integer
ReservationExtension reservationState Reservation state The current state of the reservation (Part 14 §14.1). † 1..1 ReservationExtension.reservationState (enumeration)
plannedStart Planned start Mirror of plannedUses[0].startTime (Part 14 §14.1). 0..1 PkCommon.DateTime
plannedEnd Planned end Mirror of plannedUses[0].endTime (Part 14 §14.1). 0..1 PkCommon.DateTime
noShowAfter No show after SERVER-SET: the instant after which a reservation still without a check-in transitions to noShow (plannedStart plus the operator's grace period, Part 14 §14.1 step 6), so a platform can tell a customer when the booking lapses. Clients do not send it. 0..1 PkCommon.DateTime read-only
ReservationSummary reservationState Reservation state The current state of the reservation (Part 14 §14.1). † 0..1 ReservationSummary.reservationState (enumeration)
plannedStart Planned start ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
plannedEnd Planned end ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
noShowAfter No show after When a reservation not yet checked in lapses to noShow (see ReservationExtension.noShowAfter). 0..1 PkCommon.DateTime
issuer Issuer Who sold the reservation, so a code that several sellers could have issued is read against the right one (Part 14 §14.1, Part 17 §17.2). An operator code or the seller's domain. 0..1 String

A.1.11 "Tolling" package

A.1.11.1 Location of "Tolling" package. The location of the "Tolling" package is:

-- APX/Tolling (source: spec/openapi/domains/tolling/schemas.yaml; normative text: APX Part 15)

A.1.11.2 Classes of the "Tolling" package

Table A.32 -- Classes of the "Tolling" package

Class name Designation Definition Kind APDS status
TollDisputeOpen Toll dispute open Request body opening a dispute on a toll transaction. class APX only
TollDisputeResolution Toll dispute resolution Request body resolving an open dispute. class APX only
TollPaymentAttachment Toll payment attachment Request body attaching the settling Payment to a toll transaction. class APX only
TollPricing Toll pricing Request body pricing a created toll transaction (Part 15 §15.1), for operators whose pricing engine runs outside the APX server. class APX only
TollTransaction Toll transaction A toll charge assembled from plate/transponder reads: Observation refs → pricing → Payment ref, with a dispute lifecycle. class Proposed: TollTransaction (Tier 2); Proposed: TollDispute (Tier 2); Proposed: TollTransactionStatusEnum (Tier 2)
TollVoid Toll void Request body voiding a toll transaction that should never have been charged (Part 15 §15.1). class APX only

A.1.11.3 Specializations of the "Tolling" package

There are no specializations in the "Tolling" package.

A.1.11.4 Associations of the "Tolling" package

Table A.33 -- Associations of the "Tolling" package

Class name Association end Designation Definition Multiplicity Target Notes
TollDisputeOpen disputedBy Disputed by The party on whose behalf the operator raises the dispute (RightHolder, Organisation, or Contact). MAY be absent for an operator-initiated dispute (Part 15 §15.1). 0..1 PkCommon.Reference
TollDisputeResolution adjustedPricing Adjusted pricing The new amount owed. REQUIRED when resolution is adjusted (otherwise 400 invalid-request) and ignored for any other value; the server moves the old pricing to dispute.originalPricing (Part 15 §15.1). 0..1 Rates.AmountInCurrency
TollPaymentAttachment payment Payment Reference to the settling APDS Payment (or APX PaymentRecord). 1..1 PkCommon.Reference
TollPricing pricing Pricing A class supporting the definition of a unit of currency in a defined currency. 1..1 Rates.AmountInCurrency
TollTransaction tollPoint Toll point Reference to the toll point (SupplementalEquipment). 1..1 PkCommon.Reference
observations Observations The underlying APDS Observations (plate/transponder reads). 0..* PkCommon.Reference
pricing Pricing A class supporting the definition of a unit of currency in a defined currency. 0..1 Rates.AmountInCurrency
payment Payment Reference to the settling PaymentRecord/APDS Payment. 0..1 PkCommon.Reference
dispute.disputedBy Disputed by The party on whose behalf the dispute was raised (RightHolder, Organisation, or Contact); absent for an operator-initiated dispute (Part 15 §15.1). 0..1 PkCommon.Reference read-only
dispute.originalPricing Original pricing Set by the server when an adjusted resolution rewrites pricing: the amount before the adjustment (Part 15 §15.1). 0..1 Rates.AmountInCurrency read-only
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions

A.1.11.5 Attributes of the "Tolling" package

Table A.34 -- Attributes of the "Tolling" package

Class name Attribute name Designation Definition Multiplicity Type Notes
TollDisputeOpen reason Reason Dispute reason — definedValue from apx-toll-dispute-reasons (wrongVehicle | duplicateCharge | wrongClass | notLiable | other, Part 15 §15.1) or an implementer code list (Part 11). 1..1 String (code list apx-toll-dispute-reasons)
detail Detail Further detail, in free text. 0..1 String
TollDisputeResolution resolution Resolution Resolution — definedValue from apx-toll-dispute-resolutions (upheld | refunded | adjusted | withdrawn, Part 15 §15.1) or an implementer code list (Part 11). 1..1 String (code list apx-toll-dispute-resolutions)
note Note Free-text note from the actor. 0..1 String
TollPaymentAttachment note Note Free-text note from the actor. 0..1 String
TollPricing detail Detail Pricing basis recorded in statusHistory (e.g. vehicle class, rate id). 0..1 String
TollTransaction id Id Unique identifier of the record (Part 4). 1..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 1..1 Integer read-only
credential Credential The credential observed (licensePlate, rfid transponder…). 0..1 Structure (members below)
credential.credentialType Credential type Read technology. Senders SHOULD use an APDS CredentialTypeEnum value (licensePlate, rfid, …); Part 15 §15.1. 0..1 String
credential.credentialIdentification Credential identification What was read — the plate string or the transponder/tag id, as read. 0..1 String
transactionStatus Transaction status The lifecycle stage of the toll charge. † 1..1 TollTransaction.transactionStatus (enumeration) read-only
dispute Dispute The dispute raised against the charge, when one was opened (Part 15 §15.1). † 0..1 Structure (members below)
dispute.reason Reason definedValue from apx-toll-dispute-reasons or an implementer code list (Part 11). 0..1 String (code list apx-toll-dispute-reasons)
dispute.openedTime Opened time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
dispute.resolvedTime Resolved time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
dispute.resolution Resolution definedValue from apx-toll-dispute-resolutions (upheld | refunded | adjusted | withdrawn, Part 15 §15.1) or an implementer code list (Part 11). 0..1 String (code list apx-toll-dispute-resolutions)
statusHistory Status history Immutable lifecycle audit (Part 4 §4.2). 0..* Structure (members below)
statusHistory.state State The transaction status entered at this point in the lifecycle. † 1..1 String
statusHistory.time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
statusHistory.actor Actor The person or system that performed the action. 1..1 String
statusHistory.detail Detail Further detail, in free text. 0..1 String
TollVoid reason Reason Why the transaction is void (implementer code list, e.g. duplicate, exemptVehicle, misread). 1..1 String
note Note Free-text note from the actor. 0..1 String

A.1.12 "Violations" package

A.1.12.1 Location of "Violations" package. The location of the "Violations" package is:

-- APX/Violations (source: spec/openapi/domains/violations/schemas.yaml; normative text: APX Part 19)

A.1.12.2 Classes of the "Violations" package

Table A.35 -- Classes of the "Violations" package

Class name Designation Definition Kind APDS status
EligibilityResult Eligibility result "Is this vehicle entitled to be here right now?" — the guided-enforcement screen-pop (Part 19 §19.3). A convenience READ composed from the APDS entities that natively answer the question: AssignedRights (APDS's own enforcement source of truth), Sessions, and reservation/permit profiles. Adds no parallel entitlement entity; the AssignedRight remains authoritative. class APX only
EnforcementPolicy Enforcement policy The jurisdictional rules that govern issuing and escalating violations at a place (Part 19 §19.10): lawful notice delivery per detection mode, the initial penalty cap, the escalation schedule, windows, and whether posted signage is required. Bound to a HierarchyElement with subtree inheritance — the nearest ancestor's policy applies unless a descendant overrides it. A machine-readable summary an operator configures from the governing statute; never the statute itself. Edits use versioned PUT with the version last read as If-Match or body version (Part 4 §4.2a; 409 version-conflict when stale). class Proposed: EnforcementPolicy (Tier 2); Proposed: NoticeDeliveryRule (Tier 2); Proposed: PenaltyLimit (Tier 3); Proposed: EscalationStep (Tier 2)
Signage Signage A record of what is posted at a place — the text, a photo, the sign's position, and when it was in force (Part 19 §19.11). Bound to a HierarchyElement with subtree inheritance. Versioned so an appeal can show the sign as it stood on the day: superseding a sign is a new version or a new record with effectiveTo set, never an edit in place of historical text. Edits use versioned PUT (Part 4 §4.2a). class Proposed: Signage (Tier 2); Proposed: SignTypeEnum (Tier 2)
Violation Violation An enforcement finding against a vehicle at a place: the detection (automated, guided, or manual), the eligibility check that justified it, the evidence, the issued notice/citation, settlement, and any appeal — with the immutable lifecycle audit (Part 4 §4.2). class Proposed: Violation (Tier 1); Proposed: Notice (Tier 1); Proposed: Appeal (Tier 2); Proposed: ViolationStatusEnum (Tier 1); Proposed: NoticeKindEnum (Tier 1); Proposed: NoticeDeliveryMethodEnum (Tier 1); Proposed: AppealReasonEnum (Tier 2); Proposed: AppealResolutionEnum (Tier 2)
ViolationAppealOpen Violation appeal open Request body opening an appeal on an issued violation, or on a paid one within the policy's appeal window (pay-then-appeal). class APX only
ViolationAppealResolution Violation appeal resolution Request body resolving an open appeal. class APX only
ViolationAppliedPayment Violation applied payment One payment applied to a violation (Part 19 §19.6a): a partial payment or the settling one. payment references the Part 13 record (APDS Payment or APX PaymentRecord) when the money moved through this server; a payment an import source took itself (§19.13) may carry only the source's own reference. class APX only
ViolationDetection Violation detection How and when the candidate was found. class Proposed: ViolationDetection (Tier 1); Proposed: DetectionModeEnum (Tier 1)
ViolationEvidence Violation evidence Evidence media, as access-controlled LINKS (Part 9 §9.6 — never inline). Each item points at an APDS Image reachable under the same authentication and place grant as this resource. list APX only
ViolationImport Violation import Request body of POST /v1/enforcement/violation-imports (Part 19 §19.13): a violation as an external enforcement system reports it — in any state, with the statusHistory[] times the source recorded, the notice, the amounts and payments, and the apds-ext:apx:violation-source@1.0 decoration that keys it. The members mean what they mean on Violation; the difference is that violationStatus, notice, amountPaid, payments, and statusHistory are written by the caller here, because the source, not this server, decided them. A state at or past issuance (issued, paid, appealed, closed) REQUIRES notice (with noticeNumber and issuedTime) and amount (400 invalid-request otherwise); paid with amountPaid below amount is 422 request-unprocessable. A warning with no fine is issued (or closed) with notice.noticeKind warning and a zero amount. class APX only
ViolationIssue Violation issue Request body issuing the notice/citation for a confirmed (or, under automated policy, detected) violation. class APX only
ViolationLocation Violation location Where the violation was observed and from where — modelled on the APDS Observation Location shape (Part 19 §19.9), with two differences: observerLocation is optional here (APDS requires it; an automated finding copied from a fixed sensor may have none), and accuracyMetres is added. The member names and the PointLocation types are APDS's own. GeoJSON positions are [longitude, latitude] in that order; enforcement tools that store latitude first MUST swap on the wire. Automated detections SHOULD copy this from the underlying Observation. class APX only
ViolationPaymentAttachment Violation payment attachment Request body attaching a Payment to an issued violation. The full amount (or the remainder) settles it (paid); a smaller amount is a partial payment (Part 19 §19.6a) that stays issued. class APX only
ViolationReview Violation review Request body for guided-enforcement review — confirm or dismiss a detected candidate. class APX only
ViolationSessionLink Violation session link Request body of POST /v1/violations/{id}/session (Part 19 §19.13): sets, corrects, or clears relatedSession after creation, carrying the match evidence. session: null clears the link. If-Match carries the Violation version last read. class APX only
ViolationSource Violation source The apds-ext:apx:violation-source@1.0 decoration (Part 19 §19.13): a violation issued by an external enforcement system and imported through POST /v1/enforcement/violation-imports, keyed on system + recordId. sourceRevision, or without one sourceUpdatedTime, orders the source's revisions. class APX only
ViolationVehicle Violation vehicle The credential observed on the vehicle (an APDS CredentialTypeEnum credential). class APX only
ViolationVoid Violation void Request body voiding a violation (terminal; never deletes the audit). class APX only

A.1.12.3 Specializations of the "Violations" package

There are no specializations in the "Violations" package.

A.1.12.4 Associations of the "Violations" package

Table A.36 -- Associations of the "Violations" package

Class name Association end Designation Definition Multiplicity Target Notes
EligibilityResult place Place The HierarchyElement the question was asked for. 1..1 PkCommon.Reference
basis.right Right The AssignedRight considered. 0..1 PkCommon.Reference
basis.session Session The Session considered (pay-by-plate, transient). 0..1 PkCommon.Reference
lastRead.observation Observation Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
EnforcementPolicy place Place The HierarchyElement this policy binds to (a state- or city-wide root, a lot, a level). 1..1 PkCommon.Reference
penaltyCap.maximumAmount Maximum amount A class supporting the definition of a unit of currency in a defined currency. 0..1 Rates.AmountInCurrency
escalation.addAmount Add amount A class supporting the definition of a unit of currency in a defined currency. 0..1 Rates.AmountInCurrency
overallCeiling.maximumAmount Maximum amount A class supporting the definition of a unit of currency in a defined currency. 0..1 Rates.AmountInCurrency
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
Signage place Place The HierarchyElement the sign governs (the lot, a level, a zone). 1..1 PkCommon.Reference
location Location Where the sign stands (GeoJSON Point). 0..1 PkCommon.GeoJsonObject
policy Policy The EnforcementPolicy whose disclosure requirements this sign satisfies, when applicable. 0..1 PkCommon.Reference
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
Violation place Place The HierarchyElement (Place, Area, Space…) where the violation was observed. 1..1 PkCommon.Reference
space Space The specific APDS Space, when the detection is space-resolved (sensor, bay camera). 0..1 PkCommon.Reference
detection Detection How and when the candidate was found. 1..1 Violations.ViolationDetection
vehicle Vehicle The credential observed on the vehicle (an APDS CredentialTypeEnum credential). 0..1 Violations.ViolationVehicle
observations Observations The underlying APDS Observations (plate reads, sensor events) the finding is built from. 0..* PkCommon.Reference
eligibilityCheck Eligibility check The entitlement check performed at detection time (the same shape GET /v1/enforcement/eligibility returns). 0..1 Violations.EligibilityResult
relatedSession Related session The APDS Session the vehicle was in, when one exists. 0..1 PkCommon.Reference
relatedRight Related right The AssignedRight that was closest to covering the stay (expired permit, wrong-zone reservation…). 0..1 PkCommon.Reference
location Location Where the violation was observed and from where — modelled on the APDS Observation Location shape (Part 19 §19.9), with two differences: observerLocation is optional here (APDS requires it; an automated finding copied from a fixed sensor may have none), and accuracyMetres is added. The member names and the PointLocation types are APDS's own. GeoJSON positions are [longitude, latitude] in that order; enforcement tools that store latitude first MUST swap on the wire. Automated detections SHOULD copy this from the underlying Observation. 0..1 Violations.ViolationLocation
policy Policy The EnforcementPolicy resolved for place at issue (Part 19 §19.10), frozen with its version. 0..1 PkCommon.VersionedReference read-only
signage Signage The Signage records in force at place (and ancestors) at detectedTime, frozen at issue with their versions — the evidence of what was posted (Part 19 §19.11). 0..* PkCommon.VersionedReference read-only
unpaidAmount Unpaid amount The unpaid parking fee this violation relates to — the basis for the policy's relative penalty caps (maximumMultipleOfUnpaid, maximumPercentOverUnpaid). Computed by the server at issue from the rate deck in force for the stay and frozen with the policy (Part 19 §19.10). Absent when the policy in force has no relative cap or no fee could be derived. 0..1 Rates.AmountInCurrency read-only
capAmount Cap amount The effective penalty cap at issue (the lowest of the policy's penaltyCap bounds, relative ones applied to unpaidAmount), frozen so an appeal can check penalty-exceeds-cap without recomputing it. Absent when no cap applied. 0..1 Rates.AmountInCurrency read-only
amountHistory.amount Amount A class supporting the definition of a unit of currency in a defined currency. 1..1 Rates.AmountInCurrency
amountHistory.requestedAmount Requested amount The amount the issue call asked for, when reason is cap (the entry's amount is the clamped figure). 0..1 Rates.AmountInCurrency
notice.issuedBy Issued by The issuing Organisation or officer Contact. 0..1 PkCommon.Reference
amount Amount The amount payable on the issued notice (after any appeal reduction). 0..1 Rates.AmountInCurrency
payment Payment Reference to the settling APDS Payment or APX PaymentRecord (Part 13). 0..1 PkCommon.Reference
payments Payments Every payment applied to the notice, in order (Part 19 §19.6a). payment remains the settling one; a partial payment appears here, raises amountPaid, and leaves the state issued until amountPaid reaches amount. For an imported violation (§19.13) an item may carry only the source's own payment reference, when the money never moved through this server's Part 13 records. 0..* Violations.ViolationAppliedPayment read-only
amountPaid Amount paid The sum received so far against amount (Part 19 §19.6a). paid means amountPaid ≥ amount. Absent means nothing received. 0..1 Rates.AmountInCurrency read-only
appeal.appellant Appellant The appealing party (Contact), when identified. 0..1 PkCommon.Reference
appeal.refund Refund The Part 13 refund (APX PaymentRecord or APDS Payment) that returned money on a pay-then-appeal resolved reduced (partial) or dismissed (full). 0..1 PkCommon.Reference
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
ViolationAppealOpen appellant Appellant The appealing party (Contact), when identified. 0..1 PkCommon.Reference
ViolationAppealResolution adjustedAmount Adjusted amount The new amount payable. Required when resolution is reduced; a reduced resolution without it is 400 invalid-request with errors[].pointer /adjustedAmount (Part 19 §19.1 rule 3). 0..1 Rates.AmountInCurrency
refund Refund For a pay-then-appeal resolved reduced or dismissed: the Part 13 refund returning the difference or the whole payment (POST /v1/payments/{id}/refund). Recorded on appeal.refund. 0..1 PkCommon.Reference
ViolationAppliedPayment amount Amount The amount applied to this violation. 1..1 Rates.AmountInCurrency
payment Payment The APDS Payment or APX PaymentRecord (Part 13), when one exists on this server. 0..1 PkCommon.Reference
ViolationDetection detector Detector The detecting device (SupplementalEquipment) or, for guided/manual, the officer's Contact. 0..1 PkCommon.Reference
ViolationEvidence item.device Device The capturing SupplementalEquipment (camera, handheld). 0..1 PkCommon.Reference
ViolationImport place Place The HierarchyElement where the violation was observed. 1..1 PkCommon.Reference
space Space The specific APDS Space, when space-resolved. 0..1 PkCommon.Reference
detection Detection How and when the candidate was found. 1..1 Violations.ViolationDetection
vehicle Vehicle The credential observed on the vehicle (an APDS CredentialTypeEnum credential). 0..1 Violations.ViolationVehicle
observations Observations The underlying APDS Observations, when the source shared them. 0..* PkCommon.Reference
relatedSession Related session The APDS Session the vehicle was in, when known (or set later through POST /v1/violations/{id}/session). 0..1 PkCommon.Reference
relatedRight Related right The AssignedRight closest to covering the stay, when known. 0..1 PkCommon.Reference
location Location Where the violation was observed and from where — modelled on the APDS Observation Location shape (Part 19 §19.9), with two differences: observerLocation is optional here (APDS requires it; an automated finding copied from a fixed sensor may have none), and accuracyMetres is added. The member names and the PointLocation types are APDS's own. GeoJSON positions are [longitude, latitude] in that order; enforcement tools that store latitude first MUST swap on the wire. Automated detections SHOULD copy this from the underlying Observation. 0..1 Violations.ViolationLocation
notice.issuedBy Issued by The issuing Organisation or officer Contact, when it is known here. 0..1 PkCommon.Reference
amount Amount The amount payable now, as the source reports it. 0..1 Rates.AmountInCurrency
amountPaid Amount paid The total paid toward amount, as the source reports it. 0..1 Rates.AmountInCurrency
payments Payments The payments the source applied, in order. 0..* Violations.ViolationAppliedPayment
extensions Extensions The extension container; MUST carry apds-ext:apx:violation-source@1.0. 1..1 Common.Extensions
ViolationIssue amount Amount A class supporting the definition of a unit of currency in a defined currency. 1..1 Rates.AmountInCurrency
issuedBy Issued by The issuing Organisation or officer Contact, when different from the token's organisation. 0..1 PkCommon.Reference
ViolationLocation observedLocation Observed location The vehicle's position (GeoJSON Point). 0..1 PkCommon.GeoJsonObject
observerLocation Observer location The officer's or camera's position when the finding was made (GeoJSON Point). 0..1 PkCommon.GeoJsonObject
ViolationPaymentAttachment payment Payment Reference to the settling APDS Payment (or APX PaymentRecord taken via POST /v1/payments). 1..1 PkCommon.Reference
amount Amount The amount this payment contributes; absent means the full outstanding amount. 0..1 Rates.AmountInCurrency
ViolationReview reviewer Reviewer The reviewing officer's Contact, when the token is a system credential. 0..1 PkCommon.Reference
ViolationSessionLink session Session The APDS Session (className Session), or null to clear the link. 1..1 PkCommon.Reference nullable
evidence Evidence How the match was made; written onto the violation as apds-ext:apx:match-evidence@1.0, with the Session as target. 0..1 Data.MatchEvidence
ViolationVoid refund Refund When voiding a paid violation: the Part 13 refund that returned the payment (SHOULD be given; Part 19 §19.1 rule 4). 0..1 PkCommon.Reference

A.1.12.5 Attributes of the "Violations" package

Table A.37 -- Attributes of the "Violations" package

Class name Attribute name Designation Definition Multiplicity Type Notes
EligibilityResult credential Credential The credential the eligibility question was asked about. † 1..1 Structure (members below)
credential.credentialType Credential type * barcode : barcode or QR digital print pattern, held on any physical media. * bluetooth : specific bluetooth or BLE identification chip used to associate a BLE receiver to a specific user. Used for both one time and permit uses. * eticket : digital equivalent of a paper ticket, often presentable via smartphone or similar device for control. * hangtag : visible, often removable, credential indicator, with visible markings * licensePlate : fixed plate, in a defined format, used to identify a specific vehicle- Normally a permanent fixture. * permit : issued credential, often in the form of an adhesive label, often placed on the windscreen, credential indicator, with visible markings * qrCode : quick Reference (QR) code * rfid : specific RF identification associated to an RFID-related account. Used for permit uses. * ticket : typically issued paper with printed details, often with magnetic strips; typically single use disposable. * electronicID : an identifier transmitted by electronic means * ticketcoupon : a visible printed or written paper-based ticket or coupon carrying an identifiable credential. * vehicleplate : a fixed identifier (registration plate) visible and fixed to a vehicle. 1..1 Right.CredentialTypeEnum
credential.credentialIdentification Credential identification The plate or other credential value checked. † 1..1 String
checkedTime Checked time The instant the answer applies to (the at parameter, or now). 1..1 PkCommon.DateTime
entitled Entitled True when at least one basis entry is valid for the place at checkedTime. 1..1 Boolean
basis Basis Every right or session considered, newest first, with why it does or does not cover the stay. 0..* Structure (members below)
basis.rightType Right type Human-readable product (from the RightSpecification) — monthly permit, reservation, pay-by-plate. 0..1 String
basis.validFrom Valid from ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
basis.validTo Valid to ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
basis.status Status Why this basis does or does not entitle the vehicle here, now. 1..1 EligibilityResult.basis.status (enumeration)
suggestedViolationType Suggested violation type When not entitled — the apx-violation-types value the server's rules suggest (never binding on the officer). 0..1 String (code list apx-violation-types)
graceUntil Grace until When the grace on the stay ends, derived from the stayGrace of the EnforcementPolicy in force at checkedTime (Part 19 §19.3 rule 5): the stay's start plus entryMinutes while no right covers it, or the end of its last covering right plus exitMinutes once its rights have ended. Absent when that side has no grace, no policy is in force, or a right covers the stay. 0..1 PkCommon.DateTime
lastRead Last read The most recent plate read of this credential at the place (APDS Observation-derived). 0..1 Structure (members below)
lastRead.observationDateTime Observation date time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
lastRead.confidence Confidence Confidence in the value, from 0 to 1. 0..1 Decimal
lastRead.imageLink Image link Represents a Url for an internet accessible resource. 0..1 PkCommon.Url
EnforcementPolicy id Id Unique identifier of the record (Part 4). 1..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 1..1 Integer read-only
name Name Name in natural language. 0..1 String
policyStatus Policy status Whether the policy is in force, superseded or retired. † 1..1 EnforcementPolicy.policyStatus (enumeration)
effectiveFrom Effective from ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
effectiveTo Effective to ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
authority Authority Provenance — where the rules come from. 0..1 Structure (members below)
authority.jurisdiction Jurisdiction ISO 3166-2 or implementer code for the legal jurisdiction. 0..1 String
authority.citation Citation Statute, ordinance, or regulation citation. 0..1 String
authority.url Url Represents a Url for an internet accessible resource. 0..1 PkCommon.Url
deliveryRules Delivery rules Which notice delivery methods are lawful for which detection modes, and by when. 0..* Structure (members below)
deliveryRules.detectionModes Detection modes The detection modes this delivery rule covers. † 0..* EnforcementPolicy.deliveryRules.detectionModes (enumeration)
deliveryRules.deliveryMethods Delivery methods Lawful notice.deliveryMethod values for these modes (implementer code list — windshield, handed, mail, electronic). 0..* String
deliveryRules.noticeDeadline Notice deadline Latest lawful issue after detectedTime for these methods (ISO 8601). 0..1 PkCommon.Duration
deliveryRules.minimumEvidence Minimum evidence What the violation MUST carry before a notice by these methods is lawful. 0..1 Structure (members below)
deliveryRules.minimumEvidence.observations Observations The minimum number of observations the violation must carry before a notice by these methods is lawful (Part 19 §19.10). † 0..1 Integer
deliveryRules.minimumEvidence.images Images The minimum number of evidence images the violation must carry before a notice by these methods is lawful (Part 19 §19.10). † 0..1 Integer
deliveryRules.minimumEvidence.locationRequired Location required Whether the violation must carry an observed location before a notice by these methods is lawful (Part 19 §19.10). † 0..1 Boolean
unreviewedIssuance Unreviewed issuance Whether an automated detection may go detected → issued without a human review (Part 19 §19.4 rule 1). When present the server MUST apply it at issue (409 violation-not-issuable otherwise); when absent the operator's published documentation governs, as before. guided and manual detections are always reviewed, whatever this says. 0..1 Structure (members below)
unreviewedIssuance.permitted Permitted True when unreviewed automated issuance is lawful and permitted at this place. 0..1 Boolean
unreviewedIssuance.minimumConfidence Minimum confidence Lowest detection.confidence that may be issued unreviewed; a detection below it, or with no confidence, needs review. 0..1 Decimal
unreviewedIssuance.violationTypes Violation types The violationType values that may be issued unreviewed; absent = every type. 0..* String
penaltyCap Penalty cap Ceiling on the amount at issue. When more than one bound is present the lowest applies. Relative bounds apply to the violation's unpaidAmount, which the server computes and freezes at issue together with the resulting capAmount. 0..1 Structure (members below)
penaltyCap.maximumMultipleOfUnpaid Maximum multiple of unpaid Cap as a multiple of the unpaid parking fee the violation relates to (e.g. 2 = twice the unpaid fee). 0..1 Decimal
penaltyCap.maximumPercentOverUnpaid Maximum percent over unpaid Cap as unpaid fee plus this percentage of it. 0..1 Decimal
penaltyCap.onExceed On exceed refuse → 422 penalty-exceeds-cap; clamp → issue at the cap and record reason: cap in amountHistory. 0..1 EnforcementPolicy.penaltyCap.onExceed (enumeration)
escalation Escalation Ordered, server-applied steps (Part 19 §19.10). Each fires once when afterDays have elapsed since notice.issuedTime with the violation still issued; days spent appealed do not count (the clock pauses during an appeal). The result is appended to amountHistory and never exceeds overallCeiling. A step whose fixed addAmount alone exceeds overallCeiling.maximumAmount is refused at create/update (422 request-unprocessable). 0..* Structure (members below)
escalation.step Step Stable step id recorded in amountHistory[].step. 1..1 String
escalation.afterDays After days The days after the notice was issued, not counting days under appeal, at which the step fires (Part 19 §19.10). † 1..1 Integer
escalation.addPercent Add percent Percentage of the CURRENT amount to add. 0..1 Decimal
escalation.description Description Free-text description. 0..1 String
overallCeiling Overall ceiling Hard ceiling on amount after any escalation. 0..1 Structure (members below)
overallCeiling.maximumMultipleOfIssued Maximum multiple of issued e.g. 3 = never more than three times the issued amount. 0..1 Decimal
appealWindowDays Appeal window days Days after notice.issuedTime during which an appeal MUST be accepted — from issued, or from paid (pay-then-appeal). After it, servers MAY refuse with 409 appeal-closed. 0..1 Integer
paymentGraceDays Payment grace days Days after notice.issuedTime before the first escalation step MAY fire, regardless of afterDays (days spent appealed do not count). 0..1 Integer
signageRequired Signage required When true, issue is refused (422 signage-required) unless Signage was in force at the place at detectedTime. 0..1 Boolean
stayGrace Stay grace How long a stay may go uncovered at each end before it needs a right (Part 19 §19.10 rule 7). Both members are optional and independent: absent means no grace on that side, 0 states explicitly that there is none. The policy states the minutes only; how they combine with the rights into a stay's outcome is the evaluating system's rule. The source of EligibilityResult.graceUntil (§19.3 rule 5). 0..1 Structure (members below)
stayGrace.entryMinutes Entry minutes Minutes after entry before a right (a payment, a permit, a reservation) must cover the stay. 0..1 Integer
stayGrace.exitMinutes Exit minutes Minutes after the end of the last covering right before the stay must be over. 0..1 Integer
statusHistory Status history Immutable, append-only lifecycle audit (Part 4 §4.2). 0..* Structure (members below)
statusHistory.state State The policy status entered at this point in the lifecycle. † 1..1 String
statusHistory.time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
statusHistory.actor Actor The person or system that performed the action. 1..1 String
statusHistory.detail Detail Further detail, in free text. 0..1 String
Signage id Id Unique identifier of the record (Part 4). 1..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 1..1 Integer read-only
text Text The posted text, verbatim, per language. 1..1 PkCommon.MultilingualString
signageStatus Signage status Whether the sign is in force, superseded or removed. † 1..1 Signage.signageStatus (enumeration)
effectiveFrom Effective from ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
effectiveTo Effective to ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
imageLink Image link Access-controlled photo of the physical sign (Part 9 §9.6). 0..1 PkCommon.Url
signType Sign type Implementer code list — entrance, payStation, perSpace, towAway, ratesBoard. 0..1 String
statusHistory Status history Immutable, append-only lifecycle audit (Part 4 §4.2). 0..* Structure (members below)
statusHistory.state State The signage status entered at this point in the lifecycle. † 1..1 String
statusHistory.time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
statusHistory.actor Actor The person or system that performed the action. 1..1 String
statusHistory.detail Detail Further detail, in free text. 0..1 String
Violation id Id Unique identifier of the record (Part 4). 1..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 1..1 Integer read-only
violationType Violation type definedValue from apx-violation-types or an implementer code list. 1..1 String (code list apx-violation-types)
violationStatus Violation status Current lifecycle state (see schema description for transitions). 1..1 Violation.violationStatus (enumeration) read-only
evidence Evidence Evidence media, as access-controlled LINKS (Part 9 §9.6 — never inline). Each item points at an APDS Image reachable under the same authentication and place grant as this resource. 0..1 Violations.ViolationEvidence
amountHistory Amount history Every change to amount, in order: the issued amount, each server-applied escalation step, and each appeal reduction (Part 19 §19.10). amount always equals the last entry. The first entry is written at issue: reason: issued, or, when the requested amount was clamped to the cap, a single entry with reason: cap, the clamped amount, and the amount asked for in requestedAmount. 0..* Structure (members below) read-only
amountHistory.time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
amountHistory.reason Reason Why the action was taken. 1..1 Violation.amountHistory.reason (enumeration)
amountHistory.step Step The policy escalation step id that fired, when reason is escalation. 0..1 String
amountHistory.detail Detail Further detail, in free text. 0..1 String
notice Notice The notice, warning, or citation issued for this violation. Absent until issued. 0..1 Structure (members below) read-only
notice.noticeKind Notice kind What was issued — warning, notice, citation (implementer code list; jurisdictional vocabulary). 0..1 String
notice.noticeNumber Notice number The operator's/jurisdiction's printed or mailed notice number. 0..1 String
notice.issuedTime Issued time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
notice.deliveryMethod Delivery method How the notice reached the driver — windshield, handed, mail, electronic (implementer code list). 0..1 String
dueTime Due time When payment falls due. 0..1 PkCommon.DateTime
appeal Appeal The appeal on this violation, if one was opened. One appeal per violation. 0..1 Structure (members below) read-only
appeal.reason Reason Appeal reason (implementer code list). 0..1 String
appeal.detail Detail Further detail, in free text. 0..1 String
appeal.openedTime Opened time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
appeal.openedFrom Opened from The state the appeal was opened from; paid is a pay-then-appeal (Part 19 §19.6). upheld and reduced return the violation to this state. 0..1 Violation.appeal.openedFrom (enumeration)
appeal.resolvedTime Resolved time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
appeal.resolution Resolution upheld | reduced | dismissed (implementer code list). 0..1 String
appeal.resolutionNote Resolution note A free-text note explaining how the appeal was resolved. † 0..1 String
statusHistory Status history Immutable, append-only lifecycle audit (Part 4 §4.2). 0..* Structure (members below)
statusHistory.state State The violation status entered at this point in the lifecycle. † 1..1 String
statusHistory.time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
statusHistory.actor Actor Client/agent principal that caused the transition. 1..1 String
statusHistory.detail Detail Further detail, in free text. 0..1 String
ViolationAppealOpen reason Reason Appeal reason (implementer code list). 1..1 String
detail Detail Further detail, in free text. 0..1 String
evidenceLinks Evidence links Appellant-supplied evidence, as access-controlled links. 0..* PkCommon.Url
ViolationAppealResolution resolution Resolution upheld | reduced | dismissed (implementer code list). upheld returns the violation to the state the appeal was opened from (issued, or paid for a pay-then-appeal); reduced does the same with amount replaced by adjustedAmount; dismissed closes it. 1..1 String
note Note Free-text note from the actor. 0..1 String
ViolationAppliedPayment paidTime Paid time When the payment was made (for an import, as the source reported it). 0..1 PkCommon.DateTime
reference Reference The import source's own identifier for the payment, when it reported one. 0..1 String
ViolationDetection mode Mode automated — a camera/sensor pipeline created the violation with no human in the loop. guided — the system surfaced a candidate (typically to a handheld) and an officer confirms on site. manual — an officer created the violation directly. 1..1 ViolationDetection.mode (enumeration)
detectedTime Detected time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
principal Principal Opaque principal of the human or system that detected (officer badge id, pipeline name). 0..1 String
confidence Confidence Detection confidence (plate read × rule certainty), when the detector reports one. 0..1 Decimal
rule Rule Implementer identifier of the enforcement rule that fired (automated mode). 0..1 String
ViolationEvidence item.imageLink Image link Represents a Url for an internet accessible resource. 1..1 PkCommon.Url
item.imageType Image type the nature of the captured image 0..1 Observation.ImageTypeEnum
item.capturedTime Captured time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
item.description Description Free-text description. 0..1 String
ViolationImport id Id The source's id for the violation, when it is a UUID the server may keep; the server MAY mint its own. 0..1 Uuid
violationType Violation type definedValue from apx-violation-types or an implementer code list. 1..1 String (code list apx-violation-types)
violationStatus Violation status The APX state the source's status maps to. paid requires amountPaid at least amount; a part-paid violation is issued (Part 19 §19.6a). The source's own wording goes in the decoration's sourceStatus. 1..1 ViolationImport.violationStatus (enumeration)
evidence Evidence Evidence media, as access-controlled LINKS (Part 9 §9.6 — never inline). Each item points at an APDS Image reachable under the same authentication and place grant as this resource. 0..1 Violations.ViolationEvidence
notice Notice The notice, warning, or citation as the source issued it. 0..1 Structure (members below)
notice.noticeKind Notice kind warning | notice | citation (implementer code list). 0..1 String
notice.noticeNumber Notice number The number printed on the notice — the lookup a driver can make (?noticeNumber=). 1..1 String
notice.issuedTime Issued time When the source issued it, as the source reported it. 1..1 PkCommon.DateTime
notice.deliveryMethod Delivery method windshield | handed | mail | electronic (implementer code list). 0..1 String
dueTime Due time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
statusHistory Status history The lifecycle as the source recorded it, oldest first, with the source's own times (actor is the source's principal — an officer badge, the system name). Append-only: the server keeps the entries it already holds and appends only those later than its last one (Part 4 §4.2). 1..* Structure (members below)
statusHistory.state State The violation status the source recorded at this point in the lifecycle. † 1..1 String
statusHistory.time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
statusHistory.actor Actor The person or system that performed the action. 1..1 String
statusHistory.detail Detail Further detail, in free text. 0..1 String
ViolationIssue noticeKind Notice kind warning | notice | citation (implementer code list). Default is implementation policy. 0..1 String
noticeNumber Notice number Client-supplied notice number (pre-printed handheld stock). Server-assigned when absent. 0..1 String
dueTime Due time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
deliveryMethod Delivery method windshield | handed | mail | electronic (implementer code list). 0..1 String
note Note Free-text note from the actor. 0..1 String
ViolationLocation observedLocationTextual Observed location textual Human-readable address or description of the observed location. 0..1 PkCommon.MultilingualString
accuracyMetres Accuracy metres Horizontal accuracy reported by the capturing device. 0..1 Decimal
ViolationPaymentAttachment note Note Free-text note from the actor. 0..1 String
ViolationReview decision Decision The reviewer's decision on the detected candidate: confirm or dismiss. † 1..1 ViolationReview.decision (enumeration)
reason Reason Required when decision is dismiss (implementer code list — permitDisplayed, plateMisread, gracePeriod…); a dismissal without it is 400 invalid-request with errors[].pointer /reason (Part 19 §19.1 rule 1). 0..1 String
note Note Free-text note from the actor. 0..1 String
violationType Violation type Corrects the violation type on confirmation, when the officer's finding differs from the detector's. 0..1 String
ViolationSessionLink reason Reason Why the link was set or changed (implementer code list — lateMatch, reviewerCorrection, mismatch…). 0..1 String
ViolationSource system System The issuing system, opaque (passport, aims…). 1..1 String
recordId Record id The source's own citation or record id. 1..1 String
sourceStatus Source status The source's own status vocabulary, carried as reported (issued, warned, voided, dismissed, partiallyPaid…). 0..1 String
sourceRevision Source revision The source's revision counter; a re-import with a higher value updates the record. 0..1 Integer
sourceUpdatedTime Source updated time When the source last changed the record. Orders revisions when the source keeps no sourceRevision. 0..1 PkCommon.DateTime
receivedTime Received time When this server applied the revision it now holds. Server-set. 0..1 PkCommon.DateTime read-only
officer Officer The source's officer identifier, opaque. 0..1 String
violationCode Violation code The source's own violation code, when it has no apx-violation-types equivalent. 0..1 String (code list apx-violation-types)
ViolationVehicle credentialType Credential type * barcode : barcode or QR digital print pattern, held on any physical media. * bluetooth : specific bluetooth or BLE identification chip used to associate a BLE receiver to a specific user. Used for both one time and permit uses. * eticket : digital equivalent of a paper ticket, often presentable via smartphone or similar device for control. * hangtag : visible, often removable, credential indicator, with visible markings * licensePlate : fixed plate, in a defined format, used to identify a specific vehicle- Normally a permanent fixture. * permit : issued credential, often in the form of an adhesive label, often placed on the windscreen, credential indicator, with visible markings * qrCode : quick Reference (QR) code * rfid : specific RF identification associated to an RFID-related account. Used for permit uses. * ticket : typically issued paper with printed details, often with magnetic strips; typically single use disposable. * electronicID : an identifier transmitted by electronic means * ticketcoupon : a visible printed or written paper-based ticket or coupon carrying an identifiable credential. * vehicleplate : a fixed identifier (registration plate) visible and fixed to a vehicle. 1..1 Right.CredentialTypeEnum
credentialIdentification Credential identification The credential value — plate string, permit number, transponder id. 1..1 String
jurisdiction Jurisdiction Issuing jurisdiction of the plate/credential (state, province, country code). 0..1 String
description Description Free-text vehicle description captured by the officer (make, colour). 0..1 String
ViolationVoid reason Reason Void reason (implementer code list — issuedInError, duplicate, policyException…). 1..1 String
note Note Free-text note from the actor. 0..1 String

A.1.13 "Validations" package

A.1.13.1 Location of "Validations" package. The location of the "Validations" package is:

-- APX/Validations (source: spec/openapi/domains/validations/schemas.yaml; normative text: APX Part 20)

A.1.13.2 Classes of the "Validations" package

Table A.38 -- Classes of the "Validations" package

Class name Designation Definition Kind APDS status
ValidationBenefit Validation benefit What a validation is worth. Exactly one of amount (money off), duration (comped time, valued at the applicable rate), or percentage (proportionate discount — the APDS RateDiscount discountRate semantics) applies; description is always present so agents can answer disputes in plain language. A program body whose benefit carries none or more than one of the three is refused with 422 request-unprocessable (Part 20 §20.1); the rule is stated here rather than as a schema oneOf so that existing request bodies keep validating. class Proposed: ValidationBenefit (Tier 2)
ValidationInstrument Validation instrument The current state of one validation code — the pay-station / merchant-app "is this code good?" read. class Proposed: ValidationInstrument (Tier 2); Proposed: ValidationInstrumentStatusEnum (Tier 2)
ValidationIssuance Validation issuance A batch of validation instruments issued to a program — printed codes, QR codes, stamp stock, digital tokens. codes[] is returned EXACTLY ONCE, in the creation response (the webhook-secret convention, Part 8 §8.1); later reads omit it. stamp and api batches carry no codes. class Proposed: ValidationIssuance (Tier 2); Proposed: ValidationIssuanceMethodEnum (Tier 2); Proposed: ValidationIssuanceStatusEnum (Tier 2)
ValidationIssuanceRequest Validation issuance request Request body for POST /v1/validations/programs/{id}/issuances: the writable members of ValidationIssuance. The program is the one the path names; program MAY be repeated in the body, and a value that differs from the path is 422 request-unprocessable (Part 20 §20.2). Server-assigned members (id, version, codes, issuanceStatus) are ignored if sent. class APX only
ValidationProgram Validation program A merchant's enrolment to validate parking at a place: who the provider is, what the validation is worth, the rules that bound it, how the merchant is billed, and how instruments are issued. Active programs ARE the source of the Part 6 GET /v1/validations/providers list when apx-validations is claimed. class Proposed: ValidationProgram (Tier 2); Proposed: ValidationRules (Tier 2); Proposed: ValidationBilling (Tier 3); Proposed: ValidationBillingModelEnum (Tier 3); Proposed: ValidationBillingCycleEnum (Tier 3)
ValidationRedemption Validation redemption One validation applied to one ticket/session — the ledger entry every channel writes: a pay station scanning a code, a merchant app, an agent's applyValidation command (Part 6), or a lane device. validationId is the APDS Segment.validationId, so APDS consumers see the same redemption without speaking APX. amountReduced is the ACTUAL value removed from the amount due (dispute evidence), never the nominal benefit. class Proposed: ValidationRedemption (Tier 1); Proposed: ValidationRedemptionStatusEnum (Tier 1)
ValidationRedemptionReversal Validation redemption reversal Request body reversing a redemption (wrong ticket, merchant dispute, fraud). class APX only
ValidationStatement Validation statement A program's redemptions and billable total for a period. Returned as a computed preview by GET …/statement, and as an IMMUTABLE record once a period is closed by POST …/statements (statementStatus: closed; the operator's accounting system invoices from it). Closed periods MUST NOT overlap (409 statement-overlap). class APX only
ValidationStatementClose Validation statement close Request body closing a billing period for a program. class APX only
ValidationVoid Validation void Request body voiding an issuance batch or a single instrument code (Part 20 §20.2 rule 5) — a stolen sheet, a leaked code, a misprint. class APX only
ValidationVoidDetail Validation void detail Who voided an issuance or instrument, when, and why. Present once void. class APX only

A.1.13.3 Specializations of the "Validations" package

There are no specializations in the "Validations" package.

A.1.13.4 Associations of the "Validations" package

Table A.39 -- Associations of the "Validations" package

Class name Association end Designation Definition Multiplicity Target Notes
ValidationBenefit amount Amount Fixed money off. 0..1 Rates.AmountInCurrency
ValidationInstrument program Program Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference
issuance Issuance Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
benefit Benefit What redeeming this code is worth (from the program), so a pay station can show it before applying. 0..1 Validations.ValidationBenefit
redemption Redemption The ValidationRedemption that consumed the code, when redeemed. 0..1 PkCommon.Reference
voidDetail Void detail Who voided an issuance or instrument, when, and why. Present once void. 0..1 Validations.ValidationVoidDetail
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
ValidationIssuance program Program Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference
voidDetail Void detail Who voided an issuance or instrument, when, and why. Present once void. 0..1 Validations.ValidationVoidDetail
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
ValidationIssuanceRequest program Program Optional; defaults to, and MUST equal, the program in the path. 0..1 PkCommon.Reference
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
ValidationProgram place Place The HierarchyElement (Place or subtree root) the program validates parking at. 1..1 PkCommon.Reference
provider Provider The merchant — an APDS Contact or Organisation. 1..1 PkCommon.Reference
benefit Benefit What a validation is worth. Exactly one of amount (money off), duration (comped time, valued at the applicable rate), or percentage (proportionate discount — the APDS RateDiscount discountRate semantics) applies; description is always present so agents can answer disputes in plain language. A program body whose benefit carries none or more than one of the three is refused with 422 request-unprocessable (Part 20 §20.1); the rule is stated here rather than as a schema oneOf so that existing request bodies keep validating. 1..1 Validations.ValidationBenefit
rules.applicableRateTables Applicable rate tables Restrict to these APDS RateTables; absent = all tables at the place that accept validations. 0..* PkCommon.Reference
billing.unitPrice Unit price What the merchant pays per redemption (merchantPays), or the base for merchantShare (split). Absent = billed at the actual amount reduced. 0..1 Rates.AmountInCurrency
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
ValidationRedemption program Program Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference
place Place Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference
session Session Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
command Command The Part 6 Command that applied it, when the channel was callCenter/api via applyValidation. 0..1 PkCommon.Reference
amountReduced Amount reduced Actual reduction of the amount due. 0..1 Rates.AmountInCurrency
reversal.closedStatement Closed statement When the redemption was already billed on a closed statement: that statement. It is not edited; the correction is a credit line on the next closed statement (Part 20 §20.4). 0..1 PkCommon.Reference
reversal.creditedOn Credited on The closed statement carrying the credit line for this reversal; absent until that period closes. 0..1 PkCommon.Reference
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
ValidationStatement program Program Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference
place Place Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
totalReduced Total reduced Sum of amountReduced over applied redemptions. 0..1 Rates.AmountInCurrency
billableAmount Billable amount What the merchant owes for the period under the program's billing model, net of any credit lines (reversals of redemptions billed on an earlier closed statement, Part 20 §20.6). 1..1 Rates.AmountInCurrency
lines.redemption Redemption Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference
lines.originalStatement Original statement For a credit line, the closed statement that billed the redemption. 0..1 PkCommon.Reference
lines.amountReduced Amount reduced A class supporting the definition of a unit of currency in a defined currency. 0..1 Rates.AmountInCurrency
lines.billable Billable A class supporting the definition of a unit of currency in a defined currency. 0..1 Rates.AmountInCurrency
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions

A.1.13.5 Attributes of the "Validations" package

Table A.40 -- Attributes of the "Validations" package

Class name Attribute name Designation Definition Multiplicity Type Notes
ValidationBenefit description Description Free-text description. 1..1 String
duration Duration Comped parking time (ISO 8601), valued at the applicable rate. 0..1 PkCommon.Duration
percentage Percentage Proportionate discount on the amount due (APDS RateDiscount.discountRate semantics). 0..1 Decimal
ValidationInstrument code Code The instrument's code. † 1..1 String
instrumentStatus Instrument status Whether the instrument may still be redeemed. † 1..1 ValidationInstrument.instrumentStatus (enumeration)
validFrom Valid from ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
validTo Valid to ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
ValidationIssuance id Id Unique identifier of the record (Part 4). 1..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 1..1 Integer read-only
quantity Quantity The number of instruments in the batch. † 1..1 Integer
method Method The form of the instruments in the batch. † 1..1 ValidationIssuance.method (enumeration)
validFrom Valid from ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
validTo Valid to Expiry of every instrument in the batch; defaults from the program's rules.validityWindow. 0..1 PkCommon.DateTime
issuedTo Issued to Opaque principal or merchant contact the stock was handed to. 0..1 String
codes Codes The instrument codes — present ONLY in the creation response. 0..* String read-only
issuanceStatus Issuance status void after POST …/issuances/{issuanceId}/void (Part 20 §20.2 rule 5). 1..1 ValidationIssuance.issuanceStatus (enumeration) read-only
note Note Free-text note from the actor. 0..1 String
ValidationIssuanceRequest id Id Unique identifier of the record (Part 4). 0..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 0..1 Integer read-only
quantity Quantity The number of instruments to issue in the batch. † 1..1 Integer
method Method The form of the instruments to issue. † 1..1 ValidationIssuanceRequest.method (enumeration)
validFrom Valid from ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
validTo Valid to Expiry of every instrument in the batch; defaults from the program's rules.validityWindow. 0..1 PkCommon.DateTime
issuedTo Issued to Opaque principal or merchant contact the stock was handed to. 0..1 String
codes Codes Server-generated instrument codes; ignored if sent (Part 20 §20.2). † 0..* String read-only
issuanceStatus Issuance status Server-assigned batch status; ignored if sent (Part 20 §20.2). † 0..1 ValidationIssuanceRequest.issuanceStatus (enumeration) read-only
note Note Free-text note from the actor. 0..1 String
ValidationProgram id Id Unique identifier of the record (Part 4). 1..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 1..1 Integer read-only
name Name Display name shown to agents and on receipts. 0..1 String
validationType Validation type Implementer code list naming the validation product (matches ValidationProvider.validationType). 0..1 String
programStatus Program status The program's lifecycle state (Part 20 §20.1). † 1..1 ValidationProgram.programStatus (enumeration)
rules Rules The closed rule set every implementation evaluates at redemption (Part 20 §20.3). Anything beyond it rides in extensions. 0..1 Structure (members below)
rules.maxPerTicket Max per ticket Redemptions of THIS program allowed on one ticket/session. 0..1 Integer
rules.maxPerDay Max per day Redemptions of this program allowed per calendar day at the place. 0..1 Integer
rules.validityWindow Validity window How long after issuance an instrument stays redeemable (ISO 8601). 0..1 PkCommon.Duration
rules.stackable Stackable Whether this program may combine with other programs on the same ticket. Evaluated both ways (Part 20 §20.3 rule 3): a redemption is refused when the incoming program is not stackable and another program is already applied, or when any program already applied is not stackable. 0..1 Boolean
billing Billing How the operator charges the merchant for redemptions. 0..1 Structure (members below)
billing.model Model Vehicle model. 1..1 ValidationProgram.billing.model (enumeration)
billing.merchantShare Merchant share Percentage of the amount reduced the merchant pays under split. 0..1 Decimal
billing.billingCycle Billing cycle How often the merchant is billed for redemptions. † 0..1 ValidationProgram.billing.billingCycle (enumeration)
issuanceMethods Issuance methods Instrument forms this program may issue. 0..* ValidationProgram.issuanceMethods (enumeration)
statusHistory Status history Immutable, append-only lifecycle audit (Part 4 §4.2). 0..* Structure (members below)
statusHistory.state State The program status entered at this point in the lifecycle. † 1..1 String
statusHistory.time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
statusHistory.actor Actor The person or system that performed the action. 1..1 String
statusHistory.detail Detail Further detail, in free text. 0..1 String
ValidationRedemption id Id Unique identifier of the record (Part 4). 1..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 1..1 Integer read-only
instrumentCode Instrument code The code redeemed, when the channel used one. 0..1 String
ticketNumber Ticket number Number printed on, or encoded in, the parking ticket. 0..1 String
appliedTime Applied time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
channel Channel The channel through which the validation was applied (Part 20 §20.3). † 1..1 ValidationRedemption.channel (enumeration)
appliedBy Applied by Opaque principal (device id, merchant user, agent id). 0..1 String
validationId Validation id The APDS Segment.validationId materialized on the session. 0..1 String read-only
durationComped Duration comped ISO8601 format definition of an interval of time in format [PnnYnnMnnDTnnHnnMnnS]. 0..1 PkCommon.Duration
redemptionStatus Redemption status Whether the redemption stands or was reversed. † 1..1 ValidationRedemption.redemptionStatus (enumeration) read-only
reversal Reversal How and when the redemption was reversed, and any statement it was billed or credited on (Part 20 §20.4). † 0..1 Structure (members below) read-only
reversal.reason Reason Why the action was taken. 0..1 String
reversal.note Note Free-text note from the actor. 0..1 String
reversal.time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
reversal.actor Actor The person or system that performed the action. 0..1 String
statusHistory Status history Immutable, append-only lifecycle audit (Part 4 §4.2). 0..* Structure (members below)
statusHistory.state State The redemption status entered at this point in the lifecycle. † 1..1 String
statusHistory.time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
statusHistory.actor Actor The person or system that performed the action. 1..1 String
statusHistory.detail Detail Further detail, in free text. 0..1 String
ValidationRedemptionReversal reason Reason Implementer code list. 1..1 String
note Note Free-text note from the actor. 0..1 String
ValidationStatement id Id Present only on closed statements. 0..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 0..1 Integer read-only
periodStart Period start ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
periodEnd Period end ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
statementStatus Statement status Whether the statement is a computed preview or a closed, immutable record (Part 20 §20.6). † 0..1 ValidationStatement.statementStatus (enumeration) read-only
billingModel Billing model The program's billing model the statement was computed under. † 0..1 ValidationStatement.billingModel (enumeration)
redemptionCount Redemption count Applied redemptions in the period (reversed ones excluded). 1..1 Integer
reversedCount Reversed count The number of redemptions in the period that were reversed. † 0..1 Integer
creditCount Credit count Number of credit lines — post-closure reversals credited in this period. 0..1 Integer
lines Lines Per-redemption detail; MAY be omitted from list responses. 0..* Structure (members below)
lines.lineKind Line kind redemption (default when absent) — a redemption applied in the period. credit — a redemption billed on an earlier closed statement and reversed since; billable is negative. 0..1 ValidationStatement.lines.lineKind (enumeration)
lines.appliedTime Applied time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
lines.ticketNumber Ticket number Number printed on, or encoded in, the parking ticket. 0..1 String
closedTime Closed time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
closedBy Closed by The principal that closed the statement. † 0..1 String
note Note Free-text note from the actor. 0..1 String
ValidationStatementClose periodStart Period start ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
periodEnd Period end ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
note Note Free-text note from the actor. 0..1 String
ValidationVoid reason Reason Implementer code list — lost, stolen, leaked, misprint, programEnded. 1..1 String
note Note Free-text note from the actor. 0..1 String
ValidationVoidDetail reason Reason Why the action was taken. 0..1 String
note Note Free-text note from the actor. 0..1 String
time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
actor Actor The person or system that performed the action. 0..1 String
voidedCount Voided count On an issuance, how many un-redeemed instruments the void moved to void (redeemed ones are unaffected). 0..1 Integer

A.1.14 "Credentials" package

A.1.14.1 Location of "Credentials" package. The location of the "Credentials" package is:

-- APX/Credentials (source: spec/openapi/domains/credentials/schemas.yaml; normative text: APX Part 21)

A.1.14.2 Classes of the "Credentials" package

Table A.41 -- Classes of the "Credentials" package

Class name Designation Definition Kind APDS status
AccessEvent Access event One access attempt at a lane, whether or not the presented credential matched a CredentialRecord — the item of GET /v1/access-events and the data of apx.credentials.access.v1. credential is REQUIRED whenever a record matched; it is absent only for denialReason: unknownCredential, where presented is REQUIRED instead (Part 21 §21.4). Every CredentialAccessEvent is a valid AccessEvent; this schema exists because CredentialAccessEvent.credential is required and relaxing it would break clients of the per-credential history. class Proposed: AccessEvent (Tier 1); Proposed: AccessOutcomeEnum (Tier 1)
CredentialAccessEvent Credential access event One access attempt with a credential at a lane — granted or denied, and why. Fills the gap that APDS EventTypeEnum has no access events (published as apx.credentials.access.v1). class APX only
CredentialRecord Credential record One access credential — keycard, fob, RFID tag or transponder, mobile credential, hangtag, or a plate used as the credential — with its holder, validity, physical media, and lifecycle. credentialType is the APDS read technology; media.form is the physical form. class Proposed: CredentialAssigned (Tier 1); Proposed: CredentialMedia (Tier 1); Proposed: CredentialSuspension (Tier 1); Proposed: CredentialStatusEnum (Tier 1); Proposed: CredentialMediaFormEnum (Tier 1); Proposed: DepositStatusEnum (Tier 1)
CredentialReplaceRequest Credential replace request Request body issuing a successor credential. The new record inherits holder, account, assigned rights, places, and validity unless overridden; the old record becomes replaced and is removed from the APDS AssignedRights at the same instant the successor is materialized. class APX only
CredentialTransition Credential transition Request body for activate / suspend / resume / report-lost / revoke. class APX only
PresentedCredential Presented credential What the reader actually read at the lane. Carried on an access event when no CredentialRecord matched (denialReason: unknownCredential), and MAY be carried otherwise. Personal data under Part 21 §21.5: returned only under apx.credentials:* scopes. class Proposed: PresentedCredential (Tier 1)

A.1.14.3 Specializations of the "Credentials" package

There are no specializations in the "Credentials" package.

A.1.14.4 Associations of the "Credentials" package

Table A.42 -- Associations of the "Credentials" package

Class name Association end Designation Definition Multiplicity Target Notes
AccessEvent credential Credential The matched CredentialRecord; absent only when nothing matched. 0..1 PkCommon.Reference
presented Presented What the reader actually read at the lane. Carried on an access event when no CredentialRecord matched (denialReason: unknownCredential), and MAY be carried otherwise. Personal data under Part 21 §21.5: returned only under apx.credentials:* scopes. 0..1 Credentials.PresentedCredential
place Place Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
lane Lane The VehicularAccess where the attempt occurred. 0..1 PkCommon.Reference
device Device The reader (SupplementalEquipment). 0..1 PkCommon.Reference
session Session The APDS Session opened or closed by a granted access. 0..1 PkCommon.Reference
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
CredentialAccessEvent credential Credential Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference
place Place Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
lane Lane The VehicularAccess where the attempt occurred. 0..1 PkCommon.Reference
device Device The reader (SupplementalEquipment). 0..1 PkCommon.Reference
session Session The APDS Session opened or closed by a granted access. 0..1 PkCommon.Reference
presented Presented What the reader actually read at the lane. Carried on an access event when no CredentialRecord matched (denialReason: unknownCredential), and MAY be carried otherwise. Personal data under Part 21 §21.5: returned only under apx.credentials:* scopes. 0..1 Credentials.PresentedCredential
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
CredentialRecord holder Holder The APDS RightHolder (or Contact) the credential is issued to. 0..1 PkCommon.Reference
account Account The APX Account (Part 13) this credential belongs to, when the holder is a billable account. 0..1 PkCommon.Reference
assignedRights Assigned rights The APDS AssignedRights this credential is materialized on (Part 21 §21.2). 0..* PkCommon.Reference
places Places HierarchyElement subtree roots this credential is valid at. 0..* PkCommon.Reference
media.deposit Deposit Deposit taken for the physical item. 0..1 Rates.AmountInCurrency
replaces Replaces The CredentialRecord this one succeeded. 0..1 PkCommon.Reference
replacedBy Replaced by The successor, when replaced. 0..1 PkCommon.Reference read-only
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
CredentialReplaceRequest media.deposit Deposit A class supporting the definition of a unit of currency in a defined currency. 0..1 Rates.AmountInCurrency

A.1.14.5 Attributes of the "Credentials" package

Table A.43 -- Attributes of the "Credentials" package

Class name Attribute name Designation Definition Multiplicity Type Notes
AccessEvent id Id Unique identifier of the record (Part 4). 0..1 Uuid
occurredAt Occurred at ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
direction Direction Whether the attempt was to enter or to leave. † 1..1 AccessEvent.direction (enumeration)
outcome Outcome Whether access was granted or refused. † 1..1 AccessEvent.outcome (enumeration)
denialReason Denial reason When denied — definedValue from apx-access-denial-reasons or an implementer code list (Part 11). 0..1 String (code list apx-access-denial-reasons)
CredentialAccessEvent id Id Unique identifier of the record (Part 4). 0..1 Uuid
occurredAt Occurred at ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
direction Direction Whether the attempt was to enter or to leave. † 1..1 CredentialAccessEvent.direction (enumeration)
outcome Outcome Whether access was granted or refused. † 1..1 CredentialAccessEvent.outcome (enumeration)
denialReason Denial reason When denied — definedValue from apx-access-denial-reasons or an implementer code list (Part 11). The credential* values mirror the non-active lifecycle states. 0..1 String (code list apx-access-denial-reasons)
CredentialRecord id Id Unique identifier of the record (Part 4). 1..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 1..1 Integer read-only
credentialType Credential type The APDS read technology (rfid, bluetooth, electronicID, hangtag, licensePlate…). 1..1 Right.CredentialTypeEnum
credentialIdentification Credential identification The value the lane reads — card number, tag id, plate. Unique per (credentialType) within the implementation among non-terminal records; a collision is 409 credential-identification-in-use whose detail MUST NOT identify the holding record, its holder, or its place (Part 21 §21.1 rule 2, §21.5). 1..1 String
credentialAssignedType Credential assigned type APDS CredentialAssignedTypeEnum — what the credential identifies. 0..1 CredentialRecord.credentialAssignedType (enumeration)
validity Validity When the credential may be used. end, when given, MUST be in the future at issue and after start; otherwise the issue is 422 request-unprocessable (Part 21 §21.1 rule 7). 0..1 Structure (members below)
validity.start Start ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
validity.end End ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
activateOnStart Activate on start When true, the server moves the record issued → active by itself at validity.start (or at issue, when validity.start is absent or already past), with actor system, and publishes apx.credentials.status.v1 (Part 21 §21.1 rule 6). When false or absent the record stays issued until activate is called — the card handed over at the desk. 0..1 Boolean
media Media The physical (or virtual) form the credential was issued on. 0..1 Structure (members below)
media.form Form The physical or virtual form of the item the credential was issued on. † 0..1 CredentialRecord.media.form (enumeration)
media.serialNumber Serial number Manufacturer or stock serial of the physical item (distinct from credentialIdentification). 0..1 String
media.batch Batch Stock batch or print run. 0..1 String
media.issuedTime Issued time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
media.depositStatus Deposit status What has happened to the deposit taken for the item. † 0..1 CredentialRecord.media.depositStatus (enumeration)
credentialStatus Credential status The credential's lifecycle status (Part 21 §21.1). † 1..1 CredentialRecord.credentialStatus (enumeration) read-only
suspension Suspension Present while suspended. 0..1 Structure (members below) read-only
suspension.reason Reason Why the action was taken. 0..1 String
suspension.until Until ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
statusHistory Status history Immutable, append-only lifecycle audit (Part 4 §4.2). 0..* Structure (members below)
statusHistory.state State The credential status entered at this point in the lifecycle. † 1..1 String
statusHistory.time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
statusHistory.actor Actor The person or system that performed the action. 1..1 String
statusHistory.detail Detail Further detail, in free text. 0..1 String
CredentialReplaceRequest reason Reason Implementer code list (lost, stolen, damaged, upgrade, reissue). 1..1 String
credentialType Credential type Successor read technology; defaults to the old record's. 0..1 Right.CredentialTypeEnum
credentialIdentification Credential identification Successor identification; server-assigned when absent (pre-encoded stock). 0..1 String
media Media Successor media; same shape as CredentialRecord.media. 0..1 Structure (members below)
media.form Form The physical or virtual form of the successor's item. † 0..1 CredentialReplaceRequest.media.form (enumeration)
media.serialNumber Serial number The serial number of the successor's physical item. † 0..1 String
media.batch Batch The batch the successor's physical item belongs to. † 0..1 String
oldDepositStatus Old deposit status What happens to the old record's deposit. 0..1 CredentialReplaceRequest.oldDepositStatus (enumeration)
note Note Free-text note from the actor. 0..1 String
CredentialTransition reason Reason Implementer code list (nonPayment, holderRequest, securityIncident, stolen…). 1..1 String
note Note Free-text note from the actor. 0..1 String
until Until For suspend — automatic resume time; absent = until resumed. MUST be in the future; a past until is 422 request-unprocessable (Part 21 §21.1 rule 7). 0..1 PkCommon.DateTime
PresentedCredential credentialType Credential type * barcode : barcode or QR digital print pattern, held on any physical media. * bluetooth : specific bluetooth or BLE identification chip used to associate a BLE receiver to a specific user. Used for both one time and permit uses. * eticket : digital equivalent of a paper ticket, often presentable via smartphone or similar device for control. * hangtag : visible, often removable, credential indicator, with visible markings * licensePlate : fixed plate, in a defined format, used to identify a specific vehicle- Normally a permanent fixture. * permit : issued credential, often in the form of an adhesive label, often placed on the windscreen, credential indicator, with visible markings * qrCode : quick Reference (QR) code * rfid : specific RF identification associated to an RFID-related account. Used for permit uses. * ticket : typically issued paper with printed details, often with magnetic strips; typically single use disposable. * electronicID : an identifier transmitted by electronic means * ticketcoupon : a visible printed or written paper-based ticket or coupon carrying an identifiable credential. * vehicleplate : a fixed identifier (registration plate) visible and fixed to a vehicle. 1..1 Right.CredentialTypeEnum
credentialIdentification Credential identification The value read (card number, tag id, plate). 1..1 String

A.1.15 "Valet" package

A.1.15.1 Location of "Valet" package. The location of the "Valet" package is:

-- APX/Valet (source: spec/openapi/domains/valet/schemas.yaml; normative text: APX Part 22)

A.1.15.2 Classes of the "Valet" package

Table A.44 -- Classes of the "Valet" package

Class name Designation Definition Kind APDS status
ConditionReport Condition report The vehicle's condition as recorded by an attendant (or a scanning device) at drop-off or handback: free-text notes, per-area damage entries, and access-controlled image links (Part 9 §9.6). The drop-off report is the evidence a damage claim is answered with. class Proposed: ConditionReport (Tier 2); Proposed: DamageItem (Tier 2); Proposed: DamageSeverityEnum (Tier 2)
ValetCancelRequest Valet cancel request Request body abandoning a drop-off before custody was taken; the ticket becomes cancelled (terminal). class APX only
ValetCancelRetrievalRequest Valet cancel retrieval request Request body cancelling an open retrieval request; the vehicle returns to parked. class APX only
ValetHandbackRequest Valet handback request Request body handing the vehicle to a verified customer, with the handback condition report. class APX only
ValetParkRequest Valet park request Request body recording where the vehicle was parked and where its keys are. class APX only
ValetPickupRequest Valet pickup request Request body recording that a runner has gone to fetch the car (requested → retrieving). class APX only
ValetRetrievalRequest Valet retrieval request Request body asking for the car — from the customer (text, app, web, voice bot) or an attendant. class APX only
ValetStageRequest Valet stage request Request body recording the vehicle at the staging lane, ready for handback. class APX only
ValetTicket Valet ticket The custody record for one valeted vehicle: drop-off (with condition evidence), where it is parked and where the keys are, the retrieval request and its ETA, staging, and handback — with the immutable lifecycle audit. The APDS Session remains the stay and the money; this record is what the attendant board, the customer's phone, and a damage claim look at. class Proposed: RightTypeEnum (Tier 2); Proposed: ValetTicket (Tier 2); Proposed: ValetStatusEnum (Tier 2); Proposed: HandbackVerificationEnum (Tier 2)

A.1.15.3 Specializations of the "Valet" package

There are no specializations in the "Valet" package.

A.1.15.4 Associations of the "Valet" package

Table A.45 -- Associations of the "Valet" package

Class name Association end Designation Definition Multiplicity Target Notes
ValetHandbackRequest conditionReport Condition report The vehicle's condition as recorded by an attendant (or a scanning device) at drop-off or handback: free-text notes, per-area damage entries, and access-controlled image links (Part 9 §9.6). The drop-off report is the evidence a damage claim is answered with. 0..1 Valet.ConditionReport
ValetParkRequest space Space Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
ValetStageRequest stagingLane Staging lane Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference
ValetTicket place Place The HierarchyElement (the facility or valet stand). 1..1 PkCommon.Reference
session Session The APDS Session for the stay (opened at drop-off). 0..1 PkCommon.Reference
assignedRight Assigned right The APDS AssignedRight (the valet ticket as a right), when the operator issues one. 0..1 PkCommon.Reference
customer.contact Contact Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
customer.account Account The APX Account (Part 13), for members and hotel guests on file. 0..1 PkCommon.Reference
dropOff.lane Lane The VehicularAccess or valet stand where custody was taken. 0..1 PkCommon.Reference
dropOff.conditionReport Condition report The vehicle's condition as recorded by an attendant (or a scanning device) at drop-off or handback: free-text notes, per-area damage entries, and access-controlled image links (Part 9 §9.6). The drop-off report is the evidence a damage claim is answered with. 0..1 Valet.ConditionReport
storage.space Space The APDS Space, when the facility is space-mapped. 0..1 PkCommon.Reference
retrieval.stagingLane Staging lane Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
handback.conditionReport Condition report The vehicle's condition as recorded by an attendant (or a scanning device) at drop-off or handback: free-text notes, per-area damage entries, and access-controlled image links (Part 9 §9.6). The drop-off report is the evidence a damage claim is answered with. 0..1 Valet.ConditionReport
charging.session Session The Part 23 ChargingSession the valet opened. 0..1 PkCommon.Reference
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions

A.1.15.5 Attributes of the "Valet" package

Table A.46 -- Attributes of the "Valet" package

Class name Attribute name Designation Definition Multiplicity Type Notes
ConditionReport notes Notes Free-text observations. 0..1 String
damage Damage Structured damage entries, one per finding. 0..* Structure (members below)
damage.area Area Implementer code list — frontBumper, rearBumper, driverDoor, passengerDoor, hood, roof, trunk, wheelFL/FR/RL/RR, windshield, interior… 1..1 String
damage.description Description Free-text description. 0..1 String
damage.severity Severity How serious the damage finding is. † 0..1 ConditionReport.damage.severity (enumeration)
damage.imageLink Image link Represents a Url for an internet accessible resource. 0..1 PkCommon.Url
damage.recordedTime Recorded time Set by the server on an entry appended after drop-off (POST …/condition, Part 22 §22.2 rule 3); absent on the original entries, which share the report's recordedTime. 0..1 PkCommon.DateTime
damage.recordedBy Recorded by Opaque principal that recorded an appended entry. 0..1 String
imageLinks Image links Walk-around photos or scan captures, as access-controlled links. 0..* PkCommon.Url
recordedTime Recorded time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
recordedBy Recorded by Opaque principal (attendant id, scanning device id). 0..1 String
customerAcknowledged Customer acknowledged Whether the customer acknowledged the report (signature, tap, spoken confirmation). 0..1 Boolean
ValetCancelRequest reason Reason Implementer code list (customerLeft, selfParked, duplicateTicket, refused…). 1..1 String
note Note Free-text note from the actor. 0..1 String
ValetCancelRetrievalRequest reason Reason Why the action was taken. 1..1 String
note Note Free-text note from the actor. 0..1 String
ValetHandbackRequest verificationMethod Verification method How the person collecting the vehicle was verified. † 1..1 ValetHandbackRequest.verificationMethod (enumeration)
verificationValue Verification value What was presented (ticket number, one-time code…); never stored beyond the check. 0..1 String
handedTo Handed to A description of the person the vehicle was handed to, as verified. † 0..1 String
mileage Mileage Odometer reading. 0..1 Integer
notes Notes Free-text notes. 0..1 String
ValetParkRequest zone Zone The zone, row or level where the vehicle was parked, for facilities that are not space-mapped. † 0..1 String
keyLocation Key location Where the vehicle's keys are kept. † 0..1 String
note Note Free-text note from the actor. 0..1 String
ValetPickupRequest retrievingBy Retrieving by Opaque principal of the runner; absent = the calling principal. 0..1 String
note Note Free-text note from the actor. 0..1 String
ValetRetrievalRequest channel Channel Where the retrieval request came from (Part 22 §22.3). † 1..1 ValetRetrievalRequest.channel (enumeration)
requestedFor Requested for Scheduled pickup; absent = as soon as possible. 0..1 PkCommon.DateTime
interaction Interaction Opaque interaction id (Part 17 §17.6) when raised through a support channel or bot. 0..1 String
note Note Free-text note from the actor. 0..1 String
ValetStageRequest note Note Free-text note from the actor. 0..1 String
ValetTicket id Id Unique identifier of the record (Part 4). 1..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 1..1 Integer read-only
ticketNumber Ticket number The number printed on the claim ticket / shown in the app. 0..1 String
vehicle Vehicle The vehicle in custody: its plate or other credential read at drop-off, jurisdiction, make, model, colour and description. † 0..1 Structure (members below)
vehicle.credentialType Credential type * barcode : barcode or QR digital print pattern, held on any physical media. * bluetooth : specific bluetooth or BLE identification chip used to associate a BLE receiver to a specific user. Used for both one time and permit uses. * eticket : digital equivalent of a paper ticket, often presentable via smartphone or similar device for control. * hangtag : visible, often removable, credential indicator, with visible markings * licensePlate : fixed plate, in a defined format, used to identify a specific vehicle- Normally a permanent fixture. * permit : issued credential, often in the form of an adhesive label, often placed on the windscreen, credential indicator, with visible markings * qrCode : quick Reference (QR) code * rfid : specific RF identification associated to an RFID-related account. Used for permit uses. * ticket : typically issued paper with printed details, often with magnetic strips; typically single use disposable. * electronicID : an identifier transmitted by electronic means * ticketcoupon : a visible printed or written paper-based ticket or coupon carrying an identifiable credential. * vehicleplate : a fixed identifier (registration plate) visible and fixed to a vehicle. 0..1 Right.CredentialTypeEnum
vehicle.credentialIdentification Credential identification The plate (or other credential) read at drop-off. 0..1 String
vehicle.jurisdiction Jurisdiction Issuing jurisdiction of the plate (state, province or country). 0..1 String
vehicle.make Make Vehicle make. 0..1 String
vehicle.model Model Vehicle model. 0..1 String
vehicle.colour Colour The colour of the vehicle. † 0..1 String
vehicle.description Description Free-text description. 0..1 String
customer Customer Who the car belongs to — minimized (Part 9 §9.6); enough to verify at handback and reach them for ETA. 0..1 Structure (members below)
customer.displayName Display name The customer's display name, minimized (Part 9 §9.6). † 0..1 String
customer.contactChannel Contact channel How to reach the customer about retrieval; the handle is opaque/masked — no telephony in the contract. 0..1 Structure (members below)
customer.contactChannel.type Type The kind of channel the customer is reached on about retrieval. † 0..1 ValetTicket.customer.contactChannel.type (enumeration)
customer.contactChannel.handle Handle Opaque or masked handle (push token id, masked number). 0..1 String
dropOff Drop off When, where and by whom custody was taken, with mileage, fuel level, key tag, items left and the condition report (Part 22 §22.1). † 1..1 Structure (members below)
dropOff.time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
dropOff.attendant Attendant Opaque principal. 0..1 String
dropOff.mileage Mileage Odometer reading. 0..1 Integer
dropOff.fuelLevelPercent Fuel level percent The fuel level at drop-off, as a percentage of a full tank. † 0..1 Decimal
dropOff.keyTag Key tag The key hook / tag identifier. 0..1 String
dropOff.itemsLeft Items left Declared items left in the vehicle. 0..1 String
storage Storage Where the vehicle and its keys are. 0..1 Structure (members below)
storage.zone Zone Zone/row/level text for facilities that are not space-mapped. 0..1 String
storage.keyLocation Key location Where the vehicle's keys are kept. † 0..1 String
storage.parkedTime Parked time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
storage.parkedBy Parked by The attendant who parked the vehicle. † 0..1 String
retrieval Retrieval The current (or last) retrieval request. 0..1 Structure (members below)
retrieval.requestedTime Requested time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
retrieval.requestedFor Requested for A scheduled pickup time; absent = as soon as possible. 0..1 PkCommon.DateTime
retrieval.channel Channel Where the retrieval request came from (Part 22 §22.3). † 0..1 ValetTicket.retrieval.channel (enumeration)
retrieval.requestedBy Requested by Opaque principal (customer handle, attendant, bot id). 0..1 String
retrieval.interaction Interaction Opaque interaction id (Part 17 §17.6 convention) linking to the support interaction that raised it, if any. 0..1 String
retrieval.etaMinutes Eta minutes Whole minutes from now until promisedTime, never negative — max(0, floor(promisedTime − now)) — recomputed on every read and event (Part 22 §22.3 rule 1). For a scheduled pickup it counts down to requestedFor. 0..1 Integer
retrieval.promisedTime Promised time When the car is promised at the staging lane — requestedFor when scheduled, else requestedTime plus the operator's estimate. 0..1 PkCommon.DateTime
retrieval.retrievingBy Retrieving by Opaque principal of the runner fetching the car (set by pickup). 0..1 String
retrieval.stagedTime Staged time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
retrieval.cancelledTime Cancelled time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
retrieval.cancelReason Cancel reason Why the retrieval request was cancelled, such as re-parked (Part 22 §22.1). † 0..1 String
handback Handback When and to whom the vehicle was handed back, how the claimant was verified, and the handback condition report (Part 22 §22.4). † 0..1 Structure (members below) read-only
handback.time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
handback.handedTo Handed to Opaque description of the recipient as verified. 0..1 String
handback.verificationMethod Verification method How the person collecting the vehicle was verified. † 0..1 ValetTicket.handback.verificationMethod (enumeration)
handback.attendant Attendant The attendant who handed the vehicle back. † 0..1 String
handback.mileage Mileage Odometer reading. 0..1 Integer
handback.notes Notes Free-text notes. 0..1 String
charging Charging Part 23 §23.8 — the guest asked the valet to charge the car. Additive and optional; the charge itself is a Part 23 ChargingSession referenced here once the valet plugs in. 0..1 Structure (members below)
charging.requested Requested The customer asked for the vehicle to be charged during the stay. 0..1 Boolean
charging.targetStateOfChargePercent Target state of charge percent The state of charge the customer asked the vehicle to be charged to, as a percentage (Part 23 §23.8). † 0..1 Decimal
charging.instructions Instructions Free text from the customer (charge port side, adapter in trunk…). 0..1 String
valetStatus Valet status The stage of the vehicle in valet custody (Part 22 §22.1). † 1..1 ValetTicket.valetStatus (enumeration) read-only
statusHistory Status history Immutable, append-only lifecycle audit (Part 4 §4.2). 0..* Structure (members below)
statusHistory.state State The valet status entered at this point in the lifecycle. † 1..1 String
statusHistory.time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
statusHistory.actor Actor The person or system that performed the action. 1..1 String
statusHistory.detail Detail Further detail, in free text. 0..1 String

A.1.16 "PlateLists" package

A.1.16.1 Location of "PlateLists" package. The location of the "PlateLists" package is:

-- APX/PlateLists (source: spec/openapi/domains/platelists/schemas.yaml; normative text: APX Part 24)

A.1.16.2 Classes of the "PlateLists" package

Table A.47 -- Classes of the "PlateLists" package

Class name Designation Definition Kind APDS status
PlateList Plate list A list of credentials with a category and per-place behaviour (Part 24). Entries are kept separately (PlateListEntry); the list carries the policy. class Proposed: PlateList (Tier 2)
PlateListEntry Plate list entry One credential on a list (Part 24 §24.2). The plate value appears only under apx.platelists:read/:manage; a consumer that only screens may hold the apds-ext:apx:credential-digest@1.0 decoration instead (Part 9 §9.6 rule 6). class Proposed: PlateListEntry (Tier 2)
PlateListPlaceFlags Plate list place flags What the list does at one place (Part 24 §24.1). class Proposed: PlateListPlaceFlags (Tier 2)

A.1.16.3 Specializations of the "PlateLists" package

There are no specializations in the "PlateLists" package.

A.1.16.4 Associations of the "PlateLists" package

Table A.48 -- Associations of the "PlateLists" package

Class name Association end Designation Definition Multiplicity Target Notes
PlateList owner Owner The Organisation that maintains the list (a city, an operator). 0..1 PkCommon.Reference
places Places Where the list applies, with per-place flags; a list with no places applies nowhere. 0..* PlateLists.PlateListPlaceFlags
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
PlateListEntry list List The PlateList this entry belongs to. 0..1 PkCommon.Reference read-only
details.amountOwed Amount owed A class supporting the definition of a unit of currency in a defined currency. 0..1 Rates.AmountInCurrency
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
PlateListPlaceFlags place Place The HierarchyElement subtree the flags apply to. 1..1 PkCommon.Reference

A.1.16.5 Attributes of the "PlateLists" package

Table A.49 -- Attributes of the "PlateLists" package

Class name Attribute name Designation Definition Multiplicity Type Notes
PlateList id Id Unique identifier of the record (Part 4). 1..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 1..1 Integer read-only
name Name Name in natural language. 1..1 String
category Category definedValue from apx-plate-list-categories (Part 11) — allow, watch, scofflaw, enforcementVehicle — or an implementer category. 1..1 String (code list apx-plate-list-categories)
status Status Whether the list applies, is suspended or is retired (Part 24 §24.1). † 1..1 PlateList.status (enumeration)
description Description Free-text description. 0..1 String
entryCount Entry count The number of entries on the list. † 0..1 Integer read-only
PlateListEntry id Id Unique identifier of the record (Part 4). 1..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 1..1 Integer read-only
credential Credential The credential on the list: its type, value and issuing jurisdiction (Part 24 §24.2). † 1..1 Structure (members below)
credential.credentialType Credential type * barcode : barcode or QR digital print pattern, held on any physical media. * bluetooth : specific bluetooth or BLE identification chip used to associate a BLE receiver to a specific user. Used for both one time and permit uses. * eticket : digital equivalent of a paper ticket, often presentable via smartphone or similar device for control. * hangtag : visible, often removable, credential indicator, with visible markings * licensePlate : fixed plate, in a defined format, used to identify a specific vehicle- Normally a permanent fixture. * permit : issued credential, often in the form of an adhesive label, often placed on the windscreen, credential indicator, with visible markings * qrCode : quick Reference (QR) code * rfid : specific RF identification associated to an RFID-related account. Used for permit uses. * ticket : typically issued paper with printed details, often with magnetic strips; typically single use disposable. * electronicID : an identifier transmitted by electronic means * ticketcoupon : a visible printed or written paper-based ticket or coupon carrying an identifiable credential. * vehicleplate : a fixed identifier (registration plate) visible and fixed to a vehicle. 1..1 Right.CredentialTypeEnum
credential.credentialIdentification Credential identification The plate or credential value. 1..1 String
credential.jurisdiction Jurisdiction Issuing jurisdiction of the plate (state, province, country code). 0..1 String
validity Validity When the entry is in force; absent bounds are open. 0..1 Structure (members below)
validity.start Start ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
validity.end End ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
details Details Why the credential is on the list, as the list owner records it. 0..1 Structure (members below)
details.noticeCount Notice count The number of unresolved notices the list owner records against the credential. † 0..1 Integer
details.reference Reference The owner's case or file reference, opaque. 0..1 String
details.note Note Free-text note from the actor. 0..1 String
vehicle Vehicle A description that helps an officer confirm the match; never a registry. 0..1 Structure (members below)
vehicle.description Description Free-text description. 0..1 String
PlateListPlaceFlags enforced Enforced A match counts for compliance (allow) or enforcement (scofflaw, watch) at this place. 0..1 Boolean
alertOnArrival Alert on arrival A match raises the Part 7 arrival alert of the list's category. 0..1 Boolean
refuseService Refuse service A match refuses service at the lane (the refused-service sign, Part 6 displayMessage). 0..1 Boolean

A.1.17 "Resolution" package

A.1.17.1 Location of "Resolution" package. The location of the "Resolution" package is:

-- APX/Resolution (source: spec/openapi/domains/resolution/schemas.yaml; normative text: APX Part 17)

A.1.17.2 Classes of the "Resolution" package

Table A.50 -- Classes of the "Resolution" package

Class name Designation Definition Kind APDS status
AllowedAction Allowed action One policy decision about one action, evaluated for THIS context, THIS credential, and THIS moment (Part 17 §17.3). The server — never the consuming agent, human or AI — decides permissibility. Approval requirements are policy-dependent, which is why they live here at runtime and not in a registry. class APX only
ApprovalDecision Approval decision The decision on an ApprovalRequest (Part 17 §17.3a), also the body of POST /v1/approvals/{id}/decide. class APX only
ApprovalRequest Approval request Asking someone with authority to approve an action before it runs (Part 17 §17.3a). An agent whose AllowedAction said requiresApproval creates one, addressed to a role (an escalation role of the place, Part 26 §26.5, or the AllowedAction's approvalRole); the approver decides through POST /v1/approvals/{id}/decide; the resulting Approval evidence on the write cites the request. Every change is published as apx.approvals.changed.v1. class APX only
OverrideRecord Override record A recent manual override relevant to this context (courtesy exits, gate opens, passback resets…). Summarizes a Part 6 Command. class APX only
PassbackStatus Passback status Anti-passback state overlay for one APDS Credential. class APX only
PlateCandidate Plate candidate One candidate plate read for correction workflows (Part 17 §17.5) — a projection over APDS Observations, imagery as access-controlled links (Part 9 §9.6). class APX only
ResolutionContext Resolution context The aggregated customer-service context (Part 17): everything the server could resolve about one interaction, plus the policy-decided allowed actions. Every section beyond the required core is OPTIONAL — implementations include what they know and omit what they don't (graceful degradation), and MUST NOT include sections the caller's scopes/grants could not read directly. class APX only
ResolutionIssue Resolution issue The machine-classified issue this context describes. code is a definedValue from the apx-issue-types registry (open, per Part 11); display is the human-readable summary shown to agents. class APX only
ResolutionResolveRequest Resolution resolve request Whatever PARKING-DOMAIN identifiers are currently known — the server resolves every relationship it can (Part 17 §17.2). At least one IDENTIFYING member is required — device, place, lane, session, holder, credential, plate, ticketNumber, reservationCode, guestReference, commsPoint, callerId, dialedNumber, or commsDeviceId; all are optional individually. interactionId, correlationId, channel, and reservationIssuer are metadata and do not count: a body without an identifying member is 400 invalid-request (Part 17 §17.1). Unknown members are ignored (tolerant reader) and never used for resolution. (minProperties: 1 is the only part of this rule the schema states; the full rule is enforced by the server.) class APX only
SupportInteraction Support interaction One customer-service interaction (human or AI agent), recorded so future resolution contexts can surface "they called twice yesterday". class Proposed: SupportInteraction (Tier 3); Proposed: SupportAgentTypeEnum (Tier 3)

A.1.17.3 Specializations of the "Resolution" package

Table A.51 -- Specializations of the "Resolution" package

Class name Parent class name
ApprovalRequest Common.ApxResourceCore

A.1.17.4 Associations of the "Resolution" package

Table A.52 -- Associations of the "Resolution" package

Class name Association end Designation Definition Multiplicity Target Notes
AllowedAction target Target The Reference the action should be executed against. 0..1 PkCommon.Reference
execution.subject Subject For type=ui — the entity to open the surface on; defaults to the action's target. 0..1 PkCommon.Reference
ApprovalRequest place Place Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference
target Target What the action is to be executed against. 0..1 PkCommon.Reference
decision Decision The decision on an ApprovalRequest (Part 17 §17.3a), also the body of POST /v1/approvals/{id}/decide. 0..1 Resolution.ApprovalDecision read-only
OverrideRecord command Command Reference to the full Command (audit trail). 0..1 PkCommon.Reference
requestedBy Requested by Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
place Place Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
PassbackStatus credential Credential Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference
lastAccess.place Place Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
lastAccess.lane Lane The VehicularAccess where the access occurred. 0..1 PkCommon.Reference
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
PlateCandidate detail Detail Per-attribute confidences, alternate reads, and passage geometry (Part 13 §13.3a), when the read carried them. 0..1 Lpr.LprReadDetail
lane Lane Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
observation Observation The underlying APDS Observation. 0..1 PkCommon.Reference
extensions Extensions The underlying Observation's extensions, minus the apds-ext:apx:lpr-read@1.0 block (which is detail) — Part 13 §13.3a. 0..1 Common.Extensions
ResolutionContext issue Issue The machine-classified issue this context describes. code is a definedValue from the apx-issue-types registry (open, per Part 11); display is the human-readable summary shown to agents. 0..1 Resolution.ResolutionIssue
place Place The facility this interaction is anchored to. 1..1 PkCommon.Reference
lane Lane The VehicularAccess (lane) if resolved. 0..1 PkCommon.Reference
laneStatus Lane status The live lane inquiry result (Part 6 §6.2). 0..1 Control.LaneStatus
session Session Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
holder Holder The RightHolder (parker) if identified. 0..1 PkCommon.Reference
account Account A billable parking account (monthly parker, fleet…), anchored on an APDS RightHolder. 0..1 Accounts.Account
assignedRight Assigned right The permit/reservation AssignedRight if resolved. 0..1 PkCommon.Reference
reservation Reservation Compact view of one past/current reservation, for customer-history lookups. Also the data of apx.reservation.noshow.v1 (Part 14 §14.1 step 6). 0..1 Reservations.ReservationSummary
credential Credential Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
passback Passback Anti-passback state overlay for one APDS Credential. 0..1 Resolution.PassbackStatus
payments Payments Recent relevant payments (most recent first). 0..* Accounts.PaymentRecord
devices Devices Live status of the lane's devices — surfaces equipment faults before the agent asks the customer to retry. 0..* Control.DeviceStatus
recentOverrides Recent overrides A recent manual override relevant to this context (courtesy exits, gate opens, passback resets…). Summarizes a Part 6 Command. 0..* Resolution.OverrideRecord
supportHistory Support history Recent SupportInteractions for the same subjects. 0..* Resolution.SupportInteraction
allowedActions Allowed actions The policy layer's decisions — see AllowedAction. May be empty. 0..* Resolution.AllowedAction
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
ResolutionResolveRequest device Device A SupplementalEquipment the interaction is anchored to (only meaningful if inventoried in the Place hierarchy). 0..1 PkCommon.Reference
place Place Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
lane Lane Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
session Session Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
holder Holder Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
credential Credential Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
commsPoint Comms point The Part 26 CommsPoint the contact came from, when the call platform already knows it. 0..1 PkCommon.Reference
SupportInteraction place Place Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 1..1 PkCommon.Reference
issue Issue The machine-classified issue this context describes. code is a definedValue from the apx-issue-types registry (open, per Part 11); display is the human-readable summary shown to agents. 0..1 Resolution.ResolutionIssue
subjects.session Session Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
subjects.holder Holder Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
subjects.account Account Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
subjects.credential Credential Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
subjects.reservation Reservation Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
actions Actions References to actions executed during the interaction (Commands, PaymentLinks, domain mutations). 0..* PkCommon.Reference
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions

A.1.17.5 Attributes of the "Resolution" package

Table A.53 -- Attributes of the "Resolution" package

Class name Attribute name Designation Definition Multiplicity Type Notes
AllowedAction action Action Logical action identifier: the apx-command-types value for control actions, or the effective-spec operationId for domain actions. 1..1 String
display Display Agent-facing label. 0..1 String
allowed Allowed Whether policy permits the action now. † 1..1 Boolean
requiresApproval Requires approval When true, the executing request MUST carry approval evidence (Part 17 §17.3). 0..1 Boolean
approvalRole Approval role Role that can approve (implementer/operator code list). 0..1 String
execution Execution How to execute (RECOMMENDED). Exactly one of command/operationId/ surface per type. ui says the action is done in the vendor's own screen (Part 25): the agent launches surface on subject and the implementation reports what was done as the module's native resource or a UiActionRecord carrying the launch's correlation id. The value set grows additively: a client MUST skip an action whose type it does not recognise rather than fail (Part 17 §17.3). 0..1 Structure (members below)
execution.type Type Whether the action runs as a Part 6 control command or as a domain API operation. † 1..1 AllowedAction.execution.type (enumeration)
execution.command Command For type=control — the apx-command-types value for POST /v1/commands. 0..1 String
execution.operationId Operation id For type=domain — the operationId of the executing operation in the effective OpenAPI description. 0..1 String
execution.surface Surface For type=ui — the apx-ui-surfaces value to launch (Part 25 §25.5). 0..1 String
reason Reason Why the action is denied or gated. REQUIRED when allowed=false or requiresApproval=true. 0..1 Structure (members below)
reason.code Code Machine-readable policy reason code (operator code list). 1..1 String
reason.display Display The agent-facing explanation of why the action is denied or gated. † 0..1 String
reason.policy Policy Identifier of the matched operator policy (opaque to APX). 0..1 String
ApprovalDecision outcome Outcome Whether the role approved or denied the action. † 1..1 ApprovalDecision.outcome (enumeration)
decidedBy Decided by The approving principal, in the role the request named. 1..1 String
decidedAt Decided at ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime read-only
note Note Free-text note from the actor. 0..1 String
ApprovalRequest id Id Unique identifier of the record (Part 4). 0..1 Uuid read-only
version Version Server-managed; bodies carry it only for a versioned replace (Part 4 §4.2a). 0..1 Integer read-only
action Action The apx-command-types value or effective-spec operationId to be approved (the AllowedAction.action). 1..1 String
requestedBy Requested by The agent asking. 1..1 String
agentType Agent type Whether a person or an AI agent asked for the approval. † 0..1 ApprovalRequest.agentType (enumeration)
role Role The role asked to decide (apx-escalation-roles value or the AllowedAction's approvalRole). 1..1 String
interactionId Interaction id The calling application's opaque interaction identifier (Part 17 §17.7). † 0..1 String
correlationId Correlation id The interaction's correlation id (Part 17 §17.7). 1..1 Uuid
reason Reason Why the agent is asking, in one line. 0..1 String
status Status Where the request stands: pending, approved, denied or expired (Part 17 §17.3a). † 1..1 ApprovalRequest.status (enumeration) read-only
expiresAt Expires at When a pending request lapses to expired. Settable on create; the server MAY default it by policy. 0..1 PkCommon.DateTime
OverrideRecord commandType Command type definedValue from apx-command-types. 1..1 String
occurredAt Occurred at ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
agent Agent The human or AI principal who initiated the override, copied from the summarized Command's agent. 0..1 String
agentType Agent type Copied from the summarized Command's agentType. 0..1 OverrideRecord.agentType (enumeration)
reason Reason The override's recorded reason, copied from the summarized Command's reason. 0..1 String
PassbackStatus state State Whether the credential is in a passback violation. † 1..1 PassbackStatus.state (enumeration)
expectedPresence Expected presence Where the credential is expected to be, inside or outside the facility. † 0..1 PassbackStatus.expectedPresence (enumeration)
recordedPresence Recorded presence Where the anti-passback record places the credential, inside or outside the facility. † 0..1 PassbackStatus.recordedPresence (enumeration)
lastAccess Last access The most recent access event for this credential. 0..1 Structure (members below)
lastAccess.direction Direction Whether the last access was an entry or an exit. † 1..1 PassbackStatus.lastAccess.direction (enumeration)
lastAccess.occurredAt Occurred at ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
PlateCandidate plate Plate Vehicle license plate text as read or entered. 1..1 String
country Country Plate issuing country (APDS VehicleAncillaryIdentification.country vocabulary). 0..1 String
stateProvince State province Plate issuing state/province (APDS VehicleAncillaryIdentification.stateProvince vocabulary). 0..1 String
confidence Confidence Projection of APDS Confidence.overallConfidence (0–1) for the read. 1..1 Decimal
observationDateTime Observation date time When the read was captured (aligned with LprRead.observationDateTime; APDS ObservationElement.observationStartTime). 1..1 PkCommon.DateTime
plateImage Plate image Represents a Url for an internet accessible resource. 0..1 PkCommon.Url
vehicleImage Vehicle image Represents a Url for an internet accessible resource. 0..1 PkCommon.Url
purgedImagery Purged imagery True when imagery for this read existed and was purged under the retention schedule (Part 13 §13.3b); plateImage/vehicleImage are then absent. 0..1 Boolean read-only
ResolutionContext id Id Unique identifier of the record (Part 4). 1..1 Uuid read-only
version Version Increments each time the context is recomputed. 1..1 Integer read-only
computedAt Computed at ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
status Status partial = at least one source has not answered yet; re-read to refresh. 1..1 ResolutionContext.status (enumeration)
pendingSources Pending sources Names of sources still resolving when status=partial (implementer-defined identifiers). 0..* String
interactionId Interaction id Echo of the caller's opaque interaction identifier. 0..1 String
correlationId Correlation id Identifier that links related requests and records. 0..1 Uuid
placeDisplay Place display The display name of the facility. † 0..1 String
vehicle Vehicle The vehicle as best resolved (usually via LPR). Plate vocabulary follows APDS VehicleAncillaryIdentification (country/stateProvince). 0..1 Structure (members below)
vehicle.plate Plate Vehicle license plate text as read or entered. 0..1 String
vehicle.country Country The plate's issuing country, as in APDS VehicleAncillaryIdentification. † 0..1 String
vehicle.stateProvince State province State or province that issued the plate. 0..1 String
vehicle.confidence Confidence Projection of APDS Confidence.overallConfidence (0–1). 0..1 Decimal
vehicle.plateImage Plate image Represents a Url for an internet accessible resource. 0..1 PkCommon.Url
holderDisplay Holder display Display name only — contact details require the account read (PII minimization). 0..1 String
accessDecision Access decision The most recent access decision at the lane. 0..1 Structure (members below)
accessDecision.status Status The outcome of the most recent access decision at the lane. † 0..1 ResolutionContext.accessDecision.status (enumeration)
accessDecision.reasonCode Reason code Operator code-list value. 0..1 String
accessDecision.reasonDisplay Reason display A human-readable explanation of the access decision. † 0..1 String
accessDecision.occurredAt Occurred at ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
recommendedAction Recommended action The server's suggested next step (advisory, never binding). MUST be one of allowedActions. 0..1 Structure (members below)
recommendedAction.action Action The AllowedAction.action value being recommended. 1..1 String
recommendedAction.reason Reason Why the action was taken. 0..1 String
ResolutionIssue code Code definedValue from apx-issue-types. 1..1 String
display Display The human-readable summary of the issue shown to agents. † 0..1 String
ResolutionResolveRequest interactionId Interaction id OPAQUE identifier of the calling application's customer interaction (a call, chat, SMS session…). APX never interprets it — it only echoes it for correlation (Part 17 §17.7). Not an identifier for resolution. 0..1 String
correlationId Correlation id Caller-minted correlation id; echoed on the context and reusable on Commands. 0..1 Uuid
channel Channel How the interaction arrived, for context/history display (voice | intercom | chat | web | other). 0..1 String
plate Plate Vehicle license plate text as read or entered. 0..1 String
ticketNumber Ticket number Number printed on, or encoded in, the parking ticket. 0..1 String
reservationCode Reservation code A reservation code the customer presented. † 0..1 String
reservationIssuer Reservation issuer Who sold the reservation, when the code alone is ambiguous across sellers (Part 17 §17.2, ReservationSummary.issuer). Metadata, not an identifier. 0..1 String
guestReference Guest reference A guest without a plate or ticket — a hotel room, a company, a tenant's employee, an event (Part 17 §17.2). The server resolves it through the place's guest arrangements. 0..1 Structure (members below)
guestReference.kind Kind What kind of reference the guest gave (Part 17 §17.1). † 1..1 ResolutionResolveRequest.guestReference.kind (enumeration)
guestReference.value Value The reference as the guest gave it, such as the room number or the company name. † 1..1 String
callerId Caller id E.164. The number the contact came from; matched against CommsPoint.callerId (Part 26 §26.4). A parker's own mobile number resolves to nothing and is not stored. 0..1 String
dialedNumber Dialed number E.164. The number the contact called; matched against CommsPoint.phoneNumber. A posted number shared by many lanes resolves to the place only. 0..1 String
commsDeviceId Comms device id The call platform's device id; matched against CommsPoint.commsDeviceId. 0..1 String
SupportInteraction id Id Unique identifier of the record (Part 4). 1..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 1..1 Integer read-only
channel Channel voice | chat | email | sms | other (implementer code list). 1..1 String
agentType Agent type Whether a person or an AI agent handled the interaction. † 1..1 SupportInteraction.agentType (enumeration)
agent Agent Agent identifier (human or system principal). 0..1 String
startedAt Started at ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
endedAt Ended at ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
summary Summary Short outcome summary. NOT a transcript — PII minimization (Part 9 §9.6). 0..1 String
subjects Subjects What/who the interaction was about (all optional). 0..1 Structure (members below)
subjects.plate Plate Vehicle license plate text as read or entered. 0..1 String
interactionId Interaction id The calling application's opaque interaction identifier. 0..1 String
resolution Resolution How the interaction ended. 0..1 Structure (members below)
resolution.code Code A definedValue of apx-interaction-outcomes (Part 11) or an implementer code (Part 17 §17.5). 0..1 String
resolution.display Display A human-readable description of how the interaction ended. † 0..1 String
correlationId Correlation id Correlation chain id (Part 17 §17.7). 0..1 Uuid

A.1.18 "UiLaunch" package

A.1.18.1 Location of "UiLaunch" package. The location of the "UiLaunch" package is:

-- APX/UiLaunch (source: spec/openapi/domains/ui/schemas.yaml; normative text: APX Part 25)

A.1.18.2 Classes of the "UiLaunch" package

Table A.54 -- Classes of the "UiLaunch" package

Class name Designation Definition Kind APDS status
UiActionRecord Ui action record What an agent did in a launched screen when the implementation could not express it as the module's own resource or Command (Part 25 §25.4). The native resource is always preferred: a lost ticket issued in the vendor's screen MUST appear as a lostTicket Command carrying the launch's correlationId. Only an action with no APX operation on this implementation is recorded here, with the fields the host asked for in returnFields, and unavailable[] for the ones it could not supply. Published as apx.ui.action.recorded.v1. class APX only
UiLaunch Ui launch One opening of a surface for one agent (Part 25 §25.3). Created by the handshake (POST /v1/ui/launches) or minted by the implementation when a signed token is presented. url is single-use and expires at expiresAt; the record itself stays readable for audit and carries the actions[] the screen reported. class APX only
UiLaunchRequest Ui launch request What the host sends to open a surface for one agent (Part 25 §25.2). The same members are the claims of a signed launch token (UiLaunchToken). correlationId ties everything the agent does in the screen back to the host's record; returnFields lists the APX paths the host wants back when the implementation has to answer with a UiActionRecord instead of a native resource. class APX only
UiLaunchToken Ui launch token INFORMATIVE. The claims of a signed launch token (JWS, ES256 or RS256) in the signedToken launch mode (Part 25 §25.3). aud is the implementation, exp is at most 60 s after iat, jti is unique and single-use. The remaining claims are the UiLaunchRequest members. The token travels by form POST or in the URL fragment, never in the query string, and the implementation checks it against the host's keys registered at onboarding (Part 25 §25.6). class APX only
UiSurface Ui surface One screen an implementation offers for launch (Part 25 §25.1). Listed in the discovery document's uiSurfaces[], so a host learns which screens exist, how each may be shown, which launch modes it accepts, and which actions it reports back. The surface name is a definedValue of apx-ui-surfaces (<module>.<view>, Part 11); its registry entry names the subject class the surface opens. class APX only

A.1.18.3 Specializations of the "UiLaunch" package

Table A.55 -- Specializations of the "UiLaunch" package

Class name Parent class name
UiLaunch Common.ApxResourceCore
UiLaunch UiLaunch.UiLaunchRequest
UiLaunchToken UiLaunch.UiLaunchRequest

A.1.18.4 Associations of the "UiLaunch" package

Table A.56 -- Associations of the "UiLaunch" package

Class name Association end Designation Definition Multiplicity Target Notes
UiActionRecord launch Launch The UiLaunch this record belongs to. 0..1 PkCommon.Reference read-only
result Result The native resource or Command the action produced, when one exists (then fields MAY be omitted). 0..1 PkCommon.Reference
UiLaunch actions Actions Every UiActionRecord reported for this launch, oldest first (Part 25 §25.4). 0..* UiLaunch.UiActionRecord read-only
UiLaunchRequest subject Subject The entity the surface opens on (its class per the surface's registry entry). Required unless the surface is general. 0..1 PkCommon.Reference
place Place The facility the launch concerns; MUST lie inside the caller's grant. 1..1 PkCommon.Reference
lane Lane The VehicularAccess, when the launch concerns one lane. 0..1 PkCommon.Reference
UiSurface places Places The HierarchyElement subtrees where the surface is offered. Absent means everywhere the credential is granted. 0..* PkCommon.Reference

A.1.18.5 Attributes of the "UiLaunch" package

Table A.57 -- Attributes of the "UiLaunch" package

Class name Attribute name Designation Definition Multiplicity Type Notes
UiActionRecord id Id Unique identifier of the record (Part 4). 0..1 Uuid read-only
action Action The apx-command-types value or effective-spec operationId the action corresponds to, or other when none does (Part 25 §25.4). 1..1 String
outcome Outcome Whether the action completed, failed or was not taken (Part 25 §25.4). † 1..1 UiActionRecord.outcome (enumeration)
occurredAt Occurred at ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
agent Agent The agent who acted; defaults to the launch's agent. 0..1 String
summary Summary One line a host can show in the call record. Carries no personal data beyond what the host already holds. 1..1 String
fields Fields The values the host asked for, keyed by the returnFields path. 0..1 Map of Any
unavailable Unavailable Requested paths the implementation could not fill, and why. 0..* Structure (members below)
unavailable.field Field The return field, as a JSON pointer, that the implementation could not supply. † 1..1 String
unavailable.reason Reason Why the action was taken. 1..1 UiActionRecord.unavailable.reason (enumeration)
correlationId Correlation id The launch's correlation id, echoed. 0..1 Uuid
UiLaunch id Id Unique identifier of the record (Part 4). 0..1 Uuid read-only
version Version Server-managed; bodies carry it only for a versioned replace (Part 4 §4.2a). 0..1 Integer read-only
url Url The single-use HTTPS address the host opens for the agent. Present only on the create response and the first read within expiresAt; never carries personal data or secrets in its query string (Part 25 §25.6). 0..1 Url read-only
expiresAt Expires at When url (or the signed token) stops working. At most 60 s after issue. 1..1 PkCommon.DateTime
status Status issued → opened on first use of the url or token (single use) → closed when the screen reports it is done, or expired when expiresAt passes unused. An opened launch not closed within the implementation's limit (RECOMMENDED 1 h) also becomes expired (Part 25 §25.3). 1..1 UiLaunch.status (enumeration)
openedAt Opened at ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
closedAt Closed at ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
UiLaunchRequest surface Surface definedValue from apx-ui-surfaces. 1..1 String
agent Agent The staff member the screen is opened for; the implementation logs them in as this agent. 1..1 String
agentType Agent type Whether a person or an AI agent will use the surface (Part 25 §25.2). † 1..1 UiLaunchRequest.agentType (enumeration)
interactionId Interaction id The host's opaque interaction identifier (Part 17 §17.7), echoed on every record the launch produces. 0..1 String
correlationId Correlation id Host-minted correlation id, carried by every native resource, Command, or UiActionRecord that results from the screen (Part 25 §25.4). 1..1 Uuid
displayMode Display mode How the host will show the surface; must be one the surface lists. † 1..1 UiLaunchRequest.displayMode (enumeration)
returnFields Return fields JSON-pointer paths, relative to the module resource the surface's actions produce, that the host wants back in UiActionRecord.fields (/amount, /session/id). A value the implementation cannot supply is listed in unavailable[] with a reason. 0..* String
expiresIn Expires in Seconds the launch url stays usable. Never more than 60 (Part 25 §25.6). 0..1 Integer
UiLaunchToken iss Iss The host's issuer identifier, as registered. 1..1 String
aud Aud The implementation the token is for. 1..1 String
exp Exp Expiry, seconds since the epoch; at most iat + 60. 1..1 Integer
iat Iat Issued at, seconds since the epoch. 1..1 Integer
jti Jti Unique token id; the implementation refuses a replay. 1..1 String
UiSurface surface Surface definedValue from apx-ui-surfaces. 1..1 String
subjectClass Subject class The APDS or APX class a launch of this surface opens (VehicularAccess, Session, Violation…). Absent for a general surface such as place.console or module.home. 0..1 String
displayModes Display modes How the host may show the surface. embed needs the host's origin registered with the implementation (Part 25 §25.6); popup is the fallback every surface MUST support. 1..* UiSurface.displayModes (enumeration)
launchModes Launch modes handshake — the host calls POST /v1/ui/launches and opens the returned single-use url. signedToken — the host signs a UiLaunchToken and sends it to launchUrl (Part 25 §25.3). 1..* UiSurface.launchModes (enumeration)
launchUrl Launch url Where a signed launch token is sent (signedToken mode only). HTTPS only. 0..1 Url
actions Actions What the surface can report back (Part 25 §25.4): apx-command-types values and effective-spec operationIds. A host uses it to decide which returnFields to ask for. 0..* String

A.1.19 "Charging" package

A.1.19.1 Location of "Charging" package. The location of the "Charging" package is:

-- APX/Charging (source: spec/openapi/domains/charging/schemas.yaml; normative text: APX Part 23)

A.1.19.2 Classes of the "Charging" package

Table A.58 -- Classes of the "Charging" package

Class name Designation Definition Kind APDS status
ChargingBayPresence Charging bay presence Part 23 — what the bay in front of a charging point physically contains, as observed by an overhead camera, a ground sensor, the charger's own connector state, or an attendant — fused by the server (Part 23 §23.3). Distinguishes the cases the charger alone cannot: a vehicle parked in the bay but not plugged in (an ICE vehicle, or an EV not charging), and a bay blocked by something that is not a vehicle. Also the request body a camera analytics system POSTs to …/points/{id}/bay. class Proposed: ChargingBayPresence (Tier 3); Proposed: BayPresenceEnum (Tier 3); Proposed: BayPresenceSourceEnum (Tier 3)
ChargingEvent Charging event Part 23 — one physical-timeline event the charging-network bridge reports for a session — the APX counterpart of an OCPP 2.0.1 TransactionEvent. The server applies the lifecycle transition (Part 23 §23.2) and appends statusHistory. meterValue events update energy without a state change. Idempotent by Idempotency-Key (bridges retry). class APX only
ChargingPaymentAttachment Charging payment attachment Part 23 — request body attaching the settling payment to an unplugged directPayment session, or recording the network's charge detail record for a chargingNetwork one. class APX only
ChargingPointStatus Charging point status Part 23 — live state overlay keyed by Reference to an APDS ElectricChargingEquipment — the dynamic counterpart of the static ElectricChargingPoint (APDS refillPointIndex exists precisely "to link static and dynamic publications"). Never duplicates the static descriptive fields (connector types, power ratings live in APDS). Carries availability per point and per connector, the current session, a reservation, and what the bay camera sees. Same pattern as Part 6 DeviceStatus. Also the request body the charging-network bridge PUTs to …/points/{id}/status. class Proposed: ChargingPointStatus (Tier 3); Proposed: ConnectorStatus (Tier 3)
ChargingSession Charging session Part 23 — one charge of one vehicle at one charging point, as the parking system sees it: who was authorized and how, the timeline from plug-in to unplug, energy delivered, the idle period after charging completed, cost, and how it settles — while the APDS Session remains the parking stay and is only referenced. The charging network's own identifiers (OCPP transaction, OCPI session/CDR) ride along opaquely so the two records can be reconciled without APX redefining either protocol. class Proposed: ChargingSession (Tier 3); Proposed: ChargingCost (Tier 3); Proposed: ChargingIdleTerms (Tier 3); Proposed: ChargingSessionStatusEnum (Tier 3); Proposed: ChargingStopReasonEnum (Tier 3); Proposed: ChargingSettlementModeEnum (Tier 3)

A.1.19.3 Specializations of the "Charging" package

There are no specializations in the "Charging" package.

A.1.19.4 Associations of the "Charging" package

Table A.59 -- Associations of the "Charging" package

Class name Association end Designation Definition Multiplicity Target Notes
ChargingBayPresence observation Observation The APDS Observation carrying the camera/sensor evidence (Part 13 §13.3 conventions). 0..1 PkCommon.Reference
ChargingPaymentAttachment payment Payment The settling APDS Payment / APX PaymentRecord. 0..1 PkCommon.Reference
ChargingPointStatus chargingPoint Charging point The APDS ElectricChargingEquipment (HierarchyElement). 1..1 PkCommon.Reference
place Place The containing Place (event binding and place filters). 0..1 PkCommon.Reference
space Space The APDS Space (bay) this point serves, when the facility is space-mapped. 0..1 PkCommon.Reference
connectors.currentSession Current session Represents a reference to an identifiable object where the identifier is unique. It is composed of an unique identifier and a string identifying the class of the referenced object. If multiple versions exists for the object, the latest version is considered. 0..1 PkCommon.Reference
currentSession Current session The ChargingSession in progress at this point, if any. 0..1 PkCommon.Reference
reservedFor Reserved for The APDS AssignedRight (Part 14 reservation) holding this point, if any. 0..1 PkCommon.Reference
bay Bay Part 23 — what the bay in front of a charging point physically contains, as observed by an overhead camera, a ground sensor, the charger's own connector state, or an attendant — fused by the server (Part 23 §23.3). Distinguishes the cases the charger alone cannot: a vehicle parked in the bay but not plugged in (an ICE vehicle, or an EV not charging), and a bay blocked by something that is not a vehicle. Also the request body a camera analytics system POSTs to …/points/{id}/bay. 0..1 Charging.ChargingBayPresence
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions
ChargingSession place Place The Place (facility) — event binding and grant check. 1..1 PkCommon.Reference
chargingPoint Charging point The APDS ElectricChargingEquipment. 1..1 PkCommon.Reference
space Space The APDS Space (bay), when space-mapped. 0..1 PkCommon.Reference
parkingSession Parking session The APDS Session for the parking stay this charge happened inside. REQUIRED when settlement.mode is parkingSession. 0..1 PkCommon.Reference
assignedRight Assigned right The APDS AssignedRight used — a charging reservation (Part 14) or the permit that entitles charging. 0..1 PkCommon.Reference
valetTicket Valet ticket The Part 22 ValetTicket when the valet plugged the car in. 0..1 PkCommon.Reference
authorization.credential Credential The Part 21 CredentialRecord (or APDS CredentialAssigned) presented. 0..1 PkCommon.Reference
authorization.account Account The Part 13 Account charged, when settlement is on account. 0..1 PkCommon.Reference
idlePolicy.idleRate Idle rate A class supporting the definition of a unit of currency in a defined currency. 0..1 Rates.AmountInCurrency
cost.energy Energy A class supporting the definition of a unit of currency in a defined currency. 0..1 Rates.AmountInCurrency
cost.time Time A class supporting the definition of a unit of currency in a defined currency. 0..1 Rates.AmountInCurrency
cost.idle Idle A class supporting the definition of a unit of currency in a defined currency. 0..1 Rates.AmountInCurrency
cost.fees Fees A class supporting the definition of a unit of currency in a defined currency. 0..1 Rates.AmountInCurrency
cost.total Total A class supporting the definition of a unit of currency in a defined currency. 0..1 Rates.AmountInCurrency
settlement.payment Payment The settling APDS Payment / APX PaymentRecord (directPayment). 0..1 PkCommon.Reference
network.operator Operator The charge point operator — a Reference to the operator's contact/organisation record, as Part 20 references a merchant. 0..1 PkCommon.Reference
recordInfo Record info Provenance metadata for an APX resource, aligned to the APDS Information Model's RecordType (creationTime/creator/lastUpdate). All timestamps are RFC 3339 (APDS DateTime). 0..1 Common.RecordInfo
extensions Extensions Implementer extensions, keyed by a namespaced name (Part 10). 0..1 Common.Extensions

A.1.19.5 Attributes of the "Charging" package

Table A.60 -- Attributes of the "Charging" package

Class name Attribute name Designation Definition Multiplicity Type Notes
ChargingBayPresence presence Presence empty — nothing in the bay; vehiclePluggedIn — a vehicle is present and the charger reports a connected cable; vehicleNotPluggedIn — a vehicle is present and no cable is connected (ICE-ing, or an EV not charging); blocked — the bay is obstructed by something other than a parked vehicle (cones, debris, a vehicle straddling); unknown. 1..1 ChargingBayPresence.presence (enumeration)
source Source The evidence source this presence state was derived from (the strongest one, when fused). 0..1 ChargingBayPresence.source (enumeration)
observedTime Observed time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
sinceTime Since time When the current presence state began — the dwell clock for not-plugged-in and idle handling. 0..1 PkCommon.DateTime
vehicle Vehicle The vehicle seen in the bay, minimized (Part 9 §9.6). Omitted on the customer scope. 0..1 Structure (members below)
vehicle.credentialType Credential type * barcode : barcode or QR digital print pattern, held on any physical media. * bluetooth : specific bluetooth or BLE identification chip used to associate a BLE receiver to a specific user. Used for both one time and permit uses. * eticket : digital equivalent of a paper ticket, often presentable via smartphone or similar device for control. * hangtag : visible, often removable, credential indicator, with visible markings * licensePlate : fixed plate, in a defined format, used to identify a specific vehicle- Normally a permanent fixture. * permit : issued credential, often in the form of an adhesive label, often placed on the windscreen, credential indicator, with visible markings * qrCode : quick Reference (QR) code * rfid : specific RF identification associated to an RFID-related account. Used for permit uses. * ticket : typically issued paper with printed details, often with magnetic strips; typically single use disposable. * electronicID : an identifier transmitted by electronic means * ticketcoupon : a visible printed or written paper-based ticket or coupon carrying an identifiable credential. * vehicleplate : a fixed identifier (registration plate) visible and fixed to a vehicle. 0..1 Right.CredentialTypeEnum
vehicle.credentialIdentification Credential identification The plate read, when the camera has LPR. 0..1 String
vehicle.jurisdiction Jurisdiction Issuing jurisdiction of the plate (state, province or country). 0..1 String
vehicle.evCapable Ev capable Whether the vehicle appears able to charge (make/model or badge recognition) — false is the ICE-in-EV-bay signal; null when unknown. 0..1 Boolean nullable
confidence Confidence The analytics system's confidence in presence. 0..1 Decimal
imageLink Image link Access-controlled evidence image (Part 9 §9.6), never inline. 0..1 PkCommon.Url
detail Detail Further detail, in free text. 0..1 String
ChargingEvent eventType Event type The kind of physical-timeline event reported (Part 23 §23.2). † 1..1 ChargingEvent.eventType (enumeration)
time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
connectorIndex Connector index The 1-based position in the point's static APDS connectors[] of the connector the event concerns. † 0..1 Integer
meterWh Meter wh Cumulative meter reading at time. 0..1 Decimal
powerKw Power kw The power being delivered at the time of the event, in kilowatts. † 0..1 Decimal
stateOfChargePercent State of charge percent The vehicle's state of charge at the time of the event, as a percentage, when the vehicle reports it. † 0..1 Decimal
suspendedBy Suspended by With suspended. 0..1 ChargingEvent.suspendedBy (enumeration)
stopReason Stop reason With chargingEnded. 0..1 ChargingEvent.stopReason (enumeration)
faultCode Fault code With fault — the charger's error code, opaque. 0..1 String
externalEventId External event id The bridge's own id for this event (OCPP seqNo, message id) for reconciliation. 0..1 String
detail Detail Further detail, in free text. 0..1 String
ChargingPaymentAttachment externalReference External reference The charging network's CDR id. 0..1 String
note Note Free-text note from the actor. 0..1 String
ChargingPointStatus refillPointIndex Refill point index The APDS RefillPoint index of the static publication this status describes. 0..1 Integer
evseId Evse id The EVSE identifier as the charging network knows it (ISO 15118 / eMI3 form) — opaque bridge to OCPP/OCPI. 0..1 String
availability Availability Point-level availability (the busiest connector wins): available; occupied — a cable is connected but no energy is flowing (plugged in, suspended, complete, or idle); charging; reserved (Part 14 AssignedRight in force); blocked — the bay is occupied or obstructed without a connected cable (from bay.presence); inoperative (planned: maintenance, closed hours); outOfOrder (fault); unknown. Aligned with the OCPI EVSE status vocabulary. 1..1 ChargingPointStatus.availability (enumeration)
connectors Connectors Per-connector availability; connectorIndex is the 1-based position in the static APDS connectors[]. 0..* Structure (members below)
connectors.connectorIndex Connector index The 1-based position of the connector in the static APDS connectors[] (Part 23 §23.1). † 1..1 Integer
connectors.connectorType Connector type Echo of the static APDS connector type, for consumers that do not hold the hierarchy. 0..1 EnergyInfrastructure.ConnectorTypeEnum
connectors.availability Availability The availability of the connector (Part 23 §23.1). † 1..1 ChargingPointStatus.connectors.availability (enumeration)
connectors.currentPowerKw Current power kw The power currently delivered through the connector, in kilowatts. † 0..1 Decimal
lastCommunication Last communication ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
stateChangedTime State changed time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
ChargingSession id Id Unique identifier of the record (Part 4). 1..1 Uuid read-only
version Version Version number of the record; increases by one on each change (Part 4). 1..1 Integer read-only
connectorIndex Connector index 1-based position in the point's static APDS connectors[]. 0..1 Integer
evseId Evse id Opaque EVSE identifier (ISO 15118 / eMI3 form). 0..1 String
vehicle Vehicle Minimized (Part 9 §9.6); plate values only under apx.charging:read/:manage. 0..1 Structure (members below)
vehicle.credentialType Credential type * barcode : barcode or QR digital print pattern, held on any physical media. * bluetooth : specific bluetooth or BLE identification chip used to associate a BLE receiver to a specific user. Used for both one time and permit uses. * eticket : digital equivalent of a paper ticket, often presentable via smartphone or similar device for control. * hangtag : visible, often removable, credential indicator, with visible markings * licensePlate : fixed plate, in a defined format, used to identify a specific vehicle- Normally a permanent fixture. * permit : issued credential, often in the form of an adhesive label, often placed on the windscreen, credential indicator, with visible markings * qrCode : quick Reference (QR) code * rfid : specific RF identification associated to an RFID-related account. Used for permit uses. * ticket : typically issued paper with printed details, often with magnetic strips; typically single use disposable. * electronicID : an identifier transmitted by electronic means * ticketcoupon : a visible printed or written paper-based ticket or coupon carrying an identifiable credential. * vehicleplate : a fixed identifier (registration plate) visible and fixed to a vehicle. 0..1 Right.CredentialTypeEnum
vehicle.credentialIdentification Credential identification The vehicle's plate or other credential value, returned only under apx.charging:read or :manage (Part 9 §9.6). † 0..1 String
vehicle.jurisdiction Jurisdiction Issuing jurisdiction of the plate (state, province or country). 0..1 String
vehicle.make Make Vehicle make. 0..1 String
vehicle.model Model Vehicle model. 0..1 String
authorization Authorization How the charge was authorized and who is on the hook for it. 0..1 Structure (members below)
authorization.method Method The APDS authentication/identification method (rfid, apps, overTheAir for ISO 15118 Plug & Charge, creditCard, unlimitedAccess for free-vend inside a controlled garage…). 0..1 EnergyInfrastructure.AuthenticationAndIdentificationEnum
authorization.methodDetail Method detail Free text for methods the APDS list does not name (e.g. plate linked by LPR at entry). 0..1 String
authorization.contractId Contract id The e-mobility contract id (EMAID) or roaming token, masked/opaque — never a raw payment credential. 0..1 String
authorization.authorizedTime Authorized time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
authorization.authorizedBy Authorized by Opaque principal (bridge id, attendant, customer). 0..1 String
chargingStatus Charging status Mapping to OCPP 2.0.1 chargingState: pluggedIn = EVConnected; charging = Charging; suspended = SuspendedEV | SuspendedEVSE (see suspendedBy); complete and idle = EVConnected after energy delivery ended; unplugged = Idle (no EV). 1..1 ChargingSession.chargingStatus (enumeration) read-only
suspendedBy Suspended by While suspended: whether the vehicle or the charger paused delivery. 0..1 ChargingSession.suspendedBy (enumeration)
timeline Timeline The time of each step of the charge, from authorization to closure. † 0..1 Structure (members below) read-only
timeline.authorizedTime Authorized time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
timeline.pluggedInTime Plugged in time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
timeline.chargingStartedTime Charging started time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
timeline.chargingEndedTime Charging ended time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
timeline.idleStartedTime Idle started time When the grace period elapsed and idle began (server-set). 0..1 PkCommon.DateTime
timeline.unpluggedTime Unplugged time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
timeline.closedTime Closed time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
energy Energy Energy in kilowatt-hours (APDS DeliveryUnitEnum kWh); meter readings in watt-hours as chargers report them. 0..1 Structure (members below)
energy.meterStartWh Meter start wh The charger's cumulative meter reading at the start of the charge, in watt-hours. † 0..1 Decimal
energy.meterStopWh Meter stop wh The charger's cumulative meter reading when energy delivery ended, in watt-hours (Part 23 §23.4). † 0..1 Decimal
energy.deliveredKwh Delivered kwh Energy delivered so far (final after chargingEndedTime). 0..1 Decimal
energy.currentPowerKw Current power kw The power currently being delivered, in kilowatts. † 0..1 Decimal
energy.peakPowerKw Peak power kw The highest power delivered during the charge, in kilowatts. † 0..1 Decimal
energy.stateOfChargePercent State of charge percent Vehicle state of charge when the vehicle reports it (ISO 15118). 0..1 Decimal
energy.targetStateOfChargePercent Target state of charge percent The customer's or valet's requested target; delivery ends when reached where the charger supports it. 0..1 Decimal
energy.lastMeterTime Last meter time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
stopReason Stop reason Why energy delivery ended (OCPP 2.0.1 stopped-reason subset plus targetReached). 0..1 ChargingSession.stopReason (enumeration)
idlePolicy Idle policy The idle rule applied to THIS session, snapshotted at authorization so the customer read can say "10 minutes grace, then $0.40/min" and so a later policy change never re-prices a past session. 0..1 Structure (members below)
idlePolicy.graceMinutes Grace minutes Minutes after complete before idle begins. 0..1 Integer
idlePolicy.idleRatePer Idle rate per The unit of time the idle rate is charged per. † 0..1 ChargingSession.idlePolicy.idleRatePer (enumeration)
idlePolicy.maxIdleMinutes Max idle minutes After this much idle the session is eligible for enforcement (Part 19) — apx.charging.idle.started.v1 consumers act on it. 0..1 Integer
idlePolicy.appliesToSettlement Applies to settlement Whether idle charges are billed by this operator (true) or by the charging network (false). 0..1 Boolean
cost Cost Cost as the parking system knows it; absent components are unknown, not zero. Money is APDS AmountInCurrency. 0..1 Structure (members below)
cost.tariffReference Tariff reference Opaque id of the charging network's tariff in force. 0..1 String
cost.pricedAt Priced at ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
settlement Settlement How the cost is collected (Part 23 §23.5). 0..1 Structure (members below)
settlement.mode Mode parkingSession — the cost becomes a line on the APDS Session and is paid with the parking (one bill at exit); directPayment — settled by a Part 13 payment referenced in payment; chargingNetwork — billed by the charging network or roaming partner; the parking side records energy and idle but not money. 0..1 ChargingSession.settlement.mode (enumeration)
settlement.settledTime Settled time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 0..1 PkCommon.DateTime
settlement.externalReference External reference The charging network's charge detail record id (OCPI CDR) once issued — opaque. 0..1 String
network Network The charging network behind the point, and its identifiers for this charge — opaque bridge fields, never interpreted by APX. 0..1 Structure (members below)
network.partyId Party id Roaming party id (country code + party id form). 0..1 String
network.ocppTransactionId Ocpp transaction id The OCPP transaction identifier the charging network uses for this charge, carried opaquely. † 0..1 String
network.ocpiSessionId Ocpi session id The OCPI session identifier the charging network uses for this charge, carried opaquely. † 0..1 String
statusHistory Status history Immutable, append-only lifecycle audit (Part 4 §4.2). 0..* Structure (members below)
statusHistory.state State The charging status entered at this point in the lifecycle. † 1..1 String
statusHistory.time Time ISO-8601 format definition of a date and time - format YYYY-MM-DDTHH:MM:SSZ. 1..1 PkCommon.DateTime
statusHistory.actor Actor The person or system that performed the action. 1..1 String
statusHistory.detail Detail Further detail, in free text. 0..1 String

A.2 Data dictionary of datatypes for "APX"

APX uses the APDS 4.1 datatypes where a member carries APDS content. The types below are how this dictionary names the JSON types of APX members.

Table A.61 -- Datatypes

Datatype Definition Nearest APDS 4.1 datatype
String A sequence of characters. String
Integer A whole number. Integer
Decimal A decimal number. Decimal / Real
Boolean true or false. Boolean
DateTime An instant, written per RFC 3339 with a UTC offset. DateTime
Date A calendar date, written per RFC 3339 (full-date). Date
Uuid A universally unique identifier per RFC 9562, used as a record id (Part 4). String (identifier)
Url A URI per RFC 3986. Url
Email An e-mail address. Email
Map of T A JSON object whose keys are free text and whose values are of type T. —
Structure An unnamed group of members. Its members are listed under the owning class as owner.member. —
Object Any JSON object; its content is set by the referenced specification or by an extension. —

A.3 Data dictionary of <> for "APX"

A.3.1 The <> "AccessEvent.direction"

Values of direction on AccessEvent.

Defined inline on AccessEvent; the API names it by its owner and attribute.

Table A.62 -- Values contained in the enumeration "AccessEvent.direction"

Enumerated value name Designation Definition
entry entry The attempt was to enter. †
exit exit The attempt was to leave. †

A.3.2 The <> "AccessEvent.outcome"

Values of outcome on AccessEvent.

Defined inline on AccessEvent; the API names it by its owner and attribute.

Table A.63 -- Values contained in the enumeration "AccessEvent.outcome"

Enumerated value name Designation Definition
granted granted Access was granted. †
denied denied Access was refused. †

A.3.3 The <> "Account.accountStatus"

Values of accountStatus on Account.

Defined inline on Account; the API names it by its owner and attribute.

Table A.64 -- Values contained in the enumeration "Account.accountStatus"

Enumerated value name Designation Definition
enabled enabled The account may be used. †
disabled disabled The account may not be used. †

A.3.4 The <> "Alert.severity"

Values of severity on Alert.

Defined inline on Alert; the API names it by its owner and attribute.

Table A.65 -- Values contained in the enumeration "Alert.severity"

Enumerated value name Designation Definition
info info For information; no action is expected. †
warning warning A condition that may need action if it continues. †
minor minor A condition that needs action but does not affect service. †
major major A condition that affects service and needs prompt action. †
critical critical A condition that stops service or affects safety and needs immediate action. †

A.3.5 The <> "Alert.status"

Lifecycle: raised → acknowledged → resolved | expired.

Defined inline on Alert; the API names it by its owner and attribute.

Table A.66 -- Values contained in the enumeration "Alert.status"

Enumerated value name Designation Definition
raised raised The condition has been reported and no one has yet acknowledged it. †
acknowledged acknowledged Someone has taken responsibility for the condition. †
resolved resolved The condition has been dealt with; this is final (Part 7 §7.3). †
expired expired The alert lapsed at its expiry time without being resolved; this is final (Part 7 §7.3). †

A.3.6 The <> "AllowedAction.execution.type"

Values of execution.type on AllowedAction.

Defined inline on AllowedAction; the API names it by its owner and attribute.

Table A.67 -- Values contained in the enumeration "AllowedAction.execution.type"

Enumerated value name Designation Definition
control control The action is executed as a Part 6 control command, named in command. †
domain domain The action is executed as a domain API operation, named in operationId. †
ui ui Execute by opening the named vendor surface for the agent (Part 25 §25.5); surface is required, subject optional. †

A.3.7 The <> "ApprovalDecision.outcome"

Values of outcome on ApprovalDecision.

Defined inline on ApprovalDecision; the API names it by its owner and attribute.

Table A.68 -- Values contained in the enumeration "ApprovalDecision.outcome"

Enumerated value name Designation Definition
approved approved The action may proceed; the decision is the approval evidence. †
denied denied The action may not proceed. †

A.3.8 The <> "ApprovalRequest.agentType"

Values of agentType on ApprovalRequest.

Defined inline on ApprovalRequest; the API names it by its owner and attribute.

Table A.69 -- Values contained in the enumeration "ApprovalRequest.agentType"

Enumerated value name Designation Definition
human human A person asked for the approval. †
ai ai An AI agent asked for the approval. †

A.3.9 The <> "ApprovalRequest.status"

Values of status on ApprovalRequest.

Defined inline on ApprovalRequest; the API names it by its owner and attribute.

Table A.70 -- Values contained in the enumeration "ApprovalRequest.status"

Enumerated value name Designation Definition
pending pending Waiting for the named role to decide (Part 17 §17.3a). †
approved approved The role approved the action; the decision carries who and when. †
denied denied The role refused the action; this is final. †
expired expired No decision arrived before expiresAt; the request can no longer be decided. †

A.3.10 The <> "ApxEventSubscription.status"

active delivers; paused holds matching events for up to 24 hours and delivers them in order on resume (Part 8 §8.1); failed is server-assigned when the retry schedule is exhausted (a client setting it is 400 invalid-request). PATCH status: active to resume a paused or failed subscription.

Defined inline on ApxEventSubscription; the API names it by its owner and attribute.

Table A.71 -- Values contained in the enumeration "ApxEventSubscription.status"

Enumerated value name Designation Definition
active active The subscription delivers matching events. †
paused paused The client has paused delivery; matching events are held for up to 24 hours and delivered in order on resume (Part 8 §8.1). †
failed failed The retry schedule was exhausted; the server set this state and delivery stops until the client resumes the subscription (Part 8 §8.1). †

A.3.11 The <> "ApxEventSubscription.transport"

Values of transport on ApxEventSubscription.

Defined inline on ApxEventSubscription; the API names it by its owner and attribute.

Table A.72 -- Values contained in the enumeration "ApxEventSubscription.transport"

Enumerated value name Designation Definition
webhook webhook Events are delivered by HTTP POST to the subscription's endpoint (Part 8). †
sse sse Events are read from the subscription's server-sent events stream (Part 8 §8.4). †

A.3.12 The <> "ApxEventSubscriptionPatch.status"

active or paused — the client-settable states. failed is server-assigned; a PATCH setting it is 400 invalid-request.

Defined inline on ApxEventSubscriptionPatch; the API names it by its owner and attribute.

Table A.73 -- Values contained in the enumeration "ApxEventSubscriptionPatch.status"

Enumerated value name Designation Definition
active active Resumes delivery of a paused or failed subscription (Part 8 §8.1). †
paused paused the client-settable states
failed failed Server-assigned when the retry schedule is exhausted; a PATCH setting it is refused (Part 8 §8.1). †

A.3.13 The <> "ApxEventSubscriptionPatch.transport"

Values of transport on ApxEventSubscriptionPatch.

Defined inline on ApxEventSubscriptionPatch; the API names it by its owner and attribute.

Table A.74 -- Values contained in the enumeration "ApxEventSubscriptionPatch.transport"

Enumerated value name Designation Definition
webhook webhook Events are delivered by HTTP POST to the subscription's endpoint (Part 8). †
sse sse Events are read from the subscription's server-sent events stream (Part 8 §8.4). †

A.3.14 The <> "CameraDetail.faces"

For lanes, plazas and ramps, relative to the facility (Part 13 §13.3a).

Defined inline on CameraDetail; the API names it by its owner and attribute.

Table A.75 -- Values contained in the enumeration "CameraDetail.faces"

Enumerated value name Designation Definition
inward inward Looking into the facility, the way entering traffic travels (Part 13 §13.3a(5)). †
outward outward Looking out of the facility, the way exiting traffic travels. †

A.3.15 The <> "CameraDetail.mounting"

When builtIn, EquipmentDetail builtInto names the host, for example a pay station's driver camera.

Defined inline on CameraDetail; the API names it by its owner and attribute.

Table A.76 -- Values contained in the enumeration "CameraDetail.mounting"

Enumerated value name Designation Definition
builtIn built in Inside another item of equipment, named by the equipment detail's builtInto (Part 26 §26.3). †
overhead overhead Above the vehicle or the lane, looking down. †
pole pole On a pole or an island. †
wall wall On a wall or a column. †
ceiling ceiling On a ceiling, as in lobbies and stairwells. †
other other Mounted in another way. †

A.3.16 The <> "CameraDetail.streams.protocol"

Values of streams.protocol on CameraDetail.

Defined inline on CameraDetail; the API names it by its owner and attribute.

Table A.77 -- Values contained in the enumeration "CameraDetail.streams.protocol"

Enumerated value name Designation Definition
webrtc webrtc WebRTC, for low-latency live viewing in a browser. †
hls hls HTTP Live Streaming segments. †
rtsp rtsp RTSP, as an on-site gateway or recorder consumes it. †
mjpeg mjpeg Motion JPEG over HTTP. †
snapshot snapshot A single still image on request. †

A.3.17 The <> "CameraDetail.view"

Values of view on CameraDetail.

Defined inline on CameraDetail; the API names it by its owner and attribute.

Table A.78 -- Values contained in the enumeration "CameraDetail.view"

Enumerated value name Designation Definition
plate plate Reads licence plates. †
vehicle vehicle An overview of the vehicle in the lane. †
driver driver The driver's face at a pay station or lane device. †
equipmentInteraction equipment interaction Hands, ticket and card at the machine. †
pedestrians pedestrians People at a door, in a lobby or on a stairwell. †
areaOverview area overview General surveillance of a ramp, a level or the perimeter. †
other other Another view. †

A.3.18 The <> "CameraView.kind"

Values of kind on CameraView.

Defined inline on CameraView; the API names it by its owner and attribute.

Table A.79 -- Values contained in the enumeration "CameraView.kind"

Enumerated value name Designation Definition
live live The link plays a live view. †
snapshot snapshot The link returns a single still. †
playback playback The link plays the recorded range asked for. †

A.3.19 The <> "CameraView.protocol"

What the link serves (snapshot is an image).

Defined inline on CameraView; the API names it by its owner and attribute.

Table A.80 -- Values contained in the enumeration "CameraView.protocol"

Enumerated value name Designation Definition
webrtc webrtc The link is a WebRTC session. †
hls hls The link is an HLS playlist. †
rtsp rtsp The link is an RTSP URL served by a gateway. †
mjpeg mjpeg The link is a Motion JPEG stream. †
snapshot snapshot The link returns an image. †

A.3.20 The <> "CameraViewRequest.agentType"

Values of agentType on CameraViewRequest.

Defined inline on CameraViewRequest; the API names it by its owner and attribute.

Table A.81 -- Values contained in the enumeration "CameraViewRequest.agentType"

Enumerated value name Designation Definition
human human A person will view the camera. †
ai ai An AI agent will view the camera. †

A.3.21 The <> "CameraViewRequest.kind"

Values of kind on CameraViewRequest.

Defined inline on CameraViewRequest; the API names it by its owner and attribute.

Table A.82 -- Values contained in the enumeration "CameraViewRequest.kind"

Enumerated value name Designation Definition
live live A live view; feature cameraViews (Part 26 §26.3). †
snapshot snapshot A single still taken now. †
playback playback Recorded video between from and to; feature cameraPlayback. †

A.3.22 The <> "ChargingBayPresence.presence"

empty — nothing in the bay; vehiclePluggedIn — a vehicle is present and the charger reports a connected cable; vehicleNotPluggedIn — a vehicle is present and no cable is connected (ICE-ing, or an EV not charging); blocked — the bay is obstructed by something other than a parked vehicle (cones, debris, a vehicle straddling); unknown.

Defined inline on ChargingBayPresence; the API names it by its owner and attribute.

Table A.83 -- Values contained in the enumeration "ChargingBayPresence.presence"

Enumerated value name Designation Definition
empty empty nothing in the bay
vehiclePluggedIn vehicle plugged in a vehicle is
vehicleNotPluggedIn vehicle not plugged in a vehicle is present and no cable is
blocked blocked the bay is
unknown unknown What the bay contains is not known. †

A.3.23 The <> "ChargingBayPresence.source"

The evidence source this presence state was derived from (the strongest one, when fused).

Defined inline on ChargingBayPresence; the API names it by its owner and attribute.

Table A.84 -- Values contained in the enumeration "ChargingBayPresence.source"

Enumerated value name Designation Definition
overheadCamera overhead camera A camera viewing the bay. †
groundSensor ground sensor A sensor in or on the bay surface. †
charger charger The charger's own connector state. †
attendant attendant A member of staff on site. †
inferred inferred Derived from other data without a direct observation of the bay. †

A.3.24 The <> "ChargingEvent.eventType"

Values of eventType on ChargingEvent.

Defined inline on ChargingEvent; the API names it by its owner and attribute.

Table A.85 -- Values contained in the enumeration "ChargingEvent.eventType"

Enumerated value name Designation Definition
pluggedIn plugged in A vehicle was connected to the charger. †
chargingStarted charging started Energy began to flow. †
meterValue meter value A meter reading that updates energy without a change of state (Part 23 §23.2). †
suspended suspended Energy delivery was paused by the vehicle or the charger. †
resumed resumed Energy delivery resumed after a suspension. †
chargingEnded charging ended Energy delivery ended, for the reason given in stopReason. †
unplugged unplugged The vehicle was disconnected. †
fault fault The charger reported a fault. †
cancelled cancelled The authorization was cancelled before a vehicle was plugged in (Part 23 §23.2). †

A.3.25 The <> "ChargingEvent.stopReason"

With chargingEnded.

Defined inline on ChargingEvent; the API names it by its owner and attribute.

Table A.86 -- Values contained in the enumeration "ChargingEvent.stopReason"

Enumerated value name Designation Definition
evDisconnected ev disconnected The vehicle was disconnected. †
evFull ev full The vehicle reported a full battery. †
targetReached target reached The requested target state of charge was reached. †
energyLimitReached energy limit reached An energy limit set for the charge was reached. †
timeLimitReached time limit reached A time limit set for the charge was reached. †
remote remote The charge was stopped remotely by an operator or system. †
local local The charge was stopped at the charger by the driver or staff. †
deauthorized deauthorized The authorization was withdrawn. †
emergencyStop emergency stop An emergency stop was used. †
powerLoss power loss Power to the charger was lost. †
other other Some other reason. †

A.3.26 The <> "ChargingEvent.suspendedBy"

With suspended.

Defined inline on ChargingEvent; the API names it by its owner and attribute.

Table A.87 -- Values contained in the enumeration "ChargingEvent.suspendedBy"

Enumerated value name Designation Definition
ev ev The vehicle paused energy delivery. †
evse evse The charger paused energy delivery. †

A.3.27 The <> "ChargingPointStatus.availability"

Point-level availability (the busiest connector wins): available; occupied — a cable is connected but no energy is flowing (plugged in, suspended, complete, or idle); charging; reserved (Part 14 AssignedRight in force); blocked — the bay is occupied or obstructed without a connected cable (from bay.presence); inoperative (planned: maintenance, closed hours); outOfOrder (fault); unknown. Aligned with the OCPI EVSE status vocabulary.

Defined inline on ChargingPointStatus; the API names it by its owner and attribute.

Table A.88 -- Values contained in the enumeration "ChargingPointStatus.availability"

Enumerated value name Designation Definition
available available The point is free for a vehicle to charge. †
occupied occupied a cable is connected but no energy is flowing
charging charging Energy is flowing on the point (Part 23 §23.1). †
reserved reserved Part 14 AssignedRight in force
blocked blocked the bay is occupied
inoperative inoperative planned: maintenance, closed hours
outOfOrder out of order fault
unknown unknown The point's state is not known. †

A.3.28 The <> "ChargingPointStatus.connectors.availability"

Values of connectors.availability on ChargingPointStatus.

Defined inline on ChargingPointStatus; the API names it by its owner and attribute.

Table A.89 -- Values contained in the enumeration "ChargingPointStatus.connectors.availability"

Enumerated value name Designation Definition
available available The connector is free for a vehicle to charge. †
occupied occupied A cable is connected but no energy is flowing (Part 23 §23.1). †
charging charging Energy is flowing through the connector. †
reserved reserved The connector is held for an AssignedRight in force (Part 14). †
blocked blocked The bay holds a vehicle that is not plugged in, or is obstructed (Part 23 §23.3). †
inoperative inoperative The connector is out of use for a planned reason, such as maintenance or closed hours. †
outOfOrder out of order The connector is out of use because of a fault. †
unknown unknown The connector's state is not known. †

A.3.29 The <> "ChargingSession.chargingStatus"

Mapping to OCPP 2.0.1 chargingState: pluggedIn = EVConnected; charging = Charging; suspended = SuspendedEV | SuspendedEVSE (see suspendedBy); complete and idle = EVConnected after energy delivery ended; unplugged = Idle (no EV).

Defined inline on ChargingSession; the API names it by its owner and attribute.

Table A.90 -- Values contained in the enumeration "ChargingSession.chargingStatus"

Enumerated value name Designation Definition
authorized authorized The charge has been authorized but no vehicle is connected yet. †
pluggedIn plugged in EVConnected
charging charging Charging
suspended suspended SuspendedEV | SuspendedEVSE
complete complete Energy delivery has ended and the vehicle is still connected, within any grace period. †
idle idle EVConnected after
unplugged unplugged Idle (no EV).
closed closed The charge has been settled and is final (Part 23 §23.2). †
cancelled cancelled The authorization was never used (Part 23 §23.2). †
faulted faulted A fault interrupted the charge (Part 23 §23.2). †

A.3.30 The <> "ChargingSession.idlePolicy.idleRatePer"

Values of idlePolicy.idleRatePer on ChargingSession.

Defined inline on ChargingSession; the API names it by its owner and attribute.

Table A.91 -- Values contained in the enumeration "ChargingSession.idlePolicy.idleRatePer"

Enumerated value name Designation Definition
minute minute The idle rate is charged per started minute (Part 23 §23.5). †
hour hour The idle rate is charged per started hour (Part 23 §23.5). †

A.3.31 The <> "ChargingSession.settlement.mode"

parkingSession — the cost becomes a line on the APDS Session and is paid with the parking (one bill at exit); directPayment — settled by a Part 13 payment referenced in payment; chargingNetwork — billed by the charging network or roaming partner; the parking side records energy and idle but not money.

Defined inline on ChargingSession; the API names it by its owner and attribute.

Table A.92 -- Values contained in the enumeration "ChargingSession.settlement.mode"

Enumerated value name Designation Definition
parkingSession parking session the cost becomes a line on the APDS Session
directPayment direct payment settled by a Part 13 payment referenced in
chargingNetwork charging network billed by the charging network

A.3.32 The <> "ChargingSession.stopReason"

Why energy delivery ended (OCPP 2.0.1 stopped-reason subset plus targetReached).

Defined inline on ChargingSession; the API names it by its owner and attribute.

Table A.93 -- Values contained in the enumeration "ChargingSession.stopReason"

Enumerated value name Designation Definition
evDisconnected ev disconnected The vehicle was disconnected. †
evFull ev full The vehicle reported a full battery. †
targetReached target reached The requested target state of charge was reached. †
energyLimitReached energy limit reached An energy limit set for the charge was reached. †
timeLimitReached time limit reached A time limit set for the charge was reached. †
remote remote The charge was stopped remotely by an operator or system. †
local local The charge was stopped at the charger by the driver or staff. †
deauthorized deauthorized The authorization was withdrawn. †
emergencyStop emergency stop An emergency stop was used. †
powerLoss power loss Power to the charger was lost. †
other other Some other reason. †

A.3.33 The <> "ChargingSession.suspendedBy"

While suspended: whether the vehicle or the charger paused delivery.

Defined inline on ChargingSession; the API names it by its owner and attribute.

Table A.94 -- Values contained in the enumeration "ChargingSession.suspendedBy"

Enumerated value name Designation Definition
ev ev The vehicle paused energy delivery. †
evse evse The charger paused energy delivery. †

A.3.34 The <> "Command.agentType"

Whether agent is a person or an AI agent (mirrors SupportInteraction.agentType).

Defined inline on Command; the API names it by its owner and attribute.

Table A.95 -- Values contained in the enumeration "Command.agentType"

Enumerated value name Designation Definition
human human A person initiated the command. †
ai ai An AI agent initiated the command. †

A.3.35 The <> "Command.confirmationLevel"

How far success is actually confirmed (Part 6 §6.1): the command was accepted; the device acknowledged it; or the physical outcome was verified (e.g. gate-state sensor). Consumers — AI agents especially — MUST NOT claim a physical outcome ("the gate is open") beyond this level ("the open command was accepted").

Defined inline on Command; the API names it by its owner and attribute.

Table A.96 -- Values contained in the enumeration "Command.confirmationLevel"

Enumerated value name Designation Definition
accepted accepted The command was taken by the server; no device outcome is confirmed. †
deviceAcknowledged device acknowledged The device acknowledged the command. †
physicallyConfirmed physically confirmed The physical outcome was verified, for example by a gate-state sensor (Part 6 §6.1). †

A.3.36 The <> "Command.priority"

Values of priority on Command.

Defined inline on Command; the API names it by its owner and attribute.

Table A.97 -- Values contained in the enumeration "Command.priority"

Enumerated value name Designation Definition
normal normal —
high high —

A.3.37 The <> "Command.status"

Values of status on Command.

Defined inline on Command; the API names it by its owner and attribute.

Table A.98 -- Values contained in the enumeration "Command.status"

Enumerated value name Designation Definition
received received The server has received the command. †
accepted accepted The server has accepted the command for dispatch. †
rejected rejected The server refused the command; it is not dispatched. †
dispatched dispatched The command has been sent to the target device. †
executing executing The device is carrying out the command. †
succeeded succeeded The command completed; how far success is confirmed is given by confirmationLevel (Part 6 §6.1). †
failed failed The device reported that the command could not be carried out. †
expired expired The command's expiry time passed before dispatch, so it was never carried out (Part 6 §6.1). †
cancelled cancelled The command was cancelled before it was dispatched (Part 6 §6.1). †

A.3.38 The <> "ConditionReport.damage.severity"

Values of damage.severity on ConditionReport.

Defined inline on ConditionReport; the API names it by its owner and attribute.

Table A.99 -- Values contained in the enumeration "ConditionReport.damage.severity"

Enumerated value name Designation Definition
minor minor Cosmetic damage. †
moderate moderate Damage needing repair. †
major major Serious damage. †

A.3.39 The <> "CredentialAccessEvent.direction"

Values of direction on CredentialAccessEvent.

Defined inline on CredentialAccessEvent; the API names it by its owner and attribute.

Table A.100 -- Values contained in the enumeration "CredentialAccessEvent.direction"

Enumerated value name Designation Definition
entry entry The attempt was to enter. †
exit exit The attempt was to leave. †

A.3.40 The <> "CredentialAccessEvent.outcome"

Values of outcome on CredentialAccessEvent.

Defined inline on CredentialAccessEvent; the API names it by its owner and attribute.

Table A.101 -- Values contained in the enumeration "CredentialAccessEvent.outcome"

Enumerated value name Designation Definition
granted granted Access was granted. †
denied denied Access was refused. †

A.3.41 The <> "CredentialDigest.alg"

Values of alg on CredentialDigest.

Defined inline on CredentialDigest; the API names it by its owner and attribute.

Table A.102 -- Values contained in the enumeration "CredentialDigest.alg"

Enumerated value name Designation Definition
HS256 hs256 HMAC with SHA-256, keyed by the digest key named in keyId (Part 9 §9.6). †

A.3.42 The <> "CredentialRecord.credentialAssignedType"

APDS CredentialAssignedTypeEnum — what the credential identifies.

Defined inline on CredentialRecord; the API names it by its owner and attribute.

Table A.103 -- Values contained in the enumeration "CredentialRecord.credentialAssignedType"

Enumerated value name Designation Definition
vehicle vehicle The credential identifies a vehicle. †
customer customer The credential identifies a customer. †
other other The credential identifies something other than a vehicle or a customer. †

A.3.43 The <> "CredentialRecord.credentialStatus"

Values of credentialStatus on CredentialRecord.

Defined inline on CredentialRecord; the API names it by its owner and attribute.

Table A.104 -- Values contained in the enumeration "CredentialRecord.credentialStatus"

Enumerated value name Designation Definition
issued issued The credential has been issued but is not yet active. †
active active The credential may be used. †
suspended suspended The credential is temporarily not usable and may be resumed. †
lost lost The credential has been reported lost or stolen and is not usable; it may still be replaced or revoked (Part 21 §21.1). †
revoked revoked The credential has been withdrawn permanently. †
expired expired The credential's validity period has ended. †
replaced replaced The credential has been succeeded by another credential (Part 21 §21.1). †

A.3.44 The <> "CredentialRecord.media.depositStatus"

Values of media.depositStatus on CredentialRecord.

Defined inline on CredentialRecord; the API names it by its owner and attribute.

Table A.105 -- Values contained in the enumeration "CredentialRecord.media.depositStatus"

Enumerated value name Designation Definition
held held The deposit is held by the issuer. †
refunded refunded The deposit has been returned to the holder. †
forfeited forfeited The deposit has been kept by the issuer. †

A.3.45 The <> "CredentialRecord.media.form"

Values of media.form on CredentialRecord.

Defined inline on CredentialRecord; the API names it by its owner and attribute.

Table A.106 -- Values contained in the enumeration "CredentialRecord.media.form"

Enumerated value name Designation Definition
physicalCard physical card A plastic or paper card. †
fob fob A key fob. †
transponder transponder A vehicle-mounted transponder or tag. †
hangtag hangtag A tag displayed in the vehicle. †
mobile mobile A credential held on a mobile device. †
plate plate The vehicle's licence plate used as the credential. †
ticket ticket A ticket issued for the stay. †
virtual virtual A credential with no physical item, such as an account number. †

A.3.46 The <> "CredentialReplaceRequest.media.form"

Values of media.form on CredentialReplaceRequest.

Defined inline on CredentialReplaceRequest; the API names it by its owner and attribute.

Table A.107 -- Values contained in the enumeration "CredentialReplaceRequest.media.form"

Enumerated value name Designation Definition
physicalCard physical card A plastic or paper card. †
fob fob A key fob. †
transponder transponder A vehicle-mounted transponder or tag. †
hangtag hangtag A tag displayed in the vehicle. †
mobile mobile A credential held on a mobile device. †
plate plate The vehicle's licence plate used as the credential. †
ticket ticket A ticket issued for the stay. †
virtual virtual A credential with no physical item, such as an account number. †

A.3.47 The <> "CredentialReplaceRequest.oldDepositStatus"

What happens to the old record's deposit.

Defined inline on CredentialReplaceRequest; the API names it by its owner and attribute.

Table A.108 -- Values contained in the enumeration "CredentialReplaceRequest.oldDepositStatus"

Enumerated value name Designation Definition
held held The old item's deposit stays held by the issuer. †
refunded refunded The old item's deposit is returned to the holder. †
forfeited forfeited The old item's deposit is kept by the issuer. †

A.3.48 The <> "DeliveryRecord.status"

Values of status on DeliveryRecord.

Defined inline on DeliveryRecord; the API names it by its owner and attribute.

Table A.109 -- Values contained in the enumeration "DeliveryRecord.status"

Enumerated value name Designation Definition
delivered delivered The event was delivered to the receiver. †
retrying retrying Delivery has not yet succeeded and further attempts are scheduled (Part 8 §8.3). †
failed failed Every attempt in the retry schedule failed (Part 8 §8.3). †

A.3.49 The <> "DeviceStatus.consumables.kind"

Values of consumables.kind on DeviceStatus.

Defined inline on DeviceStatus; the API names it by its owner and attribute.

Table A.110 -- Values contained in the enumeration "DeviceStatus.consumables.kind"

Enumerated value name Designation Definition
tickets tickets Blank ticket stock in a dispenser or verifier (Part 6 §6.4). †
receiptPaper receipt paper Receipt paper in a pay station or terminal. †
cash cash Notes held for change in a pay station. †
coins coins Coins held for change in a pay station. †

A.3.50 The <> "DeviceStatus.consumables.level"

Values of consumables.level on DeviceStatus.

Defined inline on DeviceStatus; the API names it by its owner and attribute.

Table A.111 -- Values contained in the enumeration "DeviceStatus.consumables.level"

Enumerated value name Designation Definition
ok ok Enough of the consumable for normal operation. †
low low The consumable needs replenishing soon; service continues. †
empty empty The consumable has run out; the function that needs it has stopped. †
unknown unknown The device does not report the level. †

A.3.51 The <> "DiscoveryDocument.replication.authority"

Values of replication.authority on DiscoveryDocument.

Defined inline on DiscoveryDocument; the API names it by its owner and attribute.

Table A.112 -- Values contained in the enumeration "DiscoveryDocument.replication.authority"

Enumerated value name Designation Definition
site site The site implementation is authoritative for the class at the place (Part 18 §18.6). †
aggregator aggregator The aggregating implementation is authoritative for the class at the place (Part 18 §18.6). †

A.3.52 The <> "DisplayProof.acknowledgedBy"

Values of acknowledgedBy on DisplayProof.

Defined inline on DisplayProof; the API names it by its owner and attribute.

Table A.113 -- Values contained in the enumeration "DisplayProof.acknowledgedBy"

Enumerated value name Designation Definition
player player —
operator operator —
none none —

A.3.53 The <> "EligibilityResult.basis.status"

Why this basis does or does not entitle the vehicle here, now.

Defined inline on EligibilityResult; the API names it by its owner and attribute.

Table A.114 -- Values contained in the enumeration "EligibilityResult.basis.status"

Enumerated value name Designation Definition
valid valid The right or session covers the vehicle at this place now. †
expired expired The right or session has ended. †
notYetValid not yet valid The right exists but its validity has not started. †
wrongPlace wrong place The right is bound to a sibling or a different subtree of the place hierarchy (Part 19 §19.3). †
consumed consumed The right has already been used by another session. †
suspended suspended The right is suspended. †

A.3.54 The <> "EnforcementPolicy.deliveryRules.detectionModes"

Values of deliveryRules.detectionModes on EnforcementPolicy.

Defined inline on EnforcementPolicy; the API names it by its owner and attribute.

Table A.115 -- Values contained in the enumeration "EnforcementPolicy.deliveryRules.detectionModes"

Enumerated value name Designation Definition
automated automated A camera or sensor system found the violation with no person involved. †
guided guided A system proposed the violation and an officer confirmed it on site. †
manual manual An officer found the violation directly. †

A.3.55 The <> "EnforcementPolicy.penaltyCap.onExceed"

refuse → 422 penalty-exceeds-cap; clamp → issue at the cap and record reason: cap in amountHistory.

Defined inline on EnforcementPolicy; the API names it by its owner and attribute.

Table A.116 -- Values contained in the enumeration "EnforcementPolicy.penaltyCap.onExceed"

Enumerated value name Designation Definition
refuse refuse An issue whose amount exceeds the cap is refused (Part 19 §19.10). †
clamp clamp An issue whose amount exceeds the cap is issued at the cap (Part 19 §19.10). †

A.3.56 The <> "EnforcementPolicy.policyStatus"

Values of policyStatus on EnforcementPolicy.

Defined inline on EnforcementPolicy; the API names it by its owner and attribute.

Table A.117 -- Values contained in the enumeration "EnforcementPolicy.policyStatus"

Enumerated value name Designation Definition
active active The policy is in force at its place and subtree within its effective window (Part 19 §19.10). †
superseded superseded Replaced by a newer policy that now applies. †
retired retired Withdrawn from use without a replacement. †

A.3.57 The <> "LaneCameras.cameras.faces"

inward — looking into the facility, the way entering traffic travels (reads the rear plates of entering vehicles); outward — looking out of it, the way exiting traffic travels (reads the rear plates of exiting vehicles).

Defined inline on LaneCameras; the API names it by its owner and attribute.

Table A.118 -- Values contained in the enumeration "LaneCameras.cameras.faces"

Enumerated value name Designation Definition
inward inward looking into the facility, the way entering
outward outward looking out of it, the way exiting

A.3.58 The <> "LprRead.laneTravel"

DEPRECATED since 0.12.0, removed at 1.0. APX no longer derives direction; use detail.accessEvent (entry | exit), which the LPR system reports (Part 13 §13.3a(4)). Servers SHOULD return unknown.

Defined inline on LprRead; the API names it by its owner and attribute.

Table A.119 -- Values contained in the enumeration "LprRead.laneTravel"

Enumerated value name Designation Definition
withLane with lane The vehicle travelled the way the lane's configured purpose directs (deprecated since 0.12.0). †
againstLane against lane The vehicle travelled against the lane's configured purpose, such as entering on an exit lane (deprecated since 0.12.0). †
unknown unknown The direction of travel relative to the lane is not determined; the value servers return since 0.12.0. †

A.3.59 The <> "LprReadDetail.accessEvent"

Whether this read was a vehicle entering or leaving the facility, as reported by the LPR system — not the lane's configured purpose (the lane's APDS accessType), and never inferred by the APX server. Absent means unknown. The LPR system MAY revise it through PUT /v1/lpr/reads/{observation}/access-event (Part 13 §13.3a(4)).

Defined inline on LprReadDetail; the API names it by its owner and attribute.

Table A.120 -- Values contained in the enumeration "LprReadDetail.accessEvent"

Enumerated value name Designation Definition
entry entry The LPR system reports the read as a vehicle entering the facility. †
exit exit The LPR system reports the read as a vehicle leaving the facility. †
unknown unknown Whether the vehicle was entering or leaving is not reported. †

A.3.60 The <> "LprReadDetail.movement"

The vehicle's motion relative to the camera: toward it, away from it, or stopped. A camera fact, not a statement about the facility. approaching and receding are deprecated synonyms of toward and away — accepted until 1.0; writers SHOULD send the new values (Part 13 §13.3a(3)).

Defined inline on LprReadDetail; the API names it by its owner and attribute.

Table A.121 -- Values contained in the enumeration "LprReadDetail.movement"

Enumerated value name Designation Definition
toward toward The vehicle moved toward the camera. †
away away accepted until 1.0; writers SHOULD send the new values
stopped stopped The vehicle was stationary. †
unknown unknown The vehicle's motion could not be determined. †
approaching approaching Deprecated synonym of toward, accepted until 1.0 (Part 13 §13.3a(3)). †
receding receding Deprecated synonym of away, accepted until 1.0 (Part 13 §13.3a(3)). †

A.3.61 The <> "LprReadDetail.plateFace"

Which plate of the vehicle was read, for engines that can tell.

Defined inline on LprReadDetail; the API names it by its owner and attribute.

Table A.122 -- Values contained in the enumeration "LprReadDetail.plateFace"

Enumerated value name Designation Definition
front front The front plate was read. †
rear rear The rear plate was read. †
unknown unknown The engine cannot tell which plate was read. †

A.3.62 The <> "LprReadDetail.review.state"

Values of review.state on LprReadDetail.

Defined inline on LprReadDetail; the API names it by its owner and attribute.

Table A.123 -- Values contained in the enumeration "LprReadDetail.review.state"

Enumerated value name Designation Definition
pending pending The read is waiting for a reviewer. †
confirmed confirmed A reviewer confirmed the engine's values. †
corrected corrected A reviewer replaced the engine's values with corrected ones. †
rejected rejected A reviewer rejected the read as unusable for pairing and enforcement. †
notRequired not required No rule sent the read to review. †

A.3.63 The <> "MatchCandidate.matchedBy"

How this candidate was found: the lane's LPR read against the entry read (plateRead); a credential presented at the lane (credential); the account registry by plate or phone (account); a checked-in reservation carrying the plate (reservation).

Defined inline on MatchCandidate; the API names it by its owner and attribute.

Table A.124 -- Values contained in the enumeration "MatchCandidate.matchedBy"

Enumerated value name Designation Definition
plateRead plate read The lane's plate read matched the session's entry read. †
credential credential A credential presented at the lane matched the session. †
account account The account registry linked the session by plate or phone. †
reservation reservation A checked-in reservation carrying the plate linked the session. †

A.3.64 The <> "MatchEvidence.decidedBy"

Whether software or a person made the link. A matchTicket that binds a lane-inquiry candidate SHOULD be recorded as person (Part 5 §5.8 rule 5).

Defined inline on MatchEvidence; the API names it by its owner and attribute.

Table A.125 -- Values contained in the enumeration "MatchEvidence.decidedBy"

Enumerated value name Designation Definition
system system Software made the link. †
person person Part 5 §5.8 rule 5).

A.3.65 The <> "MatchEvidence.matchType"

The kind of link: right — an AssignedRight covers the stay; valet — a ValetTicket's stay; violation — a Violation's stay; list — a plate-list entry matched the vehicle (Part 24); exitPairing — an exit read paired to the Session's entry; sweep — the vehicle seen during an inventory or patrol sweep tied to the Session; other — anything else.

Defined inline on MatchEvidence; the API names it by its owner and attribute.

Table A.126 -- Values contained in the enumeration "MatchEvidence.matchType"

Enumerated value name Designation Definition
right right an AssignedRight covers the stay
valet valet a ValetTicket's stay
violation violation a Violation's stay
list list a plate-list entry matched the vehicle (Part 24
exitPairing exit pairing an exit read paired to the Session's entry
sweep sweep the vehicle seen during an inventory or patrol sweep tied
other other anything else.

A.3.66 The <> "MatchEvidence.plate.jurisdiction"

Values of plate.jurisdiction on MatchEvidence.

Defined inline on MatchEvidence; the API names it by its owner and attribute.

Table A.127 -- Values contained in the enumeration "MatchEvidence.plate.jurisdiction"

Enumerated value name Designation Definition
agrees agrees The plate's issuing jurisdiction is the same on both sides of the match. †
differs differs The plate's issuing jurisdiction differs between the two sides of the match. †
unknown unknown Whether the issuing jurisdiction agrees is not known. †

A.3.67 The <> "MatchEvidence.plate.method"

exact — the same characters; alias — a plate the right or account lists for the same vehicle; fold — equal after folding look-alike characters (O/0, I/1, B/8); fuzzy — within the implementation's edit-cost threshold; lenient — accepted under a relaxed rule that may excuse a stay but never accuse one; reviewer — a person judged the plates to match where no automatic method did.

Defined inline on MatchEvidence; the API names it by its owner and attribute.

Table A.128 -- Values contained in the enumeration "MatchEvidence.plate.method"

Enumerated value name Designation Definition
exact exact the same characters
alias alias a plate the right or
fold fold equal after
fuzzy fuzzy within
lenient lenient accepted
reviewer reviewer a person judged the plates to match where no

A.3.68 The <> "MatchEvidence.vehicle.level"

unknown — not compared; mismatch — the attributes contradict the match; inconclusive — compared, no signal; weak, good, strong — increasing support.

Defined inline on MatchEvidence; the API names it by its owner and attribute.

Table A.129 -- Values contained in the enumeration "MatchEvidence.vehicle.level"

Enumerated value name Designation Definition
unknown unknown not compared
mismatch mismatch the attributes contradict
inconclusive inconclusive compared, no signal
weak weak The vehicle attributes give weak support to the match. †
good good The vehicle attributes give good support to the match. †
strong strong increasing support.

A.3.69 The <> "OverrideRecord.agentType"

Copied from the summarized Command's agentType.

Defined inline on OverrideRecord; the API names it by its owner and attribute.

Table A.130 -- Values contained in the enumeration "OverrideRecord.agentType"

Enumerated value name Designation Definition
human human A person initiated the summarized command. †
ai ai An AI agent initiated the summarized command. †

A.3.70 The <> "PassbackStatus.expectedPresence"

Values of expectedPresence on PassbackStatus.

Defined inline on PassbackStatus; the API names it by its owner and attribute.

Table A.131 -- Values contained in the enumeration "PassbackStatus.expectedPresence"

Enumerated value name Designation Definition
inside inside The credential is expected to be inside the facility, as when presented at an exit lane. †
outside outside The credential is expected to be outside the facility, as when presented at an entry lane. †
unknown unknown Where the credential is expected to be is not known. †

A.3.71 The <> "PassbackStatus.lastAccess.direction"

Values of lastAccess.direction on PassbackStatus.

Defined inline on PassbackStatus; the API names it by its owner and attribute.

Table A.132 -- Values contained in the enumeration "PassbackStatus.lastAccess.direction"

Enumerated value name Designation Definition
entry entry The last access was an entry. †
exit exit The last access was an exit. †

A.3.72 The <> "PassbackStatus.recordedPresence"

Values of recordedPresence on PassbackStatus.

Defined inline on PassbackStatus; the API names it by its owner and attribute.

Table A.133 -- Values contained in the enumeration "PassbackStatus.recordedPresence"

Enumerated value name Designation Definition
inside inside The anti-passback record places the credential inside the facility. †
outside outside The anti-passback record places the credential outside the facility. †
unknown unknown The anti-passback record does not place the credential. †

A.3.73 The <> "PassbackStatus.state"

Values of state on PassbackStatus.

Defined inline on PassbackStatus; the API names it by its owner and attribute.

Table A.134 -- Values contained in the enumeration "PassbackStatus.state"

Enumerated value name Designation Definition
normal normal The recorded presence agrees with the expected presence. †
violation violation The recorded presence contradicts the expected presence, so anti-passback refuses the credential. †
unknown unknown The implementation does not track passback for this credential (Part 17 §17.8). †

A.3.74 The <> "PaymentDetail.rateSold.class"

Values of rateSold.class on PaymentDetail.

Defined inline on PaymentDetail; the API names it by its owner and attribute.

Table A.135 -- Values contained in the enumeration "PaymentDetail.rateSold.class"

Enumerated value name Designation Definition
standard standard The published price. †
validation validation The price after a merchant validation. †
discount discount The price after a discount other than a validation. †
zeroed zeroed The charge was reduced to zero. †
other other Some other pricing. †

A.3.75 The <> "PaymentDetail.rateSold.product"

Values of rateSold.product on PaymentDetail.

Defined inline on PaymentDetail; the API names it by its owner and attribute.

Table A.136 -- Values contained in the enumeration "PaymentDetail.rateSold.product"

Enumerated value name Designation Definition
standard standard A single stay. †
pass pass A pass covering more than one stay or a period. †
other other Some other product. †

A.3.76 The <> "PaymentLink.status"

Values of status on PaymentLink.

Defined inline on PaymentLink; the API names it by its owner and attribute.

Table A.137 -- Values contained in the enumeration "PaymentLink.status"

Enumerated value name Designation Definition
sent sent The link has been sent to the customer and not yet opened. †
opened opened The customer has opened the link but not yet paid. †
paid paid The customer paid through the link; the payment is referenced (Part 13 §13.1a). †
expired expired The link lapsed without payment. †
cancelled cancelled The link was cancelled and the hosted page no longer accepts payment (Part 13 §13.1a). †

A.3.77 The <> "PaymentRecord.captureStatus"

Whether an approved payment's funds have been collected (Part 13 §13.1a). authorized = a hold: the payment layer approved an authorization-only request (captureLater: true), funds are held, nothing is collected yet; settled by POST /v1/payments/{id}/capture or released by …/void. captured = collected. Absent = captured (a sale). A hold is returned to the caller that created it, but is not listed by GET /v1/payments unless asked for, is not published on apx.accounts.payment.recorded.v1, and is not materialized as an APDS Payment until captured.

Defined inline on PaymentRecord; the API names it by its owner and attribute.

Table A.138 -- Values contained in the enumeration "PaymentRecord.captureStatus"

Enumerated value name Designation Definition
authorized authorized a hold: the payment layer approved an
captured captured collected

A.3.78 The <> "PaymentRecord.channel"

Where the payment was captured. lane = a lane device; payStation = a pay-on-foot or pay station; agent = a person on the implementer's own PCI-scoped terminal; autoAttendant = a PCI-compliant IVR that captures the card out of band; online = web or mobile app. APX never carries PANs, whichever channel is used.

Defined inline on PaymentRecord; the API names it by its owner and attribute.

Table A.139 -- Values contained in the enumeration "PaymentRecord.channel"

Enumerated value name Designation Definition
lane lane a lane device
payStation pay station a pay-on-foot or pay station
agent agent a person on the implementer's
autoAttendant auto attendant a PCI-compliant IVR that
online online web or mobile app
other other The payment was captured through a channel not otherwise listed. †

A.3.79 The <> "PaymentRecord.paymentStatus"

The payment layer's answer. approved = approved (for a hold, see captureStatus); declined = refused by the payment layer; reversed = a hold voided, or a payment refunded in full. Transitions per Part 13 §13.1a.

Defined inline on PaymentRecord; the API names it by its owner and attribute.

Table A.140 -- Values contained in the enumeration "PaymentRecord.paymentStatus"

Enumerated value name Designation Definition
approved approved approved (for a hold, see
declined declined refused by the payment layer
reversed reversed a hold voided, or a payment refunded in full

A.3.80 The <> "PaymentSearch.captureStatus"

Values of captureStatus on PaymentSearch.

Defined inline on PaymentSearch; the API names it by its owner and attribute.

Table A.141 -- Values contained in the enumeration "PaymentSearch.captureStatus"

Enumerated value name Designation Definition
authorized authorized Return only holds, whose funds are authorized but not yet collected (Part 13 §13.2). †
captured captured Return only payments whose funds have been collected (Part 13 §13.2). †

A.3.81 The <> "PermitExtension.overageBilling.mode"

rack — the place's transient rate deck; dayRate — the flat dayRate; none — recorded, not billed.

Defined inline on PermitExtension; the API names it by its owner and attribute.

Table A.142 -- Values contained in the enumeration "PermitExtension.overageBilling.mode"

Enumerated value name Designation Definition
rack rack the place's transient rate deck
dayRate day rate An overage is charged the flat dayRate (Part 14 §14.2d). †
none none recorded, not billed.

A.3.82 The <> "PlateCorrection.decision"

Values of decision on PlateCorrection.

Defined inline on PlateCorrection; the API names it by its owner and attribute.

Table A.143 -- Values contained in the enumeration "PlateCorrection.decision"

Enumerated value name Designation Definition
confirmed confirmed The reviewer keeps the engine's values. †
corrected corrected The reviewer replaces the engine's values with the ones given. †
rejected rejected The reviewer marks the read unusable for pairing and enforcement (Part 13 §13.3a(4a)). †

A.3.83 The <> "PlateList.status"

Values of status on PlateList.

Defined inline on PlateList; the API names it by its owner and attribute.

Table A.144 -- Values contained in the enumeration "PlateList.status"

Enumerated value name Designation Definition
active active The list applies at its places. †
suspended suspended The list is temporarily not applied anywhere; its entries remain readable (Part 24 §24.1). †
retired retired The list is withdrawn and applies nowhere; its entries remain readable for audit (Part 24 §24.1). †

A.3.84 The <> "ReceiptDelivery.channel"

Values of channel on ReceiptDelivery.

Defined inline on ReceiptDelivery; the API names it by its owner and attribute.

Table A.145 -- Values contained in the enumeration "ReceiptDelivery.channel"

Enumerated value name Designation Definition
email email The receipt was sent, or queued, by e-mail. †
sms sms The receipt was sent, or queued, by text message. †
print print The receipt was printed at the device. †
link link The receipt is available at the returned link. †

A.3.85 The <> "ReceiptDelivery.status"

Values of status on ReceiptDelivery.

Defined inline on ReceiptDelivery; the API names it by its owner and attribute.

Table A.146 -- Values contained in the enumeration "ReceiptDelivery.status"

Enumerated value name Designation Definition
queued queued Accepted for delivery; not yet sent. †
sent sent Delivered to the channel. †
failed failed Delivery failed; the destination or the channel did not accept it. †

A.3.86 The <> "ReceiptRequest.channel"

print re-prints at the device the payment was taken on; link returns a short-lived URL for the agent to read out or forward.

Defined inline on ReceiptRequest; the API names it by its owner and attribute.

Table A.147 -- Values contained in the enumeration "ReceiptRequest.channel"

Enumerated value name Designation Definition
email email Send the receipt by e-mail to the destination address (Part 13 §13.1a). †
sms sms Send the receipt by text message to the destination number. †
print print Print the receipt at the device that took the payment. †
link link Return a link from which the receipt can be fetched; no destination is needed. †

A.3.87 The <> "ReservationExtension.reservationState"

Values of reservationState on ReservationExtension.

Defined inline on ReservationExtension; the API names it by its owner and attribute.

Table A.148 -- Values contained in the enumeration "ReservationExtension.reservationState"

Enumerated value name Designation Definition
confirmed confirmed The reservation is booked and awaiting use. †
amended amended The reservation has been changed and is awaiting use. †
cancelled cancelled The reservation was cancelled before use. †
checkedIn checked in A Session has used the reservation. †
noShow no show The reservation was not used before its no-show time (Part 14 §14.1). †

A.3.88 The <> "ReservationSummary.reservationState"

Values of reservationState on ReservationSummary.

Defined inline on ReservationSummary; the API names it by its owner and attribute.

Table A.149 -- Values contained in the enumeration "ReservationSummary.reservationState"

Enumerated value name Designation Definition
confirmed confirmed The reservation is booked and awaiting use. †
amended amended The reservation has been changed and is awaiting use. †
cancelled cancelled The reservation was cancelled before use. †
checkedIn checked in A Session has used the reservation. †
noShow no show The reservation was not used before its no-show time (Part 14 §14.1). †

A.3.89 The <> "ResolutionContext.accessDecision.status"

Values of accessDecision.status on ResolutionContext.

Defined inline on ResolutionContext; the API names it by its owner and attribute.

Table A.150 -- Values contained in the enumeration "ResolutionContext.accessDecision.status"

Enumerated value name Designation Definition
granted granted Access was granted. †
denied denied Access was refused. †
pending pending The access decision has not yet been made. †
unknown unknown The access decision is not known. †

A.3.90 The <> "ResolutionContext.status"

partial = at least one source has not answered yet; re-read to refresh.

Defined inline on ResolutionContext; the API names it by its owner and attribute.

Table A.151 -- Values contained in the enumeration "ResolutionContext.status"

Enumerated value name Designation Definition
full full Every source has answered. †
partial partial At least one source has not answered yet; re-read to refresh (Part 17 §17.2). †

A.3.91 The <> "ResolutionResolveRequest.guestReference.kind"

Values of guestReference.kind on ResolutionResolveRequest.

Defined inline on ResolutionResolveRequest; the API names it by its owner and attribute.

Table A.152 -- Values contained in the enumeration "ResolutionResolveRequest.guestReference.kind"

Enumerated value name Designation Definition
hotelRoom hotel room A hotel room number, for a guest parking under a hotel arrangement (Part 17 §17.1). †
company company A company or merchant name the parker claims to visit or work for. †
tenant tenant A tenant of the building the place serves, for a tenant's employee or visitor. †
event event An event name or booking, for an attendee. †
other other Another kind of reference, as the operator and the call platform agree. †

A.3.92 The <> "SessionDetail.lifecycle"

open — a vehicle is in the facility, no actualEnd yet; ended — closed, may still be revised; final — no further revision expected; disputed — under review. Every state but open requires actualEnd, and open forbids it (422 request-unprocessable otherwise). final is the writer's statement, never a lock: a server MUST NOT refuse a later revision on that ground.

Defined inline on SessionDetail; the API names it by its owner and attribute.

Table A.153 -- Values contained in the enumeration "SessionDetail.lifecycle"

Enumerated value name Designation Definition
open open The vehicle is in the facility and the Session has no end time (Part 5 §5.8). †
ended ended closed, may still be revised
final final no further revision
disputed disputed under review

A.3.93 The <> "SessionReadBinding.role"

entry and exit are the passages that opened and closed the visit; duplicate is the same passage seen by another camera or frame; activity is the vehicle seen inside (a sweep, a bay camera).

Defined inline on SessionReadBinding; the API names it by its owner and attribute.

Table A.154 -- Values contained in the enumeration "SessionReadBinding.role"

Enumerated value name Designation Definition
entry entry The passage that opened the visit. †
exit exit The passage that closed the visit. †
duplicate duplicate The same passage seen by another camera or in another frame. †
activity activity The vehicle seen inside the facility, for example during a sweep or by a bay camera. †

A.3.94 The <> "Signage.signageStatus"

Values of signageStatus on Signage.

Defined inline on Signage; the API names it by its owner and attribute.

Table A.155 -- Values contained in the enumeration "Signage.signageStatus"

Enumerated value name Designation Definition
active active The sign is posted and in force. †
superseded superseded Replaced by a newer sign record or version (Part 19 §19.11). †
removed removed The sign has been taken down without a replacement. †

A.3.95 The <> "StayCompliance.family"

The family of the status. For a registry status it MUST be the family the registry gives (422 request-unprocessable). compliant — rights or an exemption covered the stay violation — the stay was not covered as the policy requires withheld — not scored, or held back for review other — an outcome none of the other families fits, for example paid after exit

Defined inline on StayCompliance; the API names it by its owner and attribute.

Table A.156 -- Values contained in the enumeration "StayCompliance.family"

Enumerated value name Designation Definition
compliant compliant rights or an exemption covered the stay
violation violation the stay was not covered as the policy requires
withheld withheld not scored, or held back for review
other other an outcome none of the other families fits, for example paid after exit

A.3.96 The <> "SubscriptionFilters.severityFloor"

For alert topics — minimum severity delivered.

Defined inline on SubscriptionFilters; the API names it by its owner and attribute.

Table A.157 -- Values contained in the enumeration "SubscriptionFilters.severityFloor"

Enumerated value name Designation Definition
info info Alerts of every severity are delivered. †
warning warning Alerts of warning severity and above are delivered. †
minor minor Alerts of minor severity and above are delivered. †
major major Alerts of major severity and above are delivered. †
critical critical Only critical alerts are delivered. †

A.3.97 The <> "SupportInteraction.agentType"

Values of agentType on SupportInteraction.

Defined inline on SupportInteraction; the API names it by its owner and attribute.

Table A.158 -- Values contained in the enumeration "SupportInteraction.agentType"

Enumerated value name Designation Definition
human human A person handled the interaction. †
ai ai An AI agent handled the interaction. †

A.3.98 The <> "TollTransaction.transactionStatus"

Values of transactionStatus on TollTransaction.

Defined inline on TollTransaction; the API names it by its owner and attribute.

Table A.159 -- Values contained in the enumeration "TollTransaction.transactionStatus"

Enumerated value name Designation Definition
created created Assembled from observations, not yet priced. †
priced priced Priced and awaiting payment. †
paid paid Settled by a payment. †
disputed disputed Under dispute. †
resolved resolved A dispute has been resolved. †
voided voided Cancelled by the operator. †

A.3.99 The <> "UiActionRecord.outcome"

Values of outcome on UiActionRecord.

Defined inline on UiActionRecord; the API names it by its owner and attribute.

Table A.160 -- Values contained in the enumeration "UiActionRecord.outcome"

Enumerated value name Designation Definition
completed completed The action was carried out on the surface. †
failed failed The action was attempted on the surface and did not succeed. †
noAction no action The agent took no action; recorded so that the launch is accounted for. †

A.3.100 The <> "UiActionRecord.unavailable.reason"

Values of unavailable.reason on UiActionRecord.

Defined inline on UiActionRecord; the API names it by its owner and attribute.

Table A.161 -- Values contained in the enumeration "UiActionRecord.unavailable.reason"

Enumerated value name Designation Definition
notSupported not supported The surface never knows this value (Part 25 §25.4). †
notApplicable not applicable The value does not apply to this action. †

A.3.101 The <> "UiLaunch.status"

issued → opened on first use of the url or token (single use) → closed when the screen reports it is done, or expired when expiresAt passes unused. An opened launch not closed within the implementation's limit (RECOMMENDED 1 h) also becomes expired (Part 25 §25.3).

Defined inline on UiLaunch; the API names it by its owner and attribute.

Table A.162 -- Values contained in the enumeration "UiLaunch.status"

Enumerated value name Designation Definition
issued issued Created; the URL or token has not yet been used (Part 25 §25.3). †
opened opened The URL or token was used once and the surface is open for the agent. †
closed closed The surface reported the end of the session, or the implementation observed it; final. †
expired expired Part 25 §25.3).

A.3.102 The <> "UiLaunchRequest.agentType"

Values of agentType on UiLaunchRequest.

Defined inline on UiLaunchRequest; the API names it by its owner and attribute.

Table A.163 -- Values contained in the enumeration "UiLaunchRequest.agentType"

Enumerated value name Designation Definition
human human A person will use the surface. †
ai ai An AI agent will use the surface. †

A.3.103 The <> "UiLaunchRequest.displayMode"

Values of displayMode on UiLaunchRequest.

Defined inline on UiLaunchRequest; the API names it by its owner and attribute.

Table A.164 -- Values contained in the enumeration "UiLaunchRequest.displayMode"

Enumerated value name Designation Definition
embed embed Show the surface inside the host's page. †
popup popup Show the surface in a pop-up window. †
tab tab Show the surface in a new browser tab. †

A.3.104 The <> "UiSurface.displayModes"

Values of displayModes on UiSurface.

Defined inline on UiSurface; the API names it by its owner and attribute.

Table A.165 -- Values contained in the enumeration "UiSurface.displayModes"

Enumerated value name Designation Definition
embed embed The surface may be shown inside the host's page (the host's origin must be registered; Part 25 §25.6). †
popup popup The surface may be shown in a pop-up window. †
tab tab The surface may be shown in a new browser tab. †

A.3.105 The <> "UiSurface.launchModes"

Values of launchModes on UiSurface.

Defined inline on UiSurface; the API names it by its owner and attribute.

Table A.166 -- Values contained in the enumeration "UiSurface.launchModes"

Enumerated value name Designation Definition
handshake handshake The host posts a launch request with its APX token and opens the single-use URL returned (Part 25 §25.2). †
signedToken signed token The host signs a launch token and sends it to the surface's launch URL by form post or URL fragment (Part 25 §25.2). †

A.3.106 The <> "ValetHandbackRequest.verificationMethod"

Values of verificationMethod on ValetHandbackRequest.

Defined inline on ValetHandbackRequest; the API names it by its owner and attribute.

Table A.167 -- Values contained in the enumeration "ValetHandbackRequest.verificationMethod"

Enumerated value name Designation Definition
ticket ticket The claim ticket was presented. †
phone phone The customer's phone or application was verified. †
code code A one-time code was given. †
id id An identity document was checked. †
attendant attendant An attendant recognised the customer. †

A.3.107 The <> "ValetRetrievalRequest.channel"

Values of channel on ValetRetrievalRequest.

Defined inline on ValetRetrievalRequest; the API names it by its owner and attribute.

Table A.168 -- Values contained in the enumeration "ValetRetrievalRequest.channel"

Enumerated value name Designation Definition
sms sms The customer asked by text message. †
app app The customer asked in a mobile application. †
web web The customer asked on a web page. †
voiceBot voice bot The customer asked through an automated voice service. †
kiosk kiosk The customer asked at a self-service kiosk. †
attendant attendant An attendant raised the request at the stand. †
callCenter call center An agent at a contact centre raised the request. †

A.3.108 The <> "ValetTicket.customer.contactChannel.type"

Values of customer.contactChannel.type on ValetTicket.

Defined inline on ValetTicket; the API names it by its owner and attribute.

Table A.169 -- Values contained in the enumeration "ValetTicket.customer.contactChannel.type"

Enumerated value name Designation Definition
sms sms The customer is reached by text message. †
app app The customer is reached through a mobile application. †
web web The customer is reached through a web page. †
voice voice The customer is reached by voice call. †
email email The customer is reached by email. †
none none The customer has given no channel to be reached on. †

A.3.109 The <> "ValetTicket.handback.verificationMethod"

Values of handback.verificationMethod on ValetTicket.

Defined inline on ValetTicket; the API names it by its owner and attribute.

Table A.170 -- Values contained in the enumeration "ValetTicket.handback.verificationMethod"

Enumerated value name Designation Definition
ticket ticket The claim ticket was presented. †
phone phone The customer's phone or application was verified. †
code code A one-time code was given. †
id id An identity document was checked. †
attendant attendant An attendant recognised the customer. †

A.3.110 The <> "ValetTicket.retrieval.channel"

Values of retrieval.channel on ValetTicket.

Defined inline on ValetTicket; the API names it by its owner and attribute.

Table A.171 -- Values contained in the enumeration "ValetTicket.retrieval.channel"

Enumerated value name Designation Definition
sms sms The customer asked by text message. †
app app The customer asked in a mobile application. †
web web The customer asked on a web page. †
voiceBot voice bot The customer asked through an automated voice service. †
kiosk kiosk The customer asked at a self-service kiosk. †
attendant attendant An attendant raised the request at the stand. †
callCenter call center An agent at a contact centre raised the request. †

A.3.111 The <> "ValetTicket.valetStatus"

Values of valetStatus on ValetTicket.

Defined inline on ValetTicket; the API names it by its owner and attribute.

Table A.172 -- Values contained in the enumeration "ValetTicket.valetStatus"

Enumerated value name Designation Definition
dropped dropped Custody taken; the vehicle has not yet been parked. †
parked parked The vehicle is parked. †
requested requested The customer has asked for the vehicle. †
retrieving retrieving An attendant is fetching the vehicle. †
staged staged The vehicle is waiting at the pickup point. †
handedBack handed back The vehicle has been handed back. †
closed closed The stay is settled (Part 22 §22.1). †
cancelled cancelled The ticket was cancelled before custody was taken; this is final (Part 22 §22.1). †

A.3.112 The <> "ValidationInstrument.instrumentStatus"

Values of instrumentStatus on ValidationInstrument.

Defined inline on ValidationInstrument; the API names it by its owner and attribute.

Table A.173 -- Values contained in the enumeration "ValidationInstrument.instrumentStatus"

Enumerated value name Designation Definition
valid valid The instrument may be redeemed. †
redeemed redeemed The instrument has been applied to a ticket or session. †
void void The instrument has been withdrawn. †
expired expired The instrument is past its validTo time (Part 20 §20.2). †

A.3.113 The <> "ValidationIssuance.issuanceStatus"

void after POST …/issuances/{issuanceId}/void (Part 20 §20.2 rule 5).

Defined inline on ValidationIssuance; the API names it by its owner and attribute.

Table A.174 -- Values contained in the enumeration "ValidationIssuance.issuanceStatus"

Enumerated value name Designation Definition
issued issued The batch is in force. †
void void The batch has been withdrawn; unredeemed instruments may not be used (Part 20 §20.2). †

A.3.114 The <> "ValidationIssuance.method"

Values of method on ValidationIssuance.

Defined inline on ValidationIssuance; the API names it by its owner and attribute.

Table A.175 -- Values contained in the enumeration "ValidationIssuance.method"

Enumerated value name Designation Definition
code code A printed or displayed alphanumeric code. †
qrCode qr code A QR code. †
stamp stamp A stamp applied to a ticket, with no individual code. †
digital digital A digital token held in an application. †
api api Redemptions recorded directly by a merchant system, with no per-instrument code (Part 20 §20.2). †

A.3.115 The <> "ValidationIssuanceRequest.issuanceStatus"

Values of issuanceStatus on ValidationIssuanceRequest.

Defined inline on ValidationIssuanceRequest; the API names it by its owner and attribute.

Table A.176 -- Values contained in the enumeration "ValidationIssuanceRequest.issuanceStatus"

Enumerated value name Designation Definition
issued issued The batch is in force. †
void void The batch has been withdrawn; unredeemed instruments may not be used (Part 20 §20.2). †

A.3.116 The <> "ValidationIssuanceRequest.method"

Values of method on ValidationIssuanceRequest.

Defined inline on ValidationIssuanceRequest; the API names it by its owner and attribute.

Table A.177 -- Values contained in the enumeration "ValidationIssuanceRequest.method"

Enumerated value name Designation Definition
code code A printed or displayed alphanumeric code. †
qrCode qr code A QR code. †
stamp stamp A stamp applied to a ticket, with no individual code. †
digital digital A digital token held in an application. †
api api Redemptions recorded directly by a merchant system, with no per-instrument code (Part 20 §20.2). †

A.3.117 The <> "ValidationProgram.billing.billingCycle"

Values of billing.billingCycle on ValidationProgram.

Defined inline on ValidationProgram; the API names it by its owner and attribute.

Table A.178 -- Values contained in the enumeration "ValidationProgram.billing.billingCycle"

Enumerated value name Designation Definition
monthly monthly Billed once a month. †
weekly weekly Billed once a week. †
perRedemption per redemption Billed for each redemption as it is applied. †

A.3.118 The <> "ValidationProgram.billing.model"

Values of billing.model on ValidationProgram.

Defined inline on ValidationProgram; the API names it by its owner and attribute.

Table A.179 -- Values contained in the enumeration "ValidationProgram.billing.model"

Enumerated value name Designation Definition
merchantPays merchant pays The merchant pays for each redemption (Part 20 §20.6). †
operatorAbsorbs operator absorbs The operator bears the cost and nothing is billable (Part 20 §20.6). †
split split The merchant pays a share of the amount reduced (Part 20 §20.6). †

A.3.119 The <> "ValidationProgram.issuanceMethods"

Values of issuanceMethods on ValidationProgram.

Defined inline on ValidationProgram; the API names it by its owner and attribute.

Table A.180 -- Values contained in the enumeration "ValidationProgram.issuanceMethods"

Enumerated value name Designation Definition
code code A printed or displayed alphanumeric code. †
qrCode qr code A QR code. †
stamp stamp A stamp applied to a ticket, with no individual code. †
digital digital A digital token held in an application. †
api api Redemptions recorded directly by a merchant system, with no per-instrument code (Part 20 §20.2). †

A.3.120 The <> "ValidationProgram.programStatus"

Values of programStatus on ValidationProgram.

Defined inline on ValidationProgram; the API names it by its owner and attribute.

Table A.181 -- Values contained in the enumeration "ValidationProgram.programStatus"

Enumerated value name Designation Definition
active active The program is in force and its validations may be redeemed. †
suspended suspended The program is temporarily stopped and redemptions are refused; it may be resumed (Part 20 §20.1). †
ended ended The program has ended; this is final (Part 20 §20.1). †

A.3.121 The <> "ValidationRedemption.channel"

Values of channel on ValidationRedemption.

Defined inline on ValidationRedemption; the API names it by its owner and attribute.

Table A.182 -- Values contained in the enumeration "ValidationRedemption.channel"

Enumerated value name Designation Definition
lane lane Applied by equipment in a lane. †
payStation pay station Applied at a pay station. †
merchantApp merchant app Applied in a merchant's application. †
callCenter call center Applied by an agent through the applyValidation command (Part 20 §20.3). †
api api Recorded directly by a connected system. †

A.3.122 The <> "ValidationRedemption.redemptionStatus"

Values of redemptionStatus on ValidationRedemption.

Defined inline on ValidationRedemption; the API names it by its owner and attribute.

Table A.183 -- Values contained in the enumeration "ValidationRedemption.redemptionStatus"

Enumerated value name Designation Definition
applied applied The validation is applied to the ticket or session. †
reversed reversed The validation was reversed (Part 20 §20.4). †

A.3.123 The <> "ValidationStatement.billingModel"

Values of billingModel on ValidationStatement.

Defined inline on ValidationStatement; the API names it by its owner and attribute.

Table A.184 -- Values contained in the enumeration "ValidationStatement.billingModel"

Enumerated value name Designation Definition
merchantPays merchant pays The merchant pays for each redemption (Part 20 §20.6). †
operatorAbsorbs operator absorbs The operator bears the cost and nothing is billable (Part 20 §20.6). †
split split The merchant pays a share of the amount reduced (Part 20 §20.6). †

A.3.124 The <> "ValidationStatement.lines.lineKind"

redemption (default when absent) — a redemption applied in the period. credit — a redemption billed on an earlier closed statement and reversed since; billable is negative.

Defined inline on ValidationStatement; the API names it by its owner and attribute.

Table A.185 -- Values contained in the enumeration "ValidationStatement.lines.lineKind"

Enumerated value name Designation Definition
redemption redemption default when absent) — a redemption applied in
credit credit a redemption billed on an earlier

A.3.125 The <> "ValidationStatement.statementStatus"

Values of statementStatus on ValidationStatement.

Defined inline on ValidationStatement; the API names it by its owner and attribute.

Table A.186 -- Values contained in the enumeration "ValidationStatement.statementStatus"

Enumerated value name Designation Definition
preview preview A computed preview for a period, with no identifier (Part 20 §20.6). †
closed closed An immutable statement for a closed period that the operator invoices from (Part 20 §20.6). †

A.3.126 The <> "Violation.amountHistory.reason"

Values of amountHistory.reason on Violation.

Defined inline on Violation; the API names it by its owner and attribute.

Table A.187 -- Values contained in the enumeration "Violation.amountHistory.reason"

Enumerated value name Designation Definition
issued issued The amount set when the notice was issued. †
escalation escalation A server-applied escalation step increased the amount (Part 19 §19.10). †
appealReduced appeal reduced An appeal resolved as reduced lowered the amount. †
cap cap The amount asked for at issue exceeded the penalty cap and was clamped to it (Part 19 §19.10). †

A.3.127 The <> "Violation.appeal.openedFrom"

The state the appeal was opened from; paid is a pay-then-appeal (Part 19 §19.6). upheld and reduced return the violation to this state.

Defined inline on Violation; the API names it by its owner and attribute.

Table A.188 -- Values contained in the enumeration "Violation.appeal.openedFrom"

Enumerated value name Designation Definition
issued issued The appeal was opened while the violation was issued and unpaid. †
paid paid The appeal was opened after payment, a pay-then-appeal (Part 19 §19.6). †

A.3.128 The <> "Violation.violationStatus"

Current lifecycle state (see schema description for transitions).

Defined inline on Violation; the API names it by its owner and attribute.

Table A.189 -- Values contained in the enumeration "Violation.violationStatus"

Enumerated value name Designation Definition
detected detected The violation has been found and is awaiting review. †
confirmed confirmed A reviewer has confirmed the violation and a notice may be issued. †
dismissed dismissed A reviewer has rejected the violation; this is final. †
issued issued A notice has been issued and payment is outstanding. †
paid paid The amount has been paid in full. †
appealed appealed An appeal is open. †
closed closed The violation is finished, after payment or a successful appeal; this is final. †
voided voided The violation was withdrawn, for example as issued in error or a duplicate; this is final (Part 19 §19.1). †

A.3.129 The <> "ViolationDetection.mode"

automated — a camera/sensor pipeline created the violation with no human in the loop. guided — the system surfaced a candidate (typically to a handheld) and an officer confirms on site. manual — an officer created the violation directly.

Defined inline on ViolationDetection; the API names it by its owner and attribute.

Table A.190 -- Values contained in the enumeration "ViolationDetection.mode"

Enumerated value name Designation Definition
automated automated a camera/sensor pipeline created the violation with
guided guided the system surfaced a candidate
manual manual an officer created the violation directly.

A.3.130 The <> "ViolationImport.violationStatus"

The APX state the source's status maps to. paid requires amountPaid at least amount; a part-paid violation is issued (Part 19 §19.6a). The source's own wording goes in the decoration's sourceStatus.

Defined inline on ViolationImport; the API names it by its owner and attribute.

Table A.191 -- Values contained in the enumeration "ViolationImport.violationStatus"

Enumerated value name Designation Definition
detected detected The source reports the violation as found and awaiting review. †
confirmed confirmed The source reports the violation as confirmed by a reviewer, with no notice yet. †
dismissed dismissed The source reports the violation as rejected by a reviewer; this is final. †
issued issued Part 19 §19.6a
paid paid The source reports the amount as paid in full (Part 19 §19.6a). †
appealed appealed The source reports an open appeal. †
closed closed The source reports the violation as finished; this is final. †
voided voided The source reports the violation as withdrawn; this is final. †

A.3.131 The <> "ViolationReview.decision"

Values of decision on ViolationReview.

Defined inline on ViolationReview; the API names it by its owner and attribute.

Table A.192 -- Values contained in the enumeration "ViolationReview.decision"

Enumerated value name Designation Definition
confirm confirm The reviewer confirms the detected candidate as a violation. †
dismiss dismiss The reviewer dismisses the detected candidate. †

A.4 External code lists for "APX"

These lists extend APX string members without changing the schema, in the same way as the APDS user-defined code lists (APDS Use Case Document, Annex D). Implementers may publish further values (Part 11).

A.4.1 External code list "apx-access-denial-reasons"

Used by: LaneStatus.monthlyCredential.denialReason, CredentialAccessEvent.denialReason, AccessEvent.denialReason. Seeds the APDS proposal AccessDenialReasonEnum (Tier 1). Published as an APDS UserDefinedCodeList at spec/registries/apx-access-denial-reasons.json (Part 11).

Table A.193 -- Entries in the code list "apx-access-denial-reasons"

definedValue Description
credentialSuspended The presented credential matched a CredentialRecord that is suspended.
credentialLost The presented credential matched a CredentialRecord reported lost.
credentialRevoked The presented credential matched a CredentialRecord that is revoked.
credentialReplaced The presented credential matched a CredentialRecord that has been replaced by another.
credentialExpired The presented credential matched a CredentialRecord that has expired.
unknownCredential The presented value matched no CredentialRecord; the event carries what the reader read.
passback Denied by anti-passback state (the credential is already in, or already out); corrected through the Part 17 passback commands.
accountBalance Denied because of the holder's outstanding balance or account status.
outsidePlace The credential is valid, but not at this place.
outsideValidity The credential is valid at this place, but not at this time.
credentialNotYetActive The presented credential matched a CredentialRecord that is issued but not yet active (its validity has not started, or it awaits activation). Distinct from outsideValidity, which is an active credential presented outside its permitted times.

A.4.2 External code list "apx-alert-types"

Used by: SubscriptionFilters.alertTypes. Seeds the APDS proposal AlertTypeEnum (Tier 2). Published as an APDS UserDefinedCodeList at spec/registries/apx-alert-types.json (Part 11).

Table A.194 -- Entries in the code list "apx-alert-types"

definedValue Description
noCheckOut Vehicle/right shows no check-out for a completed stay (APDS Use Case C.2.2 transaction exception).
wrongSpace Vehicle occupies a different space than reserved/checked-in (C.2.2 transaction exception).
occupiedWithoutCheckIn Space occupied with no matching check-in/session (C.2.2 space status).
iceInEvSpace Non-EV vehicle occupying an EV charging space (C.2.2 transaction exception).
overstay Session exceeds its right's validity or maximum stay.
deviceFault A device reports a fault state.
deviceOffline A device stopped communicating (lastCommunication exceeded threshold).
laneBlocked A lane is blocked (vehicle stuck, barrier obstruction).
occupancyThresholdExceeded Occupancy demand crossed a configured threshold for a place element.
paymentException A payment failed, was reversed, or requires attention.
intercomRequest A customer requested assistance at a lane/device intercom.
webhookDeliveryFailed A subscription exhausted its delivery retry schedule and was marked failed (self-referential alert).
wrongWayTravel An operator-defined alert that a vehicle travelled against a lane's configured purpose (e.g. entered on an exit lane). APX does not raise it or define when it applies: LPR reads carry only the vehicle's accessEvent, and the lane used does not change it (Part 13 §13.3a(6)).
evBayNotCharging A vehicle has occupied an EV charging bay without connecting beyond the place's grace — the EV counterpart of iceInEvSpace, derived from the Part 23 §23.3 bay-presence fusion; the camera Observation is the evidence.
evBayBlocked An EV charging bay is obstructed by something other than a parked vehicle (cones, debris, a straddling vehicle), derived from the Part 23 §23.3 bay-presence fusion; the camera Observation is the evidence.
watchListArrival A credential on a watch plate list (Part 24) was read at a place where the list has alertOnArrival; relatedEntity is the PlateListEntry, the read is the evidence.
scofflawArrival A credential on a scofflaw plate list (Part 24) was read at a place where the list has alertOnArrival; relatedEntity is the PlateListEntry.
refusedServiceArrival A credential on a plate list with refuseService arrived at a lane and service was refused (the refused-service sign shown, the gate not vended); relatedEntity is the PlateListEntry, the displayMessage command's result.display is the proof of display.
consumableLow A device reports a supply at low or empty (tickets, receipt paper, cash, coins; DeviceStatus.consumables, Part 6 §6.4a); relatedEntity is the SupplementalEquipment.
receiptRequested A customer asked for a receipt that could not be sent during the interaction; relatedEntity is the PaymentRecord, supportInteraction the call.
refundRequested A customer asked for a refund that needs review or approval; relatedEntity is the PaymentRecord, supportInteraction the call.
citationInquiry A customer asked about a citation or notice the agent could not resolve; relatedEntity is the Violation when known.
damageReported A vehicle was reported damaged, broken into or towed at the place; relatedEntity is the Session when known, supportInteraction the call.
customerCallbackRequested A customer asked to be called back by the site or operator; supportInteraction is the call, which holds the contact details under its own scope.

A.4.3 External code list "apx-area-types"

Used by: Not referenced by a schema description. Seeds the APDS proposal AreaTypeEnum (Tier 2). Published as an APDS UserDefinedCodeList at spec/registries/apx-area-types.json (Part 11).

Table A.195 -- Entries in the code list "apx-area-types"

definedValue Description
lane Vehicle area: an entry or exit lane.
entryPlaza Vehicle area: the approach to the entry lanes.
exitPlaza Vehicle area: the approach to the exit lanes.
ramp Vehicle area: a ramp between levels.
parkingLevel Vehicle area: a drive aisle or parking area on a level.
roof Vehicle area: an open roof level.
evChargingArea Vehicle area: the EV charging bays.
loadingDock Vehicle area: a loading or service area.
perimeter Vehicle area: outside the facility, its fence line or the street.
elevator Pedestrian area: inside an elevator car.
elevatorLobby Pedestrian area: an elevator lobby.
lobby Pedestrian area: the main or pedestrian lobby.
stairwell Pedestrian area: a stairwell.
pedestrianEntrance Pedestrian area: a street door or access door.
paymentArea Pedestrian area: where the pay-on-foot stations are.
cashierBooth Staff area: a cashier booth.
office Staff area: an office or attendant room.
equipmentRoom Staff area: a server or electrical room.
other An area none of the other codes fit. A code, not free text.

A.4.4 External code list "apx-command-types"

Used by: Not referenced by a schema description. Published as an APDS UserDefinedCodeList at spec/registries/apx-command-types.json (Part 11).

Table A.196 -- Entries in the code list "apx-command-types"

definedValue Description
vendGate Open (vend) a gate/barrier at the target lane once for one vehicle.
holdGateOpen Hold the gate/barrier at the target lane open until released by a subsequent setDeviceState or closeLane command.
closeLane Close the target lane to further entries/exits.
lostTicket Issue a lost-ticket transaction at the target lane using the lost-ticket method given in parameters.
pushRate Apply the RateTable referenced in parameters to the target lane or place.
applyValidation Apply a validation from the given validation provider to the ticket/session referenced in parameters.
setDeviceState Request the target device transition to the state given in parameters.
displayMessage Display the message given in parameters on the target device (VMS, lane display).
restartDevice Restart (reboot) the target device.
resetPassback Reset the anti-passback state of the credential referenced in parameters to normal.
forceIn Force the credential referenced in parameters to recorded presence 'inside' (passback correction).
forceOut Force the credential referenced in parameters to recorded presence 'outside' (passback correction).
courtesyExit Vend the gate at the target lane as a tracked courtesy exit for the account/holder referenced in parameters — counted against courtesy policy.
pushNegotiatedRate Apply a negotiated rate to the CURRENT ticket at the target lane only, never to the lane's deck: a negotiable RateTable in parameters.rateTable, or (negotiatedAmounts feature) any amount in parameters.amount with a reason. The command's agent is who set it.
matchTicket Bind the current transaction at the target lane to the open Session referenced in parameters (ticket matching), pricing the exit from that session's true entry time; the command's agent is who made the match.
startCharging Remote-start charging on the target ElectricChargingEquipment for a plugged-in vehicle whose own authorization failed; parameters connectorIndex and chargingSession (Reference), or an authorization object for the server to open one (Part 23 §23.9).
stopCharging Remote-stop charging on the target ElectricChargingEquipment; parameters connectorIndex and chargingSession; the bridge reports chargingEnded with stopReason remote (Part 23 §23.9).
unlockConnector Release a cable the target ElectricChargingEquipment will not let go of; parameter connectorIndex; physicallyConfirmed only when the charger reported the connector unlocked or the bay camera saw the cable move (Part 23 §23.9).
ejectTicket Return the ticket or card held by the target device (a ticket stuck on cancel, a card the reader kept) to the customer (Part 6 §6.1).
cancelTransaction Abandon the transaction in progress at the target device and return it to idle, releasing any media it holds (Part 6 §6.1).
reprintReceipt Print the receipt of the last, or the referenced, payment again at the target device; parameter payment (Part 6 §6.1, Part 13 §13.1b).

A.4.5 External code list "apx-comms-point-types"

Used by: Not referenced by a schema description. Seeds the APDS proposal CommsPointTypeEnum (Tier 3). Published as an APDS UserDefinedCodeList at spec/registries/apx-comms-point-types.json (Part 11).

Table A.197 -- Entries in the code list "apx-comms-point-types"

definedValue Description
intercom A help button with two-way audio and/or video on a lane, a door or a pay station; the call platform knows it by its device id or caller id.
analogDialer A help button on a phone line; known by the line's caller id.
postedNumber A phone number on a sign that the parker dials from their own phone; known by the dialled number, and resolves to the place only unless the sign is for one lane.
kiosk A help function on a kiosk or pay station screen.
qrCode A printed code that opens a help page or chat for the place or lane it was printed for.
app A help function in the operator's or vendor's app.
other A way of reaching help none of the other codes fit. A code, not free text.

A.4.6 External code list "apx-conformance-classes"

Used by: Not referenced by a schema description. Published as an APDS UserDefinedCodeList at spec/registries/apx-conformance-classes.json (Part 11).

Table A.198 -- Entries in the code list "apx-conformance-classes"

definedValue Description
apx-data Implements APDS 4.1 native data routes with the APX data profile (Full/Change, tombstones, cursor change feed).
apx-events Implements the APX delivery fabric over APDS /webhooks with HMAC signing and the normative retry schedule.
apx-events-sse Implements the SSE event stream with Last-Event-ID resume.
apx-control Implements the command plane, lane inquiry, validations, and device status.
apx-alerts Implements the alert resource and lifecycle.
apx-discovery Implements credential-scoped capability discovery.
apx-accounts Implements account lookup, take-payment, and accounting write-back.
apx-payment-history Implements payment history lookup by ticket.
apx-lpr Implements LPR plate/ticket cross-lookup over APDS Observations.
apx-reservations Implements the reservations profile over APDS quotes and assigned rights.
apx-permits Implements the permits profile over RightSpecification, RightPool, and Credential.
apx-tolling Implements TollTransaction and its dispute lifecycle.
apx-mtls Optional hardening: mutual TLS on all APX endpoints.
apx-resolution Implements Customer Service & Resolution: resolution contexts, policy-decided allowed actions, passback status, plate candidates, and support-interaction history.
apx-violations Implements enforcement: the Violation lifecycle (automated and guided detection, review, issuance, settlement, appeals, void) and the eligibility check.
apx-validations Implements validation program management: merchant enrolment, instrument issuance, the redemption ledger, and closable billing statements; the Part 6 provider list derives from active programs.
apx-credentials Implements credential lifecycle: issue, activate, suspend, resume, report lost, revoke, replace, access-event history; active records materialized as APDS CredentialAssigned on the holder's AssignedRights.
apx-valet Implements valet custody: drop-off with condition evidence, parked position and keys, the retrieval queue with ETA, staging, verified handback, and the customer request scope.
apx-charging Implements the parking-side view of EV charging: live charging-point status with bay-presence fusion, the ChargingSession referencing the APDS Session, idle after complete, three settlement modes, and the customer status scope. Requires the base classes; the charger-control commands (Part 23 §23.9) require apx-control.
apx-plate-lists Implements plate lists: watch, scofflaw, allow, and enforcement-vehicle lists with per-place flags, their entries, the change feed on both, and the apx.platelists.changed.v1 topic. Requires the base classes.
apx-ui-launch Implements UI launch (Part 25): the handshake launch with single-use urls, the signed-token launch, the UiLaunch record and lifecycle, the loopback rule (native resource or UiActionRecord carrying the correlationId), discovery uiSurfaces, and the apx.ui.launch.changed.v1 and apx.ui.action.recorded.v1 topics. Requires the base classes and apx-discovery.
apx-site-config Implements site configuration (Part 26): the equipment-detail, camera, external-ids and place-operations decorations, the equipment and comms-point routes with their change feeds, identifier resolution, camera views by short-lived link, and the apx.equipment.changed.v1 and apx.commspoints.changed.v1 topics. Requires the base classes.

A.4.7 External code list "apx-device-states"

Used by: Not referenced by a schema description. Seeds the APDS proposal EquipmentStatusEnum (Tier 1). Published as an APDS UserDefinedCodeList at spec/registries/apx-device-states.json (Part 11).

Table A.199 -- Entries in the code list "apx-device-states"

definedValue Description
available Device is operational and idle/ready (in the style of APDS RefillPointStatusEnum).
occupied Device is operational and currently serving a vehicle/transaction.
inoperative Device is not operating (planned: maintenance window, closed hours).
outOfService Device removed from service by operator action.
fault Device reports an error condition requiring attention.
unknown Device state cannot be determined (e.g. communication lost).

A.4.8 External code list "apx-display-message-kinds"

Used by: Not referenced by a schema description. Published as an APDS UserDefinedCodeList at spec/registries/apx-display-message-kinds.json (Part 11).

Table A.200 -- Entries in the code list "apx-display-message-kinds"

definedValue Description
transientEntrance Entrance sign: welcome for a vehicle with no standing right, which pays for its stay (Part 26 §26.9).
monthlyEntrance Entrance sign: welcome for a vehicle a permit or monthly right covers.
entranceRefused Entrance sign: service refused, the vend withheld (a plate list with refuseService, Part 24 §24.4). The record is the proof of display.
transientExitPaid Exit sign: the stay is paid; thank you.
transientExitUnpaid Exit sign: no payment found for the stay. Also shown for an overstay or a late start until kinds for those are added.
monthlyExit Exit sign: goodbye for a vehicle a permit or monthly right covers.
monthlyExitBalanceDue Exit sign: a permit or monthly holder with a balance due on the account.
idle Either sign: the resting message shown when no vehicle is being served.
fallback Either sign: the message shown when the system that drives the sign cannot decide which message applies (no read, no rights data).

A.4.9 External code list "apx-equipment-roles"

Used by: Not referenced by a schema description. Seeds the APDS proposal EquipmentRoleEnum (Tier 2). Published as an APDS UserDefinedCodeList at spec/registries/apx-equipment-roles.json (Part 11).

Table A.201 -- Entries in the code list "apx-equipment-roles"

definedValue Description
gate Vehicle barrier: a barrier arm.
overheadDoor Vehicle barrier: a rolling or overhead door.
bollard Vehicle barrier: a retractable bollard.
trafficSpikes Vehicle barrier: one-way tyre spikes.
accessDoor Pedestrian barrier: a door a parker authenticates at to enter the facility, for example after hours to reach their car. Place-level equipment with no lane.
turnstile Pedestrian barrier: a turnstile at a pedestrian entrance.
ticketDispenser Ticketing: the entry station that issues a ticket or token.
exitVerifier Ticketing: the exit station that reads the ticket or credential and opens the gate.
exitPayStation Payment: a pay-in-lane station at the exit (APDS type paymentMachine).
payOnFoot Payment: a central pay station away from the lanes (APDS type paymentMachine).
cashierBooth Payment: a staffed booth.
validationTerminal Payment: a merchant validator.
paymentTerminal Payment: a standalone card or tap terminal.
cardReader Credential reader: an access or proximity card reader.
tagReader Credential reader: an RFID, transponder or AVI tag reader.
barcodeReader Credential reader: a QR or barcode reader for reservations and mobile passes.
loopDetector Vehicle detection: an in-ground loop.
presenceSensor Vehicle detection: a non-loop vehicle sensor (radar, ultrasonic, magnetic).
camera A camera anywhere on the site; what it looks at, how it is mounted and how it is viewed are in the apds-ext:apx:camera@1.0 decoration (Part 26 §26.3).
intercom Communications: a help button with two-way audio and/or video.
analogDialer Communications: a help button on a phone line.
emergencyPhone Communications: a dedicated emergency call box.
laneDisplay Signs and displays: a message screen at the lane.
laneSignal Signs and displays: an open/closed light or traffic light.
countSign Signs and displays: a spaces-available sign.
laneController On-site infrastructure: a lane computer or controller.
facilityServer On-site infrastructure: the on-site PARCS server.
videoRecorder On-site infrastructure: a DVR or NVR; a camera's recorder points here.
videoGateway On-site infrastructure: the gateway that issues short-lived camera links (Part 26 §26.4).
other Hardware none of the other codes fit. A code, not free text; propose a new code rather than describing the item in prose.

A.4.10 External code list "apx-escalation-roles"

Used by: Not referenced by a schema description. Published as an APDS UserDefinedCodeList at spec/registries/apx-escalation-roles.json (Part 11).

Table A.202 -- Entries in the code list "apx-escalation-roles"

definedValue Description
siteManager The manager responsible for the place.
attendant Staff on site at the time.
security The place's security desk or patrol.
operatorOnCall The operator's on-call duty manager or supervisor.
maintenance The maintenance or service provider for the equipment.
other A role none of the other codes fit. A code, not free text.

A.4.11 External code list "apx-features"

Used by: DiscoveryDocument.features, ApxConfiguration.features. Published as an APDS UserDefinedCodeList at spec/registries/apx-features.json (Part 11).

Table A.203 -- Entries in the code list "apx-features"

definedValue Description
negotiatedRates apx-control optional feature: agents may offer negotiated rate tables with pushNegotiatedRate (Part 6 §6.6; Annex A APX-CTL-09 and 10).
ticketMatching apx-control optional feature: advisory match candidates at the lane and the matchTicket command (Part 6 §6.7; Annex A APX-CTL-11 and 12).
negotiatedAmounts apx-control optional feature, offered only with negotiatedRates: pushNegotiatedRate may state any amount for the current ticket, with agent and reason required (Part 6 §6.6; Annex A APX-CTL-16).
cameraViews apx-site-config optional feature: POST /v1/cameras/{id}/views issues short-lived live and snapshot links bound to the agent (Part 26 §26.4).
cameraPlayback apx-site-config optional feature, offered only with cameraViews: a view of kind playback over a from/to range within the camera's retention (Part 26 §26.4).

A.4.12 External code list "apx-interaction-outcomes"

Used by: Not referenced by a schema description. Published as an APDS UserDefinedCodeList at spec/registries/apx-interaction-outcomes.json (Part 11).

Table A.204 -- Entries in the code list "apx-interaction-outcomes"

definedValue Description
resolved The issue was resolved during the interaction, by an action or an answer.
vended The gate or door was opened for the customer as the resolution.
transferred The interaction was handed to another agent or system.
escalated A manager, attendant or other role took over or was asked to act (see escalationContacts and ApprovalRequest).
noActionNeeded The customer needed no assistance by the time the agent answered.
abandoned The customer left or the contact ended before a resolution.
callbackScheduled The customer will be called back; raises customerCallbackRequested when the site must do it.

A.4.13 External code list "apx-issue-types"

Used by: Not referenced by a schema description. Seeds the APDS proposal SupportIssueTypeEnum (Tier 3). Published as an APDS UserDefinedCodeList at spec/registries/apx-issue-types.json (Part 11).

Table A.205 -- Entries in the code list "apx-issue-types"

definedValue Description
gateVendFailed Customer paid or is entitled to exit but the gate did not open.
paymentDeclined The customer's payment was declined or failed at the lane/pay station.
validationMissing An expected validation/discount is not applied to the session.
rateDispute The amount due does not match the expected rate calculation.
lostTicket The customer cannot present the entry ticket.
passbackViolation A credential was denied because of anti-passback state.
accountBalanceDenied A monthly/account holder was denied because of an outstanding balance or account status.
reservationMismatch A prepaid reservation exists but is not linked to the current session (wrong or unread plate, unscanned code).
plateUnresolved The session has no plate or a low-confidence/incorrect plate association.
equipmentFault A lane device (payment terminal, ticket reader, gate, intercom, camera) is offline or faulted.
unknown The issue could not be classified from available signals.
noResponse The help button was pressed or the number dialled, but nobody answered the agent.
callDropped The contact ended before the issue was stated or resolved.
audioFault The agent cannot hear the parker or the parker cannot hear the agent; a fault in the lane's call equipment.
generalInquiry A question about rates, hours, directions or the facility, with no transaction problem.
wrongLocation The parker is at the wrong garage, dialled the wrong number, or the vehicle does not fit.
facilityFull No space is available for the arriving vehicle.
ticketUnreadable The entry ticket is present but the device cannot read it (damaged, demagnetized, faded).
ticketNotAccepted The device refuses or will not return a readable ticket, including a ticket stuck on cancel.
noTicketIssued The entry station issued no ticket, typically because it is out of tickets (see DeviceStatus.consumables).
paidCannotExit The ticket is paid, but the exit does not open; a payment-status lookup is the first step.
cardNotReading The card reader does not read the payment card at all, as distinct from a decline.
paymentMethodUnavailable The parker cannot pay with what they have (card-only device, no money, needs change).
mediaJam A ticket, bill or card is jammed or stuck in the device.
gateStuckOpen The barrier is stuck open and vehicles pass without a transaction.
credentialForgotten A holder arrived without their card, transponder or fob.
credentialDisabled The holder's credential is present but disabled or deactivated.
gracePeriod A dispute about the grace period, for example a fee charged just after it ended.
validationExpired A validation was applied but has expired, so an amount is due.
authorizedVisitor A hotel guest, vendor, employee, police officer or security staff needing entry under the place's guest arrangements (resolve with guestReference).
receiptRequest The customer needs a receipt sent or printed again (Part 13 receipt re-send).
refundRequest The customer asks for a refund or credit (reason from apx-refund-reasons).
vehicleIncident A vehicle was damaged, broken into or towed at the place; raises a damageReported alert.
equipmentTest A technician testing the equipment, not a customer; excluded from service figures.

A.4.14 External code list "apx-payment-line-codes"

Used by: PaymentDetail.lines. Seeds the APDS proposal PaymentTypeEnum (Tier 2). Published as an APDS UserDefinedCodeList at spec/registries/apx-payment-line-codes.json (Part 11).

Table A.206 -- Entries in the code list "apx-payment-line-codes"

definedValue Description
base The parking charge before fees, taxes, and discounts; when a validation covers part of it, the part paid in money (the validation line carries the rest). A paymentType payment line (Part 13 §13.6a).
convenienceFee A per-transaction fee the payment channel adds (an app, a text-to-pay vendor). A paymentType payment line.
serviceFee A service fee the operator adds (valet, reservation). A paymentType payment line.
tax Tax on the charge, when itemized. A paymentType payment line.
discount A reduction other than a validation (a promotion, a negotiated rate): a paymentType payment line with a negative value.
validation A validation applied to the ticket (Part 20): a paymentType validation line whose value is the amount the validation offset, outside the money collected (Part 13 §13.6a).
idle An EV charging idle charge (Part 23 §23.5). A paymentType payment line.
energy An EV charging energy charge (Part 23 §23.5). A paymentType payment line.

A.4.15 External code list "apx-plate-list-categories"

Used by: PlateList.category. Seeds the APDS proposal PlateListCategoryEnum (Tier 2). Published as an APDS UserDefinedCodeList at spec/registries/apx-plate-list-categories.json (Part 11).

Table A.207 -- Entries in the code list "apx-plate-list-categories"

definedValue Description
allow Credentials entitled at the listed places without a right of their own (service vehicles, exempt plates); a match counts as compliant where enforced.
watch Credentials whose arrival the operator wants to know about; a match raises watchListArrival where alertOnArrival.
scofflaw Credentials with unpaid notices or a standing refusal from the list owner; a match raises scofflawArrival and, where refuseService, refuses service at the lane.
enforcementVehicle The list owner's own enforcement and service vehicles, whose visits are recorded but never enforced or screened.

A.4.16 External code list "apx-read-review-reasons"

Used by: LprReadDetail.review.reasons. Seeds the APDS proposal ReadReviewReasonEnum (Tier 2). Published as an APDS UserDefinedCodeList at spec/registries/apx-read-review-reasons.json (Part 11).

Table A.208 -- Entries in the code list "apx-read-review-reasons"

definedValue Description
lowConfidence The read's overall or plate confidence is below the place's review threshold.
noConfidence The engine reported no confidence for the read.
jurisdictionRequiresReview The jurisdiction requires a human to confirm a plate before enforcement.
ambiguousCharacters The engine's alternate reads differ only in characters it commonly confuses (0/O, 1/I, 5/S, 8/B).
enforcementHandoff The read is about to be handed to an enforcement system that requires reviewed evidence.
conflictingReads Reads of the same passage (one captureGroup) disagree on the plate, country, or state/province.

A.4.17 External code list "apx-refund-reasons"

Used by: Not referenced by a schema description. Published as an APDS UserDefinedCodeList at spec/registries/apx-refund-reasons.json (Part 11).

Table A.209 -- Entries in the code list "apx-refund-reasons"

definedValue Description
changeNotDispensed The device kept money it should have returned.
doubleCharge The customer was charged twice for one stay.
overcharge The amount taken exceeded what the rate or validation said was due.
serviceFailure The customer paid for something the facility did not deliver (a reservation not honoured, a stay cut short by a fault).
courtesy A goodwill refund with no fault found.

A.4.18 External code list "apx-session-end-reasons"

Used by: SessionClosure.endReason. Seeds the APDS proposal SessionEndReasonEnum (Tier 1). Published as an APDS UserDefinedCodeList at spec/registries/apx-session-end-reasons.json (Part 11).

Table A.210 -- Entries in the code list "apx-session-end-reasons"

definedValue Description
exitRead An exit read of the vehicle closed the Session.
reentry The same plate entered again; the earlier Session was closed at the new entry.
stale Closed by rule after no observation for the place's maximum stay; closure.rule names the rule and endInferred is true.
parentExit An area Session closed because its parent visit ended.
areaLeft An area Session closed because the vehicle was seen leaving the area.
inventorySweep A sweep of the facility found the vehicle gone.
valetHandback The valet handed the vehicle back (Part 22).
exitOnly An exit with no observed entry; actualStart is synthetic and closure.startObserved is false.
operator A person closed the Session.
review A reviewer paired the exit read that closed the Session.

A.4.19 External code list "apx-stay-compliance-flags"

Used by: Not referenced by a schema description. Published as an APDS UserDefinedCodeList at spec/registries/apx-stay-compliance-flags.json (Part 11).

Table A.211 -- Entries in the code list "apx-stay-compliance-flags"

definedValue Description
paidAfterExit A payment for the stay arrived after the vehicle left.
matchedFuzzy A right or payment was matched to the stay on an inexact plate match (Part 5 §5.8 rule 5).
endInferred The stay's end was set by a rule, not observed (Part 5 §5.8 rule 3).
onList The plate was on a plate list at the place during the stay (Part 24).
paid A payment covered part of the stay; set beside a status such as lateStart whose coverage began too late.

A.4.20 External code list "apx-stay-compliance-statuses"

Used by: Not referenced by a schema description. Published as an APDS UserDefinedCodeList at spec/registries/apx-stay-compliance-statuses.json (Part 11).

Table A.212 -- Entries in the code list "apx-stay-compliance-statuses"

definedValue Description
unscored Family: withheld. No evaluation has run for the stay yet.
stale Family: withheld. An open stay with no further read, closed with an inferred end; left out of compliance rates.
fromList Family: compliant. Exempt by a plate list entry (Part 24) that covered the entry time.
permit Family: compliant. Covered by rights, and a permit contributed to the coverage.
reservation Family: compliant. Covered by rights, and a reservation contributed to the coverage (no permit did).
paid Family: compliant. Covered by payments only.
grace Family: compliant. Nothing paid, and the whole stay fell within the grace (Part 19 §19.10 rule 7).
valet Family: compliant. The stay was in a valet area that is not enforced.
earlyArrival Family: violation. Arrived before a reservation's start, beyond its early grace, and the time before the start was not otherwise covered.
reservationOverstay Family: violation. Stayed past a reservation's end by more than the grace, and the time after it was not otherwise covered.
unpaid Family: violation. Closed, nothing paid, and the stay was longer than the grace.
lateStart Family: violation. Coverage began more than the entry grace after entry, or, while the stay is open, has not begun at all.
overstay Family: violation. Coverage began in time, but the stay outlasted it by more than the exit grace.
policyOverstay Family: violation. Longer than the place's maximum stay. Never overrides fromList.
reviewRequired Family: withheld. Would be a violation, but a person must look first; pendingStatus names which (Part 5 §5.9 rule 2).
paidLate Family: other. Paid after exit, settling the amount: paid, but not compliant.

A.4.21 External code list "apx-toll-dispute-reasons"

Used by: TollTransaction.dispute.reason, TollDisputeOpen.reason. Seeds the APDS proposal TollDisputeReasonEnum (Tier 2). Published as an APDS UserDefinedCodeList at spec/registries/apx-toll-dispute-reasons.json (Part 11).

Table A.213 -- Entries in the code list "apx-toll-dispute-reasons"

definedValue Description
wrongVehicle The charged vehicle is not the disputing party's (misread or cloned plate).
duplicateCharge The same passage was charged more than once.
wrongClass The vehicle class used for pricing is wrong.
notLiable The party is not liable for the passage (exempt vehicle, sold or stolen vehicle, rental transfer).
other Any other reason; the dispute detail explains it.

A.4.22 External code list "apx-toll-dispute-resolutions"

Used by: TollTransaction.dispute.resolution, TollDisputeResolution.resolution. Seeds the APDS proposal TollDisputeResolutionEnum (Tier 2). Published as an APDS UserDefinedCodeList at spec/registries/apx-toll-dispute-resolutions.json (Part 11).

Table A.214 -- Entries in the code list "apx-toll-dispute-resolutions"

definedValue Description
upheld The charge stands as priced.
refunded The money is returned; the transaction is settled by the refund (Part 13 §13.1a).
adjusted A new amount is owed; the resolution carries adjustedPricing and the original is kept in dispute.originalPricing.
withdrawn The disputing party abandoned the dispute; the charge stands.

A.4.23 External code list "apx-topics"

Used by: Not referenced by a schema description. Published as an APDS UserDefinedCodeList at spec/registries/apx-topics.json (Part 11).

Table A.215 -- Entries in the code list "apx-topics"

definedValue Description
apx.control.command.status.v1 A command transitioned lifecycle state (data: Command).
apx.control.device.state.v1 A device changed state (data: DeviceStatus).
apx.alert.raised.v1 An alert was raised (data: Alert).
apx.alert.status.v1 An alert changed lifecycle state (data: Alert).
apx.reservation.noshow.v1 A reservation reached its no-show condition (data: ReservationSummary; subject: the AssignedRight).
apx.tolling.transaction.created.v1 A toll transaction was created (data: TollTransaction).
apx.tolling.transaction.status.v1 A toll transaction changed status, including disputes (data: TollTransaction).
apx.subscription.failed.v1 A subscription exhausted its retry schedule and was marked failed (data: SubscriptionFailure; subject: the subscription, className ApxEventSubscription).
apx.data.occupancy.v1 Occupancy changed materially for a place element — threshold crossing or publisher-defined delta (data: OccupancySnapshot).
apx.accounts.payment.recorded.v1 A payment was recorded — taken via /v1/payments or ingested from a lane device (data: PaymentRecord). Fills the financial-analytics gap: APDS EventTypeEnum has no payment events.
apx.data.observation.created.v1 A new Observation was ingested — LPR read, RFID hit, sensor event (data: the APDS ObservationElement, one event per element; subject references it; elementIds carries the lane or place). Fills the sensor-analytics gap: APDS EventTypeEnum has no Observation events.
apx.resolution.context.created.v1 A resolution context was created or materially recomputed (data: ResolutionContext) — enables event-driven preloading so agent consoles pop before the call is answered.
apx.support.interaction.recorded.v1 A support interaction was recorded or updated (data: SupportInteraction).
apx.violations.detected.v1 A violation candidate was recorded from automated, guided, or manual detection (data: Violation) — drives guided-enforcement handheld queues.
apx.violations.issued.v1 A notice, warning, or citation was issued on a violation (data: Violation).
apx.violations.status.v1 A violation changed lifecycle state — review, payment, appeal open/resolve, void (data: Violation).
apx.validations.redeemed.v1 A validation was applied to a ticket/session from any channel, or reversed (data: ValidationRedemption).
apx.validations.program.status.v1 A validation program was enrolled, suspended, resumed, or ended (data: ValidationProgram).
apx.validations.statement.closed.v1 A merchant billing period was closed into an immutable statement (data: ValidationStatement).
apx.credentials.status.v1 A credential was issued, activated, suspended, resumed, reported lost, revoked, expired, or replaced (data: CredentialRecord).
apx.credentials.access.v1 A credential was presented at a lane and access was granted or denied (data: AccessEvent; a CredentialAccessEvent whenever a record matched, Part 21 §21.4). Fills the gap: APDS EventTypeEnum has no access events.
apx.valet.ticket.status.v1 A valet ticket changed lifecycle state — dropped, parked, retrieving, staged, handed back, closed, cancelled (data: ValetTicket).
apx.valet.retrieval.requested.v1 A customer or attendant requested a valeted vehicle; carries channel, ETA, and promised time (data: ValetTicket) — drives runner boards and customer notifications.
apx.permits.pool.availability.v1 A permit pool's issued count or capacity changed (data: PoolAvailability; subject: the RightSpecification). Optional for apx-permits (Part 14 §14.2c).
apx.data.observation.updated.v1 An ingested Observation was replaced through native PUT /observations/{id} — e.g. the LPR system revised accessEvent (data: the APDS ObservationElement as it now stands; subject and elementIds place binding as for apx.data.observation.created.v1; consumers keep the highest version). Required for apx-lpr (Part 13 §13.4).
apx.charging.session.status.v1 A ChargingSession transitioned lifecycle state — authorized, pluggedIn, charging, suspended, complete, idle, unplugged, closed, cancelled, faulted (data: ChargingSession; place-bound on ChargingSession.place). Required for apx-charging (Part 23 §23.12).
apx.charging.idle.started.v1 A ChargingSession entered idle after its idlePolicy grace elapsed with the cable still connected; carries the idle policy and the minimized vehicle summary (data: ChargingSession) — drives the customer's move-your-car notification and the Part 19 enforcement hook. Required for apx-charging (Part 23 §23.2, §23.10).
apx.charging.point.status.v1 A charging point's availability or bay presence changed (data: ChargingPointStatus; place-bound on ChargingPointStatus.place). Required for apx-charging (Part 23 §23.1, §23.3).
apx.platelists.changed.v1 A plate list or one of its entries was created, changed, or removed (data: PlateList with entryCount; subject: the list). Consumers resync entries through the Part 5 feed on /v1/plate-lists/{id}/entries. Required for apx-plate-lists (Part 24 §24.3).
apx.ui.launch.changed.v1 A UI launch was issued, opened, closed, or expired (data: UiLaunch without url; subject: the launch; place-bound on UiLaunch.place). Required for apx-ui-launch (Part 25 §25.3).
apx.ui.action.recorded.v1 An action done in a launched vendor screen was recorded as a UiActionRecord because no native resource could express it (data: UiActionRecord; subject: the launch; carries the launch's correlationId). Required for apx-ui-launch (Part 25 §25.4).
apx.equipment.changed.v1 A piece of equipment or its APX decorations (equipment-detail, camera, external-ids) was added, changed, or removed (data: EquipmentRecord; subject: the SupplementalEquipment; place-bound). Lets other systems stay in sync without re-reading the place. Required for apx-site-config (Part 26 §26.7).
apx.commspoints.changed.v1 A comms point was added, changed, or removed (data: CommsPoint; subject: the comms point; place-bound). Required for apx-site-config (Part 26 §26.7).
apx.approvals.changed.v1 An approval request was created, decided, or expired (data: ApprovalRequest; subject: the request; place-bound). An approver's system subscribes to it for its queue. Required for apx-resolution when approvals are offered (Part 17 §17.8).
apx.displays.shown.v1 A sign showed a message and the system that drove it recorded it (data: DisplayRecord; subject: the display; place-bound on its place). Carries no message text and no plate. Required for apx-site-config (Part 26 §26.9).

A.4.24 External code list "apx-ui-surfaces"

Used by: Not referenced by a schema description. Published as an APDS UserDefinedCodeList at spec/registries/apx-ui-surfaces.json (Part 11).

Table A.216 -- Entries in the code list "apx-ui-surfaces"

definedValue Description
lane.console The vendor's lane console: the transaction in the machine, the devices, and the actions an agent takes at a lane. Subject: VehicularAccess.
session.detail One parking session, its reads, payments and validations. Subject: Session.
reservation.detail One reservation, with redeem, amend and cancel. Subject: AssignedRight (the reservation).
reservation.search Find a reservation by code, plate, name or time. General surface, no subject.
lpr.read.review Review and correct one plate read. Subject: Observation.
violation.detail One violation, its evidence and status. Subject: Violation.
violation.appeal Open or decide an appeal on a violation. Subject: Violation.
validation.redeem Apply a validation to the current session or ticket. Subject: Session.
credential.detail One credential and its holder, with suspend, resume and replace. Subject: CredentialRecord.
toll.transaction One toll transaction and its payment. Subject: TollTransaction.
toll.dispute Open or resolve a dispute on a toll transaction. Subject: TollTransaction.
valet.ticket One valet ticket: position, keys, retrieval and handback. Subject: ValetTicket.
charging.session One charging session and its charger. Subject: ChargingSession.
place.console The vendor's console for one place: lanes, devices, counts. Subject: HierarchyElement (the place).
module.home The vendor's home screen for a module, with no subject. General surface.

A.4.25 External code list "apx-violation-types"

Used by: Violation.violationType, EligibilityResult.suggestedViolationType, ViolationSource.violationCode, ViolationImport.violationType. Seeds the APDS proposal ViolationTypeEnum (Tier 1). Published as an APDS UserDefinedCodeList at spec/registries/apx-violation-types.json (Part 11).

Table A.217 -- Entries in the code list "apx-violation-types"

definedValue Description
noValidRight No AssignedRight or paid Session covers the vehicle at the place at the observed time.
expiredRight The nearest AssignedRight or Session covering the vehicle has ended (overstay past the paid/permitted time).
notYetValidRight The vehicle's right exists but its validity has not started (early arrival on a reservation or future-dated permit).
wrongPlace The vehicle holds a right for a different HierarchyElement (wrong zone, level, lot, or space).
maximumStayExceeded The stay exceeds the place's maximum-stay operating restriction regardless of payment.
restrictedSpace The vehicle occupies a space it is not eligible for (accessible, EV charging, loading, reserved, permit-only).
permitMisuse A permit or credential is presented by a vehicle it was not issued to, or is suspended, cloned, or otherwise invalid.
noParkingPeriod The vehicle is parked during a period when the place is closed to parking (street cleaning, event closure, tow-away window).
obstruction The vehicle obstructs a lane, access, exit, hydrant, or another space.
other A violation class not otherwise listed; the notice text carries the specifics.
chargingBayIdle A vehicle remained connected in an EV charging bay after charging completed beyond the posted idle limit (Part 23 §23.10); evidenced by the ChargingSession and the bay Observation.

Annex B (informative) APDS 4.1 classes used by APX

APX carries 204 classes, datatypes and enumerations from the APDS 4.1 API document unchanged in meaning. Their definitions are in the APDS 4.1 Data Dictionary and are not repeated here. Where the APX overlay changes the published schema, the change is named. Additions are optional extension points (Part 10). Corrections work around the errata in 06, Part A.

APDS name APDS domain How APX uses it
AccessAndEgress PkCommon Used as published
AccessAndEgressPeriods PkCommon Used as published
AccessAndEgressTypeEnum PkCommon Used as published
AccessAndEgressValidity PkCommon Used as published
AccessibilityTypeEnum Place Used as published
Address Place Used as published
AddressLine Place Used as published
AddressLineTypeEnum Place Used as published
AmountInCurrency Rates Used as published
AreaDimension Place Used as published
AssignRightTime Rates Used as published
AssignedRight Right APX overlay adds extensions
AssignedRightHolder Right Used as published
AssignedRightList Right Used as published
AssignedRightTimeRelative Rates Used as published
AuthenticationAndIdentificationEnum EnergyInfrastructure Used as published
BrandsAcceptedCodeList Rates Used as published
BrandsAcceptedText Rates Used as published
CalculationTypeEnum Occupancy Used as published
Campus Place Used as published
CharacterConfidence Observation Used as published
ComparisonOperatorEnum PkCommon Used as published
Confidence Observation Used as published
ConnectorTypeEnum EnergyInfrastructure Used as published
Contact PkCommon Used as published
ContactByReference PkCommon Used as published
ContactDetails PkCommon Used as published
ContactPoint PkCommon APX overlay adds extensions
ContactPointTypeEnum PkCommon Used as published
ContactTypeEnum PkCommon Used as published
CountryCode PkCommon Used as published
CoveredTypeEnum Place Used as published
Credential Right Used as published
CredentialAssigned Right Used as published
CredentialAssignedTypeEnum Right Used as published
CredentialTypeEnum Right Used as published
CurrencyCode PkCommon Used as published
CustomerCredential Right Used as published
DateTime PkCommon Used as published
DayEnum PkCommon Used as published
DayWeekMonth PkCommon Used as published
DeletedReference PkCommon Used as published
DeliveryUnitEnum EnergyInfrastructure Used as published
DemandSpaceType Occupancy Used as published
DemandTable Occupancy Used as published
DemandType Occupancy Used as published
Duration PkCommon Used as published
EMail PkCommon Used as published
EMailCommonData PkCommon Used as published
Eligibility Rates Used as published
EmailTypeEnum PkCommon Used as published
Emissions Rates Used as published
EntranceOpenTime PkCommon Used as published
EquipmentTypeEnum EnergyInfrastructure Used as published
EventData PkCommon Used as published
EventTypeEnum PkCommon Used as published
ExitOpenTime PkCommon Used as published
FinancialQuote Quote Used as published
FuelTypeEnum Rates Used as published
GeoJsonObject PkCommon APX overlay adds coordinates
GrossWeightCharacteristic Rates Used as published
HeightCharacteristic Rates Used as published
HierarchyElement Place APX overlay adds extensions
HierarchyElementList Place Used as published
HierarchyElementRecord Place Used as published
HierarchyElementReference Place Used as published
HierarchyElementTypeEnum Place Used as published
IdentifiedArea Place Corrected by the APX overlay (see 06, Part A)
Identifiers Quote APX overlay adds rateTableId
Image Observation Used as published
ImageAlbum PkCommon Used as published
ImageTypeEnum Observation Used as published
IssueMethodTypeEnum Right Used as published
LanguageCode PkCommon Used as published
LengthCharacteristic Rates Used as published
LinearDimension Place Used as published
LinkedRightSpecification Rates Used as published
Location Observation Corrected by the APX overlay (see 06, Part A)
LowEmissionLevelEnum Rates Used as published
Marketing PkCommon Used as published
MaximumDimensions Place Used as published
MeansOfPaymentEnum Rates Used as published
MonetaryValue Rates Used as published
MonthEnum PkCommon Used as published
MultilingualString PkCommon Used as published
ObservationDataType Observation Used as published
ObservationElement Observation APX overlay adds extensions
ObservationSet Observation APX overlay adds extensions
ObservationTypeEnum Observation Used as published
OccupancyLevel Occupancy Used as published
OperatingModeTypeEnum Place Used as published
OperatingRestrictionTypeEnum Place Used as published
OperatingRestrictions Place Used as published
OperatingTime PkCommon Used as published
Option Quote Used as published
OtherCredential Right Used as published
OtherSpecialDay PkCommon Used as published
OverallPeriod PkCommon Used as published
OverpaymentPolicyTypeEnum Right Used as published
PaginatedList PkCommon Used as published
PaginatedListMeta PkCommon Used as published
ParkingSpaceOccupancyDetectionEnum Occupancy Used as published
Payment Rates APX overlay adds extensions
PaymentLine Rates Used as published
PaymentMethod Rates Used as published
PaymentTimingEnum Rates Used as published
PaymentTypeEnum Rates Used as published
Period PkCommon Used as published
PeriodsAlias PkCommon Used as published
PeriodsOrValidity PkCommon Used as published
PeriodsOrValidityTypeEnum PkCommon Used as published
Place Place Corrected by the APX overlay (see 06, Part A)
PlaceCharacteristics Place Used as published
PlaceInformation Place Used as published
PlannedUse Right Used as published
PublicHoliday PkCommon Used as published
Qualification Rates Used as published
QuoteExpiration Quote Used as published
QuoteRightRequest Quote Used as published
QuoteRightResponse Quote Used as published
QuoteRightResponseExtensionReasonEnum Quote Used as published
QuoteSessionExtensionRequest Quote Used as published
QuoteSessionExtensionResponse Quote Used as published
RGBColour PkCommon Used as published
RateAvailabilityTypeEnum Rates Used as published
RateDiscount Rates Used as published
RateEligibility Rates Used as published
RateLine Rates Used as published
RateLineCollection Rates Used as published
RateLineTax Rates Used as published
RateLineTypeEnum Rates Used as published
RateTable Rates APX overlay adds extensions
RateTableList Rates Used as published
RateTransition Right Used as published
RateTypeEnum Rates Used as published
RateUsageConditionsTypeEnum Rates Used as published
Reference PkCommon Used as published
ReferenceQuoteExtension Quote Used as published
ReferenceQuoteNew Quote Used as published
ReferenceToQuote Quote Used as published
ReferencedCodeListEntry PkCommon Used as published
ReferencedRightSpecification Quote Used as published
RefillPoint EnergyInfrastructure Used as published
RelativeOffsets PkCommon Used as published
RelativeTimes PkCommon Used as published
ReservationTypeEnum EnergyInfrastructure Used as published
ResponseReasonEnum Quote Used as published
ResponseStatus PkCommon Used as published
ResponseStatusEnum PkCommon Used as published
ResponsibilityRoleAssignment PkCommon Used as published
RightPool Right Used as published
RightPoolRelativeValidity Right Used as published
RightSpecification Right APX overlay adds extensions
RightSpecificationList Right Used as published
RightSpecificationTypeEnum Right Used as published
SafetyStandardClassification Place Used as published
Segment Session Used as published
ServiceTypeEnum EnergyInfrastructure Used as published
Session Session APX overlay adds extensions
SessionList Session Used as published
Space Place Corrected by the APX overlay (see 06, Part A)
SpaceDimension Place Used as published
SpecialDay PkCommon Used as published
SpecialDayTypeEnum PkCommon Used as published
SpecificLanguageString PkCommon Used as published
StaffEnum Place Used as published
StructureGradeEnum Place Used as published
StructureTypeEnum Place Used as published
SupplementalEquipment Place Used as published
SupplementalFacility Place Used as published
Supply Occupancy Used as published
SupplyViewTypeEnum Occupancy Used as published
TelephoneContact PkCommon Used as published
Time PkCommon Used as published
TimePeriodOfDay PkCommon Used as published
TimeUnitRelativeEnum PkCommon Used as published
Times PkCommon Used as published
TimesOfDay PkCommon Used as published
TriggerTypeEnum Rates Used as published
UnitOfMeasureAreaEnum Place Used as published
UnitOfMeasureDistanceEnum Place Used as published
UnitOfMeasureEnum Rates Used as published
UnitOfMeasureWeightEnum Place Used as published
UnitOfTimeEnum PkCommon Used as published
Units PkCommon Used as published
Url PkCommon Used as published
UserQualification Rates Used as published
UserTypeEnum Place Used as published
Validity PkCommon Used as published
ValidityAlias PkCommon Used as published
ValidityStatusEnum PkCommon Used as published
ValueRange PkCommon Used as published
ValueRangeBoundary PkCommon Used as published
ValueRangeClassEnum Rates Used as published
VehicleAncillaryIdentification PkCommon Used as published
VehicleCredential Right Used as published
VehicleLoadTypeEnum Rates Used as published
VehicleTypeEnum Rates Used as published
VersionedIdentity PkCommon Used as published
VersionedReference PkCommon Used as published
WeekOfMonthEnum PkCommon Used as published
WeightDimension Place Used as published
WeightTypeEnum Rates Used as published
WidthCharacteristic Rates Used as published

Annex C (informative) APX elements proposed to APDS

Each row links an APX class to the APDS data element proposed from it. The full proposals, in APDS Data Dictionary format, are in docs/apds-submission/03-data-dictionary.md; 06 Requests to APDS summarizes them.

APX class Proposed APDS element Change APDS domain Tier
AccessEvent AccessEvent new class Session 1
AccessEvent AccessOutcomeEnum new enumeration Session 1
Account RightHolder extends APDS RightHolder Right 2
Account AccountStatusEnum new enumeration Right 2
Alert Alert new class Operations 2
Alert AlertSeverityEnum new enumeration Operations 2
Alert AlertStatusEnum new enumeration Operations 2
AttributeRead AttributeRead new class Observation 1
CameraDetail Camera new class Place 2
CameraDetail CameraMountingEnum new enumeration Place 2
CameraDetail CameraViewEnum new enumeration Place 2
ChargingBayPresence ChargingBayPresence new class EnergyInfrastructure 3
ChargingBayPresence BayPresenceEnum new enumeration EnergyInfrastructure 3
ChargingBayPresence BayPresenceSourceEnum new enumeration EnergyInfrastructure 3
ChargingPointStatus ChargingPointStatus new class EnergyInfrastructure 3
ChargingPointStatus ConnectorStatus new class EnergyInfrastructure 3
ChargingSession ChargingSession new class EnergyInfrastructure 3
ChargingSession ChargingCost new class EnergyInfrastructure 3
ChargingSession ChargingIdleTerms new class EnergyInfrastructure 3
ChargingSession ChargingSessionStatusEnum new enumeration EnergyInfrastructure 3
ChargingSession ChargingStopReasonEnum new enumeration EnergyInfrastructure 3
ChargingSession ChargingSettlementModeEnum new enumeration EnergyInfrastructure 3
CommsPoint CommsPoint new class Place 3
ConditionReport ConditionReport new class Observation 2
ConditionReport DamageItem new class Observation 2
ConditionReport DamageSeverityEnum new enumeration Observation 2
CredentialRecord CredentialAssigned extends APDS CredentialAssigned Right 1
CredentialRecord CredentialMedia new class Right 1
CredentialRecord CredentialSuspension new class Right 1
CredentialRecord CredentialStatusEnum new enumeration Right 1
CredentialRecord CredentialMediaFormEnum new enumeration Right 1
CredentialRecord DepositStatusEnum new enumeration Right 1
DeviceStatus EquipmentStatus new class Place 1
EnforcementPolicy EnforcementPolicy new class Enforcement 2
EnforcementPolicy NoticeDeliveryRule new class Enforcement 2
EnforcementPolicy PenaltyLimit new class Enforcement 3
EnforcementPolicy EscalationStep new class Enforcement 2
EquipmentDetail SupplementalEquipment extends APDS SupplementalEquipment Place 2
LaneCameras VehicularAccess extends APDS VehicularAccess Place 2
LaneCameras LaneCamera new class Place 2
LaneCameras CameraFacingEnum new enumeration Place 2
LprRead ImageTypeEnum extends APDS ImageTypeEnum Observation 2
LprReadDetail ObservationElement extends APDS ObservationElement Observation 1
LprReadDetail AlternateRead new class Observation 1
LprReadDetail ReadReview new class Observation 2
LprReadDetail Image extends APDS Image Observation 2
LprReadDetail ImageRegion new class Observation 2
LprReadDetail ReadAttributeEnum new enumeration Observation 1
LprReadDetail VehicleMovementEnum new enumeration Observation 1
LprReadDetail PlateFaceEnum new enumeration Observation 2
LprReadDetail ReadReviewStateEnum new enumeration Observation 2
MatchEvidence MatchEvidence new class Session 3
MatchEvidence MatchTypeEnum new enumeration Session 3
MatchEvidence MatchDecisionEnum new enumeration Session 3
OccupancyHistoryPage DemandType extends APDS DemandType Occupancy 3
PaymentDetail RateSold new class Right 3
PaymentDetail RateProductEnum new enumeration Right 3
PaymentDetail RateClassEnum new enumeration Right 3
PaymentRecord Payment extends APDS Payment Right 2
PaymentRecord PaymentStatusEnum new enumeration Right 2
PaymentRecord CaptureStatusEnum new enumeration Right 2
PermitExtension OverageBilling new class Right 2
PermitExtension OverageBillingModeEnum new enumeration Right 2
PlateList PlateList new class Right 2
PlateListEntry PlateListEntry new class Right 2
PlateListPlaceFlags PlateListPlaceFlags new class Right 2
PresentedCredential PresentedCredential new class Right 1
RatePolicy RateTable extends APDS RateTable Rates 2
RecordInfo RecordType extends APDS RecordType PkCommon 3
ReservationExtension AssignedRight extends APDS AssignedRight Right 2
ReservationExtension ReservationStateEnum new enumeration Right 2
SessionClosure SessionClosure new class Session 1
SessionDetail Session extends APDS Session Session 1
SessionDetail SessionLifecycleEnum new enumeration Session 2
SessionReadBinding SessionRead new class Session 1
SessionReadBinding SessionReadRoleEnum new enumeration Session 1
Signage Signage new class Place 2
Signage SignTypeEnum new enumeration Place 2
SupportInteraction SupportInteraction new class Operations 3
SupportInteraction SupportAgentTypeEnum new enumeration Operations 3
TollTransaction TollTransaction new class Observation 2
TollTransaction TollDispute new class Observation 2
TollTransaction TollTransactionStatusEnum new enumeration Observation 2
ValetTicket RightTypeEnum extends APDS RightTypeEnum Right 2
ValetTicket ValetTicket new class Session 2
ValetTicket ValetStatusEnum new enumeration Session 2
ValetTicket HandbackVerificationEnum new enumeration Session 2
ValidationBenefit ValidationBenefit new class Rates 2
ValidationInstrument ValidationInstrument new class Right 2
ValidationInstrument ValidationInstrumentStatusEnum new enumeration Right 2
ValidationIssuance ValidationIssuance new class Right 2
ValidationIssuance ValidationIssuanceMethodEnum new enumeration Right 2
ValidationIssuance ValidationIssuanceStatusEnum new enumeration Right 2
ValidationProgram ValidationProgram new class Right 2
ValidationProgram ValidationRules new class Right 2
ValidationProgram ValidationBilling new class Right 3
ValidationProgram ValidationBillingModelEnum new enumeration Right 3
ValidationProgram ValidationBillingCycleEnum new enumeration Right 3
ValidationRedemption ValidationRedemption new class Session 1
ValidationRedemption ValidationRedemptionStatusEnum new enumeration Session 1
Violation Violation new class Enforcement 1
Violation Notice new class Enforcement 1
Violation Appeal new class Enforcement 2
Violation ViolationStatusEnum new enumeration Enforcement 1
Violation NoticeKindEnum new enumeration Enforcement 1
Violation NoticeDeliveryMethodEnum new enumeration Enforcement 1
Violation AppealReasonEnum new enumeration Enforcement 2
Violation AppealResolutionEnum new enumeration Enforcement 2
ViolationDetection ViolationDetection new class Enforcement 1
ViolationDetection DetectionModeEnum new enumeration Enforcement 1