feature/OVPAY-2007-Products-LayerInfo #24

Merged
maxmartens merged 7 commits from feature/OVPAY-2007-Products-LayerInfo into develop 2025-08-28 09:26:23 +00:00
2 changed files with 75 additions and 131 deletions
Showing only changes of commit d4c5165b39 - Show all commits

View File

@ -2,7 +2,7 @@ openapi: 3.0.1
info: info:
title: ABTProductReference title: ABTProductReference
description: >- description: >-
CRUD APIs for HTM product reference tables (based on the new domainmodel v2.4). CRUD APIs for HTM product reference tables (based on the new domainmodel v2.6).
Internal use only; external touchpoints can get (some)) access via the HTM Internal use only; external touchpoints can get (some)) access via the HTM
Service Engine, using a different endpoint. Service Engine, using a different endpoint.
version: '1.0' version: '1.0'

View File

@ -2,7 +2,7 @@ openapi: 3.0.1
info: info:
title: ABTProducts title: ABTProducts
description: >- description: >-
CRUD APIs for HTM products (based on the new domainmodel v2.5). Internal use CRUD APIs for HTM products (based on the new domainmodel v2.6). Internal use
only; external touchpoints can get read-only, filtered access via the HTM only; external touchpoints can get read-only, filtered access via the HTM
Service Engine, using a different endpoint. Service Engine, using a different endpoint.
version: '1.0' version: '1.0'
@ -126,7 +126,7 @@ paths:
"productName": "HTM dagkaart", "productName": "HTM dagkaart",
"productDescription": "Reis een dag met het openbaar vervoer bij HTM", "productDescription": "Reis een dag met het openbaar vervoer bij HTM",
"productCategory": { "productCategory": {
"productCategoryId": 6, "productCategoryId": 5,
"isTravelProduct": false, "isTravelProduct": false,
"name": "Barcode" "name": "Barcode"
}, },
@ -154,7 +154,7 @@ paths:
"productName": "HTM dagkaart", "productName": "HTM dagkaart",
"productDescription": "Reis een dag met het openbaar vervoer bij HTM", "productDescription": "Reis een dag met het openbaar vervoer bij HTM",
"productCategory": { "productCategory": {
"productCategoryId": 6, "productCategoryId": 5,
"isTravelProduct": false, "isTravelProduct": false,
"name": "Barcode" "name": "Barcode"
}, },
@ -204,7 +204,7 @@ paths:
"productName": "HTM dagkaart", "productName": "HTM dagkaart",
"productDescription": "Reis een dag met het openbaar vervoer bij HTM", "productDescription": "Reis een dag met het openbaar vervoer bij HTM",
"productCategory": { "productCategory": {
"productCategoryId": 6, "productCategoryId": 5,
"isTravelProduct": false, "isTravelProduct": false,
"name": "Barcode" "name": "Barcode"
}, },
@ -282,7 +282,7 @@ paths:
"productName": "HTM dagkaart", "productName": "HTM dagkaart",
"productDescription": "Reis een dag met het openbaar vervoer bij HTM", "productDescription": "Reis een dag met het openbaar vervoer bij HTM",
"productCategory": { "productCategory": {
"productCategoryId": 6, "productCategoryId": 5,
"isTravelProduct": false, "isTravelProduct": false,
"name": "Barcode" "name": "Barcode"
}, },
@ -398,13 +398,10 @@ paths:
1 1
], ],
"customerSegmentIds": [ "customerSegmentIds": [
6, 5,
7 6
],
"allowedGboAgeProfileIds": [
1,
2
], ],
"allowedGboAgeProfileIds": [],
"productCategoryId": 1, "productCategoryId": 1,
"requiredCustomerLevelId": 1, "requiredCustomerLevelId": 1,
"incompatibleProducts": [ "incompatibleProducts": [
@ -415,7 +412,7 @@ paths:
], ],
"mandatoryCustomerDataItemIds": [ "mandatoryCustomerDataItemIds": [
4, 4,
5 7
], ],
"tokenTypeIds": [ "tokenTypeIds": [
1 1
@ -462,8 +459,7 @@ paths:
} }
postGboProductMultiplePeriods: postGboProductMultiplePeriods:
summary: >- summary: >-
Add new GBO product (non-renewable, multiple Add new GBO product (non-renewable, multiple sellingPeriods/prices per period)
sellingPeriods/prices per period)
value: value:
{ {
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
@ -488,13 +484,10 @@ paths:
1 1
], ],
"customerSegmentIds": [ "customerSegmentIds": [
6, 5,
7 6
],
"allowedGboAgeProfileIds": [
1,
2
], ],
"allowedGboAgeProfileIds": [],
"productCategoryId": 1, "productCategoryId": 1,
"requiredCustomerLevelId": 1, "requiredCustomerLevelId": 1,
"incompatibleProducts": [ "incompatibleProducts": [
@ -505,7 +498,7 @@ paths:
], ],
"mandatoryCustomerDataItemIds": [ "mandatoryCustomerDataItemIds": [
4, 4,
5 7
], ],
"tokenTypeIds": [ "tokenTypeIds": [
1 1
@ -586,14 +579,13 @@ paths:
} }
postGboPadProduct: postGboPadProduct:
summary: >- summary: >-
Add new GBO product (PAD required, renewable, serviceOptions, Add new GBO product (PAD required, renewable, allowedGboAgeProfiles, padBirthDate)
forbiddenPaymentMethods)
value: value:
{ {
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"isValid": true, "isValid": true,
"isArchived": false, "isArchived": false,
"gboPackageTemplateId": "35301", "gboPackageTemplateId": "33610",
"productName": "HTM Regio Vrij DH73", "productName": "HTM Regio Vrij DH73",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in het gekozen gebied in de regio Rotterdam Den Haag.", "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in het gekozen gebied in de regio Rotterdam Den Haag.",
"validityPeriod": { "validityPeriod": {
@ -612,14 +604,16 @@ paths:
1 1
], ],
"customerSegmentIds": [ "customerSegmentIds": [
6, 5,
7 6
], ],
"allowedGboAgeProfileIds": [ "allowedGboAgeProfileIds": [
1, 2,
2 3,
4,
5
], ],
"productCategoryId": 3, "productCategoryId": 2,
"requiredCustomerLevelId": 3, "requiredCustomerLevelId": 3,
"requiredProducts": [ "requiredProducts": [
{ {
@ -634,10 +628,8 @@ paths:
} }
], ],
"mandatoryCustomerDataItemIds": [ "mandatoryCustomerDataItemIds": [
3,
4, 4,
5, 8
6
], ],
"requiredGboPersonalAttributeIds": [ "requiredGboPersonalAttributeIds": [
1, 1,
@ -650,10 +642,7 @@ paths:
3 3
], ],
"paymentMomentId": 1, "paymentMomentId": 1,
"serviceOptionIds": [ "serviceOptionIds": [],
1,
2
],
"validityDuration": "P1M", "validityDuration": "P1M",
"maxStartInFutureDuration": "P6W", "maxStartInFutureDuration": "P6W",
"isRenewable": true, "isRenewable": true,
@ -670,7 +659,7 @@ paths:
"toInclusive": "2024-12-31T23:59:59.999", "toInclusive": "2024-12-31T23:59:59.999",
"salesTouchpointId": 3, "salesTouchpointId": 3,
"forbiddenPaymentMethodIds": [ "forbiddenPaymentMethodIds": [
1 3
], ],
"sellingPrices": [ "sellingPrices": [
{ {
@ -811,28 +800,15 @@ paths:
], ],
"customerSegments": [ "customerSegments": [
{ {
"customerSegmentId": 6, "customerSegmentId": 5,
"name": "Student" "name": "Student"
}, },
{ {
"customerSegmentId": 7, "customerSegmentId": 6,
"name": "Ooievaarspas-gerechtigde" "name": "Ooievaarspas-gerechtigde"
} }
], ],
"allowedGboAgeProfiles": [ "allowedGboAgeProfiles": null,
{
"gboAgeProfileId": 2,
"name": "Kind (4 t/m 11 jaar)",
"ageFromInclusive": 4,
"ageUntilInclusive": 11
},
{
"gboAgeProfileId": 3,
"name": "Jongere (12 t/m 18 jaar)",
"ageFromInclusive": 12,
"ageUntilInclusive": 18
}
],
"productCategory": { "productCategory": {
"productCategoryId": 1, "productCategoryId": 1,
"isTravelProduct": true, "isTravelProduct": true,
@ -856,7 +832,7 @@ paths:
"customerDataItem": "emailAddress" "customerDataItem": "emailAddress"
}, },
{ {
"mandatoryCustomerDataItemId": 5, "mandatoryCustomerDataItemId": 7,
"customerDataItem": "ovPayToken" "customerDataItem": "ovPayToken"
} }
], ],
@ -986,11 +962,11 @@ paths:
], ],
"customerSegments": [ "customerSegments": [
{ {
"customerSegmentId": 6, "customerSegmentId": 5,
"name": "Student" "name": "Student"
}, },
{ {
"customerSegmentId": 7, "customerSegmentId": 6,
"name": "Ooievaarspas-gerechtigde" "name": "Ooievaarspas-gerechtigde"
} }
], ],
@ -1031,7 +1007,7 @@ paths:
"customerDataItem": "emailAddress" "customerDataItem": "emailAddress"
}, },
{ {
"mandatoryCustomerDataItemId": 5, "mandatoryCustomerDataItemId": 7,
"customerDataItem": "ovPayToken" "customerDataItem": "ovPayToken"
} }
], ],
@ -1180,7 +1156,7 @@ paths:
] ]
} }
getDetailsGboPadProduct: getDetailsGboPadProduct:
summary: GBO product (PAD required, renewable, serviceOptions, forbiddenPaymentMethods) summary: GBO product (PAD required, renewable, allowedGboAgeProfiles, padBirthDate)
value: value:
{ {
"productId": 3, "productId": 3,
@ -1218,11 +1194,11 @@ paths:
], ],
"customerSegments": [ "customerSegments": [
{ {
"customerSegmentId": 6, "customerSegmentId": 5,
"name": "Student" "name": "Student"
}, },
{ {
"customerSegmentId": 7, "customerSegmentId": 6,
"name": "Ooievaarspas-gerechtigde" "name": "Ooievaarspas-gerechtigde"
} }
], ],
@ -1253,7 +1229,7 @@ paths:
} }
], ],
"productCategory": { "productCategory": {
"productCategoryId": 3, "productCategoryId": 2,
"isTravelProduct": true, "isTravelProduct": true,
"name": "Afgekocht reisrecht" "name": "Afgekocht reisrecht"
}, },
@ -1311,13 +1287,7 @@ paths:
"paymentMomentId": 1, "paymentMomentId": 1,
"name": "prepaid" "name": "prepaid"
}, },
"serviceOptions": [ "serviceOptions": [],
{
"serviceOptionId": 1,
"action": "cancellableTermAhead",
"description": "Per termijn vooruit opzegbaar"
}
],
"validityDuration": "P1M", "validityDuration": "P1M",
"maxStartInFutureDuration": "P6W", "maxStartInFutureDuration": "P6W",
"isRenewable": true, "isRenewable": true,
@ -1354,8 +1324,8 @@ paths:
}, },
"forbiddenPaymentMethods": [ "forbiddenPaymentMethods": [
{ {
"forbiddenPaymentMethodId": 1, "forbiddenPaymentMethodId": 3,
"name": "Credit Card", "name": "creditcard",
"issuer": "American Express" "issuer": "American Express"
} }
], ],
@ -1449,11 +1419,11 @@ paths:
], ],
"customerSegments": [ "customerSegments": [
{ {
"customerSegmentId": 6, "customerSegmentId": 5,
"name": "Student" "name": "Student"
}, },
{ {
"customerSegmentId": 7, "customerSegmentId": 6,
"name": "Ooievaarspas-gerechtigde" "name": "Ooievaarspas-gerechtigde"
} }
], ],
@ -1472,7 +1442,7 @@ paths:
} }
], ],
"productCategory": { "productCategory": {
"productCategoryId": 3, "productCategoryId": 2,
"isTravelProduct": true, "isTravelProduct": true,
"name": "Afgekocht reisrecht" "name": "Afgekocht reisrecht"
}, },
@ -1530,18 +1500,7 @@ paths:
"paymentMomentId": 1, "paymentMomentId": 1,
"name": "prepaid" "name": "prepaid"
}, },
"serviceOptions": [ "serviceOptions": null,
{
"serviceOptionId": 1,
"action": "cancellableTermAhead",
"description": "Per termijn vooruit opzegbaar"
},
{
"serviceOptionId": 2,
"action": "cancellableWithin14Days",
"description": "Binnen 14 dagen na aanschaf opzegbaar, met restitutie en herberekening ritten met product"
}
],
"validityDuration": "P1M", "validityDuration": "P1M",
"maxStartInFutureDuration": "P6W", "maxStartInFutureDuration": "P6W",
"isRenewable": true, "isRenewable": true,
@ -1578,8 +1537,8 @@ paths:
}, },
"forbiddenPaymentMethods": [ "forbiddenPaymentMethods": [
{ {
"forbiddenPaymentMethodId": 1, "forbiddenPaymentMethodId": 3,
"name": "Credit Card", "name": "creditcard",
"issuer": "American Express" "issuer": "American Express"
} }
], ],
@ -1727,13 +1686,10 @@ paths:
1 1
], ],
"customerSegmentIds": [ "customerSegmentIds": [
6, 5,
7 6
],
"allowedGboAgeProfileIds": [
1,
2
], ],
"allowedGboAgeProfileIds": [],
"productCategoryId": 1, "productCategoryId": 1,
"requiredCustomerLevelId": 1, "requiredCustomerLevelId": 1,
"incompatibleProducts": [ "incompatibleProducts": [
@ -1744,7 +1700,7 @@ paths:
], ],
"mandatoryCustomerDataItemIds": [ "mandatoryCustomerDataItemIds": [
4, 4,
5 7
], ],
"tokenTypeIds": [ "tokenTypeIds": [
1 1
@ -1794,8 +1750,7 @@ paths:
} }
advancedUpdateGboProduct: advancedUpdateGboProduct:
summary: >- summary: >-
Advanced update (remove mandatoryCustomerDataItem references, Advanced update (remove mandatoryCustomerDataItem references, add new second sellingPeriod)
add new second sellingPeriod)
value: value:
{ {
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
@ -1821,13 +1776,10 @@ paths:
1 1
], ],
"customerSegmentIds": [ "customerSegmentIds": [
6, 5,
7 6
],
"allowedGboAgeProfileIds": [
1,
2
], ],
"allowedGboAgeProfileIds": [],
"productCategoryId": 1, "productCategoryId": 1,
"requiredCustomerLevelId": 1, "requiredCustomerLevelId": 1,
"incompatibleProducts": [ "incompatibleProducts": [
@ -1910,8 +1862,7 @@ paths:
} }
updateGboProductMultiplePeriods: updateGboProductMultiplePeriods:
summary: >- summary: >-
Update existing GBO product (non-renewable, multiple Update existing GBO product (non-renewable, multiple sellingPeriods/prices per period)
sellingPeriods/prices per period)
value: value:
{ {
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
@ -1937,13 +1888,10 @@ paths:
1 1
], ],
"customerSegmentIds": [ "customerSegmentIds": [
6, 5,
7 6
],
"allowedGboAgeProfileIds": [
1,
2
], ],
"allowedGboAgeProfileIds": [],
"productCategoryId": 1, "productCategoryId": 1,
"requiredCustomerLevelId": 1, "requiredCustomerLevelId": 1,
"incompatibleProducts": [ "incompatibleProducts": [
@ -1954,7 +1902,7 @@ paths:
], ],
"mandatoryCustomerDataItemIds": [ "mandatoryCustomerDataItemIds": [
4, 4,
5 7
], ],
"tokenTypeIds": [ "tokenTypeIds": [
1 1
@ -2042,14 +1990,13 @@ paths:
} }
updateGboPadProduct: updateGboPadProduct:
summary: >- summary: >-
Update existing GBO product (PAD required, renewable, Update existing GBO product (PAD required, renewable, allowedGboAgeProfiles, padBirthDate)
serviceOptions, forbiddenPaymentMethods)
value: value:
{ {
"fikoArticleNumber": "1234", "fikoArticleNumber": "1234",
"isValid": true, "isValid": true,
"isArchived": false, "isArchived": false,
"gboPackageTemplateId": "35301", "gboPackageTemplateId": "33610",
"productName": "HTM Regio Vrij DH73", "productName": "HTM Regio Vrij DH73",
"productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in het gekozen gebied in de regio Rotterdam Den Haag.", "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in het gekozen gebied in de regio Rotterdam Den Haag.",
"validityPeriod": { "validityPeriod": {
@ -2069,14 +2016,16 @@ paths:
1 1
], ],
"customerSegmentIds": [ "customerSegmentIds": [
6, 5,
7 6
], ],
"allowedGboAgeProfileIds": [ "allowedGboAgeProfileIds": [
1, 2,
2 3,
4,
5
], ],
"productCategoryId": 3, "productCategoryId": 2,
"requiredCustomerLevelId": 3, "requiredCustomerLevelId": 3,
"requiredProducts": [ "requiredProducts": [
{ {
@ -2091,10 +2040,8 @@ paths:
} }
], ],
"mandatoryCustomerDataItemIds": [ "mandatoryCustomerDataItemIds": [
3,
4, 4,
5, 8
6
], ],
"requiredGboPersonalAttributeIds": [ "requiredGboPersonalAttributeIds": [
1, 1,
@ -2107,10 +2054,7 @@ paths:
3 3
], ],
"paymentMomentId": 1, "paymentMomentId": 1,
"serviceOptionIds": [ "serviceOptionIds": [],
1,
2
],
"validityDuration": "P1M", "validityDuration": "P1M",
"maxStartInFutureDuration": "P6W", "maxStartInFutureDuration": "P6W",
"isRenewable": true, "isRenewable": true,
@ -2128,7 +2072,7 @@ paths:
"toInclusive": "2024-12-31T23:59:59.999", "toInclusive": "2024-12-31T23:59:59.999",
"salesTouchpointId": 3, "salesTouchpointId": 3,
"forbiddenPaymentMethodIds": [ "forbiddenPaymentMethodIds": [
1 3
], ],
"sellingPrices": [ "sellingPrices": [
{ {
@ -2824,10 +2768,10 @@ components:
properties: properties:
forbiddenPaymentMethodId: forbiddenPaymentMethodId:
type: integer type: integer
example: 1 example: 3
name: name:
type: string type: string
example: Credit Card example: creditcard
issuer: issuer:
type: string type: string
example: American Express example: American Express