From b51ce9cee1604e7d34b4064ab5f8cf1a62a4bb9f Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 21 Nov 2025 17:02:08 +0100 Subject: [PATCH] OVPAY-2103 - Updated relevant examples of concept orders. --- src/openapi/orders/service_engine_orders.yaml | 1161 ++++++++++++++--- 1 file changed, 987 insertions(+), 174 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index dccc51b..0da6b5b 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -1124,9 +1124,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: - summary: Order update v2.2 - description: Order update v2.2 + Update order languageId": + summary: Update order languageId + description: Update order languageId value: { "languageId": 1 } responses: "200": @@ -1136,7 +1136,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + Concept order with OVpas and PAD: value: { "validContents": false, @@ -1206,7 +1206,7 @@ paths: [ { "customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e", - "tokenTypeId": + "tokenType": { "tokenTypeId": 1, "name": "EMV" }, "ovPayTokenId": 1, "serviceReferenceId": "NLOV1234567ABCDEFG", @@ -1226,10 +1226,84 @@ paths: }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, + "ovPayToken": + { + "customerProfileId": 1, + "ovPayTokenId": 1, + "xTat": "32089cc8-d187-47ff-a3a9-5c2558def811", + "tokenType": + { + "tokenTypeId": 2, + "name": "OV-pas physical", + }, + "alias": "MyToken", + "tokenStatus": + { + "tokenStatusId": 2, + "name": "Active", + }, + "expirationDate": "2028-02-01", + "replacedByTokenId": null, + }, + "autoReloadRegistration": + { + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", + }, + "ePurse": + { + "e-PurseBalance": + { "currency": "EUR", "amount": 350 }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", + }, + "gboPersonalAccountData": + { + "name": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "birthdate": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "photo": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + }, + "gboAgeProfile": + { + "gboAgeProfileId": 1, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, }, ], "orderAccountingStatuses": [], - "validationResult": "preliminary", + "validationResult": "invalid", "additionalRemarks": [ { @@ -1237,7 +1311,13 @@ paths: "parameter": "directDebitMandateId", }, ], - "validationErrors": [], + "validationErrors": + [ + { + "detail": "Startdate of this product should be at most 60 days in the future.", + "pointer": "#/0/startDate", + }, + ], }, ], "payments": [], @@ -1328,9 +1408,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: - summary: Create order line v2.2 - description: Create order line v2.2 + Add order line to concept order: + summary: Add order line to concept order + description: Add order line to concept order value: { "externalOrderLineId": null, @@ -1360,7 +1440,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + Order with two order lines: value: { "validContents": false, @@ -1449,6 +1529,80 @@ paths: }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, + "ovPayToken": + { + "customerProfileId": 1, + "ovPayTokenId": 1, + "xTat": "32089cc8-d187-47ff-a3a9-5c2558def811", + "tokenType": + { + "tokenTypeId": 2, + "name": "OV-pas physical", + }, + "alias": "MyToken", + "tokenStatus": + { + "tokenStatusId": 2, + "name": "Active", + }, + "expirationDate": "2028-02-01", + "replacedByTokenId": null, + }, + "autoReloadRegistration": + { + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", + }, + "ePurse": + { + "e-PurseBalance": + { "currency": "EUR", "amount": 350 }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", + }, + "gboPersonalAccountData": + { + "name": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "birthdate": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "photo": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + }, + "gboAgeProfile": + { + "gboAgeProfileId": 1, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, }, ], "orderAccountingStatuses": [], @@ -1502,6 +1656,80 @@ paths: "ovpasNumber": null, "verificationCode": null, "personalAccountData": null, + "ovPayToken": + { + "customerProfileId": 1, + "ovPayTokenId": 4, + "xTat": "32089cc8-d187-47ff-a3a9-5c2558def811", + "tokenType": + { + "tokenTypeId": 2, + "name": "OV-pas physical", + }, + "alias": "MyToken", + "tokenStatus": + { + "tokenStatusId": 2, + "name": "Active", + }, + "expirationDate": "2028-02-01", + "replacedByTokenId": null, + }, + "autoReloadRegistration": + { + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", + }, + "ePurse": + { + "e-PurseBalance": + { "currency": "EUR", "amount": 350 }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", + }, + "gboPersonalAccountData": + { + "name": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "birthdate": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "photo": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + }, + "gboAgeProfile": + { + "gboAgeProfileId": 1, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, }, ], "orderAccountingStatuses": [], @@ -1569,9 +1797,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: - summary: Update order line v2.2 - description: Update order line v2.2 + Update quantity and validity: + summary: Update quantity and validity + description: Update quantity and validity value: { "quantity": 1, @@ -1586,7 +1814,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + Order with updated order line: value: { "validContents": false, @@ -1676,113 +1904,6 @@ paths: "payments": [], "orderCustomer": null, } - v2.1: - value: - { - "validContents": false, - "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", - "externalOrderId": null, - "orderNumber": "ORD-123456", - "customerProfileId": 1337, - "totalAmount": 121, - "touchPoint": - { - "salesTouchpointId": 3, - "name": "Website (Perplex)", - "isActive": true, - "retailerId": 1001, - }, - "language": - { - "languageId": 1, - "name": "Nederlands", - "iso639Code": "nl-NL", - "ietfCode": "nl", - }, - "createdOn": "2024-03-22T09:00:00", - "lastUpdatedOn": "2024-03-22T09:00:00", - "order_OrderStatuses": - [ - { - "order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", - "orderStatus": - { "orderStatusId": 1, "name": "concept" }, - "createdOn": "2024-03-22T09:00:00", - "description": "Order is aangemaakt", - }, - ], - "orderLines": - [ - { - "orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468", - "externalOrderLineId": null, - "productId": 1, - "productName": "HTM Maandkorting 20%", - "fikoArticleNumber": "6609", - "productDescription": "HTM Maandkorting 20%", - "taxCode": "V21", - "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, - "amountInclTax": 121, - "quantity": 1, - "orderLineTerms": - [ - { - "orderLineTermsId": "cccada2c-d5ea-48ab-b4be-f590e16b5468", - "termsUrl": "generalTermsAndConditions.pdf", - }, - { - "orderLineTermsId": "bd76f723-9308-4629-a291-4c4fafd7ed87", - "termsUrl": "productTermsAndConditions.pdf", - }, - ], - "createdOn": "2024-03-22T09:00:00", - "validFrom": "2024-03-25T09:00:00", - "validUntil": null, - "orderLineStatus": - { "orderLineStatusId": 1, "name": "pending" }, - "customerTokens": - [ - { - "customerTokenId": "ca15ccfb-ff5c-4c3b-b7c5-d65fc39f499d", - "tokenType": - { "tokenTypeId": 1, "name": "EMV" }, - "ovPayTokenId": 1, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 34, - "ovpasNumber": "OV34567", - "verificationCode": "A7H6", - "personalAccountData": - { - "personalAccountDataId": "47db8a40-3238-4bf5-9284-759e3888bd47", - "name": "Jan de Vries", - "birthdate": "1970-01-01", - "photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC", - "challengeType": - { - "challengeTypeId": 1, - "name": "email", - }, - "oneTimePassword": "H5Iiz3JTaQeIV8p", - }, - }, - ], - "orderAccountingStatuses": [], - "validationResult": "valid", - "additionalRemarks": - [ - { - "code": "MANDATE_REQUIRED", - "parameter": "directDebitMandateId", - }, - ], - "validationErrors": [], - }, - ], - "payments": [], - "orderCustomer": null, - } "400": description: Bad request content: @@ -1818,7 +1939,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + Order with removed order line: value: { "validContents": true, @@ -1907,22 +2028,22 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2.1: - summary: Add an existing customer token to an orderline v2.2 - description: Add an existing customer token to an orderline v2.2 + Add an existing customer token to an order line: + summary: Add an existing customer token to an order line + description: Add an existing customer token to an order line value: { "tokenTypeId": 1, "ovPayTokenId": 12 } - v2.2.2: - summary: Add a new customer token (emv) to an orderline v2.2 - description: Add a new customer token (emv) to an orderline v2.2 + Add a new customer token (EMV) to an order line: + summary: Add a new customer token (EMV) to an order line + description: Add a new customer token (EMV) to an order line value: { "tokenTypeId": 1, "serviceReferenceId": "NLOV485456456445", "amount": 100, } - v2.2.3: - summary: Add a new customer token (ov pas) to an orderline v2.2 - description: Add a new customer token (ov pas) to an orderline v2.2 + Add a new customer token (OVpas) to an order line: + summary: Add a new customer token (OVpas) to an order line + description: Add a new customer token (OVpas) to an order line value: { "tokenTypeId": 2, @@ -1937,7 +2058,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + Order with updated order line: value: { "validContents": false, @@ -2015,6 +2136,80 @@ paths: "ovpasNumber": null, "verificationCode": null, "personalAccountData": null, + "ovPayToken": + { + "customerProfileId": 1, + "ovPayTokenId": 1, + "xTat": "32089cc8-d187-47ff-a3a9-5c2558def811", + "tokenType": + { + "tokenTypeId": 2, + "name": "OV-pas physical", + }, + "alias": "MyToken", + "tokenStatus": + { + "tokenStatusId": 2, + "name": "Active", + }, + "expirationDate": "2028-02-01", + "replacedByTokenId": null, + }, + "autoReloadRegistration": + { + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", + }, + "ePurse": + { + "e-PurseBalance": + { "currency": "EUR", "amount": 350 }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", + }, + "gboPersonalAccountData": + { + "name": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "birthdate": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "photo": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + }, + "gboAgeProfile": + { + "gboAgeProfileId": 1, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, }, ], "orderAccountingStatuses": [], @@ -2060,9 +2255,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: - summary: Update a customer token v2.2 - description: Update a customer tokenv2.2 + Update a customer token: + summary: Update a customer token + description: Update a customer token value: { "tokenTypeId": 1, @@ -2078,7 +2273,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + Order with updated customer token: value: { "validContents": true, @@ -2154,6 +2349,77 @@ paths: "amount": 34, "personalAccountData": null, }, + "ovPayToken": + { + "customerProfileId": 1, + "ovPayTokenId": 1, + "xTat": "32089cc8-d187-47ff-a3a9-5c2558def811", + "tokenType": + { + "tokenTypeId": 2, + "name": "OV-pas physical", + }, + "alias": "MyToken", + "tokenStatus": + { "tokenStatusId": 2, "name": "Active" }, + "expirationDate": "2028-02-01", + "replacedByTokenId": null, + }, + "autoReloadRegistration": + { + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", + }, + "ePurse": + { + "e-PurseBalance": + { "currency": "EUR", "amount": 350 }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", + }, + "gboPersonalAccountData": + { + "name": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "birthdate": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "photo": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + }, + "gboAgeProfile": + { + "gboAgeProfileId": 1, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, ], "orderAccountingStatuses": [], "validationResult": "valid", @@ -2177,7 +2443,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + Order with deleted customer token: value: { "validContents": false, @@ -2287,9 +2553,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: - summary: Add personal account data to a customer token v2.2 - description: Add personal account data to a customer token v2.2 + Add personal account data to a customer token: + summary: Add personal account data to a customer token + description: Add personal account data to a customer token value: { "name": "Jan de Vries", @@ -2306,7 +2572,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + Order with added personal account data to customer token: value: { "validContents": true, @@ -2392,6 +2658,80 @@ paths: "challengeTypeId": 1, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, + "ovPayToken": + { + "customerProfileId": 1, + "ovPayTokenId": 12, + "xTat": "32089cc8-d187-47ff-a3a9-5c2558def811", + "tokenType": + { + "tokenTypeId": 2, + "name": "OV-pas physical", + }, + "alias": "MyToken", + "tokenStatus": + { + "tokenStatusId": 2, + "name": "Active", + }, + "expirationDate": "2028-02-01", + "replacedByTokenId": null, + }, + "autoReloadRegistration": + { + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", + }, + "ePurse": + { + "e-PurseBalance": + { "currency": "EUR", "amount": 350 }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", + }, + "gboPersonalAccountData": + { + "name": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "birthdate": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "photo": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + }, + "gboAgeProfile": + { + "gboAgeProfileId": 1, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, }, ], "orderAccountingStatuses": [], @@ -2423,7 +2763,7 @@ paths: patch: tags: - Order Creation Flow v2 - summary: Update personal account data. P2 + summary: Update personal account data description: Update personal account data requestBody: content: @@ -2431,9 +2771,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: - summary: Update personal account data v2.2 - description: Update personal account data v2.2 + Update personal account data: + summary: Update personal account data + description: Update personal account data value: { "birthdate": "2010-01-01" } responses: "201": @@ -2443,7 +2783,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + Order with updated personal account data: value: { "validContents": false, @@ -2529,6 +2869,80 @@ paths: "challengeTypeId": 1, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, + "ovPayToken": + { + "customerProfileId": 1, + "ovPayTokenId": 1, + "xTat": "32089cc8-d187-47ff-a3a9-5c2558def811", + "tokenType": + { + "tokenTypeId": 2, + "name": "OV-pas physical", + }, + "alias": "MyToken", + "tokenStatus": + { + "tokenStatusId": 2, + "name": "Active", + }, + "expirationDate": "2028-02-01", + "replacedByTokenId": null, + }, + "autoReloadRegistration": + { + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", + }, + "ePurse": + { + "e-PurseBalance": + { "currency": "EUR", "amount": 350 }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", + }, + "gboPersonalAccountData": + { + "name": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "birthdate": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "photo": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + }, + "gboAgeProfile": + { + "gboAgeProfileId": 1, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, }, ], "orderAccountingStatuses": [], @@ -2549,7 +2963,7 @@ paths: delete: tags: - Order Creation Flow v2 - summary: Delete personal account data. P2 + summary: Delete personal account data description: Delete personal account data responses: "200": @@ -2559,7 +2973,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + Order with deleted personal account data: value: { "validContents": true, @@ -2637,6 +3051,80 @@ paths: "ovpasNumber": null, "verificationCode": null, "personalAccountData": null, + "ovPayToken": + { + "customerProfileId": 1, + "ovPayTokenId": 1, + "xTat": "32089cc8-d187-47ff-a3a9-5c2558def811", + "tokenType": + { + "tokenTypeId": 2, + "name": "OV-pas physical", + }, + "alias": "MyToken", + "tokenStatus": + { + "tokenStatusId": 2, + "name": "Active", + }, + "expirationDate": "2028-02-01", + "replacedByTokenId": null, + }, + "autoReloadRegistration": + { + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", + }, + "ePurse": + { + "e-PurseBalance": + { "currency": "EUR", "amount": 350 }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", + }, + "gboPersonalAccountData": + { + "name": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "birthdate": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "photo": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + }, + "gboAgeProfile": + { + "gboAgeProfileId": 1, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, }, ], "orderAccountingStatuses": [], @@ -2676,11 +3164,13 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: - summary: Add a payment v2.2 + Add a payment to an order: + summary: Add a payment to an order description: | Add a payment for a concept order. Note how it is not allowed to add a payment status or an external - payment reference when adding a payment to a concept order. + payment reference when adding a payment to a concept order. Also note how the order status changes to + 'awaitingPayment' after adding the payment. Finally, the customerToken information is less detailed + since the order status is not concept anymore. value: { "createdOn": "2024-03-22T09:00:00", @@ -2697,7 +3187,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + Order in status 'awaitingPayment': value: { "validContents": true, @@ -2921,16 +3411,21 @@ paths: tags: - Order Creation Flow v2 summary: Update a payment on an existing order. - description: Update a payment on an existing order. + description: | + Update a payment on an existing order. Depending on the payment status, the order status also changes accordingly. requestBody: content: application/json: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: - summary: Update payment v2.2 - description: Update payment v2.2 + Update payment (pending payment): + summary: Update payment (pending payment) + description: Update payment (pending payment) + value: { "todo": "todo" } + Update payment (payment successful): + summary: Update payment (payment successful) + description: Update payment (payment successful) value: { "htmPaymentReference": "HTM-1234", @@ -2955,6 +3450,14 @@ paths: "place": "Den Haag", }, } + Update payment (payment failed): + summary: Update payment (payment failed) + description: Update payment (payment failed) + value: { "todo": "todo" } + Update payment (payment cancelled): + summary: Update payment (payment cancelled) + description: Update payment (payment cancelled) + value: { "todo": "todo" } responses: "200": description: OK @@ -2963,7 +3466,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + Order updated to payment successful: value: { "validContents": true, @@ -2990,6 +3493,20 @@ paths: "lastUpdatedOn": "2024-03-22T09:00:00", "order_OrderStatuses": [ + { + "order_orderStatusId": "5b6f4e2e-3c4b-4f5d-9e2a-8f4e2b6c7d8e", + "orderStatus": + { "orderStatusId": 3, "name": "paid" }, + "createdOn": "2024-03-22T09:10:00", + "description": "Betaling is succesvol afgerond", + }, + { + "order_orderStatusId": "99137e30-2bf5-4c9b-95f0-ca432adcae5f", + "orderStatus": + { "orderStatusId": 2, "name": "awaitingPayment" }, + "createdOn": "2024-03-22T09:05:00", + "description": "Betaling is geinitieerd", + }, { "order_orderStatusId": "f1d0e1a7-a3cf-4876-b8f2-073add10667f", "orderStatus": @@ -3386,9 +3903,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: - summary: Add order customer v2.2 - description: Add order customer v2.2 + Add a customer to an existing order: + summary: Add a customer to an existing order + description: Add a customer to an existing order value: { "birthname": "Jan", @@ -3417,7 +3934,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + Oder with added customer: value: { "validContents": true, @@ -3507,6 +4024,80 @@ paths: }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, + "ovPayToken": + { + "customerProfileId": 1, + "ovPayTokenId": 1, + "xTat": "32089cc8-d187-47ff-a3a9-5c2558def811", + "tokenType": + { + "tokenTypeId": 2, + "name": "OV-pas physical", + }, + "alias": "MyToken", + "tokenStatus": + { + "tokenStatusId": 2, + "name": "Active", + }, + "expirationDate": "2028-02-01", + "replacedByTokenId": null, + }, + "autoReloadRegistration": + { + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", + }, + "ePurse": + { + "e-PurseBalance": + { "currency": "EUR", "amount": 350 }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", + }, + "gboPersonalAccountData": + { + "name": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "birthdate": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "photo": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + }, + "gboAgeProfile": + { + "gboAgeProfileId": 1, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, }, ], "orderAccountingStatuses": [], @@ -3568,9 +4159,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: - summary: Update order customer v2.2 - description: Update order customer v2.2 + Update a customer on an existing order: + summary: Update a customer on an existing order + description: Update a customer on an existing order value: { "birthname": "Jan", @@ -3587,7 +4178,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + Order with updated customer: value: { "validContents": true, @@ -3677,6 +4268,80 @@ paths: }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, + "ovPayToken": + { + "customerProfileId": 1, + "ovPayTokenId": 1, + "xTat": "32089cc8-d187-47ff-a3a9-5c2558def811", + "tokenType": + { + "tokenTypeId": 2, + "name": "OV-pas physical", + }, + "alias": "MyToken", + "tokenStatus": + { + "tokenStatusId": 2, + "name": "Active", + }, + "expirationDate": "2028-02-01", + "replacedByTokenId": null, + }, + "autoReloadRegistration": + { + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", + }, + "ePurse": + { + "e-PurseBalance": + { "currency": "EUR", "amount": 350 }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", + }, + "gboPersonalAccountData": + { + "name": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "birthdate": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "photo": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + }, + "gboAgeProfile": + { + "gboAgeProfileId": 1, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, }, ], "orderAccountingStatuses": [], @@ -3738,9 +4403,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: - summary: Add order customer address v2.2 - description: Add order customer address v2.2 + Add an address to a customer on an order: + summary: Add an address to a customer on an order + description: Add an address to a customer on an order value: { "addressTypeId": 3, @@ -3849,6 +4514,80 @@ paths: }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, + "ovPayToken": + { + "customerProfileId": 1, + "ovPayTokenId": 1, + "xTat": "32089cc8-d187-47ff-a3a9-5c2558def811", + "tokenType": + { + "tokenTypeId": 2, + "name": "OV-pas physical", + }, + "alias": "MyToken", + "tokenStatus": + { + "tokenStatusId": 2, + "name": "Active", + }, + "expirationDate": "2028-02-01", + "replacedByTokenId": null, + }, + "autoReloadRegistration": + { + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", + }, + "ePurse": + { + "e-PurseBalance": + { "currency": "EUR", "amount": 350 }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", + }, + "gboPersonalAccountData": + { + "name": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "birthdate": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "photo": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + }, + "gboAgeProfile": + { + "gboAgeProfileId": 1, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, }, ], "orderAccountingStatuses": [], @@ -3916,9 +4655,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: - summary: Update order customer address v2.2 - description: Update order customer address v2.2 + Update order customer address: + summary: Update order customer address + description: Update order customer address value: { "addressTypeId": 3, @@ -3937,7 +4676,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + Order with updated customer address: value: { "validContents": false, @@ -4027,6 +4766,80 @@ paths: }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, + "ovPayToken": + { + "customerProfileId": 1, + "ovPayTokenId": 1, + "xTat": "32089cc8-d187-47ff-a3a9-5c2558def811", + "tokenType": + { + "tokenTypeId": 2, + "name": "OV-pas physical", + }, + "alias": "MyToken", + "tokenStatus": + { + "tokenStatusId": 2, + "name": "Active", + }, + "expirationDate": "2028-02-01", + "replacedByTokenId": null, + }, + "autoReloadRegistration": + { + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", + }, + "ePurse": + { + "e-PurseBalance": + { "currency": "EUR", "amount": 350 }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", + }, + "gboPersonalAccountData": + { + "name": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "birthdate": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + "photo": + { + "inaccuracyFlag": false, + "inaccuracyFlagReason": null, + "inaccuracyFlagSetCounter": 0, + "isValidated": false, + "changeCounter": 0, + "maxUpdatesVerificationCount": 0, + "lastChangeDate": "2024-08-24T14:15:22Z", + }, + }, + "gboAgeProfile": + { + "gboAgeProfileId": 1, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, + }, }, ], "orderAccountingStatuses": [], @@ -4095,7 +4908,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.1: + Order after deleting customer address: value: { "validContents": true,