openapi: 3.0.1 info: title: ABT Customer Self Service APIs version: '1.0' servers: - url: https://services.acc.api.htm.nl/abt/abtcustomers/1.0 security: - default: [] paths: /customers/tokens/{ovpayTokenId}/trips: get: tags: - Trips summary: Get trips for a token in profile description: >- Get the most recent trips for a given token ID, as long as this token is bound to the profile (as derived from sub in given JWT) parameters: - name: X-HTM-JWT-AUTH-HEADER in: header required: true style: simple explode: false schema: type: string - name: ovpayTokenId in: path required: true style: simple explode: false schema: type: integer - name: xpto in: query required: false schema: type: boolean default: false example: false description: >- Determines whether also trips from other PTOs will be returned. - name: dateTimeFrom in: query required: false style: form explode: false schema: type: string - name: dateTimeUntil in: query required: false style: form explode: false schema: type: string - name: organisationId in: query required: false style: form explode: false schema: type: string - name: transportType in: query required: false style: form explode: false schema: type: string - name: lineId in: query required: false style: form explode: false schema: type: string - name: paymentMethod in: query required: false style: form explode: false schema: type: string - name: productTemplateId in: query required: false style: form explode: false schema: type: string - name: category in: query required: false style: form explode: false schema: type: string - name: tripStatus in: query required: false style: form explode: false schema: type: string - name: tripId in: query required: false style: form explode: false schema: type: string - name: showSuperseedingTrips in: query required: false style: form explode: false schema: type: string - name: organisationName in: query required: false style: form explode: false schema: type: string - name: limit in: query required: false style: form explode: false schema: type: integer - name: offset in: query required: false style: form explode: false schema: type: integer responses: '200': description: ok content: application/json: schema: $ref: '#/components/schemas/getTokenTrips' examples: emptyResponse: summary: No trips found for a token value: [] multipleTripsResponse: summary: Multiple trips found for a token value: - tripId: 66538 tripVersion: 2 transportType: RAIL lineId: "10" tripStatus: COMPLETE fare: 2470 currency: EUR lastUpdatedTripDateTime: 2021-06-01T06:22:00Z checkinTransactionTimestamp: 2021-06-01T06:00:00Z checkoutTransactionTimestamp: 2021-06-01T06:22:00Z checkinLocation: stopId: 621 stopName: items: - key: nl-NL value: Utrecht Centraal - key: en-US value: Utrecht Centraal stopDesc: Station Utrecht Centraal stopUrl: /icons/stops/stop.svg locationType: 0 checkoutLocation: stopId: 253 stopName: items: - key: nl-NL value: Goes - key: en-US value: Goes stopDesc: Station Goes stopUrl: /icons/stops/stop.svg locationType: 0 loyaltyOrDiscount: false _links: tripDetails: href: https://services.acc.api.htm.nl/abt/abtcustomers/1.0/customers/trips/66538?ovPayTokenId=42 method: GET templated: false - tripId: 66539 tripVersion: 1 transportType: BUS lineId: "20" tripStatus: MISSING_CKO fare: 1230 currency: EUR lastUpdatedTripDateTime: 2021-06-01T07:00:00Z checkinTransactionTimestamp: 2021-06-01T06:30:00Z checkoutTransactionTimestamp: null checkinLocation: stopId: 622 stopName: items: - key: nl-NL value: Amsterdam Centraal - key: en-US value: Amsterdam Centraal stopDesc: Station Amsterdam Centraal stopUrl: /icons/stops/stop.svg locationType: 0 checkoutLocation: null loyaltyOrDiscount: true _links: tripDetails: href: https://services.acc.api.htm.nl/abt/abtcustomers/1.0/customers/trips/66539?ovPayTokenId=42 method: GET templated: false getStopsForCorrection: href: https://services.acc.api.htm.nl/abt/abtcustomers/1.0/customers/trips/stops?xbot=36637b86-7a31-4b77-99dd-2d39b9c1a9b6&tripId=66539 method: GET templated: false '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/400Response' '401': description: '401' content: application/json: schema: $ref: '#/components/schemas/401Response' '403': description: '403' content: application/json: schema: $ref: '#/components/schemas/403Response' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/404Response' '500': description: '500' content: application/json: schema: $ref: '#/components/schemas/500Response' security: - default: [] x-auth-type: Application & Application User x-throttling-tier: Unlimited /customers/tokens/trips: get: tags: - Trips summary: Get trips for an anonymous token description: >- Get the most recent trips for a given token type and value (i.e. SRID and amount or OVpasnumber). parameters: - name: X-HTM-JWT-AUTH-HEADER in: header required: true style: simple explode: false schema: type: string - name: tokenType in: query required: true description: >- A tokenType IS AN enumerated identifier THAT describes the type of Token that will be used as an input for the translation. schema: type: string enum: - srfid - passnumber - name: tokenValue in: query required: true description: >- A tokenValue IS A string THAT defines the value of the specified tokenType. examples: srfid: value: P485Q6M797J9LW summary: srfid passnumber: value: 424HJGF summary: passNumber schema: type: string - name: validatorType in: query required: true description: >- A validatorType IS A string THAT defines the type of the attribute that is needed to verify the authenticity of the request. Options: - **verificationCode**: A validator containing, 4 characters long, which can be found on a CLT-card - **amount**: Amount on the bank statement (in cents) example: verificationcode schema: type: string enum: - verificationcode - amount - name: validatorInput in: query required: true description: >- A validatorInput IS A string THAT defines the value of the specified validatorType. examples: verificationcode: value: 6RS9 summary: verificationcode amount: value: '1021' summary: amount schema: type: string - name: xpto in: query required: false schema: type: boolean default: false example: false description: >- Determines whether also trips from other PTOs will be returned. - name: dateTimeFrom in: query required: false style: form explode: false schema: type: string - name: dateTimeUntil in: query required: false style: form explode: false schema: type: string - name: organisationId in: query required: false style: form explode: false schema: type: string - name: transportType in: query required: false style: form explode: false schema: type: string - name: lineId in: query required: false style: form explode: false schema: type: string - name: paymentMethod in: query required: false style: form explode: false schema: type: string - name: productTemplateId in: query required: false style: form explode: false schema: type: string - name: category in: query required: false style: form explode: false schema: type: string - name: tripStatus in: query required: false style: form explode: false schema: type: string - name: tripId in: query required: false style: form explode: false schema: type: string - name: showSuperseedingTrips in: query required: false style: form explode: false schema: type: string - name: organisationName in: query required: false style: form explode: false schema: type: string - name: limit in: query required: false style: form explode: false schema: type: integer - name: offset in: query required: false style: form explode: false schema: type: integer responses: '200': description: ok content: application/json: schema: $ref: '#/components/schemas/getTokenTrips' examples: emptyResponse: summary: No trips found for a token value: [] multipleTripsResponse: summary: Multiple trips found for a token value: - tripId: 66538 tripVersion: 2 transportType: RAIL lineId: "10" tripStatus: COMPLETE fare: 2470 currency: EUR lastUpdatedTripDateTime: 2021-06-01T06:22:00Z checkinTransactionTimestamp: 2021-06-01T06:00:00Z checkoutTransactionTimestamp: 2021-06-01T06:22:00Z checkinLocation: stopId: 621 stopName: items: - key: nl-NL value: Utrecht Centraal - key: en-US value: Utrecht Centraal stopDesc: Station Utrecht Centraal stopUrl: /icons/stops/stop.svg locationType: 0 checkoutLocation: stopId: 253 stopName: items: - key: nl-NL value: Goes - key: en-US value: Goes stopDesc: Station Goes stopUrl: /icons/stops/stop.svg locationType: 0 loyaltyOrDiscount: false _links: tripDetails: href: https://services.acc.api.htm.nl/abt/abtcustomers/1.0/customers/trips/66538?xbot=36637b86-7a31-4b77-99dd-2d39b9c1a9b6 method: GET templated: false - tripId: 66539 tripVersion: 1 transportType: BUS lineId: "20" tripStatus: MISSING_CKO fare: 1230 currency: EUR lastUpdatedTripDateTime: 2021-06-01T07:00:00Z checkinTransactionTimestamp: 2021-06-01T06:30:00Z checkoutTransactionTimestamp: null checkinLocation: stopId: 622 stopName: items: - key: nl-NL value: Amsterdam Centraal - key: en-US value: Amsterdam Centraal stopDesc: Station Amsterdam Centraal stopUrl: /icons/stops/stop.svg locationType: 0 checkoutLocation: null loyaltyOrDiscount: true _links: tripDetails: href: https://services.acc.api.htm.nl/abt/abtcustomers/1.0/customers/trips/66539?xbot=36637b86-7a31-4b77-99dd-2d39b9c1a9b6 method: GET templated: false getStopsForCorrection: href: https://services.acc.api.htm.nl/abt/abtcustomers/1.0/customers/trips/stops?xbot=36637b86-7a31-4b77-99dd-2d39b9c1a9b6&tripId=66539 method: GET templated: false '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/400Response' '401': description: '401' content: application/json: schema: $ref: '#/components/schemas/401Response' '403': description: '403' content: application/json: schema: $ref: '#/components/schemas/403Response' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/404Response' '500': description: '500' content: application/json: schema: $ref: '#/components/schemas/500Response' security: - default: [] x-auth-type: Application & Application User x-throttling-tier: Unlimited /customers/trips/{tripId}: get: tags: - Trips summary: Get trips details for a trip and token description: >- Get the trip details for a given trip and token ID (for tokens that are bound to a customer account), or xbot (for anonymous tokens), as long as the trip belongs to the token. parameters: - name: X-HTM-JWT-AUTH-HEADER in: header required: true style: simple explode: false schema: type: string - name: tripId in: path required: true style: simple explode: false schema: type: integer - name: ovPayTokenId in: query required: false style: form explode: false schema: type: integer - name: xbot in: query required: false style: form explode: false schema: type: string responses: '200': description: ok content: application/json: schema: $ref: '#/components/schemas/getTrips' examples: completedTripDetails: summary: Example of a completed trip value: tripId: 66538 tripVersion: 2 tripStatus: COMPLETE tripFareNature: FIXED paymentMethodId: dba0b896-118d-4e9e-abf5-af264ced34c4 paymentMethodMode: BAL paymentMethodName: BAL paymentProviderName: Account Balance paymentProviderBusinessEntityId: "4" paymentProviderCommercialName: VAD Flex paymentProviderCommercialUrl: https://www.vad.nl/mijnvad organisationIcon: /icons/organisations/4.svg organisationId: "4" organisationName: NS supersededByTripIds: - 66539 - 66540 supersedesTripIds: [] tripStartTxnId: 1125977 tripEndTxnId: 1125978 numberOfSyntheticLegs: 3 numberofSyntheticTrips: 2 products: - productTemplateId: "N/A" purchaseDateTime: 2021-06-02T08:38:32Z appliedValue: 2470 xspit: 39b9183d-767d-4364-9d1b-575613c12a96 category: SALES typesOfFareProduct: - privateCode: payg fareAggregationCycle: 2 - xpit: 72c11b8d-5a96-4cc2-9fc8-258a25b57f69 productTemplateId: "1:2001" productCommercialName: items: - key: nl-NL value: Pay As You Go Program (NL) - key: en-US value: Pay As You Go Program validFrom: 2021-06-02T08:38:32Z validUntil: 2099-12-31T23:59:59Z weight: 2470 appliedMetric: FARE appliedValue: 2470 xprofit: 0eb178f7-c548-417e-a44f-7248a582ac9d xspit: 39b9183d-767d-4364-9d1b-575613c12a96 category: INTERNAL typesOfFareProduct: - privateCode: payg checkinTransactionTimestamp: 2021-06-01T06:00:00Z checkoutTransactionTimestamp: 2021-06-01T06:22:00Z checkinTransactionReference: 001e8481;1151;gemaltoPure checkoutTransactionReference: 001e8481;1152;gemaltoPure checkinLocation: stopId: 621 stopName: items: - key: nl-NL value: Utrecht Centraal - key: en-US value: Utrecht Centraal stopDesc: Station Utrecht Centraal stopUrl: /icons/stops/stop.svg locationType: 0 checkoutLocation: stopId: 253 stopName: items: - key: nl-NL value: Goes - key: en-US value: Goes stopDesc: Station Goes stopUrl: /icons/stops/stop.svg locationType: 0 xbot: 36637b86-7a31-4b77-99dd-2d39b9c1a9b6 tokenType: GemaltoPure transportType: RAIL lineId: "10" networkId: "1" networkName: HRN vehicleId: 123 currency: EUR transportIcon: /icons/transportTypes/rail.svg legs: - legId: 83387 checkinTransactionTimestamp: 2021-06-01T06:00:00Z checkoutTransactionTimestamp: 2021-06-01T06:22:00Z checkinLocation: stopId: 621 stopName: items: - key: nl-NL value: Utrecht Centraal - key: en-US value: Utrecht Centraal stopDesc: Station Utrecht Centraal stopUrl: /icons/stops/stop.svg locationType: 0 checkoutLocation: stopId: 253 stopName: items: - key: nl-NL value: Goes - key: en-US value: Goes stopDesc: Station Goes stopUrl: /icons/stops/stop.svg locationType: 0 baseRate: 2470 lineId: "10" networkId: "1" networkName: HRN fare: 2470 fareState: CALCULATED currency: EUR products: - productTemplateId: "N/A" purchaseDateTime: 2021-06-02T08:38:32Z appliedValue: 2470 xspit: 39b9183d-767d-4364-9d1b-575613c12a96 category: SALES typesOfFareProduct: - privateCode: payg - xpit: 72c11b8d-5a96-4cc2-9fc8-258a25b57f69 productTemplateId: "1:2001" productCommercialName: items: - key: nl-NL value: Pay As You Go Program (NL) - key: en-US value: Pay As You Go Program validFrom: 2021-06-02T08:38:32Z validUntil: 2099-12-31T23:59:59Z weight: 2470 appliedMetric: FARE appliedValue: 2470 xprofit: 0eb178f7-c548-417e-a44f-7248a582ac9d xspit: 39b9183d-767d-4364-9d1b-575613c12a96 category: INTERNAL typesOfFareProduct: - privateCode: payg appliedTimePeriods: [] tariffJourneyStart: true tariffDistance: 9 aggrGeoIntervalDistance: 9 topoDistance: 0 concessionId: "1" tripLegIdx: 0 appliedZones: - zoneId: "73" zoneName: items: - key: nl-NL value: Enschede-Glanerburg - key: en-US value: Enschede-Glanerburg lastUpdatedTripDateTime: 2021-06-01T06:22:00Z fare: 2470 loyaltyOrDiscount: false supportCode: wYyM3nDb2Uy5ge checkinTransactionId: 001e8481-1151-gemaltoPure-1622527200000 checkoutTransactionId: 001e8481-1152-gemaltoPure-1622528520000 tariffVersionId: NS:5 correlationId: c3ae1ba3-780a-4416-8a38-3fd03a9005b7 createdAt: 2021-06-02T15:03:46.813Z _links: null missingCkoTripDetails: summary: Example of a trip with missing check-out value: tripId: 66538 tripVersion: 2 tripStatus: MISSING_CKO tripFareNature: FIXED paymentMethodId: dba0b896-118d-4e9e-abf5-af264ced34c4 paymentMethodMode: BAL paymentMethodName: BAL paymentProviderName: Account Balance paymentProviderBusinessEntityId: "4" paymentProviderCommercialName: VAD Flex paymentProviderCommercialUrl: https://www.vad.nl/mijnvad organisationIcon: /icons/organisations/4.svg organisationId: "4" organisationName: NS supersededByTripIds: - 66539 - 66540 supersedesTripIds: [] tripStartTxnId: 1125977 tripEndTxnId: 1125978 numberOfSyntheticLegs: 3 numberofSyntheticTrips: 2 products: - productTemplateId: "N/A" purchaseDateTime: 2021-06-02T08:38:32Z appliedValue: 2470 xspit: 39b9183d-767d-4364-9d1b-575613c12a96 category: SALES typesOfFareProduct: - privateCode: payg fareAggregationCycle: 2 - xpit: 72c11b8d-5a96-4cc2-9fc8-258a25b57f69 productTemplateId: "1:2001" productCommercialName: items: - key: nl-NL value: Pay As You Go Program (NL) - key: en-US value: Pay As You Go Program validFrom: 2021-06-02T08:38:32Z validUntil: 2099-12-31T23:59:59Z weight: 2470 appliedMetric: FARE appliedValue: 2470 xprofit: 0eb178f7-c548-417e-a44f-7248a582ac9d xspit: 39b9183d-767d-4364-9d1b-575613c12a96 category: INTERNAL typesOfFareProduct: - privateCode: payg checkinTransactionTimestamp: 2021-06-01T06:00:00Z checkoutTransactionTimestamp: 2021-06-01T06:22:00Z checkinTransactionReference: 001e8481;1151;gemaltoPure checkoutTransactionReference: 001e8481;1152;gemaltoPure checkinLocation: stopId: 621 stopName: items: - key: nl-NL value: Utrecht Centraal - key: en-US value: Utrecht Centraal stopDesc: Station Utrecht Centraal stopUrl: /icons/stops/stop.svg locationType: 0 checkoutLocation: stopId: 253 stopName: items: - key: nl-NL value: Goes - key: en-US value: Goes stopDesc: Station Goes stopUrl: /icons/stops/stop.svg locationType: 0 xbot: 36637b86-7a31-4b77-99dd-2d39b9c1a9b6 tokenType: GemaltoPure transportType: RAIL lineId: "10" networkId: "1" networkName: HRN vehicleId: 123 currency: EUR transportIcon: /icons/transportTypes/rail.svg legs: - legId: 83387 checkinTransactionTimestamp: 2021-06-01T06:00:00Z checkoutTransactionTimestamp: null checkinLocation: stopId: 621 stopName: items: - key: nl-NL value: Utrecht Centraal - key: en-US value: Utrecht Centraal stopDesc: Station Utrecht Centraal stopUrl: /icons/stops/stop.svg locationType: 0 checkoutLocation: null baseRate: 400 lineId: "10" networkId: "1" networkName: HRN fare: 400 fareState: CALCULATED currency: EUR products: - productTemplateId: "N/A" purchaseDateTime: 2021-06-02T08:38:32Z appliedValue: 400 xspit: 39b9183d-767d-4364-9d1b-575613c12a96 category: SALES typesOfFareProduct: - privateCode: payg - xpit: 72c11b8d-5a96-4cc2-9fc8-258a25b57f69 productTemplateId: "1:2001" productCommercialName: items: - key: nl-NL value: Pay As You Go Program (NL) - key: en-US value: Pay As You Go Program validFrom: 2021-06-02T08:38:32Z validUntil: 2099-12-31T23:59:59Z weight: 400 appliedMetric: FARE appliedValue: 400 xprofit: 0eb178f7-c548-417e-a44f-7248a582ac9d xspit: 39b9183d-767d-4364-9d1b-575613c12a96 category: INTERNAL typesOfFareProduct: - privateCode: payg appliedTimePeriods: [] tariffJourneyStart: true tariffDistance: 9 aggrGeoIntervalDistance: 9 topoDistance: 0 concessionId: "1" tripLegIdx: 0 appliedZones: - zoneId: "73" zoneName: items: - key: nl-NL value: Enschede-Glanerburg - key: en-US value: Enschede-Glanerburg lastUpdatedTripDateTime: 2021-06-01T06:22:00Z fare: 2470 loyaltyOrDiscount: false supportCode: wYyM3nDb2Uy5ge checkinTransactionId: 001e8481-1151-gemaltoPure-1622527200000 checkoutTransactionId: null tariffVersionId: NS:5 correlationId: c3ae1ba3-780a-4416-8a38-3fd03a9005b7 createdAt: 2021-06-02T15:03:46.813Z _links: getStopsForCorrection: href: https://services.acc.api.htm.nl/abt/abtcustomers/1.0/customers/trips/stops?xbot=36637b86-7a31-4b77-99dd-2d39b9c1a9b6&tripId=66538 method: GET templated: false '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/400Response' '401': description: '401' content: application/json: schema: $ref: '#/components/schemas/401Response' '403': description: '403' content: application/json: schema: $ref: '#/components/schemas/403Response' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/404Response' '500': description: '500' content: application/json: schema: $ref: '#/components/schemas/500Response' security: - default: [] - default: [] x-auth-type: Application & Application User x-throttling-tier: Unlimited /customers/trips/stops: get: tags: - Trips summary: 9776 - Get Possible Stops With Details operationId: API-9776v3_getPossibleStopsWithDetails description: Get Possible Stops With Details security: - default: [] parameters: - name: X-HTM-JWT-AUTH-HEADER in: header required: true style: simple explode: false schema: type: string - name: xbot description: >- A xBOT IS AN unique identifier THAT is an external representation of a backoffice Token for a particular Business Entity in: query required: true schema: type: string format: uuid - name: tripId in: query description: A tripId IS AN identifier THAT distinguishes a Trip from all other Trips required: false schema: type: integer format: int64 - name: transactionId in: query description: >- A transactionId IS A unique identifier THAT is generated by the GBO and assigned to every Transaction that is received required: false schema: type: string responses: '200': description: Success with results content: application/json: schema: $ref: '#/components/schemas/MissingCkiCkoRequest' examples: possibleStopsResponse: summary: Possible stops for a trip with missing check-out value: xbot: 36637b86-7a31-4b77-99dd-2d39b9c1a9b6 counterpartTransactionId: 003D08FF-75032799-emv-1773668001000 counterpartEntryExitType: ENTRY counterpartTimeStamp: 2026-03-16T14:33:21+01:00 counterpartStop: alternativeTexts: - text: lang: nl-NL textIdType: publicName text: Delftsewallen - text: lang: en-US textIdType: publicName text: Delftsewallen name: Stop point8124 description: Stop point8124 stopId: '8124' transportModes: [] deviceId: '3999999' deviceClassId: '0' scheduledStopPoints: - alternativeTexts: - text: lang: nl-NL textIdType: publicName text: Centrum-West - text: lang: en-US textIdType: publicName text: Centrum-West name: Stop point8127 description: Stop point8127 stopId: '8127' transportModes: [] - alternativeTexts: - text: lang: nl-NL textIdType: publicName text: Halte Onbekend - text: lang: en-US textIdType: publicName text: Halte Onbekend name: Stop point65533 description: Stop point65533 stopId: '65533' transportModes: [] - alternativeTexts: - text: lang: nl-NL textIdType: publicName text: Dorp - text: lang: en-US textIdType: publicName text: Dorp name: Stop point8126 description: Stop point8126 stopId: '8126' transportModes: [] '400': description: '400' content: application/json: schema: $ref: '#/components/schemas/400Response' '401': description: '401' content: application/json: schema: $ref: '#/components/schemas/401Response' '403': description: '403' content: application/json: schema: $ref: '#/components/schemas/403Response' '404': description: '404' content: application/json: schema: $ref: '#/components/schemas/404Response' '500': description: '500' content: application/json: schema: $ref: '#/components/schemas/500Response' /customers/trips/missing-taps: post: tags: - Trips summary: 8255 - Manual Check-in or Check-out description: >- Creates manual Check-in or Check-out for transactions that are missing their pair. Check-in or Check-out directions are defined using **entryExitType** parameter in body respectivelly operationId: API-8255v3_manualCheckInOrCheckOut parameters: - name: X-HTM-JWT-AUTH-HEADER in: header required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ManualTap' required: true responses: '200': description: Operation successful content: application/json: schema: $ref: '#/components/schemas/GenericOkResponse' example: referenceId: BSS-1627294719604 numberOfRemainingAttempts: 0 timeOfNextAllowedAttempt: '2022-03-19T17:07:31Z' '400': description: |- Bad request List of possible error codes: * 402 - Unable to store message * 403 - Unable to send message to NotificationProcessor * 404 - Unable to parse message * 405 - Unable to validate message * 406 - Missing mandatory headers * 407 - Counter Transaction not found * 408 - Manual taps limit exceeded * 409 - Unable to send message to Orchestrator * 410 - Unable to construct message * 411 - Unable to get data * 412 - Unable to get bin * 422 - Duplicate manual tap content: application/json: schema: $ref: '#/components/schemas/400Response' example: errorMessage: message: >- Maximum limit 5 of manual taps reached for beId = 7 and role = PTO within a period of 2592000 seconds for this token referenceId: BSS-1627294719604 businessExceptions: - code: '408' message: Manual taps limit exceeded - code: BSS-timeOfNextAllowedAttempt message: '2022-03-19T17:07:31Z' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/500Response' example: errorMessage: message: The server responded with http status code 500 referenceId: BSS-1627294719604 businessExceptions: - code: '5026' message: Unable to send request to Orchestrator '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/503Response' example: errorMessage: message: The server responded with http status code 503 referenceId: BSS-1627294719604 businessExceptions: - code: '5026' message: Unable to send request to Orchestrator x-codegen-request-body-name: ManualTap security: - default: [] components: securitySchemes: default: type: oauth2 flows: implicit: authorizationUrl: https://services.acc.api.htm.nl/authorize scopes: {} schemas: getTokenTrips: type: array items: type: object properties: tripId: type: number tripVersion: type: number transportType: type: string lineId: type: string tripStatus: type: string fare: type: number currency: type: string lastUpdatedTripDateTime: type: string checkinTransactionTimestamp: type: string checkoutTransactionTimestamp: type: string checkinLocation: type: object properties: stopId: type: number stopName: type: object properties: items: type: array items: type: object properties: key: type: string value: type: string stopDesc: type: string stopUrl: type: string locationType: type: number checkoutLocation: type: object properties: stopId: type: number stopName: type: object properties: items: type: array items: type: object properties: key: type: string value: type: string stopDesc: type: string stopUrl: type: string locationType: type: number loyaltyOrDiscount: type: boolean _links: type: object properties: tripDetails: type: object properties: href: type: string method: type: string templated: type: boolean getStopsForCorrection: type: object properties: href: type: string method: type: string templated: type: boolean getTrips: type: object properties: tripId: type: number tripVersion: type: number tripStatus: type: string organisationIcon: type: string organisationId: type: string organisationName: type: string supersededByTripIds: type: array items: type: number supersedesTripIds: type: array items: type: object tripStartTxnId: type: number tripEndTxnId: type: number numberOfSyntheticLegs: type: number numberofSyntheticTrips: type: number products: type: array items: type: object properties: productTemplateId: type: string purchaseDateTime: type: string appliedValue: type: number xspit: type: string category: type: string typesOfFareProduct: type: array items: type: object properties: privateCode: type: string checkinTransactionTimestamp: type: string checkoutTransactionTimestamp: type: string checkinTransactionReference: type: string checkoutTransactionReference: type: string checkinLocation: type: object properties: stopId: type: number stopName: type: object properties: items: type: array items: type: object properties: key: type: string value: type: string stopDesc: type: string stopUrl: type: string locationType: type: number checkoutLocation: type: object properties: stopId: type: number stopName: type: object properties: items: type: array items: type: object properties: key: type: string value: type: string stopDesc: type: string stopUrl: type: string locationType: type: number xbot: type: string tokenType: type: string transportType: type: string lineId: type: string networkId: type: string networkName: type: string currency: type: string transportIcon: type: string legs: type: array items: type: object properties: legId: type: number checkinTransactionTimestamp: type: string checkoutTransactionTimestamp: type: string checkinLocation: type: object properties: stopId: type: number stopName: type: object properties: items: type: array items: type: object properties: key: type: string value: type: string stopDesc: type: string stopUrl: type: string locationType: type: number checkoutLocation: type: object properties: stopId: type: number stopName: type: object properties: items: type: array items: type: object properties: key: type: string value: type: string stopDesc: type: string stopUrl: type: string locationType: type: number baseRate: type: number lineId: type: string networkId: type: string networkName: type: string fare: type: number fareState: type: string currency: type: string products: type: array items: type: object properties: productTemplateId: type: string purchaseDateTime: type: string appliedValue: type: number xspit: type: string category: type: string typesOfFareProduct: type: array items: type: object properties: privateCode: type: string appliedTimePeriods: type: array items: type: object tariffJourneyStart: type: boolean tariffDistance: type: number aggrGeoIntervalDistance: type: number topoDistance: type: number concessionId: type: string tripLegIdx: type: number appliedZones: type: array items: type: object properties: zoneId: type: string zoneName: type: object properties: items: type: array items: type: object properties: key: type: string value: type: string lastUpdatedTripDateTime: type: string fare: type: number loyaltyOrDiscount: type: boolean supportCode: type: string checkinTransactionId: type: string checkoutTransactionId: type: string tariffVersionId: type: string correlationId: type: string createdAt: type: string _links: type: object properties: getStopsForCorrection: type: object properties: href: type: string method: type: string templated: type: boolean MissingCkiCkoRequest: type: object properties: xbot: type: string description: >- A xBOT IS AN unique identifier THAT is an external representation of a backoffice Token for a particular Business Entity counterpartTransactionId: type: string description: >- A counterpartTransactionId IS A unique identifier THAT assigned to every Transaction that is received counterpartEntryExitType: type: string description: >- AN counterpartEntryExitType IS AN direction indicator THAT describes a possible direction indicated by the callee that created the Transaction counterpartTimeStamp: type: string description: >- A counterpartTimeStamp IS A date, time and time zone indication THAT describes when the Transaction was created either by a Device or callee counterpartStop: $ref: '#/components/schemas/ScheduledStopPointData' deviceId: type: string description: >- A deviceId IS AN unique identifier THAT distinguishes a Device from all other Devices deviceClassId: type: string description: >- A deviceClassId IS AN enumerated identifier THAT describes the type of Device responsible for creating the Transaction scheduledStopPoints: type: array items: $ref: '#/components/schemas/ScheduledStopPointData' ScheduledStopPointData: type: object properties: alternativeTexts: type: array items: $ref: '#/components/schemas/AlternativeText' name: type: string description: >- A name IS A string THAT is used to described name of the TariffLocation name shortName: type: string description: >- A shortName IS AN abbreviation THAT contains a shortened version of the TariffLocation name description: type: string description: >- A description IS A string THAT is used as an additional label of the TariffLocation as defined in the Tariff Fragment location: $ref: '#/components/schemas/Location' stopId: type: string description: >- A stopId IS A unique identifier THAT distinguishes a Tariff Location from all other Tariff Locations transportModes: type: array description: >- A transportMode IS AN identifier THAT describes the mode of transport items: type: string AlternativeText: type: object description: >- AN AlternativeText IS AN object THAT contains values to enable one or more language translations properties: text: type: object description: >- A text is AN wrapper THAT is used as an abstraction layer to contain the properties of AlternativeText properties: lang: type: string description: >- A lang IS AN enumerated identifier THAT describes the language of the text within the AlternativeText object example: en-US textIdType: type: string description: A textIdType IS AN name THAT is used to categorize types of text example: publicName text: type: string description: >- A text IS A name THAT has been translated to a particular language example: Default Travel Entitlement Location: type: object properties: longitude: type: number description: >- A longitude IS A number THAT represents the geographic coordinate that specifies the east-west position of a point on the surface of the Earth latitude: type: number description: >- A latitude IS A number THAT represents the geographic coordinate that specifies the north-south position of a point on the surface of the Earth altitude: type: number description: >- AN altitude IS A number THAT represents the height of an object or point in relation to sea level or ground level ManualTap: required: - xbot - counterpartTransactionId - deviceClassId - deviceId - stopId type: object properties: counterpartTransactionId: type: string description: Id of the transaction that is missing its pair example: 001e8481-1151-gemaltoPure-1622527200000 xbot: type: string description: Token identification code (external backoffice token) example: 36637b86-7a31-4b77-99dd-2d39b9c1a9b6 stopId: type: string description: Id of the location of the tap example: 42 deviceId: type: string description: Id of the device example: 3212967 deviceClassId: type: string description: Class Id of the device example: 9 transactionTimestamp: type: string description: Timestamp of the transaction format: date-time example: 2019-11-25T17:39:45.000Z entryExitType: type: string description: 'Direction of the tap: in or out' example: EXIT enum: - UNKNOWN - ENTRY - EXIT description: JSON schema for ManualTap message GenericOkResponse: required: - referenceId description: Ok response object type: object properties: referenceId: type: string description: Reference identification code numberOfRemainingAttempts: type: integer description: Number of remaining attempts timeOfNextAllowedAttempt: type: string format: date-time description: Time when next attempt is allowed 400Response: type: object properties: code: type: string example: '400' type: type: string message: type: string example: Bad Request description: type: string example: >- 'Bad Request: Input parameters missing! Please fill in at least 1 valid input parameter. 401Response: type: object properties: code: type: string example: '900901' type: type: string message: type: string example: Invalid Credentials description: type: string example: >- Invalid Credentials. Make sure you have provided the correct security credentials. 403Response: type: object properties: code: type: string example: '900901' type: type: string message: type: string example: Retailer not authorized description: type: string example: >- The retailer is not allowed to access resource for requested touchpoint. 404Response: type: object properties: code: type: string example: '404' type: type: string example: Status report message: type: string example: Not Found description: type: string example: The requested resource is not available. 500Response: type: object properties: code: type: string example: '500' type: type: string message: type: string example: Internal Server Error description: type: string 503Response: type: object properties: code: type: string example: '503' type: type: string message: type: string example: Service Unavailable description: type: string