From 62c1f3a8e63834ed19495a232f03bdcf9b648d49 Mon Sep 17 00:00:00 2001 From: Max Martens Date: Mon, 31 Mar 2025 11:48:36 +0200 Subject: [PATCH] Finish SE and TP Swaggers --- src/openapi/products/SE-products-SE.yaml | 2 +- src/openapi/products/SE-products-TP.yaml | 3379 ++++++++--------- .../products/productreference-crud.yaml | 14 + 3 files changed, 1694 insertions(+), 1701 deletions(-) diff --git a/src/openapi/products/SE-products-SE.yaml b/src/openapi/products/SE-products-SE.yaml index 81b6683..554e912 100644 --- a/src/openapi/products/SE-products-SE.yaml +++ b/src/openapi/products/SE-products-SE.yaml @@ -1738,7 +1738,7 @@ paths: "toInclusive": "2025-12-31T23:00:00.000+00:00", "internalPrice": 0.0000, "taxCode": "V09", - "taxPercentaget": 9.0000, + "taxPercentage": 9.0000, }, ], }, diff --git a/src/openapi/products/SE-products-TP.yaml b/src/openapi/products/SE-products-TP.yaml index fe42ee4..a1e316c 100644 --- a/src/openapi/products/SE-products-TP.yaml +++ b/src/openapi/products/SE-products-TP.yaml @@ -4,7 +4,7 @@ info: 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' + version: "1.0" servers: - url: https://api.integratielaag.nl/abt/touchpoint/2.0 tags: @@ -30,252 +30,241 @@ paths: 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. + 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': + "200": description: OK content: application/json: schema: - $ref: '#/components/schemas/ProductPayloadListResponse' + $ref: "#/components/schemas/ProductPayloadListResponse" examples: No products / Empty list: summary: No products / Empty list description: No products - value: - { - "Entries": [] - } + 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!** + 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/touchpoint/2.0/products/99", - "method": "GET" - } - } - } - ] + "Entries": + [ + { + "productId": 99, + "productName": null, + "productDescription": null, + "productCategory": null, + "tokenTypes": [], + "sellableTouchpointIds": [], + "amountInclTax": null, + "imageReference": null, + "productPageUrl": null, + "_links": + { + "get_details": + { + "href": "https://api.integratielaag.nl/abt/touchpoint/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" + "Entries": + [ + { + "productId": 2, + "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/touchpoint/2.0/products/2", + "method": "GET", + }, + }, }, - "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/touchpoint/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" + "Entries": + [ + { + "productId": 2, + "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/touchpoint/2.0/products/2", + "method": "GET", + }, + }, }, - "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/touchpoint/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" + "Entries": + [ + { + "productId": 49, + "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": [3], + "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/touchpoint/2.0/products/49", + "method": "GET", + }, + }, }, - "tokenTypes": [], - "sellableTouchpointIds": [ - 3 - ], - "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/touchpoint/2.0/products/49", - "method": "GET" - } - } - } - ] + ], } List containing one product which can be sold by touchpointId 3 and 4 (called by touchpointId 4): summary: List containing one product which can be sold by touchpointId 3 and 4 (called by touchpointId 4) description: Product is returned value: { - "Entries": [ - { - "productId": 126, - "productCode": null, - "productName": "HTM-30001", - "productDescription": "Reis met 20% korting op je betaalpas bij HTM.", - "productCategory": { - "productCategoryId": 1, - "isTravelProduct": true, - "name": "Kortingsabonnement" + "Entries": + [ + { + "productId": 126, + "productName": "HTM-30001", + "productDescription": "Reis met 20% korting op je betaalpas bij HTM.", + "productCategory": + { + "productCategoryId": 1, + "isTravelProduct": true, + "name": "Kortingsabonnement", + }, + "tokenTypes": [{ "tokenTypeId": 1, "name": "EMV" }], + "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/touchpoint/2.0/products/126", + "method": "GET", + }, + }, }, - "tokenTypes": [ - { - "tokenTypeId": 1, - "name": "EMV" - } - ], - "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/touchpoint/2.0/products/126", - "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" + "Entries": + [ + { + "productId": 2, + "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/touchpoint/2.0/products/2", + "method": "GET", + }, + }, }, - "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/touchpoint/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" + { + "productId": 4, + "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/touchpoint/2.0/products/4", + "method": "GET", + }, + }, }, - "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/touchpoint/2.0/products/4", - "method": "GET" - } - } - } - ] + ], } /products/{productId}: get: @@ -286,7 +275,7 @@ paths: 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. + for other touchpoints are thus filtered out. **Empty lists/arrays show up as "[]", not as null!** 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. @@ -306,90 +295,69 @@ paths: type: integer example: 1 responses: - '200': + "200": description: OK content: application/json: schema: - $ref: '#/components/schemas/ProductPayloadResponse' + $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. + 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. + This product has no child products, so its `productVariants` array is empty. value: { "productId": 24, "parentProductId": null, - "productCode": "HTM-30901-WL", + "fikoArticleNumber": "1234", "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": [ + "validityPeriod": { - "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": [ + "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": { - "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": [ + "productOwnerId": 17, + "name": "Corneel Verstoep", + "organization": "HTM", + }, + "marketSegments": + [{ "marketSegmentId": 1, "name": "B2C" }], + "allowedGboAgeProfiles": [], + "customerSegments": [], + "productCategory": { - "tokenTypeId": 1, - "name": "EMV" - } - ], - "paymentMoment": { - "paymentMomentId": 1, - "name": "prepaid" - }, - "serviceOptions": null, + "productCategoryId": 1, + "isTravelProduct": true, + "name": "Kortingsabonnement", + }, + "requiredCustomerLevel": + { "requiredCustomerLevelId": 1, "name": "guest" }, + "requiredProducts": [], + "incompatibleProducts": [], + "mandatoryCustomerDataItems": [], + "requiredGboPersonalAttributes": [], + "tokenTypes": [{ "tokenTypeId": 1, "name": "EMV" }], + "paymentMoment": + { "paymentMomentId": 1, "name": "prepaid" }, + "serviceOptions": [], "validityDuration": "P7D", "maxStartInFutureDuration": "P6W", "isRenewable": false, @@ -400,126 +368,118 @@ paths: "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" - } + "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": [], + "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, + "taxCode": "V09", + "taxPercentage": 9.0000, + }, + ], }, - "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 + ], + "purchasePrices": [], + "productVariants": [], } 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. + 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. + This product has two `productVariants`: a single month variant and a subscription variant. value: { "productId": 126, "parentProductId": null, - "productCode": "HTM-30001", + "fikoArticleNumber": "1234", "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": [ + "validityPeriod": { - "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" + "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": { - "mandatoryCustomerDataItemId": 7, - "customerDataItem": "ovPayToken" - } - ], - "requiredGboPersonalAttributes": null, - "tokenTypes": [ + "productOwnerId": 17, + "name": "Corneel Verstoep", + "organization": "HTM", + }, + "marketSegments": + [{ "marketSegmentId": 1, "name": "B2C" }], + "customerSegments": [], + "allowedGboAgeProfiles": [], + "productCategory": { - "tokenTypeId": 1, - "name": "EMV" - } - ], - "paymentMoment": { - "paymentMomentId": 1, - "name": "prepaid" - }, - "serviceOptions": null, + "productCategoryId": 1, + "isTravelProduct": true, + "name": "Kortingsabonnement", + }, + "requiredCustomerLevel": + { "requiredCustomerLevelId": 1, "name": "guest" }, + "requiredProducts": [], + "incompatibleProducts": [], + "mandatoryCustomerDataItems": + [ + { + "mandatoryCustomerDataItemId": 4, + "customerDataItem": "emailAddress", + }, + { + "mandatoryCustomerDataItemId": 7, + "customerDataItem": "ovPayToken", + }, + ], + "requiredGboPersonalAttributes": [], + "tokenTypes": [{ "tokenTypeId": 1, "name": "EMV" }], + "paymentMoment": + { "paymentMomentId": 1, "name": "prepaid" }, + "serviceOptions": [], "validityDuration": "P1M", "maxStartInFutureDuration": "P6W", "isRenewable": null, @@ -530,418 +490,397 @@ paths: "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, + "sellingPeriods": + [ + { + "sellingPeriodId": 172, "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": { + "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" - } + "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": [ + "forbiddenPaymentMethods": [], + "sellingPrices": [], + }, + ], + "purchasePrices": [], + "productVariants": + [ + { + "productId": 119, + "parentProductId": 126, + "fikoArticleNumber": "1234", + "gboPackageTemplateId": "30001", + "tapConnectProductCode": null, + "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": + [ { - "sellingPriceId": 149, - "amountExclTax": 276, - "amountInclTax": 300, + "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": [], + "gboAgeProfiles": [], + "productCategory": + { + "productCategoryId": 1, + "isTravelProduct": true, + "name": "Kortingsabonnement", + }, + "requiredCustomerLevel": + { "requiredCustomerLevelId": 1, "name": "guest" }, + "requiredProducts": [], + "incompatibleProducts": [], + "mandatoryCustomerDataItems": + [ + { + "mandatoryCustomerDataItemId": 4, + "customerDataItem": "emailAddress", + }, + { + "mandatoryCustomerDataItemId": 7, + "customerDataItem": "ovPayToken", + }, + ], + "requiredGboPersonalAttributes": [], + "tokenTypes": [{ "tokenTypeId": 1, "name": "EMV" }], + "paymentMoment": + { "paymentMomentId": 1, "name": "prepaid" }, + "serviceOptions": [], + "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", - "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" + "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": [], + "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, + "taxCode": "V09", + "taxPercentage": 9.0000, + }, + ], + }, + ], + "purchasePrices": [], + "productVariants": [], }, - "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" - } + { + "productId": 120, + "parentProductId": 126, + "fikoArticleNumber": "1234", + "gboPackageTemplateId": "30001", + "tapConnectProductCode": null, + "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", }, - "forbiddenPaymentMethods": null, - "sellingPrices": [ + "productTranslations": + [ { - "sellingPriceId": 148, - "amountExclTax": 276, - "amountInclTax": 300, + "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": [], + "allowedGboAgeProfiles": [], + "productCategory": + { + "productCategoryId": 1, + "isTravelProduct": true, + "name": "Kortingsabonnement", + }, + "requiredCustomerLevel": + { "requiredCustomerLevelId": 1, "name": "guest" }, + "requiredProducts": [], + "incompatibleProducts": [], + "mandatoryCustomerDataItems": + [ + { + "mandatoryCustomerDataItemId": 4, + "customerDataItem": "emailAddress", + }, + { + "mandatoryCustomerDataItemId": 7, + "customerDataItem": "ovPayToken", + }, + ], + "requiredGboPersonalAttributes": [], + "tokenTypes": [{ "tokenTypeId": 1, "name": "EMV" }], + "paymentMoment": + { "paymentMomentId": 1, "name": "prepaid" }, + "serviceOptions": [], + "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", - "internalPrice": 0.0000, - "taxMetadata": { - "taxMetadataId": "47C8972E-A730-4032-9BDA-AF0A5BCB2C85", - "taxCode": "V09", - "taxPercentageAmount": 9, - "description": "BTW VERKOOP LAAG 9%" - } - } - ] - } - ], - "purchasePrices": null, - "productVariants": null - } - ] - } + "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": [], + "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, + "taxCode": "V09", + "taxPercentage": 9.0000, + }, + ], + }, + ], + "purchasePrices": [], + "productVariants": [], + }, + ], + } 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. + 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. + The full depth of the tree is included in the example for the HL62 Reduced Fare Variant. value: { "productId": 49, "parentProductId": null, - "productCode": null, + "fikoArticleNumber": "1234", "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": [ + "validityPeriod": { - "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)" + "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": { - "customerSegmentId": 3, - "name": "Jongere (12-18)" + "productOwnerId": 19, + "name": "MRDH", + "organization": "MRDH", }, + "marketSegments": [], + "customerSegments": [], + "allowedGboAgeProfiles": + [ + { + "gboAgeProfileId": 1, + "name": "Baby/peuter (0 t/m 3 jaar)", + "ageFromInclusive": 0, + "ageToInclusive": 3, + }, + { + "ageProfileId": 2, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, + { + "ageProfileId": 3, + "name": "Jongere (12 t/m 18 jaar)", + "ageFromInclusive": 12, + "ageToInclusive": 18, + }, + { + "ageProfileId": 4, + "name": "Volwassene (19 t/m 64 jaar)", + "ageFromInclusive": 19, + "ageToInclusive": 64, + }, + { + "ageProfileId": 5, + "name": "Oudere (65 jaar of ouder)", + "ageFromInclusive": 65, + "ageToInclusive": 999, + }, + ], + "productCategory": { - "customerSegmentId": 4, - "name": "Volwassene (19-64)" + "productCategoryId": 3, + "isTravelProduct": true, + "name": "Afgekocht reisrecht", }, - { - "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, + "requiredCustomerLevel": + { "requiredCustomerLevelId": 3, "name": "profile" }, + "requiredProducts": [], + "incompatibleProducts": [], + "mandatoryCustomerDataItems": + [ + { + "mandatoryCustomerDataItemId": 1, + "customerDataItem": "birthname", + }, + { + "mandatoryCustomerDataItemId": 2, + "customerDataItem": "surname", + }, + { + "mandatoryCustomerDataItemId": 3, + "customerDataItem": "dateOfBirth", + }, + { + "mandatoryCustomerDataItemId": 4, + "customerDataItem": "emailAddress", + }, + { + "mandatoryCustomerDataItemId": 7, + "customerDataItem": "ovPayToken", + }, + { + "mandatoryCustomerDataItemId": 8, + "customerDataItem": "padBirthDate", + }, + ], + "requiredGboPersonalAttributes": + [ + { + "requiredGboPersonalAttributeId": 1, + "name": "NAME", + }, + { + "requiredGboPersonalAttributeId": 2, + "name": "BIRTHDATE", + }, + { + "requiredGboPersonalAttributeId": 3, + "name": "PHOTO", + }, + ], + "tokenTypes": [{ "tokenTypeId": 1, "name": "EMV" }], + "paymentMoment": + { "paymentMomentId": 1, "name": "prepaid" }, + "serviceOptions": [], "validityDuration": "P1M", "maxStartInFutureDuration": "P6W", "isRenewable": null, @@ -952,607 +891,185 @@ paths: "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": { + "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" - } + "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, + "forbiddenPaymentMethods": [], + "sellingPrices": [], + }, + ], + "purchasePrices": [], + "productVariants": + [ + { + "productId": 109, + "parentProductId": 49, + "fikoArticleNumber": "1234", + "gboPackageTemplateId": null, + "tapConnectProductCode": 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" + "toInclusive": "2099-12-30T23:00:00.000+00:00", }, - "productTranslations": [ + "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" - } + "name": "HTM Regio Free - HL62", + "description": "For a fixed amount unlimited travel with EBS, HTM and RET in region HL62", + }, ], - "productOwner": { + "productOwner": + { "productOwnerId": 19, "name": "MRDH", - "organization": "MRDH" + "organization": "MRDH", }, - "marketSegments": null, - "customerSegments": [ + "marketSegments": [], + "customerSegments": [], + "allowedGboAgeProfiles": + [ { - "customerSegmentId": 4, - "name": "Volwassene (19-64)" + "gboAgeProfileId": 1, + "name": "Baby/peuter (0 t/m 3 jaar)", + "ageFromInclusive": 0, + "ageToInclusive": 3, }, { - "customerSegmentId": 5, - "name": "Oudere (65+)" - } + "ageProfileId": 2, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, + { + "ageProfileId": 3, + "name": "Jongere (12 t/m 18 jaar)", + "ageFromInclusive": 12, + "ageToInclusive": 18, + }, + { + "ageProfileId": 4, + "name": "Volwassene (19 t/m 64 jaar)", + "ageFromInclusive": 19, + "ageToInclusive": 64, + }, + { + "ageProfileId": 5, + "name": "Oudere (65 jaar of ouder)", + "ageFromInclusive": 65, + "ageToInclusive": 999, + }, ], - "productCategory": { + "productCategory": + { "productCategoryId": 3, "isTravelProduct": true, - "name": "Afgekocht reisrecht" + "name": "Afgekocht reisrecht", }, - "requiredCustomerLevel": { + "requiredCustomerLevel": + { "requiredCustomerLevelId": 3, - "name": "profile" + "name": "profile", }, - "requiredProducts": null, - "incompatibleProducts": null, - "mandatoryCustomerDataItems": [ + "requiredProducts": [], + "incompatibleProducts": [], + "mandatoryCustomerDataItems": + [ { "mandatoryCustomerDataItemId": 1, - "customerDataItem": "birthname" + "customerDataItem": "birthname", }, { "mandatoryCustomerDataItemId": 2, - "customerDataItem": "surname" + "customerDataItem": "surname", }, { "mandatoryCustomerDataItemId": 3, - "customerDataItem": "dateOfBirth" + "customerDataItem": "dateOfBirth", }, { "mandatoryCustomerDataItemId": 4, - "customerDataItem": "emailAddress" + "customerDataItem": "emailAddress", }, { "mandatoryCustomerDataItemId": 7, - "customerDataItem": "ovPayToken" - } + "customerDataItem": "ovPayToken", + }, + { + "mandatoryCustomerDataItemId": 8, + "customerDataItem": "padBirthDate", + }, ], - "requiredGboPersonalAttributes": [ + "requiredGboPersonalAttributes": + [ { "requiredGboPersonalAttributeId": 1, - "name": "NAME" + "name": "NAME", }, { "requiredGboPersonalAttributeId": 2, - "name": "BIRTHDATE" + "name": "BIRTHDATE", }, { "requiredGboPersonalAttributeId": 3, - "name": "PHOTO" - } + "name": "PHOTO", + }, ], - "tokenTypes": [ + "tokenTypes": [{ "tokenTypeId": 1, "name": "EMV" }], + "paymentMoment": + { "paymentMomentId": 1, "name": "prepaid" }, + "serviceOptions": [], + "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": + [ { - "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, + "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": [ + "salesTouchpoint": { - "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": { + "salesTouchpointId": 3, + "name": "Website (Perplex)", + "isActive": true, + "retailer": + { "retailerId": 1001, "name": "HTM externe touchpoints", "street": "Koningin Julianaplein", @@ -1564,158 +1081,820 @@ paths: "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 + "imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg", + }, + }, + "forbiddenPaymentMethods": [], + "sellingPrices": [], }, + ], + "purchasePrices": [], + "productVariants": + [ { - "productId": 117, - "parentProductId": 115, - "productCode": "33630-MA", - "gboPackageTemplateId": "33630", + "productId": 114, + "parentProductId": 109, + "fikoArticleNumber": "1234", + "gboPackageTemplateId": "33629", "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", + "productName": "HTM Regio Vrij - Voltarief - 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": [ + "validityPeriod": { - "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)" + "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": { - "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" + "productOwnerId": 19, + "name": "MRDH", + "organization": "MRDH", }, + "marketSegments": [], + "customerSegments": [], + "allowedGboAgeProfiles": + [ + { + "gboAgeProfileId": 1, + "name": "Baby/peuter (0 t/m 3 jaar)", + "ageFromInclusive": 0, + "ageToInclusive": 3, + }, + { + "ageProfileId": 4, + "name": "Volwassene (19 t/m 64 jaar)", + "ageFromInclusive": 19, + "ageToInclusive": 64, + }, + { + "ageProfileId": 5, + "name": "Oudere (65 jaar of ouder)", + "ageFromInclusive": 65, + "ageToInclusive": 999, + }, + ], + "productCategory": { - "mandatoryCustomerDataItemId": 2, - "customerDataItem": "surname" + "productCategoryId": 3, + "isTravelProduct": true, + "name": "Afgekocht reisrecht", }, + "requiredCustomerLevel": { - "mandatoryCustomerDataItemId": 3, - "customerDataItem": "dateOfBirth" + "requiredCustomerLevelId": 3, + "name": "profile", }, - { - "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, + "requiredProducts": [], + "incompatibleProducts": [], + "mandatoryCustomerDataItems": + [ + { + "mandatoryCustomerDataItemId": 1, + "customerDataItem": "birthname", + }, + { + "mandatoryCustomerDataItemId": 2, + "customerDataItem": "surname", + }, + { + "mandatoryCustomerDataItemId": 3, + "customerDataItem": "dateOfBirth", + }, + { + "mandatoryCustomerDataItemId": 4, + "customerDataItem": "emailAddress", + }, + { + "mandatoryCustomerDataItemId": 7, + "customerDataItem": "ovPayToken", + }, + { + "mandatoryCustomerDataItemId": 8, + "customerDataItem": "padBirthDate", + }, + ], + "requiredGboPersonalAttributes": + [ + { + "requiredGboPersonalAttributeId": 1, + "name": "NAME", + }, + { + "requiredGboPersonalAttributeId": 2, + "name": "BIRTHDATE", + }, + { + "requiredGboPersonalAttributeId": 3, + "name": "PHOTO", + }, + ], + "tokenTypes": + [{ "tokenTypeId": 1, "name": "EMV" }], + "paymentMoment": + { "paymentMomentId": 1, "name": "prepaid" }, + "serviceOptions": [], "validityDuration": "P1M", "maxStartInFutureDuration": "P6W", - "isRenewable": true, - "sendInvoice": true, + "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": [], + "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", + "taxCode": "V09", + "taxPercentage": 9.0000, + }, + ], + }, + ], + "purchasePrices": [], + "productVariants": [], + }, + { + "productId": 115, + "parentProductId": 109, + "fikoArticleNumber": "1234", + "gboPackageTemplateId": "33630", + "tapConnectProductCode": 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": [], + "customerSegments": [], + "allowedGboAgeProfiles": + [ + { + "ageProfileId": 2, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, + { + "ageProfileId": 3, + "name": "Jongere (12 t/m 18 jaar)", + "ageFromInclusive": 12, + "ageToInclusive": 18, + }, + ], + "productCategory": + { + "productCategoryId": 3, + "isTravelProduct": true, + "name": "Afgekocht reisrecht", + }, + "requiredCustomerLevel": + { + "requiredCustomerLevelId": 3, + "name": "profile", + }, + "requiredProducts": [], + "incompatibleProducts": [], + "mandatoryCustomerDataItems": + [ + { + "mandatoryCustomerDataItemId": 1, + "customerDataItem": "birthname", + }, + { + "mandatoryCustomerDataItemId": 2, + "customerDataItem": "surname", + }, + { + "mandatoryCustomerDataItemId": 3, + "customerDataItem": "dateOfBirth", + }, + { + "mandatoryCustomerDataItemId": 4, + "customerDataItem": "emailAddress", + }, + { + "mandatoryCustomerDataItemId": 7, + "customerDataItem": "ovPayToken", + }, + { + "mandatoryCustomerDataItemId": 8, + "customerDataItem": "padBirthDate", + }, + ], + "requiredGboPersonalAttributes": + [ + { + "requiredGboPersonalAttributeId": 1, + "name": "NAME", + }, + { + "requiredGboPersonalAttributeId": 2, + "name": "BIRTHDATE", + }, + { + "requiredGboPersonalAttributeId": 3, + "name": "PHOTO", + }, + ], + "tokenTypes": + [{ "tokenTypeId": 1, "name": "EMV" }], + "paymentMoment": + { "paymentMomentId": 1, "name": "prepaid" }, + "serviceOptions": [], + "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": [ + "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": [], + "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, + "taxCode": "V09", + "taxPercentage": 9.0000, + }, + ], + }, + ], + "purchasePrices": [], + "productVariants": + [ + { + "productId": 116, + "parentProductId": 115, + "fikoArticleNumber": "1234", + "gboPackageTemplateId": "33630", + "tapConnectProductCode": null, + "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": [], + "customerSegments": [], + "allowedGboAgeProfiles": + [ + { + "ageProfileId": 2, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, + { + "ageProfileId": 3, + "name": "Jongere (12 t/m 18 jaar)", + "ageFromInclusive": 12, + "ageToInclusive": 18, + }, + ], + "productCategory": + { + "productCategoryId": 3, + "isTravelProduct": true, + "name": "Afgekocht reisrecht", + }, + "requiredCustomerLevel": + { + "requiredCustomerLevelId": 3, + "name": "profile", + }, + "requiredProducts": [], + "incompatibleProducts": [], + "mandatoryCustomerDataItems": + [ + { + "mandatoryCustomerDataItemId": 1, + "customerDataItem": "birthname", + }, + { + "mandatoryCustomerDataItemId": 2, + "customerDataItem": "surname", + }, + { + "mandatoryCustomerDataItemId": 3, + "customerDataItem": "dateOfBirth", + }, + { + "mandatoryCustomerDataItemId": 4, + "customerDataItem": "emailAddress", + }, + { + "mandatoryCustomerDataItemId": 7, + "customerDataItem": "ovPayToken", + }, + { + "mandatoryCustomerDataItemId": 8, + "customerDataItem": "padBirthDate", + }, + ], + "requiredGboPersonalAttributes": + [ + { + "requiredGboPersonalAttributeId": 1, + "name": "NAME", + }, + { + "requiredGboPersonalAttributeId": 2, + "name": "BIRTHDATE", + }, + { + "requiredGboPersonalAttributeId": 3, + "name": "PHOTO", + }, + ], + "tokenTypes": + [{ "tokenTypeId": 1, "name": "EMV" }], + "paymentMoment": + { + "paymentMomentId": 1, + "name": "prepaid", + }, + "serviceOptions": [], + "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": [], + "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, + "taxCode": "V09", + "taxPercentage": 9.0000, + }, + ], + }, + ], + "purchasePrices": [], + "productVariants": [], + }, + { + "productId": 117, + "parentProductId": 115, + "fikoArticleNumber": "1234", + "gboPackageTemplateId": "33630", + "tapConnectProductCode": null, + "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": [], + "customerSegments": [], + "allowedGboAgeProfiles": + [ + { + "ageProfileId": 2, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, + { + "ageProfileId": 3, + "name": "Jongere (12 t/m 18 jaar)", + "ageFromInclusive": 12, + "ageToInclusive": 18, + }, + ], + "productCategory": + { + "productCategoryId": 3, + "isTravelProduct": true, + "name": "Afgekocht reisrecht", + }, + "requiredCustomerLevel": + { + "requiredCustomerLevelId": 3, + "name": "profile", + }, + "requiredProducts": [], + "incompatibleProducts": [], + "mandatoryCustomerDataItems": + [ + { + "mandatoryCustomerDataItemId": 1, + "customerDataItem": "birthname", + }, + { + "mandatoryCustomerDataItemId": 2, + "customerDataItem": "surname", + }, + { + "mandatoryCustomerDataItemId": 3, + "customerDataItem": "dateOfBirth", + }, + { + "mandatoryCustomerDataItemId": 4, + "customerDataItem": "emailAddress", + }, + { + "mandatoryCustomerDataItemId": 7, + "customerDataItem": "ovPayToken", + }, + { + "mandatoryCustomerDataItemId": 8, + "customerDataItem": "padBirthDate", + }, + ], + "requiredGboPersonalAttributes": + [ + { + "requiredGboPersonalAttributeId": 1, + "name": "NAME", + }, + { + "requiredGboPersonalAttributeId": 2, + "name": "BIRTHDATE", + }, + { + "requiredGboPersonalAttributeId": 3, + "name": "PHOTO", + }, + ], + "tokenTypes": + [{ "tokenTypeId": 1, "name": "EMV" }], + "paymentMoment": + { + "paymentMomentId": 1, + "name": "prepaid", + }, + "serviceOptions": [], + "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": [], + "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, + "taxCode": "V09", + "taxPercentage": 9.0000, + }, + ], + }, + ], + "purchasePrices": [], + "productVariants": [], + }, + ], + }, + ], + }, + { + "productId": 112, + "parentProductId": 49, + "fikoArticleNumber": "1234", + "gboPackageTemplateId": null, + "tapConnectProductCode": 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": [], + "customerSegments": [], + "allowedGboAgeProfiles": + [ + { + "gboAgeProfileId": 1, + "name": "Baby/peuter (0 t/m 3 jaar)", + "ageFromInclusive": 0, + "ageToInclusive": 3, + }, + { + "ageProfileId": 2, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, + { + "ageProfileId": 3, + "name": "Jongere (12 t/m 18 jaar)", + "ageFromInclusive": 12, + "ageToInclusive": 18, + }, + { + "ageProfileId": 4, + "name": "Volwassene (19 t/m 64 jaar)", + "ageFromInclusive": 19, + "ageToInclusive": 64, + }, + { + "ageProfileId": 5, + "name": "Oudere (65 jaar of ouder)", + "ageFromInclusive": 65, + "ageToInclusive": 999, + }, + ], + "productCategory": + { + "productCategoryId": 3, + "isTravelProduct": true, + "name": "Afgekocht reisrecht", + }, + "requiredCustomerLevel": + { + "requiredCustomerLevelId": 3, + "name": "profile", + }, + "requiredProducts": [], + "incompatibleProducts": [], + "mandatoryCustomerDataItems": + [ + { + "mandatoryCustomerDataItemId": 1, + "customerDataItem": "birthname", + }, + { + "mandatoryCustomerDataItemId": 2, + "customerDataItem": "surname", + }, + { + "mandatoryCustomerDataItemId": 3, + "customerDataItem": "dateOfBirth", + }, + { + "mandatoryCustomerDataItemId": 4, + "customerDataItem": "emailAddress", + }, + { + "mandatoryCustomerDataItemId": 7, + "customerDataItem": "ovPayToken", + }, + { + "mandatoryCustomerDataItemId": 8, + "customerDataItem": "padBirthDate", + }, + ], + "requiredGboPersonalAttributes": + [ + { + "requiredGboPersonalAttributeId": 1, + "name": "NAME", + }, + { + "requiredGboPersonalAttributeId": 2, + "name": "BIRTHDATE", + }, + { + "requiredGboPersonalAttributeId": 3, + "name": "PHOTO", + }, + ], + "tokenTypes": [{ "tokenTypeId": 1, "name": "EMV" }], + "paymentMoment": + { "paymentMomentId": 1, "name": "prepaid" }, + "serviceOptions": [], + "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": { - "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": { + "salesTouchpointId": 3, + "name": "Website (Perplex)", + "isActive": true, + "retailer": + { "retailerId": 1001, "name": "HTM externe touchpoints", "street": "Koningin Julianaplein", @@ -1727,187 +1906,24 @@ paths: "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" + "imageReference": "https://www.htm.nl/media/leif2leu/htm-logo-mobile.svg", + }, + }, + "forbiddenPaymentMethods": [], + "sellingPrices": [], + }, + ], + "purchasePrices": [], + "productVariants": [], }, - "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' + "404": + description: "404" content: application/json: schema: - $ref: '#/components/schemas/rfc9457Response' + $ref: "#/components/schemas/rfc9457Response" examples: Non-existing productId: summary: Non-existing productId @@ -1917,30 +1933,32 @@ paths: "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" + "apiErrorCode": "htm.api.err.404.2", } components: schemas: - TaxMetadataResponse: + GboAgeProfileResponse: type: object required: - - taxMetadataId - - taxCode - - taxPercentageAmount + - gboAgeProfileId + - name + - ageFromInclusive + - ageUntilInclusive properties: - taxMetadataId: - type: string - format: uuid - example: 501B17EF-36C4-4039-B92C-6517969B464E - taxCode: - type: string - example: V09 - taxPercentageAmount: + gboAgeProfileId: type: integer - example: 21 - description: + example: 1 + name: type: string - example: BTW VERKOOP LAAG 9% + example: Kind (4 t/m 11 jaar) + ageFromInclusive: + type: integer + description: The minimum age that the GBO age profile applies to + example: 4 + ageUntilInclusive: + type: integer + description: The maximum age that the GBO age profile applies to + example: 11 ProductTranslationResponse: type: object required: @@ -1962,7 +1980,8 @@ components: required: - sellingPriceId - amountExclTax - - taxMetadata + - taxCode + - taxPercentage - amountInclTax - fromInclusive - toInclusive @@ -1974,19 +1993,23 @@ components: amountExclTax: type: integer example: 750 - taxMetadata: - $ref: '#/components/schemas/TaxMetadataResponse' + taxCode: + type: string + example: "V09" + taxPercentage: + type: number + example: 9.0000 amountInclTax: type: integer example: 908 fromInclusive: type: string format: date-time-offset - example: '2022-03-01T00:00:00.000+00:00' + 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' + example: "2022-06-01T00:00:00.000+00:00" internalPrice: type: number example: 908.1234 @@ -1995,7 +2018,8 @@ components: required: - purchasePriceId - amountExclTax - - taxMetadata + - taxCode + - taxPercentage - amountInclTax - fromInclusive - toInclusive @@ -2006,19 +2030,23 @@ components: amountExclTax: type: integer example: 750 - taxMetadata: - $ref: '#/components/schemas/TaxMetadataResponse' + taxCode: + type: string + example: "V09" + taxPercentage: + type: number + example: 9.0000 amountInclTax: type: integer example: 908 fromInclusive: type: string format: date-time-offset - example: '2022-03-01T00:00:00.000+00:00' + 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' + example: "2022-06-01T00:00:00.000+00:00" SalesTouchpointResponse: type: object required: @@ -2053,7 +2081,7 @@ components: example: Kon. Julianaplein number: type: string - example: '10' + example: "10" numberAddition: type: string example: a @@ -2072,10 +2100,10 @@ components: example: info@htm.nl phoneNumber: type: string - example: '09004864636' + example: "09004864636" taxId: type: string - example: '09004864636' + example: "09004864636" imageReference: type: string example: https://htm.azure.net/abt/retailers/htm.svg @@ -2094,9 +2122,6 @@ components: productId: type: integer example: 1 - productCode: - type: string - example: 30901-WL productName: type: string example: HTM pilot 90% korting @@ -2156,7 +2181,7 @@ components: properties: href: type: string - example: https://api.integratielaag.nl/abt/abtserviceengine/2.0/products/1 + example: https://api.integratielaag.nl/abt/touchpoint/2.0/products/1 method: type: string example: GET @@ -2177,66 +2202,16 @@ components: parentProductId: type: integer example: 1 - productCode: + fikoArticleNumber: type: string - example: 30901-WL + description: The article number of the product in FIKO + example: 1234 gboPackageTemplateId: type: string - example: '30901' + 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 @@ -2256,15 +2231,15 @@ components: fromInclusive: type: string format: date-time-offset - example: '2024-09-03T10:01:34.000+00:00' + 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' + example: "2024-09-03T23:59:59.999+00:00" productTranslations: type: array items: - $ref: '#/components/schemas/ProductTranslationResponse' + $ref: "#/components/schemas/ProductTranslationResponse" productOwner: type: object required: @@ -2308,6 +2283,10 @@ components: name: type: string example: Kind (4-11) + allowedGboAgeProfiles: + type: array + items: + $ref: "#/components/schemas/GboAgeProfileResponse" productCategory: type: object required: @@ -2500,13 +2479,13 @@ components: fromInclusive: type: string format: date-time-offset - example: '2022-03-01T00:00:00.000+00:00' + 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' + example: "2022-06-01T00:00:00.000+00:00" salesTouchpoint: - $ref: '#/components/schemas/SalesTouchpointResponse' + $ref: "#/components/schemas/SalesTouchpointResponse" forbiddenPaymentMethods: type: array items: @@ -2527,11 +2506,11 @@ components: sellingPrices: type: array items: - $ref: '#/components/schemas/SellingPriceResponse' + $ref: "#/components/schemas/SellingPriceResponse" purchasePrices: type: array items: - $ref: '#/components/schemas/PurchasePriceResponse' + $ref: "#/components/schemas/PurchasePriceResponse" auditTrail: type: array items: @@ -2554,7 +2533,7 @@ components: timestamp: type: string format: date-time-offset - example: '2024-09-03T10:01:34.000+00:00' + example: "2024-09-03T10:01:34.000+00:00" rfc9457Response: type: object properties: @@ -2580,9 +2559,9 @@ components: example: "additionalValue1" additionalProperty2: type: array - description: "Example of an additional property array to be used for error reporting." + description: "Example of an additional property array to be used for error reporting." items: type: string example: - "additionalValue2-1" - - "additionalValue2-2" \ No newline at end of file + - "additionalValue2-2" diff --git a/src/openapi/products/productreference-crud.yaml b/src/openapi/products/productreference-crud.yaml index eeb43b6..15e6224 100644 --- a/src/openapi/products/productreference-crud.yaml +++ b/src/openapi/products/productreference-crud.yaml @@ -1566,6 +1566,8 @@ paths: customerDataItem: phone - mandatoryCustomerDataItemId: 7 customerDataItem: ovPayToken + - mandatoryCustomerDataItemId: 8 + customerDataItem: padBirthDate schema: $ref: '#/components/schemas/mandatoryCustomerDataItems' description: A list of users @@ -2281,6 +2283,10 @@ components: type: array example: Entries: + - gboAgeProfileId: 1 + name: Kind (0 t/m 3 jaar) + ageFromInclusive: 0 + ageToInclusive: 3 - gboAgeProfileId: 2 name: Kind (4 t/m 11 jaar) ageFromInclusive: 4 @@ -2289,6 +2295,14 @@ components: name: Jongere (12 t/m 18 jaar) ageFromInclusive: 12 ageToInclusive: 18 + - gboAgeProfileId: 4 + name: Volwassene (19 t/m 64 jaar) + ageFromInclusive: 19 + ageToInclusive: 64 + - gboAgeProfileId: 5 + name: Oudere (65 jaar of ouder) + ageFromInclusive: 65 + ageToInclusive: 999 GboAgeProfile: type: object required: