ovpay/src/openapi/customers/customers-trips.yaml

1870 lines
63 KiB
YAML

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