2550 lines
116 KiB
YAML
2550 lines
116 KiB
YAML
openapi: 3.0.1
|
|
info:
|
|
title: Service Engine APIs for Products
|
|
description: |-
|
|
Service Engine APIs for HTM products. These are NOT the CRUD APIs to access raw data in the database.
|
|
To be used by touchpoints to get information about HTM products they are allowed to see and/or sell.
|
|
version: '1.0'
|
|
servers:
|
|
- url: https://api.integratielaag.nl/abt/abtserviceengine/2.0
|
|
tags:
|
|
- name: ServiceEngine Products
|
|
description: |-
|
|
To be used by touchpoints to get information about HTM products they are allowed to see and/or sell.
|
|
paths:
|
|
/products:
|
|
get:
|
|
tags:
|
|
- ServiceEngine Products
|
|
summary: Get a list of all HTM products that a touchpoint is allowed to see and/or sell
|
|
description: |-
|
|
Get a list of all HTM products that refers to a given parentProductId (or without parent, if not specified),
|
|
and that the calling touchpoint is allowed to see and/or sell. \
|
|
Essentially, this means that only products that have active sellingPeriods for touchpoints within the same
|
|
retailer as the calling touchpoint are returned. \
|
|
Only a few details are returned per product - use the `GET /products/{productId}` endpoint
|
|
to get more details. \
|
|
Nb: touchpoint 1 and 2 belong to retailer 1; touchpoint 3 and 4 belong to retailer 2.
|
|
parameters:
|
|
- name: parentProductId
|
|
in: query
|
|
required: false
|
|
description: |-
|
|
Only return products that refer to the given parentProductId. \
|
|
Returns parent-products (i.e. products with parentProductId = null) if left empty.
|
|
schema:
|
|
type: integer
|
|
example: 1
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProductPayloadListResponse'
|
|
examples:
|
|
No products / Empty list:
|
|
summary: No products / Empty list
|
|
description: No products
|
|
value:
|
|
{
|
|
"Entries": []
|
|
}
|
|
List containing one product with many null attributes:
|
|
summary: List containing one product with many null attributes
|
|
description: |-
|
|
Most product attributes are optional on a database level and can thus be null; this example shows that all attributes as defined in the schema are always represented in the response, even if null. \
|
|
**Empty lists/arrays show up as "[]", not as null!**
|
|
value:
|
|
{
|
|
"Entries": [
|
|
{
|
|
"productId": 99,
|
|
"productCode": null,
|
|
"productName": null,
|
|
"productDescription": null,
|
|
"productCategory": null,
|
|
"tokenTypes": [],
|
|
"sellableTouchPointIds": [],
|
|
"amountInclTax": null,
|
|
"imageReference": null,
|
|
"productPageUrl": null,
|
|
"_links": {
|
|
"get_details": {
|
|
"href": "https://api.integratielaag.nl/abt/abtserviceengine/2.0/products/99",
|
|
"method": "GET"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
List containing one product with 4 currently active SellingPeriods (called by touchpointId 1):
|
|
summary: List containing one product with 4 currently active SellingPeriods (called by touchpointId 1)
|
|
description: Only two sellingPeriods for touchpoint 1 and/or 2 (part of same retailer) are returned - the price for touchpointId 1 is returned
|
|
value:
|
|
{
|
|
"Entries": [
|
|
{
|
|
"productId": 2,
|
|
"productCode": "312AB-WL",
|
|
"productName": "HTM dagkaart",
|
|
"productDescription": "Reis een dag met het openbaar vervoer bij HTM",
|
|
"productCategory": {
|
|
"productCategoryId": 6,
|
|
"isTravelProduct": false,
|
|
"name": "Barcode"
|
|
},
|
|
"tokenTypes": [],
|
|
"sellableTouchPointIds": [
|
|
1,
|
|
2
|
|
],
|
|
"amountInclTax": 300,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
|
|
"productPageUrl": "https://www.htm.nl/nog-onbekende-product-pagina",
|
|
"_links": {
|
|
"get_details": {
|
|
"href": "https://api.integratielaag.nl/abt/abtserviceengine/2.0/products/2",
|
|
"method": "GET"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
List containing one product with 4 currently active SellingPeriods (called by touchpointId 3):
|
|
summary: List containing one product with 4 currently active SellingPeriods (called by touchpointId 3)
|
|
description: Only two sellingPeriods for touchpoint 3 and/or 4 (part of same retailer) are returned - the price for touchpointId 3 is returned
|
|
value:
|
|
{
|
|
"Entries": [
|
|
{
|
|
"productId": 2,
|
|
"productCode": "312AB-WL",
|
|
"productName": "HTM dagkaart",
|
|
"productDescription": "Reis een dag met het openbaar vervoer bij HTM",
|
|
"productCategory": {
|
|
"productCategoryId": 6,
|
|
"isTravelProduct": false,
|
|
"name": "Barcode"
|
|
},
|
|
"tokenTypes": [],
|
|
"sellableTouchPointIds": [
|
|
3,
|
|
4
|
|
],
|
|
"amountInclTax": 300,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
|
|
"productPageUrl": "https://www.htm.nl/nog-onbekende-product-pagina",
|
|
"_links": {
|
|
"get_details": {
|
|
"href": "https://api.integratielaag.nl/abt/abtserviceengine/2.0/products/2",
|
|
"method": "GET"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
List containing one product which can only be sold by touchpointId 3 (called by touchpointId 4):
|
|
summary: List containing one product which can only be sold by touchpointId 3 (called by touchpointId 4)
|
|
description: Product is still returned (because touchpointId 3 is part of same retailer) but no price, as touchpointId 4 is not allowed to sell this product.
|
|
value:
|
|
{
|
|
"Entries": [
|
|
{
|
|
"productId": 49,
|
|
"productCode": null,
|
|
"productName": "HTM Regio Vrij",
|
|
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in het gekozen gebied in de regio Rotterdam Den Haag.",
|
|
"productCategory": {
|
|
"productCategoryId": 3,
|
|
"isTravelProduct": true,
|
|
"name": "Afgekocht reisrecht"
|
|
},
|
|
"tokenTypes": [],
|
|
"sellableTouchpointIds": [
|
|
4
|
|
],
|
|
"amountInclTax": null,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
|
|
"productPageUrl": "https://www.htm.nl/nog-onbekende-product-pagina",
|
|
"_links": {
|
|
"get_details": {
|
|
"href": "https://api.integratielaag.nl/abt/abtserviceengine/2.0/products/49",
|
|
"method": "GET"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
List containing multiple products (called by touchpointId 3):
|
|
summary: List containing multiple products (called by touchpointId 3)
|
|
description: Only products that have active SellingPeriods for touchpoint 3 and/or 4 (part of same retailer) are returned
|
|
value:
|
|
{
|
|
"Entries": [
|
|
{
|
|
"productId": 2,
|
|
"productCode": "312AB-WL",
|
|
"productName": "HTM dagkaart",
|
|
"productDescription": "Reis een dag met het openbaar vervoer bij HTM",
|
|
"productCategory": {
|
|
"productCategoryId": 6,
|
|
"isTravelProduct": false,
|
|
"name": "Barcode"
|
|
},
|
|
"tokenTypes": [],
|
|
"sellableTouchPointIds": [
|
|
3,
|
|
4
|
|
],
|
|
"amountInclTax": 300,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
|
|
"productPageUrl": "https://www.htm.nl/nog-onbekende-product-pagina",
|
|
"_links": {
|
|
"get_details": {
|
|
"href": "https://api.integratielaag.nl/abt/abtserviceengine/2.0/products/2",
|
|
"method": "GET"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"productId": 4,
|
|
"productCode": "30002-ML",
|
|
"productName": "HTM 40% korting",
|
|
"productDescription": "Reis een maand lang met 40% korting!",
|
|
"productCategory": {
|
|
"productCategoryId": 1,
|
|
"isTravelProduct": true,
|
|
"name": "Kortingsabonnement"
|
|
},
|
|
"tokenTypes": [
|
|
{
|
|
"tokenTypeId": 1,
|
|
"name": "EMV"
|
|
}
|
|
],
|
|
"sellableTouchPointIds": [
|
|
3,
|
|
4
|
|
],
|
|
"amountInclTax": 800,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
|
|
"productPageUrl": "https://www.htm.nl/nog-onbekende-product-pagina",
|
|
"_links": {
|
|
"get_details": {
|
|
"href": "https://api.integratielaag.nl/abt/abtserviceengine/2.0/products/4",
|
|
"method": "GET"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
/products/{productId}:
|
|
get:
|
|
tags:
|
|
- ServiceEngine Products
|
|
summary: Get more details for a single HTM product (including all child products), specified by the productId
|
|
description: |-
|
|
Get more details for a single HTM product (including all child products/productVariants), specified by the productId. \
|
|
Only information that is allowed to be seen by the calling touchpoint is returned - i.e. only currently
|
|
active selling periods and prices for the calling touchpoint are returned. Future/past prices and prices
|
|
for other touchpoints are thus filtered out.
|
|
|
|
The response contains a product tree, including all child products (`productVariants`) of the given
|
|
productId that the touchpoint is allowed to see and/or sell.
|
|
|
|
Touchpoints can only retrieve details for products that they are allowed to see and/or sell at the time of the request
|
|
(i.e. the product is returned in the products list response).
|
|
Thus, productVariants that are not available to the calling touchpoint are not returned in the response.
|
|
|
|
When no product exists for the given productId, a 404 Error response is returned.
|
|
parameters:
|
|
- name: productId
|
|
in: path
|
|
required: true
|
|
style: simple
|
|
description: Id of the product to get details for
|
|
schema:
|
|
type: integer
|
|
example: 1
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProductPayloadResponse'
|
|
examples:
|
|
90% Discount F&F pilot product (called by touchpointId 3):
|
|
summary: 90% Discount F&F pilot product (called by touchpointId 3)
|
|
description: |-
|
|
All details (that the calling touchpoint is allowed to see) for the 90% Discount F&F pilot product.\
|
|
Even though this product has sellingPeriods for multiple touchpoints, only the currently active sellingPeriod and price for touchpointId 3 are returned.
|
|
|
|
This product has no child products, so its `productVariants` array is empty.
|
|
value:
|
|
{
|
|
"productId": 24,
|
|
"parentProductId": null,
|
|
"productCode": "HTM-30901-WL",
|
|
"gboPackageTemplateId": "30901",
|
|
"tapConnectProductCode": null,
|
|
"productGroupMetadata": {
|
|
"productGroupMetadataId": "WIP",
|
|
"productGroupCode": "WIP",
|
|
"department": "WIP",
|
|
"costCenter": "WIP",
|
|
"costType": "WIP",
|
|
"description": "Work in Progress - will follow later, when FIKO is implemented",
|
|
"user": "WIP",
|
|
"documentCode": "WIP",
|
|
"timestampUpdated": "2024-09-03T15:07:53.470+00:00",
|
|
"validFrom": "2024-08-01T00:00:00.000+00:00",
|
|
"validUntil": "2025-08-01T00:00:00.000+00:00"
|
|
},
|
|
"productName": "HTM 90% Korting",
|
|
"productDescription": "Reis je regelmatig met HTM? Activeer dan HTM 90% Korting op je betaalpas of credit card en reis een week lang met korting!",
|
|
"validityPeriod": {
|
|
"validityPeriodId": 144,
|
|
"fromInclusive": "2023-12-31T23:00:00.000+00:00",
|
|
"toInclusive": "2028-11-25T04:00:00.000+00:00"
|
|
},
|
|
"productTranslations": [
|
|
{
|
|
"language": "en",
|
|
"name": "HTM 90% Discount",
|
|
"description": "Are you a regular traveler? Activate HTM 90% discount on your EMV card!"
|
|
}
|
|
],
|
|
"productOwner": {
|
|
"productOwnerId": 17,
|
|
"name": "Corneel Verstoep",
|
|
"organization": "HTM"
|
|
},
|
|
"marketSegments": [
|
|
{
|
|
"marketSegmentId": 1,
|
|
"name": "B2C"
|
|
}
|
|
],
|
|
"customerSegments": null,
|
|
"productCategory": {
|
|
"productCategoryId": 1,
|
|
"isTravelProduct": true,
|
|
"name": "Kortingsabonnement"
|
|
},
|
|
"requiredCustomerLevel": {
|
|
"requiredCustomerLevelId": 1,
|
|
"name": "guest"
|
|
},
|
|
"requiredProducts": null,
|
|
"incompatibleProducts": null,
|
|
"mandatoryCustomerDataItems": null,
|
|
"requiredGboPersonalAttributes": null,
|
|
"tokenTypes": [
|
|
{
|
|
"tokenTypeId": 1,
|
|
"name": "EMV"
|
|
}
|
|
],
|
|
"paymentMoment": {
|
|
"paymentMomentId": 1,
|
|
"name": "prepaid"
|
|
},
|
|
"serviceOptions": null,
|
|
"validityDuration": "P7D",
|
|
"maxStartInFutureDuration": "P6W",
|
|
"isRenewable": false,
|
|
"sendInvoice": false,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
|
|
"productPageUrl": "https://web.acc.cloud.htm.nl/webshop/htm-90-korting",
|
|
"termsUrl": "https://web.acc.cloud.htm.nl/media/hkfak1dj/pv-pilotproduct.pdf",
|
|
"isSellableAtHtm": true,
|
|
"needsSolvencyCheckConsumer": false,
|
|
"needsSolvencyCheckBusiness": false,
|
|
"sellingPeriods": [
|
|
{
|
|
"sellingPeriodId": 78,
|
|
"fromInclusive": "2024-09-30T23:00:00.000+00:00",
|
|
"toInclusive": "2028-11-17T23:00:00.000+00:00",
|
|
"salesTouchpoint": {
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailer": {
|
|
"retailerId": 1001,
|
|
"name": "HTM externe touchpoints",
|
|
"street": "Koningin Julianaplein",
|
|
"number": 10,
|
|
"numberAddition": null,
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "Nederland",
|
|
"emailAddress": "info@htm.nl",
|
|
"phoneNumber": "070 374 9002",
|
|
"taxId": 572309345923,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg"
|
|
}
|
|
},
|
|
"forbiddenPaymentMethods": null,
|
|
"sellingPrices": [
|
|
{
|
|
"sellingPriceId": 78,
|
|
"amountExclTax": 92,
|
|
"amountInclTax": 100,
|
|
"fromInclusive": "2024-09-30T23:00:00.000+00:00",
|
|
"toInclusive": "2028-11-17T23:00:00.000+00:00",
|
|
"internalPrice": 0.0000,
|
|
"taxMetadata": {
|
|
"taxMetadataId": "47C8972E-A730-4032-9BDA-AF0A5BCB2C85",
|
|
"taxCode": "V09",
|
|
"taxPercentageAmount": 9,
|
|
"description": "BTW VERKOOP LAAG 9%"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"purchasePrices": null,
|
|
"productVariants": null
|
|
}
|
|
20% Discount product (called by touchpointId 4):
|
|
summary: 20% Discount product (called by touchpointId 4)
|
|
description: |-
|
|
All details (that the calling touchpoint is allowed to see) for the 20% Discount product.\
|
|
Even though this product has sellingPeriods for multiple touchpoints (3 and 4), only the currently active sellingPeriod and price for touchpointId 4 are returned.
|
|
|
|
This product has two `productVariants`: a single month variant and a subscription variant.
|
|
value:
|
|
{
|
|
"productId": 126,
|
|
"parentProductId": null,
|
|
"productCode": "HTM-30001",
|
|
"gboPackageTemplateId": "30001",
|
|
"tapConnectProductCode": null,
|
|
"productGroupMetadata": null,
|
|
"productName": "HTM 20% Korting",
|
|
"productDescription": "Reis met 20% korting op je betaalpas bij HTM.",
|
|
"validityPeriod": {
|
|
"validityPeriodId": 236,
|
|
"fromInclusive": "2025-01-19T23:00:00.000+00:00",
|
|
"toInclusive": "2028-11-25T04:00:00.000+00:00"
|
|
},
|
|
"productTranslations": [
|
|
{
|
|
"language": "en",
|
|
"name": "HTM 20% Discount",
|
|
"description": "Travel with 20% discount using your bank card with HTM."
|
|
}
|
|
],
|
|
"productOwner": {
|
|
"productOwnerId": 17,
|
|
"name": "Corneel Verstoep",
|
|
"organization": "HTM"
|
|
},
|
|
"marketSegments": [
|
|
{
|
|
"marketSegmentId": 1,
|
|
"name": "B2C"
|
|
}
|
|
],
|
|
"customerSegments": null,
|
|
"productCategory": {
|
|
"productCategoryId": 1,
|
|
"isTravelProduct": true,
|
|
"name": "Kortingsabonnement"
|
|
},
|
|
"requiredCustomerLevel": {
|
|
"requiredCustomerLevelId": 1,
|
|
"name": "guest"
|
|
},
|
|
"requiredProducts": null,
|
|
"incompatibleProducts": null,
|
|
"mandatoryCustomerDataItems": [
|
|
{
|
|
"mandatoryCustomerDataItemId": 4,
|
|
"customerDataItem": "emailAddress"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 7,
|
|
"customerDataItem": "ovPayToken"
|
|
}
|
|
],
|
|
"requiredGboPersonalAttributes": null,
|
|
"tokenTypes": [
|
|
{
|
|
"tokenTypeId": 1,
|
|
"name": "EMV"
|
|
}
|
|
],
|
|
"paymentMoment": {
|
|
"paymentMomentId": 1,
|
|
"name": "prepaid"
|
|
},
|
|
"serviceOptions": null,
|
|
"validityDuration": "P1M",
|
|
"maxStartInFutureDuration": "P6W",
|
|
"isRenewable": null,
|
|
"sendInvoice": null,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
|
|
"productPageUrl": "https://www.htm.nl/webshop/htm-20-korting",
|
|
"termsUrl": "https://www.htm.nl/reisproducten/productvoorwaarden/htm-20-korting",
|
|
"isSellableAtHtm": true,
|
|
"needsSolvencyCheckConsumer": false,
|
|
"needsSolvencyCheckBusiness": false,
|
|
"sellingPeriods": [
|
|
{
|
|
"sellingPeriodId": 172,
|
|
"fromInclusive": "2025-01-19T23:00:00.000+00:00",
|
|
"toInclusive": "2028-11-17T23:00:00.000+00:00",
|
|
"salesTouchpoint": {
|
|
"salesTouchpointId": 4,
|
|
"name": "App (Infoplaza)",
|
|
"isActive": true,
|
|
"retailer": {
|
|
"retailerId": 1001,
|
|
"name": "HTM externe touchpoints",
|
|
"street": "Koningin Julianaplein",
|
|
"number": 10,
|
|
"numberAddition": null,
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "Nederland",
|
|
"emailAddress": "info@htm.nl",
|
|
"phoneNumber": "070 374 9002",
|
|
"taxId": 572309345923,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg"
|
|
}
|
|
},
|
|
"forbiddenPaymentMethods": null,
|
|
"sellingPrices": null
|
|
}
|
|
],
|
|
"purchasePrices": null,
|
|
"productVariants": [
|
|
{
|
|
"productId": 119,
|
|
"parentProductId": 126,
|
|
"productCode": "HTM-30001-ML",
|
|
"gboPackageTemplateId": "30001",
|
|
"tapConnectProductCode": null,
|
|
"productGroupMetadata": {
|
|
"productGroupMetadataId": "WIP",
|
|
"productGroupCode": "WIP",
|
|
"department": "WIP",
|
|
"costCenter": "WIP",
|
|
"costType": "WIP",
|
|
"description": "Work in Progress - will follow later, when FIKO is implemented",
|
|
"user": "WIP",
|
|
"documentCode": "WIP",
|
|
"timestampUpdated": "2024-09-03T15:07:53.470+00:00",
|
|
"validFrom": "2024-08-01T00:00:00.000+00:00",
|
|
"validUntil": "2025-08-01T00:00:00.000+00:00"
|
|
},
|
|
"productName": "HTM 20% Korting (losse maand)",
|
|
"productDescription": "Reis een maand lang met 20% korting op je betaalpas bij HTM.",
|
|
"validityPeriod": {
|
|
"validityPeriodId": 229,
|
|
"fromInclusive": "2025-01-19T23:00:00.000+00:00",
|
|
"toInclusive": "2028-11-25T04:00:00.000+00:00"
|
|
},
|
|
"productTranslations": [
|
|
{
|
|
"language": "en",
|
|
"name": "HTM 20% Discount (single month)",
|
|
"description": "Travel with 20% discount for a month using your bank card with HTM."
|
|
}
|
|
],
|
|
"productOwner": {
|
|
"productOwnerId": 17,
|
|
"name": "Corneel Verstoep",
|
|
"organization": "HTM"
|
|
},
|
|
"marketSegments": [
|
|
{
|
|
"marketSegmentId": 1,
|
|
"name": "B2C"
|
|
}
|
|
],
|
|
"customerSegments": null,
|
|
"productCategory": {
|
|
"productCategoryId": 1,
|
|
"isTravelProduct": true,
|
|
"name": "Kortingsabonnement"
|
|
},
|
|
"requiredCustomerLevel": {
|
|
"requiredCustomerLevelId": 1,
|
|
"name": "guest"
|
|
},
|
|
"requiredProducts": null,
|
|
"incompatibleProducts": null,
|
|
"mandatoryCustomerDataItems": [
|
|
{
|
|
"mandatoryCustomerDataItemId": 4,
|
|
"customerDataItem": "emailAddress"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 7,
|
|
"customerDataItem": "ovPayToken"
|
|
}
|
|
],
|
|
"requiredGboPersonalAttributes": null,
|
|
"tokenTypes": [
|
|
{
|
|
"tokenTypeId": 1,
|
|
"name": "EMV"
|
|
}
|
|
],
|
|
"paymentMoment": {
|
|
"paymentMomentId": 1,
|
|
"name": "prepaid"
|
|
},
|
|
"serviceOptions": null,
|
|
"validityDuration": "P1M",
|
|
"maxStartInFutureDuration": "P6W",
|
|
"isRenewable": false,
|
|
"sendInvoice": false,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
|
|
"productPageUrl": "https://www.htm.nl/webshop/htm-20-korting",
|
|
"termsUrl": "https://www.htm.nl/reisproducten/productvoorwaarden/htm-20-korting",
|
|
"isSellableAtHtm": true,
|
|
"needsSolvencyCheckConsumer": false,
|
|
"needsSolvencyCheckBusiness": false,
|
|
"sellingPeriods": [
|
|
{
|
|
"sellingPeriodId": 160,
|
|
"fromInclusive": "2025-01-19T23:00:00.000+00:00",
|
|
"toInclusive": "2028-11-17T23:00:00.000+00:00",
|
|
"salesTouchpoint": {
|
|
"salesTouchpointId": 4,
|
|
"name": "App (Infoplaza)",
|
|
"isActive": true,
|
|
"retailer": {
|
|
"retailerId": 1001,
|
|
"name": "HTM externe touchpoints",
|
|
"street": "Koningin Julianaplein",
|
|
"number": 10,
|
|
"numberAddition": null,
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "Nederland",
|
|
"emailAddress": "info@htm.nl",
|
|
"phoneNumber": "070 374 9002",
|
|
"taxId": 572309345923,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg"
|
|
}
|
|
},
|
|
"forbiddenPaymentMethods": null,
|
|
"sellingPrices": [
|
|
{
|
|
"sellingPriceId": 149,
|
|
"amountExclTax": 276,
|
|
"amountInclTax": 300,
|
|
"fromInclusive": "2025-01-19T23:00:00.000+00:00",
|
|
"toInclusive": "2028-11-17T23:00:00.000+00:00",
|
|
"internalPrice": 0.0000,
|
|
"taxMetadata": {
|
|
"taxMetadataId": "47C8972E-A730-4032-9BDA-AF0A5BCB2C85",
|
|
"taxCode": "V09",
|
|
"taxPercentageAmount": 9,
|
|
"description": "BTW VERKOOP LAAG 9%"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"purchasePrices": null,
|
|
"productVariants": null
|
|
},
|
|
{
|
|
"productId": 120,
|
|
"parentProductId": 126,
|
|
"productCode": "HTM-30001-MA",
|
|
"gboPackageTemplateId": "30001",
|
|
"tapConnectProductCode": null,
|
|
"productGroupMetadata": {
|
|
"productGroupMetadataId": "WIP",
|
|
"productGroupCode": "WIP",
|
|
"department": "WIP",
|
|
"costCenter": "WIP",
|
|
"costType": "WIP",
|
|
"description": "Work in Progress - will follow later, when FIKO is implemented",
|
|
"user": "WIP",
|
|
"documentCode": "WIP",
|
|
"timestampUpdated": "2024-09-03T15:07:53.470+00:00",
|
|
"validFrom": "2024-08-01T00:00:00.000+00:00",
|
|
"validUntil": "2025-08-01T00:00:00.000+00:00"
|
|
},
|
|
"productName": "HTM 20% Korting (doorlopend abonnement)",
|
|
"productDescription": "Reis gedurende je abonnement met 20% korting op je betaalpas bij HTM.",
|
|
"validityPeriod": {
|
|
"validityPeriodId": 230,
|
|
"fromInclusive": "2025-01-19T23:00:00.000+00:00",
|
|
"toInclusive": "2028-11-25T04:00:00.000+00:00"
|
|
},
|
|
"productTranslations": [
|
|
{
|
|
"language": "en",
|
|
"name": "HTM 20% Discount (subscription)",
|
|
"description": "Travel with 20% discount for the duration of your subscription using your bank card with HTM."
|
|
}
|
|
],
|
|
"productOwner": {
|
|
"productOwnerId": 17,
|
|
"name": "Corneel Verstoep",
|
|
"organization": "HTM"
|
|
},
|
|
"marketSegments": [
|
|
{
|
|
"marketSegmentId": 1,
|
|
"name": "B2C"
|
|
}
|
|
],
|
|
"customerSegments": null,
|
|
"productCategory": {
|
|
"productCategoryId": 1,
|
|
"isTravelProduct": true,
|
|
"name": "Kortingsabonnement"
|
|
},
|
|
"requiredCustomerLevel": {
|
|
"requiredCustomerLevelId": 1,
|
|
"name": "guest"
|
|
},
|
|
"requiredProducts": null,
|
|
"incompatibleProducts": null,
|
|
"mandatoryCustomerDataItems": [
|
|
{
|
|
"mandatoryCustomerDataItemId": 4,
|
|
"customerDataItem": "emailAddress"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 7,
|
|
"customerDataItem": "ovPayToken"
|
|
}
|
|
],
|
|
"requiredGboPersonalAttributes": null,
|
|
"tokenTypes": [
|
|
{
|
|
"tokenTypeId": 1,
|
|
"name": "EMV"
|
|
}
|
|
],
|
|
"paymentMoment": {
|
|
"paymentMomentId": 1,
|
|
"name": "prepaid"
|
|
},
|
|
"serviceOptions": null,
|
|
"validityDuration": "P1M",
|
|
"maxStartInFutureDuration": "P6W",
|
|
"isRenewable": true,
|
|
"sendInvoice": true,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
|
|
"productPageUrl": "https://www.htm.nl/webshop/htm-20-korting",
|
|
"termsUrl": "https://www.htm.nl/reisproducten/productvoorwaarden/htm-20-korting",
|
|
"isSellableAtHtm": true,
|
|
"needsSolvencyCheckConsumer": false,
|
|
"needsSolvencyCheckBusiness": false,
|
|
"sellingPeriods": [
|
|
{
|
|
"sellingPeriodId": 159,
|
|
"fromInclusive": "2025-01-19T23:00:00.000+00:00",
|
|
"toInclusive": "2028-11-17T23:00:00.000+00:00",
|
|
"salesTouchpoint": {
|
|
"salesTouchpointId": 4,
|
|
"name": "App (Infoplaza)",
|
|
"isActive": true,
|
|
"retailer": {
|
|
"retailerId": 1001,
|
|
"name": "HTM externe touchpoints",
|
|
"street": "Koningin Julianaplein",
|
|
"number": 10,
|
|
"numberAddition": null,
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "Nederland",
|
|
"emailAddress": "info@htm.nl",
|
|
"phoneNumber": "070 374 9002",
|
|
"taxId": 572309345923,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg"
|
|
}
|
|
},
|
|
"forbiddenPaymentMethods": null,
|
|
"sellingPrices": [
|
|
{
|
|
"sellingPriceId": 148,
|
|
"amountExclTax": 276,
|
|
"amountInclTax": 300,
|
|
"fromInclusive": "2025-01-19T23:00:00.000+00:00",
|
|
"toInclusive": "2028-11-17T23:00:00.000+00:00",
|
|
"internalPrice": 0.0000,
|
|
"taxMetadata": {
|
|
"taxMetadataId": "47C8972E-A730-4032-9BDA-AF0A5BCB2C85",
|
|
"taxCode": "V09",
|
|
"taxPercentageAmount": 9,
|
|
"description": "BTW VERKOOP LAAG 9%"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"purchasePrices": null,
|
|
"productVariants": null
|
|
}
|
|
]
|
|
}
|
|
Regio Vrij product and (part of) its productVariants (called by touchpointId 3):
|
|
summary: Regio Vrij product and (part of) its productVariants (called by touchpointId 3)
|
|
description: |-
|
|
All details (that the calling touchpoint is allowed to see) for the parent Regio Vrij product
|
|
and (7 out of 84 of) its productVariants; the full tree would be too huge to be useful as an example.
|
|
|
|
The full depth of the tree is included in the example for the HL62 Reduced Fare Variant.
|
|
value:
|
|
{
|
|
"productId": 49,
|
|
"parentProductId": null,
|
|
"productCode": null,
|
|
"gboPackageTemplateId": null,
|
|
"tapConnectProductCode": null,
|
|
"productGroupMetadata": null,
|
|
"productName": "HTM Regio Vrij",
|
|
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in het gekozen gebied in de regio Rotterdam Den Haag.",
|
|
"validityPeriod": {
|
|
"validityPeriodId": 161,
|
|
"fromInclusive": "2024-11-30T23:00:00.000+00:00",
|
|
"toInclusive": "2099-12-30T23:00:00.000+00:00"
|
|
},
|
|
"productTranslations": [
|
|
{
|
|
"language": "en",
|
|
"name": "HTM Regio Free",
|
|
"description": "For a fixed amount unlimited travel with EBS, HTM and RET in the chosen area. in the Rotterdam The Hague region."
|
|
}
|
|
],
|
|
"productOwner": {
|
|
"productOwnerId": 19,
|
|
"name": "MRDH",
|
|
"organization": "MRDH"
|
|
},
|
|
"marketSegments": null,
|
|
"customerSegments": [
|
|
{
|
|
"customerSegmentId": 2,
|
|
"name": "Kind (4-11)"
|
|
},
|
|
{
|
|
"customerSegmentId": 3,
|
|
"name": "Jongere (12-18)"
|
|
},
|
|
{
|
|
"customerSegmentId": 4,
|
|
"name": "Volwassene (19-64)"
|
|
},
|
|
{
|
|
"customerSegmentId": 5,
|
|
"name": "Oudere (65+)"
|
|
}
|
|
],
|
|
"productCategory": {
|
|
"productCategoryId": 3,
|
|
"isTravelProduct": true,
|
|
"name": "Afgekocht reisrecht"
|
|
},
|
|
"requiredCustomerLevel": {
|
|
"requiredCustomerLevelId": 3,
|
|
"name": "profile"
|
|
},
|
|
"requiredProducts": null,
|
|
"incompatibleProducts": null,
|
|
"mandatoryCustomerDataItems": [
|
|
{
|
|
"mandatoryCustomerDataItemId": 1,
|
|
"customerDataItem": "birthname"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 2,
|
|
"customerDataItem": "surname"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 3,
|
|
"customerDataItem": "dateOfBirth"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 4,
|
|
"customerDataItem": "emailAddress"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 7,
|
|
"customerDataItem": "ovPayToken"
|
|
}
|
|
],
|
|
"requiredGboPersonalAttributes":
|
|
[
|
|
{
|
|
"requiredGboPersonalAttributeId": 1,
|
|
"name": "NAME"
|
|
},
|
|
{
|
|
"requiredGboPersonalAttributeId": 2,
|
|
"name": "BIRTHDATE"
|
|
},
|
|
{
|
|
"requiredGboPersonalAttributeId": 3,
|
|
"name": "PHOTO"
|
|
}
|
|
],
|
|
"tokenTypes": [
|
|
{
|
|
"tokenTypeId": 1,
|
|
"name": "EMV"
|
|
}
|
|
],
|
|
"paymentMoment": {
|
|
"paymentMomentId": 1,
|
|
"name": "prepaid"
|
|
},
|
|
"serviceOptions": null,
|
|
"validityDuration": "P1M",
|
|
"maxStartInFutureDuration": "P6W",
|
|
"isRenewable": null,
|
|
"sendInvoice": null,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
|
|
"productPageUrl": "https://www.htm.nl/webshop/htm-regio-vrij",
|
|
"termsUrl": "https://www.htm.nl/reisproducten/productvoorwaarden/htm-regio-vrij/",
|
|
"isSellableAtHtm": true,
|
|
"needsSolvencyCheckConsumer": false,
|
|
"needsSolvencyCheckBusiness": false,
|
|
"sellingPeriods": [
|
|
{
|
|
"sellingPeriodId": 99,
|
|
"fromInclusive": "2024-11-30T23:00:00.000+00:00",
|
|
"toInclusive": "2099-12-30T23:00:00.000+00:00",
|
|
"salesTouchpoint": {
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailer": {
|
|
"retailerId": 1001,
|
|
"name": "HTM externe touchpoints",
|
|
"street": "Koningin Julianaplein",
|
|
"number": 10,
|
|
"numberAddition": null,
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "Nederland",
|
|
"emailAddress": "info@htm.nl",
|
|
"phoneNumber": "070 374 9002",
|
|
"taxId": 572309345923,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg"
|
|
}
|
|
},
|
|
"forbiddenPaymentMethods": null,
|
|
"sellingPrices": null
|
|
}
|
|
],
|
|
"purchasePrices": null,
|
|
"productVariants": [
|
|
{
|
|
"productId": 109,
|
|
"parentProductId": 49,
|
|
"productCode": null,
|
|
"gboPackageTemplateId": null,
|
|
"tapConnectProductCode": null,
|
|
"productGroupMetadata": null,
|
|
"productName": "HTM Regio Vrij - HL62",
|
|
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
|
|
"validityPeriod": {
|
|
"validityPeriodId": 219,
|
|
"fromInclusive": "2024-09-30T23:00:00.000+00:00",
|
|
"toInclusive": "2099-12-30T23:00:00.000+00:00"
|
|
},
|
|
"productTranslations": [
|
|
{
|
|
"language": "en",
|
|
"name": "HTM Regio Free - HL62",
|
|
"description": "For a fixed amount unlimited travel with EBS, HTM and RET in region HL62"
|
|
}
|
|
],
|
|
"productOwner": {
|
|
"productOwnerId": 19,
|
|
"name": "MRDH",
|
|
"organization": "MRDH"
|
|
},
|
|
"marketSegments": null,
|
|
"customerSegments": [
|
|
{
|
|
"customerSegmentId": 2,
|
|
"name": "Kind (4-11)"
|
|
},
|
|
{
|
|
"customerSegmentId": 3,
|
|
"name": "Jongere (12-18)"
|
|
},
|
|
{
|
|
"customerSegmentId": 4,
|
|
"name": "Volwassene (19-64)"
|
|
},
|
|
{
|
|
"customerSegmentId": 5,
|
|
"name": "Oudere (65+)"
|
|
}
|
|
],
|
|
"productCategory": {
|
|
"productCategoryId": 3,
|
|
"isTravelProduct": true,
|
|
"name": "Afgekocht reisrecht"
|
|
},
|
|
"requiredCustomerLevel": {
|
|
"requiredCustomerLevelId": 3,
|
|
"name": "profile"
|
|
},
|
|
"requiredProducts": null,
|
|
"incompatibleProducts": null,
|
|
"mandatoryCustomerDataItems": [
|
|
{
|
|
"mandatoryCustomerDataItemId": 1,
|
|
"customerDataItem": "birthname"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 2,
|
|
"customerDataItem": "surname"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 3,
|
|
"customerDataItem": "dateOfBirth"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 4,
|
|
"customerDataItem": "emailAddress"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 7,
|
|
"customerDataItem": "ovPayToken"
|
|
}
|
|
],
|
|
"requiredGboPersonalAttributes": [
|
|
{
|
|
"requiredGboPersonalAttributeId": 1,
|
|
"name": "NAME"
|
|
},
|
|
{
|
|
"requiredGboPersonalAttributeId": 2,
|
|
"name": "BIRTHDATE"
|
|
},
|
|
{
|
|
"requiredGboPersonalAttributeId": 3,
|
|
"name": "PHOTO"
|
|
}
|
|
],
|
|
"tokenTypes": [
|
|
{
|
|
"tokenTypeId": 1,
|
|
"name": "EMV"
|
|
}
|
|
],
|
|
"paymentMoment": {
|
|
"paymentMomentId": 1,
|
|
"name": "prepaid"
|
|
},
|
|
"serviceOptions": null,
|
|
"validityDuration": "P1M",
|
|
"maxStartInFutureDuration": "P6W",
|
|
"isRenewable": null,
|
|
"sendInvoice": null,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
|
|
"productPageUrl": "https://www.htm.nl/webshop/htm-regio-vrij",
|
|
"termsUrl": "https://www.htm.nl/reisproducten/productvoorwaarden/htm-regio-vrij/",
|
|
"isSellableAtHtm": true,
|
|
"needsSolvencyCheckConsumer": false,
|
|
"needsSolvencyCheckBusiness": false,
|
|
"sellingPeriods": [
|
|
{
|
|
"sellingPeriodId": 143,
|
|
"fromInclusive": "2024-10-30T23:00:00.000+00:00",
|
|
"toInclusive": "2029-12-30T23:00:00.000+00:00",
|
|
"salesTouchpoint": {
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailer": {
|
|
"retailerId": 1001,
|
|
"name": "HTM externe touchpoints",
|
|
"street": "Koningin Julianaplein",
|
|
"number": 10,
|
|
"numberAddition": null,
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "Nederland",
|
|
"emailAddress": "info@htm.nl",
|
|
"phoneNumber": "070 374 9002",
|
|
"taxId": 572309345923,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg"
|
|
}
|
|
},
|
|
"forbiddenPaymentMethods": null,
|
|
"sellingPrices": null
|
|
}
|
|
],
|
|
"purchasePrices": null,
|
|
"productVariants": [
|
|
{
|
|
"productId": 114,
|
|
"parentProductId": 109,
|
|
"productCode": null,
|
|
"gboPackageTemplateId": "33629",
|
|
"tapConnectProductCode": null,
|
|
"productGroupMetadata": null,
|
|
"productName": "HTM Regio Vrij - Voltarief - HL62",
|
|
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
|
|
"validityPeriod": {
|
|
"validityPeriodId": 224,
|
|
"fromInclusive": "2024-09-30T23:00:00.000+00:00",
|
|
"toInclusive": "2099-12-30T23:00:00.000+00:00"
|
|
},
|
|
"productTranslations": [
|
|
{
|
|
"language": "en",
|
|
"name": "HTM Regio Free - Full Fare - HL62",
|
|
"description": "For a fixed amount unlimited travel with EBS, HTM and RET in region HL62"
|
|
}
|
|
],
|
|
"productOwner": {
|
|
"productOwnerId": 19,
|
|
"name": "MRDH",
|
|
"organization": "MRDH"
|
|
},
|
|
"marketSegments": null,
|
|
"customerSegments": [
|
|
{
|
|
"customerSegmentId": 4,
|
|
"name": "Volwassene (19-64)"
|
|
},
|
|
{
|
|
"customerSegmentId": 5,
|
|
"name": "Oudere (65+)"
|
|
}
|
|
],
|
|
"productCategory": {
|
|
"productCategoryId": 3,
|
|
"isTravelProduct": true,
|
|
"name": "Afgekocht reisrecht"
|
|
},
|
|
"requiredCustomerLevel": {
|
|
"requiredCustomerLevelId": 3,
|
|
"name": "profile"
|
|
},
|
|
"requiredProducts": null,
|
|
"incompatibleProducts": null,
|
|
"mandatoryCustomerDataItems": [
|
|
{
|
|
"mandatoryCustomerDataItemId": 1,
|
|
"customerDataItem": "birthname"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 2,
|
|
"customerDataItem": "surname"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 3,
|
|
"customerDataItem": "dateOfBirth"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 4,
|
|
"customerDataItem": "emailAddress"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 7,
|
|
"customerDataItem": "ovPayToken"
|
|
}
|
|
],
|
|
"requiredGboPersonalAttributes": [
|
|
{
|
|
"requiredGboPersonalAttributeId": 1,
|
|
"name": "NAME"
|
|
},
|
|
{
|
|
"requiredGboPersonalAttributeId": 2,
|
|
"name": "BIRTHDATE"
|
|
},
|
|
{
|
|
"requiredGboPersonalAttributeId": 3,
|
|
"name": "PHOTO"
|
|
}
|
|
],
|
|
"tokenTypes": [
|
|
{
|
|
"tokenTypeId": 1,
|
|
"name": "EMV"
|
|
}
|
|
],
|
|
"paymentMoment": {
|
|
"paymentMomentId": 1,
|
|
"name": "prepaid"
|
|
},
|
|
"serviceOptions": null,
|
|
"validityDuration": "P1M",
|
|
"maxStartInFutureDuration": "P6W",
|
|
"isRenewable": null,
|
|
"sendInvoice": null,
|
|
"imageReference": "https://web.acc.cloud.htm.nl/media/leif2leu/htm-logo-mobile.svg",
|
|
"productPageUrl": "https://web.acc.cloud.htm.nl/webshop/htm-regio-vrij",
|
|
"termsUrl": "https://web.acc.cloud.htm.nl/reisproducten/productvoorwaarden/htm-regio-vrij/",
|
|
"isSellableAtHtm": true,
|
|
"needsSolvencyCheckConsumer": false,
|
|
"needsSolvencyCheckBusiness": false,
|
|
"sellingPeriods": [
|
|
{
|
|
"sellingPeriodId": 148,
|
|
"fromInclusive": "2024-10-30T23:00:00.000+00:00",
|
|
"toInclusive": "2029-12-30T23:00:00.000+00:00",
|
|
"salesTouchpoint": {
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailer": {
|
|
"retailerId": 1001,
|
|
"name": "HTM externe touchpoints",
|
|
"street": "Koningin Julianaplein",
|
|
"number": 10,
|
|
"numberAddition": null,
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "Nederland",
|
|
"emailAddress": "info@htm.nl",
|
|
"phoneNumber": "070 374 9002",
|
|
"taxId": 572309345923,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg"
|
|
}
|
|
},
|
|
"forbiddenPaymentMethods": null,
|
|
"sellingPrices": [
|
|
{
|
|
"sellingPriceId": 139,
|
|
"amountExclTax": 5412,
|
|
"amountInclTax": 5900,
|
|
"fromInclusive": "2024-12-31T23:00:00.000+00:00",
|
|
"toInclusive": "2025-12-31T23:00:00.000+00:00",
|
|
"internalPrice": 0.0000,
|
|
"taxMetadata": {
|
|
"taxMetadataId": "47C8972E-A730-4032-9BDA-AF0A5BCB2C85",
|
|
"taxCode": "V09",
|
|
"taxPercentageAmount": 9,
|
|
"description": "BTW VERKOOP LAAG 9%"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"purchasePrices": null,
|
|
"productVariants": null
|
|
},
|
|
{
|
|
"productId": 115,
|
|
"parentProductId": 109,
|
|
"productCode": null,
|
|
"gboPackageTemplateId": "33630",
|
|
"tapConnectProductCode": null,
|
|
"productGroupMetadata": null,
|
|
"productName": "HTM Regio Vrij - Reductietarief - HL62",
|
|
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
|
|
"validityPeriod": {
|
|
"validityPeriodId": 225,
|
|
"fromInclusive": "2024-09-30T23:00:00.000+00:00",
|
|
"toInclusive": "2099-12-30T23:00:00.000+00:00"
|
|
},
|
|
"productTranslations": [
|
|
{
|
|
"language": "en",
|
|
"name": "HTM Regio Free - Reduced Fare - HL62",
|
|
"description": "For a fixed amount unlimited travel with EBS, HTM and RET in region HL62"
|
|
}
|
|
],
|
|
"productOwner": {
|
|
"productOwnerId": 19,
|
|
"name": "MRDH",
|
|
"organization": "MRDH"
|
|
},
|
|
"marketSegments": null,
|
|
"customerSegments": [
|
|
{
|
|
"customerSegmentId": 2,
|
|
"name": "Kind (4-11)"
|
|
},
|
|
{
|
|
"customerSegmentId": 3,
|
|
"name": "Jongere (12-18)"
|
|
}
|
|
],
|
|
"productCategory": {
|
|
"productCategoryId": 3,
|
|
"isTravelProduct": true,
|
|
"name": "Afgekocht reisrecht"
|
|
},
|
|
"requiredCustomerLevel": {
|
|
"requiredCustomerLevelId": 3,
|
|
"name": "profile"
|
|
},
|
|
"requiredProducts": null,
|
|
"incompatibleProducts": null,
|
|
"mandatoryCustomerDataItems": [
|
|
{
|
|
"mandatoryCustomerDataItemId": 1,
|
|
"customerDataItem": "birthname"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 2,
|
|
"customerDataItem": "surname"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 3,
|
|
"customerDataItem": "dateOfBirth"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 4,
|
|
"customerDataItem": "emailAddress"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 7,
|
|
"customerDataItem": "ovPayToken"
|
|
}
|
|
],
|
|
"requiredGboPersonalAttributes": [
|
|
{
|
|
"requiredGboPersonalAttributeId": 1,
|
|
"name": "NAME"
|
|
},
|
|
{
|
|
"requiredGboPersonalAttributeId": 2,
|
|
"name": "BIRTHDATE"
|
|
},
|
|
{
|
|
"requiredGboPersonalAttributeId": 3,
|
|
"name": "PHOTO"
|
|
}
|
|
],
|
|
"tokenTypes": [
|
|
{
|
|
"tokenTypeId": 1,
|
|
"name": "EMV"
|
|
}
|
|
],
|
|
"paymentMoment": {
|
|
"paymentMomentId": 1,
|
|
"name": "prepaid"
|
|
},
|
|
"serviceOptions": null,
|
|
"validityDuration": "P1M",
|
|
"maxStartInFutureDuration": "P6W",
|
|
"isRenewable": null,
|
|
"sendInvoice": null,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
|
|
"productPageUrl": "https://www.htm.nl/webshop/htm-regio-vrij",
|
|
"termsUrl": "https://www.htm.nl/reisproducten/productvoorwaarden/htm-regio-vrij/",
|
|
"isSellableAtHtm": true,
|
|
"needsSolvencyCheckConsumer": false,
|
|
"needsSolvencyCheckBusiness": false,
|
|
"sellingPeriods": [
|
|
{
|
|
"sellingPeriodId": 149,
|
|
"fromInclusive": "2024-10-30T23:00:00.000+00:00",
|
|
"toInclusive": "2029-12-30T23:00:00.000+00:00",
|
|
"salesTouchpoint": {
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailer": {
|
|
"retailerId": 1001,
|
|
"name": "HTM externe touchpoints",
|
|
"street": "Koningin Julianaplein",
|
|
"number": 10,
|
|
"numberAddition": null,
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "Nederland",
|
|
"emailAddress": "info@htm.nl",
|
|
"phoneNumber": "070 374 9002",
|
|
"taxId": 572309345923,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg"
|
|
}
|
|
},
|
|
"forbiddenPaymentMethods": null,
|
|
"sellingPrices": [
|
|
{
|
|
"sellingPriceId": 140,
|
|
"amountExclTax": 8899,
|
|
"amountInclTax": 9700,
|
|
"fromInclusive": "2024-12-31T23:00:00.000+0:00",
|
|
"toInclusive": "2025-12-31T23:00:00.000+00:00",
|
|
"internalPrice": 0.0000,
|
|
"taxMetadata": {
|
|
"taxMetadataId": "47C8972E-A730-4032-9BDA-AF0A5BCB2C85",
|
|
"taxCode": "V09",
|
|
"taxPercentageAmount": 9,
|
|
"description": "BTW VERKOOP LAAG 9%"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"purchasePrices": null,
|
|
"productVariants": [
|
|
{
|
|
"productId": 116,
|
|
"parentProductId": 115,
|
|
"productCode": "33630-ML",
|
|
"gboPackageTemplateId": "33630",
|
|
"tapConnectProductCode": null,
|
|
"productGroupMetadata": {
|
|
"productGroupMetadataId": "WIP",
|
|
"productGroupCode": "WIP",
|
|
"department": "WIP",
|
|
"costCenter": "WIP",
|
|
"costType": "WIP",
|
|
"description": "Work in Progress - will follow later, when FIKO is implemented",
|
|
"user": "WIP",
|
|
"documentCode": "WIP",
|
|
"timestampUpdated": "2024-09-03T15:07:53.470+00:00",
|
|
"validFrom": "2024-08-01T00:00:00.000+00:00",
|
|
"validUntil": "2025-08-01T00:00:00.000+00:00"
|
|
},
|
|
"productName": "HTM Regio Vrij - Reductietarief - Losse Maand- HL62",
|
|
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
|
|
"validityPeriod": {
|
|
"validityPeriodId": 226,
|
|
"fromInclusive": "2024-09-30T23:00:00.000+00:00",
|
|
"toInclusive": "2099-12-30T23:00:00.000+00:00"
|
|
},
|
|
"productTranslations": [
|
|
{
|
|
"language": "en",
|
|
"name": "HTM Regio Free - Reduced Fare - 1 Month - HL62",
|
|
"description": "For a fixed amount unlimited travel with EBS, HTM and RET in region HL62"
|
|
}
|
|
],
|
|
"productOwner": {
|
|
"productOwnerId": 19,
|
|
"name": "MRDH",
|
|
"organization": "MRDH"
|
|
},
|
|
"marketSegments": null,
|
|
"customerSegments": [
|
|
{
|
|
"customerSegmentId": 2,
|
|
"name": "Kind (4-11)"
|
|
},
|
|
{
|
|
"customerSegmentId": 3,
|
|
"name": "Jongere (12-18)"
|
|
}
|
|
],
|
|
"productCategory": {
|
|
"productCategoryId": 3,
|
|
"isTravelProduct": true,
|
|
"name": "Afgekocht reisrecht"
|
|
},
|
|
"requiredCustomerLevel": {
|
|
"requiredCustomerLevelId": 3,
|
|
"name": "profile"
|
|
},
|
|
"requiredProducts": null,
|
|
"incompatibleProducts": null,
|
|
"mandatoryCustomerDataItems": [
|
|
{
|
|
"mandatoryCustomerDataItemId": 1,
|
|
"customerDataItem": "birthname"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 2,
|
|
"customerDataItem": "surname"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 3,
|
|
"customerDataItem": "dateOfBirth"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 4,
|
|
"customerDataItem": "emailAddress"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 7,
|
|
"customerDataItem": "ovPayToken"
|
|
}
|
|
],
|
|
"requiredGboPersonalAttributes": [
|
|
{
|
|
"requiredGboPersonalAttributeId": 1,
|
|
"name": "NAME"
|
|
},
|
|
{
|
|
"requiredGboPersonalAttributeId": 2,
|
|
"name": "BIRTHDATE"
|
|
},
|
|
{
|
|
"requiredGboPersonalAttributeId": 3,
|
|
"name": "PHOTO"
|
|
}
|
|
],
|
|
"tokenTypes": [
|
|
{
|
|
"tokenTypeId": 1,
|
|
"name": "EMV"
|
|
}
|
|
],
|
|
"paymentMoment": {
|
|
"paymentMomentId": 1,
|
|
"name": "prepaid"
|
|
},
|
|
"serviceOptions": null,
|
|
"validityDuration": "P1M",
|
|
"maxStartInFutureDuration": "P6W",
|
|
"isRenewable": false,
|
|
"sendInvoice": false,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
|
|
"productPageUrl": "https://www.htm.nl/webshop/htm-regio-vrij",
|
|
"termsUrl": "https://www.htm.nl/reisproducten/productvoorwaarden/htm-regio-vrij/",
|
|
"isSellableAtHtm": true,
|
|
"needsSolvencyCheckConsumer": false,
|
|
"needsSolvencyCheckBusiness": false,
|
|
"sellingPeriods": [
|
|
{
|
|
"sellingPeriodId": 150,
|
|
"fromInclusive": "2024-10-30T23:00:00.000+00:00",
|
|
"toInclusive": "2029-12-30T23:00:00.000+00:00",
|
|
"salesTouchpoint": {
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailer": {
|
|
"retailerId": 1001,
|
|
"name": "HTM externe touchpoints",
|
|
"street": "Koningin Julianaplein",
|
|
"number": 10,
|
|
"numberAddition": null,
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "Nederland",
|
|
"emailAddress": "info@htm.nl",
|
|
"phoneNumber": "070 374 9002",
|
|
"taxId": 572309345923,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg"
|
|
}
|
|
},
|
|
"forbiddenPaymentMethods": null,
|
|
"sellingPrices": [
|
|
{
|
|
"sellingPriceId": 141,
|
|
"amountExclTax": 8899,
|
|
"amountInclTax": 9700,
|
|
"fromInclusive": "2024-12-31T23:00:00.000+0:00",
|
|
"toInclusive": "2025-12-31T23:00:00.000+00:00",
|
|
"internalPrice": 0.0000,
|
|
"taxMetadata": {
|
|
"taxMetadataId": "47C8972E-A730-4032-9BDA-AF0A5BCB2C85",
|
|
"taxCode": "V09",
|
|
"taxPercentageAmount": 9,
|
|
"description": "BTW VERKOOP LAAG 9%"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"purchasePrices": null,
|
|
"productVariants": null
|
|
},
|
|
{
|
|
"productId": 117,
|
|
"parentProductId": 115,
|
|
"productCode": "33630-MA",
|
|
"gboPackageTemplateId": "33630",
|
|
"tapConnectProductCode": null,
|
|
"productGroupMetadata": {
|
|
"productGroupMetadataId": "WIP",
|
|
"productGroupCode": "WIP",
|
|
"department": "WIP",
|
|
"costCenter": "WIP",
|
|
"costType": "WIP",
|
|
"description": "Work in Progress - will follow later, when FIKO is implemented",
|
|
"user": "WIP",
|
|
"documentCode": "WIP",
|
|
"timestampUpdated": "2024-09-03T15:07:53.470+00:00",
|
|
"validFrom": "2024-08-01T00:00:00.000+00:00",
|
|
"validUntil": "2025-08-01T00:00:00.000+00:00"
|
|
},
|
|
"productName": "HTM Regio Vrij - Reductietarief - Doorlopend abonnement- HL62",
|
|
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL62",
|
|
"validityPeriod": {
|
|
"validityPeriodId": 227,
|
|
"fromInclusive": "2024-09-30T23:00:00.000+00:00",
|
|
"toInclusive": "2099-12-30T23:00:00.000+00:00"
|
|
},
|
|
"productTranslations": [
|
|
{
|
|
"language": "en",
|
|
"name": "HTM Regio Free - Reduced Fare - Renewable subscription - HL62",
|
|
"description": "For a fixed amount unlimited travel with EBS, HTM and RET in region HL62"
|
|
}
|
|
],
|
|
"productOwner": {
|
|
"productOwnerId": 19,
|
|
"name": "MRDH",
|
|
"organization": "MRDH"
|
|
},
|
|
"marketSegments": null,
|
|
"customerSegments": [
|
|
{
|
|
"customerSegmentId": 2,
|
|
"name": "Kind (4-11)"
|
|
},
|
|
{
|
|
"customerSegmentId": 3,
|
|
"name": "Jongere (12-18)"
|
|
}
|
|
],
|
|
"productCategory": {
|
|
"productCategoryId": 3,
|
|
"isTravelProduct": true,
|
|
"name": "Afgekocht reisrecht"
|
|
},
|
|
"requiredCustomerLevel": {
|
|
"requiredCustomerLevelId": 3,
|
|
"name": "profile"
|
|
},
|
|
"requiredProducts": null,
|
|
"incompatibleProducts": null,
|
|
"mandatoryCustomerDataItems": [
|
|
{
|
|
"mandatoryCustomerDataItemId": 1,
|
|
"customerDataItem": "birthname"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 2,
|
|
"customerDataItem": "surname"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 3,
|
|
"customerDataItem": "dateOfBirth"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 4,
|
|
"customerDataItem": "emailAddress"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 7,
|
|
"customerDataItem": "ovPayToken"
|
|
}
|
|
],
|
|
"requiredGboPersonalAttributes": [
|
|
{
|
|
"requiredGboPersonalAttributeId": 1,
|
|
"name": "NAME"
|
|
},
|
|
{
|
|
"requiredGboPersonalAttributeId": 2,
|
|
"name": "BIRTHDATE"
|
|
},
|
|
{
|
|
"requiredGboPersonalAttributeId": 3,
|
|
"name": "PHOTO"
|
|
}
|
|
],
|
|
"tokenTypes": [
|
|
{
|
|
"tokenTypeId": 1,
|
|
"name": "EMV"
|
|
}
|
|
],
|
|
"paymentMoment": {
|
|
"paymentMomentId": 1,
|
|
"name": "prepaid"
|
|
},
|
|
"serviceOptions": null,
|
|
"validityDuration": "P1M",
|
|
"maxStartInFutureDuration": "P6W",
|
|
"isRenewable": true,
|
|
"sendInvoice": true,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg",
|
|
"productPageUrl": "https://www.htm.nl/webshop/htm-regio-vrij",
|
|
"termsUrl": "https://www.htm.nl/reisproducten/productvoorwaarden/htm-regio-vrij/",
|
|
"isSellableAtHtm": true,
|
|
"needsSolvencyCheckConsumer": false,
|
|
"needsSolvencyCheckBusiness": false,
|
|
"sellingPeriods": [
|
|
{
|
|
"sellingPeriodId": 151,
|
|
"fromInclusive": "2024-10-30T23:00:00.000+00:00",
|
|
"toInclusive": "2029-12-30T23:00:00.000+00:00",
|
|
"salesTouchpoint": {
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailer": {
|
|
"retailerId": 1001,
|
|
"name": "HTM externe touchpoints",
|
|
"street": "Koningin Julianaplein",
|
|
"number": 10,
|
|
"numberAddition": null,
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "Nederland",
|
|
"emailAddress": "info@htm.nl",
|
|
"phoneNumber": "070 374 9002",
|
|
"taxId": 572309345923,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg"
|
|
}
|
|
},
|
|
"forbiddenPaymentMethods": null,
|
|
"sellingPrices": [
|
|
{
|
|
"sellingPriceId": 142,
|
|
"amountExclTax": 8899,
|
|
"amountInclTax": 9700,
|
|
"fromInclusive": "2024-12-31T23:00:00.000+0:00",
|
|
"toInclusive": "2025-12-31T23:00:00.000+00:00",
|
|
"internalPrice": 0.0000,
|
|
"taxMetadata": {
|
|
"taxMetadataId": "47C8972E-A730-4032-9BDA-AF0A5BCB2C85",
|
|
"taxCode": "V09",
|
|
"taxPercentageAmount": 9,
|
|
"description": "BTW VERKOOP LAAG 9%"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"purchasePrices": null,
|
|
"productVariants": null
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"productId": 112,
|
|
"parentProductId": 49,
|
|
"productCode": null,
|
|
"gboPackageTemplateId": null,
|
|
"tapConnectProductCode": null,
|
|
"productGroupMetadata": null,
|
|
"productName": "HTM Regio Vrij - HL65",
|
|
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL65",
|
|
"validityPeriod": {
|
|
"validityPeriodId": 222,
|
|
"fromInclusive": "2024-09-30T23:00:00.000+00:00",
|
|
"toInclusive": "2099-12-30T23:00:00.000+00:00"
|
|
},
|
|
"productTranslations": [
|
|
{
|
|
"language": "en",
|
|
"name": "HTM Regio Free - HL65",
|
|
"description": "For a fixed amount unlimited travel with EBS, HTM and RET in region HL65"
|
|
}
|
|
],
|
|
"productOwner": {
|
|
"productOwnerId": 19,
|
|
"name": "MRDH",
|
|
"organization": "MRDH"
|
|
},
|
|
"marketSegments": null,
|
|
"customerSegments": [
|
|
{
|
|
"customerSegmentId": 2,
|
|
"name": "Kind (4-11)"
|
|
},
|
|
{
|
|
"customerSegmentId": 3,
|
|
"name": "Jongere (12-18)"
|
|
},
|
|
{
|
|
"customerSegmentId": 4,
|
|
"name": "Volwassene (19-64)"
|
|
},
|
|
{
|
|
"customerSegmentId": 5,
|
|
"name": "Oudere (65+)"
|
|
}
|
|
],
|
|
"productCategory": {
|
|
"productCategoryId": 3,
|
|
"isTravelProduct": true,
|
|
"name": "Afgekocht reisrecht"
|
|
},
|
|
"requiredCustomerLevel": {
|
|
"requiredCustomerLevelId": 3,
|
|
"name": "profile"
|
|
},
|
|
"requiredProducts": null,
|
|
"incompatibleProducts": null,
|
|
"mandatoryCustomerDataItems": [
|
|
{
|
|
"mandatoryCustomerDataItemId": 1,
|
|
"customerDataItem": "birthname"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 2,
|
|
"customerDataItem": "surname"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 3,
|
|
"customerDataItem": "dateOfBirth"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 4,
|
|
"customerDataItem": "emailAddress"
|
|
},
|
|
{
|
|
"mandatoryCustomerDataItemId": 7,
|
|
"customerDataItem": "ovPayToken"
|
|
}
|
|
],
|
|
"requiredGboPersonalAttributes": [
|
|
{
|
|
"requiredGboPersonalAttributeId": 1,
|
|
"name": "NAME"
|
|
},
|
|
{
|
|
"requiredGboPersonalAttributeId": 2,
|
|
"name": "BIRTHDATE"
|
|
},
|
|
{
|
|
"requiredGboPersonalAttributeId": 3,
|
|
"name": "PHOTO"
|
|
}
|
|
],
|
|
"tokenTypes": [
|
|
{
|
|
"tokenTypeId": 1,
|
|
"name": "EMV"
|
|
}
|
|
],
|
|
"paymentMoment": {
|
|
"paymentMomentId": 1,
|
|
"name": "prepaid"
|
|
},
|
|
"serviceOptions": null,
|
|
"validityDuration": "P1M",
|
|
"maxStartInFutureDuration": "P6W",
|
|
"isRenewable": null,
|
|
"sendInvoice": null,
|
|
"imageReference": "https://web.acc.cloud.htm.nl/media/leif2leu/htm-logo-mobile.svg",
|
|
"productPageUrl": "https://web.acc.cloud.htm.nl/webshop/htm-regio-vrij",
|
|
"termsUrl": "https://web.acc.cloud.htm.nl/reisproducten/productvoorwaarden/htm-regio-vrij/",
|
|
"isSellableAtHtm": true,
|
|
"needsSolvencyCheckConsumer": false,
|
|
"needsSolvencyCheckBusiness": false,
|
|
"sellingPeriods": [
|
|
{
|
|
"sellingPeriodId": 146,
|
|
"fromInclusive": "2024-10-30T23:00:00.000+00:00",
|
|
"toInclusive": "2029-12-30T23:00:00.000+00:00",
|
|
"salesTouchpoint": {
|
|
"salesTouchpointId": 3,
|
|
"name": "Website (Perplex)",
|
|
"isActive": true,
|
|
"retailer": {
|
|
"retailerId": 1001,
|
|
"name": "HTM externe touchpoints",
|
|
"street": "Koningin Julianaplein",
|
|
"number": 10,
|
|
"numberAddition": null,
|
|
"postalCode": "2595 AA",
|
|
"city": "Den Haag",
|
|
"country": "Nederland",
|
|
"emailAddress": "info@htm.nl",
|
|
"phoneNumber": "070 374 9002",
|
|
"taxId": 572309345923,
|
|
"imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg"
|
|
}
|
|
},
|
|
"forbiddenPaymentMethods": null,
|
|
"sellingPrices": null
|
|
}
|
|
],
|
|
"purchasePrices": null,
|
|
"productVariants": null
|
|
}
|
|
]
|
|
}
|
|
'404':
|
|
description: '404'
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/rfc9457Response'
|
|
examples:
|
|
Non-existing productId:
|
|
summary: Non-existing productId
|
|
value:
|
|
{
|
|
"type": "https://www.htm.nl/api/v1/404Error",
|
|
"title": "Product not found.",
|
|
"detail": "No product found for productId: 1000.",
|
|
"instance": "urn:uuid:13c8416f-7632-4c8b-8a16-2132197be60c",
|
|
"apiErrorCode": "htm.api.err.404.2"
|
|
}
|
|
components:
|
|
schemas:
|
|
TaxMetadataResponse:
|
|
type: object
|
|
required:
|
|
- taxMetadataId
|
|
- taxCode
|
|
- taxPercentageAmount
|
|
properties:
|
|
taxMetadataId:
|
|
type: string
|
|
format: uuid
|
|
example: 501B17EF-36C4-4039-B92C-6517969B464E
|
|
taxCode:
|
|
type: string
|
|
example: V09
|
|
taxPercentageAmount:
|
|
type: integer
|
|
example: 21
|
|
description:
|
|
type: string
|
|
example: BTW VERKOOP LAAG 9%
|
|
ProductTranslationResponse:
|
|
type: object
|
|
required:
|
|
- language
|
|
properties:
|
|
language:
|
|
type: string
|
|
example: en
|
|
name:
|
|
type: string
|
|
example: HTM F&F 90% korting
|
|
description:
|
|
type: string
|
|
example: >-
|
|
Travel with 90% discount for a week during the first HTM F&F OVpay
|
|
pilot!
|
|
SellingPriceResponse:
|
|
type: object
|
|
required:
|
|
- sellingPriceId
|
|
- amountExclTax
|
|
- taxMetadata
|
|
- amountInclTax
|
|
- fromInclusive
|
|
- toInclusive
|
|
- internalPrice
|
|
properties:
|
|
sellingPriceId:
|
|
type: integer
|
|
example: 1
|
|
amountExclTax:
|
|
type: integer
|
|
example: 750
|
|
taxMetadata:
|
|
$ref: '#/components/schemas/TaxMetadataResponse'
|
|
amountInclTax:
|
|
type: integer
|
|
example: 908
|
|
fromInclusive:
|
|
type: string
|
|
format: date-time-offset
|
|
example: '2022-03-01T00:00:00.000+00:00'
|
|
toInclusive:
|
|
type: string
|
|
format: date-time-offset
|
|
example: '2022-06-01T00:00:00.000+00:00'
|
|
internalPrice:
|
|
type: number
|
|
example: 908.1234
|
|
PurchasePriceResponse:
|
|
type: object
|
|
required:
|
|
- purchasePriceId
|
|
- amountExclTax
|
|
- taxMetadata
|
|
- amountInclTax
|
|
- fromInclusive
|
|
- toInclusive
|
|
properties:
|
|
purchasePriceId:
|
|
type: integer
|
|
example: 1
|
|
amountExclTax:
|
|
type: integer
|
|
example: 750
|
|
taxMetadata:
|
|
$ref: '#/components/schemas/TaxMetadataResponse'
|
|
amountInclTax:
|
|
type: integer
|
|
example: 908
|
|
fromInclusive:
|
|
type: string
|
|
format: date-time-offset
|
|
example: '2022-03-01T00:00:00.000+00:00'
|
|
toInclusive:
|
|
type: string
|
|
format: date-time-offset
|
|
example: '2022-06-01T00:00:00.000+00:00'
|
|
SalesTouchpointResponse:
|
|
type: object
|
|
required:
|
|
- salesTouchpointId
|
|
- name
|
|
- isActive
|
|
- retailer
|
|
properties:
|
|
salesTouchpointId:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: HTM App
|
|
isActive:
|
|
type: boolean
|
|
example: true
|
|
retailer:
|
|
type: object
|
|
required:
|
|
- retailerId
|
|
- name
|
|
properties:
|
|
retailerId:
|
|
type: integer
|
|
example: 1001
|
|
name:
|
|
type: string
|
|
example: HTM
|
|
street:
|
|
type: string
|
|
example: Kon. Julianaplein
|
|
number:
|
|
type: string
|
|
example: '10'
|
|
numberAddition:
|
|
type: string
|
|
example: a
|
|
postalCode:
|
|
type: string
|
|
example: 2595 AA
|
|
city:
|
|
type: string
|
|
example: Den Haag
|
|
country:
|
|
type: string
|
|
example: Nederland
|
|
emailAddress:
|
|
type: string
|
|
format: email
|
|
example: info@htm.nl
|
|
phoneNumber:
|
|
type: string
|
|
example: '09004864636'
|
|
taxId:
|
|
type: string
|
|
example: '09004864636'
|
|
imageReference:
|
|
type: string
|
|
example: https://htm.azure.net/abt/retailers/htm.svg
|
|
ProductPayloadListResponse:
|
|
type: object
|
|
required:
|
|
- Entries
|
|
properties:
|
|
Entries:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- productId
|
|
properties:
|
|
productId:
|
|
type: integer
|
|
example: 1
|
|
productCode:
|
|
type: string
|
|
example: 30901-WL
|
|
productName:
|
|
type: string
|
|
example: HTM pilot 90% korting
|
|
productDescription:
|
|
type: string
|
|
example: Reis met 90% korting gedurende de eerste F&F pilot!
|
|
productCategory:
|
|
type: object
|
|
required:
|
|
- productCategoryId
|
|
- isTravelProduct
|
|
- name
|
|
properties:
|
|
productCategoryId:
|
|
type: integer
|
|
example: 1
|
|
isTravelProduct:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: Kortingsabonnement
|
|
tokenTypes:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- tokenTypeId
|
|
- name
|
|
properties:
|
|
tokenTypeId:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: EMV
|
|
sellableTouchPointIds:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
example: 3
|
|
amountInclTax:
|
|
type: number
|
|
example: 100
|
|
imageReference:
|
|
type: string
|
|
example: https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg
|
|
productPageUrl:
|
|
type: string
|
|
format: uri
|
|
example: https://www.htm.nl/nog-onbekende-product-pagina
|
|
_links:
|
|
type: object
|
|
properties:
|
|
get_details:
|
|
type: object
|
|
properties:
|
|
href:
|
|
type: string
|
|
example: https://api.integratielaag.nl/abt/abtserviceengine/2.0/products/1
|
|
method:
|
|
type: string
|
|
example: GET
|
|
|
|
ProductPayloadResponse:
|
|
type: object
|
|
required:
|
|
- productId
|
|
- productOwner
|
|
- isRenewable
|
|
- isSellableAtHtm
|
|
- needsSolvencyCheckConsumer
|
|
- needsSolvencyCheckBusiness
|
|
properties:
|
|
productId:
|
|
type: integer
|
|
example: 1
|
|
parentProductId:
|
|
type: integer
|
|
example: 1
|
|
productCode:
|
|
type: string
|
|
example: 30901-WL
|
|
gboPackageTemplateId:
|
|
type: string
|
|
example: '30901'
|
|
tapConnectProductCode:
|
|
type: string
|
|
example: 1234AB
|
|
productGroupMetadata:
|
|
type: object
|
|
required:
|
|
- productGroupMetadataId
|
|
- productGroupCode
|
|
- department
|
|
- costCenter
|
|
- costType
|
|
- description
|
|
- documentCode
|
|
- user
|
|
- timestampUpdated
|
|
- validFrom
|
|
properties:
|
|
productGroupMetadataId:
|
|
type: string
|
|
format: uuid
|
|
example: 501B17EF-36C4-4039-B92C-6517969B464E
|
|
productGroupCode:
|
|
type: string
|
|
example: TBD
|
|
department:
|
|
type: string
|
|
example: TBD
|
|
costCenter:
|
|
type: string
|
|
example: TBD
|
|
costType:
|
|
type: string
|
|
example: TBD
|
|
description:
|
|
type: string
|
|
example: TBD
|
|
documentCode:
|
|
type: string
|
|
example: TBD
|
|
user:
|
|
type: string
|
|
example: TBD
|
|
timestampUpdated:
|
|
type: string
|
|
format: date-time-offset
|
|
example: '2024-09-03T10:01:34.000+00:00'
|
|
validFrom:
|
|
type: string
|
|
format: date-time-offset
|
|
example: '2024-09-03T10:01:34.000+00:00'
|
|
validUntil:
|
|
type: string
|
|
format: date-time-offset
|
|
example: '2024-09-03T10:01:34.000+00:00'
|
|
productName:
|
|
type: string
|
|
example: HTM pilot 90% korting
|
|
productDescription:
|
|
type: string
|
|
example: Reis met 90% korting gedurende de eerste F&F pilot!
|
|
validityPeriod:
|
|
type: object
|
|
required:
|
|
- validityPeriodId
|
|
- fromInclusive
|
|
- toInclusive
|
|
properties:
|
|
validityPeriodId:
|
|
type: integer
|
|
example: 1
|
|
fromInclusive:
|
|
type: string
|
|
format: date-time-offset
|
|
example: '2024-09-03T10:01:34.000+00:00'
|
|
toInclusive:
|
|
type: string
|
|
format: date-time-offset
|
|
example: '2024-09-03T23:59:59.999+00:00'
|
|
productTranslations:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ProductTranslationResponse'
|
|
productOwner:
|
|
type: object
|
|
required:
|
|
- productOwnerId
|
|
- name
|
|
properties:
|
|
productOwnerId:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: John Doe
|
|
organization:
|
|
type: string
|
|
example: HTM
|
|
marketSegmentse:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- marketSegmentId
|
|
- name
|
|
properties:
|
|
marketSegmentId:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: B2C
|
|
customerSegments:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- customerSegmentId
|
|
- name
|
|
properties:
|
|
customerSegmentId:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: Kind (4-11)
|
|
productCategory:
|
|
type: object
|
|
required:
|
|
- productCategoryId
|
|
- name
|
|
- isTravelProduct
|
|
properties:
|
|
productCategoryId:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: Kortingsabonnement
|
|
isTravelProduct:
|
|
type: boolean
|
|
example: true
|
|
requiredCustomerLevel:
|
|
type: object
|
|
required:
|
|
- requiredCustomerLevelId
|
|
- name
|
|
properties:
|
|
requiredCustomerLevelId:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: anonymous
|
|
requiredProducts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- requiredProductId
|
|
- productName
|
|
properties:
|
|
requiredProductId:
|
|
type: integer
|
|
example: 2
|
|
productName:
|
|
type: string
|
|
example: Product name
|
|
description:
|
|
type: string
|
|
description: Reason why the product is required
|
|
example: Description
|
|
incompatibleProducts:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- incompatibleProductId
|
|
- productName
|
|
properties:
|
|
incompatibleProductId:
|
|
type: integer
|
|
example: 4
|
|
productName:
|
|
type: string
|
|
example: Product name
|
|
description:
|
|
type: string
|
|
description: >-
|
|
Reason why the product is incompatible with the selected
|
|
product
|
|
example: Description
|
|
mandatoryCustomerDataItems:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- mandatoryCustomerDataItemId
|
|
- customerDataItem
|
|
properties:
|
|
mandatoryCustomerDataItemId:
|
|
type: integer
|
|
example: 3
|
|
customerDataItem:
|
|
type: string
|
|
example: dateOfBirth
|
|
requiredGboPersonalAttributes:
|
|
type: array
|
|
description: >-
|
|
List of required GBO personal attributes (PAD) - should not be
|
|
user-editable, but automatically populated by PMT backend, based on
|
|
the selected gboPackageTemplateId (if any)
|
|
items:
|
|
type: object
|
|
required:
|
|
- requiredGboPersonalAttributeId
|
|
- name
|
|
properties:
|
|
requiredGboPersonalAttributeId:
|
|
type: integer
|
|
example: 2
|
|
name:
|
|
type: string
|
|
example: BIRTHDATE
|
|
tokenTypes:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- tokenTypeId
|
|
- name
|
|
properties:
|
|
tokenTypeId:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: EMV
|
|
paymentMoment:
|
|
type: object
|
|
required:
|
|
- paymentMomentId
|
|
- name
|
|
properties:
|
|
paymentMomentId:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: prepaid
|
|
serviceOptions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- serviceOptionId
|
|
- action
|
|
properties:
|
|
serviceOptionId:
|
|
type: integer
|
|
example: 1
|
|
action:
|
|
type: string
|
|
example: cancellableTermAhead
|
|
description:
|
|
type: string
|
|
example: Per termijn vooruit opzegbaar
|
|
validityDuration:
|
|
type: string
|
|
format: duration
|
|
example: P1M
|
|
maxStartInFutureDuration:
|
|
type: string
|
|
format: duration
|
|
example: P6W
|
|
isRenewable:
|
|
type: boolean
|
|
example: true
|
|
sendInvoice:
|
|
type: boolean
|
|
example: false
|
|
imageReference:
|
|
type: string
|
|
format: uri
|
|
example: https://htm.azure.net/abt/products/product_1.svg
|
|
productPageUrl:
|
|
type: string
|
|
format: uri
|
|
example: https://www.htm.nl/nog-onbekende-product-pagina
|
|
termsUrl:
|
|
type: string
|
|
format: uri
|
|
example: https://www.htm.nl/nog-onbekende-productvoorwaarden-pagina
|
|
isSellableAtHtm:
|
|
type: boolean
|
|
example: true
|
|
needsSolvencyCheckConsumer:
|
|
type: boolean
|
|
example: false
|
|
needsSolvencyCheckBusiness:
|
|
type: boolean
|
|
example: false
|
|
sellingPeriods:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- sellingPeriodId
|
|
- fromInclusive
|
|
- toInclusive
|
|
- salesTouchpoint
|
|
properties:
|
|
sellingPeriodId:
|
|
type: integer
|
|
example: 1
|
|
fromInclusive:
|
|
type: string
|
|
format: date-time-offset
|
|
example: '2022-03-01T00:00:00.000+00:00'
|
|
toInclusive:
|
|
type: string
|
|
format: date-time-offset
|
|
example: '2022-06-01T00:00:00.000+00:00'
|
|
salesTouchpoint:
|
|
$ref: '#/components/schemas/SalesTouchpointResponse'
|
|
forbiddenPaymentMethods:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- forbiddenPaymentMethodId
|
|
- name
|
|
properties:
|
|
forbiddenPaymentMethodId:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: Credit Card
|
|
issuer:
|
|
type: string
|
|
example: American Express
|
|
sellingPrices:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SellingPriceResponse'
|
|
purchasePrices:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/PurchasePriceResponse'
|
|
auditTrail:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- auditTrailId
|
|
- action
|
|
- user
|
|
- timestamp
|
|
properties:
|
|
auditTrailId:
|
|
type: integer
|
|
example: 1
|
|
action:
|
|
type: string
|
|
example: insert
|
|
user:
|
|
type: string
|
|
example: username
|
|
timestamp:
|
|
type: string
|
|
format: date-time-offset
|
|
example: '2024-09-03T10:01:34.000+00:00'
|
|
rfc9457Response:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
format: url
|
|
example: "https://www.htm.nl/api/v1/rfc9457Error"
|
|
title:
|
|
type: string
|
|
description: "Short summary of the error."
|
|
example: "The request is not valid."
|
|
detail:
|
|
type: string
|
|
description: "More detailed descriptionof the error."
|
|
example: "Some required parameters are missing."
|
|
instance:
|
|
type: string
|
|
description: "Unique identifier to correlate this specific error with logging in other applications."
|
|
example: "urn:uuid:13c8416f-7632-4c8b-8a16-2132197be60c"
|
|
additionalProperty1:
|
|
type: string
|
|
description: "Example of an additional property value to be used for error reporting."
|
|
example: "additionalValue1"
|
|
additionalProperty2:
|
|
type: array
|
|
description: "Example of an additional property array to be used for error reporting."
|
|
items:
|
|
type: string
|
|
example:
|
|
- "additionalValue2-1"
|
|
- "additionalValue2-2" |