From b1bbe6b0cbf22f473ede94993b2c6f7571fbcb1d Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Wed, 19 Nov 2025 15:33:36 +0100 Subject: [PATCH 01/15] OVPAY-2103 - Removed v1 examples from OAS. --- src/openapi/orders/service_engine_orders.yaml | 739 +----------------- 1 file changed, 10 insertions(+), 729 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 1a110a2..8286441 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -9,7 +9,7 @@ paths: /orders/validation: post: tags: - - Order Validation v1 & v2 + - Order Validation v2 summary: Validate order. description: Validate order. parameters: @@ -101,30 +101,6 @@ paths: ], }, } - v1: - summary: Order validation v1 - description: Order validation v1 - value: - [ - { - "ovPayTokenId": 2, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 34, - "ovpasNumber": "OV34567", - "productId": 2, - "startDate": "2024-03-22T09:00:00z", - "quantity": 1, - }, - { - "ovPayTokenId": 3, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 89, - "ovpasNumber": "OV34567", - "productId": 4, - "startDate": "2024-03-22T09:00:00z", - "quantity": 4, - }, - ] responses: "200": description: OK @@ -166,128 +142,10 @@ paths: }, ], } - v1: - summary: Order validation v1 - description: Order validation v1 - value: - { - "validContents": true, - "purchaseDate": "2024-03-22", - "customerProfileId": 1337, - "languageId": 1, - "billingAddressId": 1, - "shippingAddressId": 1, - "totalAmount": 121, - "contents": - [ - { - "productId": 1, - "quantity": 5, - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - "taxAmount": 21, - "taxCode": "V21", - "amountExclTax": 100, - "amountInclTax": 121, - "isRenewable": true, - "nextDebitDate": "2024-04-22", - "termAmountExclTax": 100, - "termAmountInclTax": 121, - "tokens": - [ - { - "tokenTypeId": 1, - "ovPayTokenId": 1, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 34, - "ovpasNumber": "OV34567", - "verificationCode": "A7H6", - "personalAccountData": - { - "name": "Jan de Vries", - "dateOfBirth": "1970-01-01", - "photoReference": "DSC_0502.JPG", - "fileType": "image/jpg", - "challengeTypeId": 1, - "oneTimePassword": "H5Iiz3JTaQeIV8p", - }, - }, - ], - "additionalRemarks": [], - "validationErrors": - [ - { - "detail": "Startdate of this product should be at most 60 days in the future.", - "pointer": "#/contents[0]/validFrom", - }, - { - "detail": "Combination of product and token type is not valid.", - "pointer": "#/contents[0]/tokens[0]/ovPayTokenId", - }, - ], - }, - { - "productId": 2, - "quantity": 3, - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - "taxAmount": 21, - "taxCode": "V21", - "amountExclTax": 100, - "amountInclTax": 121, - "isRenewable": true, - "nextDebitDate": "2024-04-22", - "termAmountExclTax": 100, - "termAmountInclTax": 121, - }, - ], - "customer": - { - "birthname": "Jan", - "surname": "Vries", - "prefix": "de", - "emailAddress": "jandevries@outlook.com", - "dateOfBirth": "1970-01-01", - "addresses": - [ - { - "addressTypeId": 1, - "street": "Kon. Julianaplein", - "houseNumber": 10, - "houseNumberSuffix": "a", - "postalCode": "2595 AA", - "city": "Den Haag", - "country": "NL", - }, - ], - "additionalRemarks": - [ - { - "code": "PERSONAL_DATA_NEEDED", - "parameter": "dateOfBirth", - }, - { - "code": "PERSONAL_DATA_NEEDED", - "parameter": "photo", - }, - { - "code": "MANDATE_REQUIRED", - "parameter": "directDebitMandateId", - }, - ], - "validationErrors": - [ - { - "detail": "Startdate of this product should be at most 60 days in the future.", - "pointer": "#/contents[1]/validFrom", - }, - ], - }, - } /orders/{orderId}/fulfillment: post: tags: - - Order Fulfillment v1 & v2 + - Order Fulfillment v2 summary: Fulfill an order. description: Fulfill an order. parameters: @@ -415,153 +273,6 @@ paths: ], }, } - v2: - summary: Order fulfillment v2 - description: Order fulfillment v2 - value: - { - "orderId": "a0ef57fa-395c-4a03-96e9-234c26dccea9", - "customerProfileId": 1337, - "totalAmount": 121, - "languageId": 1, - "billingAddressId": 1, - "shippingAddressId": 1, - "createdOn": "2024-03-22T09:00:00", - "orderStatusId": 4, - "orderLines": - [ - { - "orderLineId": "2ba39cae-c401-446b-ae5c-2d6d85b3df1f", - "productId": 1, - "productName": "HTM Maandkorting 20%", - "productCode": "HTM-MND-20", - "productDescription": "HTM Maandkorting 20%", - "taxAmount": 21, - "taxCode": "V21", - "amountExclTax": 100, - "amountInclTax": 121, - "quantity": 1, - "terms": - [ - "generalTermsAndConditions.pdf", - "productTermsAndConditions.pdf", - ], - "createdOn": "2024-03-22T09:00:00", - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - "orderLineStatusId": 4, - "tokens": - [ - { - "tokenTypeId": 1, - "ovPayTokenId": 1, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 34, - "ovpasNumber": "OV34567", - "verificationCode": "A7H6", - "personalAccountData": - { - "name": "Jan de Vries", - "dateOfBirth": "1970-01-01", - "photoReference": "DSC_0502.JPG", - "fileType": "image/jpg", - "challengeTypeId": 1, - "oneTimePassword": "H5Iiz3JTaQeIV8p", - }, - }, - ], - }, - ], - "payments": - [ - { - "createdOn": "2024-03-22T09:00:00", - "amountDebit": 121, - "paymentMethodId": 1, - "touchPointId": 1, - "isRefund": false, - "htmPaymentReference": "HTM-1234", - "pspPaymentReference": "Buckaroo-1234", - "paymentStatuses": - [ - { - "createdOn": "2024-03-22T09:00:00", - "statusCode": "190", - "statusDescription": "Success", - "statusSubCode": "S001", - "statusSubDescription": "PaymentSuccessful", - }, - ], - "payPush": - { - "consumerIssuer": "ABN AMRO", - "transactionId": "0000000000000001", - "consumerName": "J. de Vries", - "consumerIBAN": "NL44RABO0123456789", - "consumerBIC": "RABONL2U", - }, - }, - ], - "customer": - { - "birthname": "Jan", - "surname": "Vries", - "prefix": "de", - "emailAddress": "jandevries@outlook.com", - "dateOfBirth": "1970-01-01", - "addresses": - [ - { - "addressTypeId": 1, - "street": "Kon. Julianaplein", - "houseNumber": 10, - "houseNumberSuffix": "a", - "postalCode": "2595 AA", - "city": "Den Haag", - "country": "NL", - }, - ], - }, - } - v1: - summary: Order fulfillment v1 - description: Order fulfillment v1 - value: - { - "customerProfileID": 123415, - "customerProfileData": { "dateOfBirth": "1989-03-09" }, - "personalAccountData": { "birthdate": "1989-03-09" }, - "directDebitMandate": - { - "consumerName": "J. de Tèster", - "consumerBic": "RABONL2U", - "consumerIban": "NL44RABO0123456789", - }, - "orderContents": - [ - { - "ovPayTokenId": 123, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 450, - "ovpasNumber": "63AW974", - "productId": 2, - "startDate": "2024-03-22T09:00:00Z", - "quantity": 1, - "orderlineId": "2d7fadc9-b64b-4516-9a7d-cf550f201372", - }, - { - "ovPayTokenId": 123, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 450, - "ovpasNumber": "63AW974", - "productId": 3, - "startDate": "2024-03-16T09:00:00Z", - "quantity": 1, - "orderlineId": "9d7fadc9-b64b-4516-9a7d-cf550f201378", - }, - ], - "orderStatus": "succeededPayment", - } responses: "201": description: Created @@ -570,10 +281,6 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v1: - summary: Order fulfillment v1 - description: Order fulfillment v1 - value: {} v2.2: summary: Order fulfillment v2 description: Order fulfillment v2 @@ -807,8 +514,8 @@ paths: example: 7208e73e-87a6-46d9-bb6d-867ffc460c9b description: xTat used in order fulfillment. Note that this is a joined parameter via PurchasedProduct. tags: - - Order Retrieval v1 & v2 - summary: Find orders. P1 + - Order Retrieval v2 + summary: Find orders description: Find orders. responses: "200": @@ -1094,237 +801,6 @@ paths: }, ], } - v1.2: - summary: Order creation v1.2 - description: Order creation v1.2 - value: - { - "externalOrderId": null, - "languageId": 1, - "billingAddressId": 1, - "shippingAddressId": 1, - "createdOn": "2024-03-22T09:00:00", - "order_OrderStatus": - [ - { - "orderStatusId": 1, - "createdOn": "2024-03-22T09:00:00", - "description": "Concept order", - }, - ], - "orderLines": - [ - { - "externalOrderLineId": null, - "productId": 1, - "quantity": 1, - "validFrom": "2024-03-22T09:00:00", - "validUntil": "2025-03-22T09:00:00", - "orderLineStatusId": 4, - "createdOn": "2024-03-22T09:00:00", - "customerTokens": - [ - { - "tokenTypeId": 1, - "ovPayTokenId": 1, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 34, - "ovpasNumber": "OV34567", - "verificationCode": "A7H6", - "personalAccountData": - { - "name": "Jan de Vries", - "dateOfBirth": "1970-01-01", - "photoReference": "DSC_0502.JPG", - "fileType": "image/jpg", - "challengeTypeId": 1, - "oneTimePassword": "H5Iiz3JTaQeIV8p", - }, - }, - ], - "orderAccountingStatuses": - [ - { - "accountingStatusId": 1, - "createdOn": "2024-03-22T09:00:00", - "description": "Financiele transactie voor de FIKO.", - }, - ], - }, - ], - "payments": - [ - { - "createdOn": "2024-03-22T09:00:00", - "amountDebit": 121, - "paymentMethodId": 1, - "isRefund": false, - "htmPaymentReference": "HTM-1234", - "pspPaymentReference": "Buckaroo-1234", - "paymentStatuses": - [ - { - "createdOn": "2024-03-22T09:00:00", - "statusCode": "190", - "statusDescription": "Success", - "statusSubCode": "S001", - "statusSubDescription": "PaymentSuccessful", - }, - ], - "mandateInput": - { - "directDebitMandateTypeId": 1, - "createdOn": "2024-03-22T09:00:00", - "bic": "RABONL2U", - "iban": "NL44RABO0123456789", - "ascription": "J. de Vries", - "place": "Den Haag", - }, - }, - ], - "orderCustomer": - { - "birthname": "Jan", - "surname": "Vries", - "prefix": "de", - "emailAddress": "jandevries@outlook.com", - "dateOfBirth": "1970-01-01", - "orderCustomerAddresses": - [ - { - "addressTypeId": 1, - "street": "Kon. Julianaplein", - "houseNumber": 10, - "houseNumberSuffix": "a", - "postalCode": "2595 AA", - "city": "Den Haag", - "country": "NL", - }, - ], - }, - } - v1: - summary: Order creation v1.1 - description: Order creation v1.1 - value: - { - "externalOrderId": null, - "customerProfileId": 1337, - "totalAmount": 121, - "touchPointId": 3, - "languageId": 1, - "billingAddressId": 1, - "shippingAddressId": 1, - "createdOn": "2024-03-22T09:00:00", - "order_OrderStatus": - [ - { - "orderStatusId": 1, - "createdOn": "2024-03-22T09:00:00", - "description": "Concept order", - }, - ], - "orderLines": - [ - { - "externalOrderLineId": null, - "productId": 1, - "productName": "HTM Maandkorting 20%", - "productCode": "HTM-MND-20", - "productDescription": "HTM Maandkorting 20%", - "taxAmount": 21, - "taxMetadataId": "7275b910-37d9-40c1-aaac-80d8ceb62ff9", - "amountExclTax": 100, - "amountInclTax": 121, - "quantity": 1, - "orderLineTerms": - [{ "termsUrl": "generalTermsAndConditions.pdf" }], - "validFrom": "2024-03-22T09:00:00", - "validUntil": "2025-03-22T09:00:00", - "orderLineStatusId": 4, - "createdOn": "2024-03-22T09:00:00", - "customerTokens": - [ - { - "tokenTypeId": 1, - "ovPayTokenId": 1, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 34, - "ovpasNumber": "OV34567", - "verificationCode": "A7H6", - "personalAccountData": - { - "name": "Jan de Vries", - "dateOfBirth": "1970-01-01", - "photoReference": "DSC_0502.JPG", - "fileType": "image/jpg", - "challengeTypeId": 1, - "oneTimePassword": "H5Iiz3JTaQeIV8p", - }, - }, - ], - "orderAccountingStatuses": - [ - { - "accountingStatusId": 1, - "createdOn": "2024-03-22T09:00:00", - "description": "Financiele transactie voor de FIKO.", - }, - ], - }, - ], - "payments": - [ - { - "createdOn": "2024-03-22T09:00:00", - "amountDebit": 121, - "paymentMethodId": 1, - "touchPointId": 1, - "isRefund": false, - "htmPaymentReference": "HTM-1234", - "pspPaymentReference": "Buckaroo-1234", - "paymentStatuses": - [ - { - "createdOn": "2024-03-22T09:00:00", - "statusCode": "190", - "statusDescription": "Success", - "statusSubCode": "S001", - "statusSubDescription": "PaymentSuccessful", - }, - ], - "mandateInput": - { - "directDebitMandateTypeId": 1, - "createdOn": "2024-03-22T09:00:00", - "bic": "RABONL2U", - "iban": "NL44RABO0123456789", - "ascription": "J. de Vries", - "place": "Den Haag", - }, - }, - ], - "orderCustomer": - { - "birthname": "Jan", - "surname": "Vries", - "prefix": "de", - "emailAddress": "jandevries@outlook.com", - "dateOfBirth": "1970-01-01", - "orderCustomerAddresses": - [ - { - "addressTypeId": 1, - "street": "Kon. Julianaplein", - "houseNumber": 10, - "houseNumberSuffix": "a", - "postalCode": "2595 AA", - "city": "Den Haag", - "country": "NL", - }, - ], - }, - } responses: "201": description: Created @@ -1446,12 +922,6 @@ paths: "payments": [], "orderCustomer": null, } - v1.2: - value: - { - "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", - "orderNumber": "ORD-123456", - } "400": description: Bad request content: @@ -1499,8 +969,8 @@ paths: description: The JWT of the logged in customer (in case of a web shop). get: tags: - - Order Retrieval v1 & v2 - summary: Get a single order. P1 + - Order Retrieval v2 + summary: Get a single order description: Get a single order. responses: "200": @@ -1724,18 +1194,6 @@ paths: { "languageId": 1, } - v1.2: - summary: Order update v1.2 - description: Order update v1.2 - value: - { - "customerProfileId": 1337, - "totalAmount": 121, - "languageId": 1, - "billingAddressId": 1, - "shippingAddressId": 1, - "lastUpdatedOn": "2024-03-22T09:00:00", - } responses: "200": description: OK @@ -1851,12 +1309,6 @@ paths: "payments": [], "orderCustomer": null, } - v1.2: - value: - { - "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", - "orderNumber": "ORD-123456", - } "400": description: Bad request content: @@ -1966,56 +1418,6 @@ paths: }, ], } - v1.2: - summary: Create orderLine v1.2 - description: Create orderLine v1.2 - value: - { - "externalOrderLineId": null, - "productId": 1, - "productName": "HTM Maandkorting 20%", - "productCode": "HTM-MND-20", - "productDescription": "HTM Maandkorting 20%", - "taxAmount": 21, - "taxMetadataId": "1d6f1725-1072-4f08-982c-3df51dd854a1", - "amountExclTax": 100, - "amountInclTax": 121, - "quantity": 1, - "orderLineTerms": - [{ "termsUrl": "generalTermsAndConditions.pdf" }], - "validFrom": "2024-03-22T09:00:00", - "validUntil": "2025-03-22T09:00:00", - "orderLineStatusId": 4, - "createdOn": "2024-03-22T09:00:00", - "tokens": - [ - { - "tokenTypeId": 1, - "ovPayTokenId": 1, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 34, - "ovpasNumber": "OV34567", - "verificationCode": "A7H6", - "personalAccountData": - { - "name": "Jan de Vries", - "dateOfBirth": "1970-01-01", - "photoReference": "DSC_0502.JPG", - "fileType": "image/jpg", - "challengeTypeId": 1, - "oneTimePassword": "H5Iiz3JTaQeIV8p", - }, - }, - ], - "orderAccountingStatuses": - [ - { - "accountingStatusId": 1, - "createdOn": "2024-03-22T09:00:00", - "description": "Financiele transactie voor de FIKO.", - }, - ], - } responses: "200": description: OK @@ -2177,9 +1579,6 @@ paths: "payments": [], "orderCustomer": null, } - v1.2: - value: - { "orderLineId": "e78b78d9-4fb0-4a9c-8dc0-6d100c9f1b3f" } "400": description: Bad request content: @@ -2245,20 +1644,6 @@ paths: "validFrom": "2024-03-25T09:00:00", "validUntil": null, } - v1.2: - summary: Orderline update v1.2 - description: Orderline update v1.2 - value: - { - "taxAmount": 21, - "taxMetadataId": "0574440e-7fa0-401f-b907-539c91633a5d", - "amountExclTax": 100, - "amountInclTax": 121, - "quantity": 1, - "validFrom": "2024-03-22T09:00:00", - "validUntil": "2025-03-22T09:00:00", - "orderLineStatusId": 4, - } responses: "200": description: OK @@ -2464,9 +1849,6 @@ paths: "payments": [], "orderCustomer": null, } - v1.2: - value: - { "orderLineId": "e78b78d9-4fb0-4a9c-8dc0-6d100c9f1b3f" } "400": description: Bad request content: @@ -2583,7 +1965,7 @@ paths: post: tags: - Order Creation v2 - summary: Add a customer token to an orderLine. P1 + summary: Add a customer token to an orderLine description: Add a customer token to an orderLine requestBody: content: @@ -2736,7 +2118,7 @@ paths: patch: tags: - Order Creation v2 - summary: Update a customer token. P1 + summary: Update a customer token description: Update a customer token requestBody: content: @@ -2848,7 +2230,7 @@ paths: delete: tags: - Order Creation v2 - summary: Delete a customer token from an orderline. P1 + summary: Delete a customer token from an orderline description: Delete a customer token from an orderline responses: "200": @@ -2959,7 +2341,7 @@ paths: post: tags: - Order Creation v2 - summary: Add personal account data to a customer token. P1 + summary: Add personal account data to a customer token description: Add personal account data to a customer token requestBody: content: @@ -3369,38 +2751,6 @@ paths: "isRefund": false, "htmPaymentReference": "HTM-1234", } - v1.2: - summary: Order creation v1.2 - description: Order creation v1.2 - value: - { - "createdOn": "2024-03-22T09:00:00", - "amountDebit": 121, - "paymentMethodId": 1, - "touchpointId": 1, - "isRefund": false, - "htmPaymentReference": "HTM-1234", - "pspPaymentReference": "Buckaroo-1234", - "paymentStatuses": - [ - { - "createdOn": "2024-03-22T09:00:00", - "statusCode": "190", - "statusDescription": "Success", - "statusSubCode": "S001", - "statusSubDescription": "PaymentSuccessful", - }, - ], - "mandateInput": - { - "directDebitMandateTypeId": 1, - "createdOn": "2024-03-22T09:00:00", - "bic": "RABONL2U", - "iban": "NL44RABO0123456789", - "ascription": "J. de Vries", - "place": "Den Haag", - }, - } responses: "201": description: Created @@ -3612,8 +2962,6 @@ paths: ], }, } - v1.2: - value: { "paymentId": "94270188-4cf6-447e-bd49-e8186bcec073" } /payments/{paymentId}: parameters: - in: path @@ -3669,14 +3017,6 @@ paths: "place": "Den Haag", }, } - v1.2: - summary: Order payment update v1.2 - description: Order payment update v1.2 - value: - { - "htmPaymentReference": "HTM-1234", - "pspPaymentReference": "Buckaroo-1234", - } responses: "200": description: OK @@ -3872,8 +3212,6 @@ paths: ], }, } - v1.2: - value: { "paymentId": "94270188-4cf6-447e-bd49-e8186bcec073" } v9.9 (Nick Pows): value: { @@ -4133,29 +3471,6 @@ paths: }, ], } - v1.2: - summary: Add order customer v1.2 - description: Add order customer v1.2 - value: - { - "birthname": "Jan", - "surname": "Vries", - "prefix": "de", - "emailAddress": "jandevries@outlook.com", - "dateOfBirth": "1970-01-01", - "orderCustomerAddresses": - [ - { - "addressTypeId": 1, - "street": "Kon. Julianaplein", - "houseNumber": 10, - "houseNumberSuffix": "a", - "postalCode": "2595 AA", - "city": "Den Haag", - "country": "NL", - }, - ], - } responses: "201": description: Created @@ -4287,11 +3602,6 @@ paths: ], }, } - v1.2: - value: - { - "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073", - } /ordercustomers/{orderCustomerId}: patch: parameters: @@ -4331,17 +3641,6 @@ paths: "emailAddress": "jandevries@outlook.com", "dateOfBirth": "1970-01-01", } - v1.2: - summary: Update order customer v1.2 - description: Update order customer v1.2 - value: - { - "birthname": "Jan", - "surname": "Vries", - "prefix": "de", - "emailAddress": "jandevries@outlook.com", - "dateOfBirth": "1970-01-01", - } responses: "200": description: OK @@ -4473,11 +3772,6 @@ paths: ], }, } - v1.2: - value: - { - "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073", - } /ordercustomers/{orderCustomerId}/orderCustomerAddress: post: parameters: @@ -4519,19 +3813,6 @@ paths: "city": "Den Haag", "country": "NL", } - v1.2: - summary: Order customer address create v1.2 - description: Order customer address create v1.2 - value: - { - "addressTypeId": 1, - "street": "Kon. Julianaplein", - "houseNumber": 10, - "houseNumberSuffix": "a", - "postalCode": "2595 AA", - "city": "Den Haag", - "country": "NL", - } responses: "201": description: OK -- 2.45.2 From 6e3aa3a04b4c347888716cc40a3f06eeaac3070a Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Wed, 19 Nov 2025 15:52:46 +0100 Subject: [PATCH 02/15] OVPAY-2103 - Removed unused endpoints. --- src/openapi/orders/service_engine_orders.yaml | 815 +++++------------- 1 file changed, 197 insertions(+), 618 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 8286441..e37f621 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -3,434 +3,9 @@ info: title: ABT Service Engine Order APIs version: "1.0" description: Order APIs available in the Service Engine for order validation and fulfillment. -servers: +servers: - url: https://services.acc.api.htm.nl/abt/touchpoint/2.0 paths: - /orders/validation: - post: - tags: - - Order Validation v2 - summary: Validate order. - description: Validate order. - parameters: - - in: header - name: X-HTM-JWT-AUTH-HEADER - required: false - style: simple - explode: false - schema: - type: string - - in: header - name: Accept-version - required: false - style: simple - explode: false - schema: - type: string - example: "2.0" - description: The version of the API. - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - examples: - v2: - summary: Order validation v2 - description: Order validation v2 - value: - { - "purchaseDate": "2024-03-22", - "customerProfileId": 1337, - "languageId": 1, - "billingAddressId": 1, - "shippingAddressId": 1, - "contents": - [ - { - "productId": 1, - "quantity": 5, - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - "tokens": - [ - { - "tokenTypeId": 1, - "ovPayTokenId": 1, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 34, - "ovpasNumber": "OV34567", - "verificationCode": "A7H6", - "personalAccountData": - { - "name": "Jan de Vries", - "dateOfBirth": "1970-01-01", - "photoReference": "DSC_0502.JPG", - "fileType": "image/jpg", - "challengeTypeId": 1, - "oneTimePassword": "H5Iiz3JTaQeIV8p", - }, - }, - ], - }, - { - "productId": 2, - "quantity": 3, - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - }, - ], - "customer": - { - "birthname": "Jan", - "surname": "Vries", - "prefix": "de", - "emailAddress": "jandevries@outlook.com", - "dateOfBirth": "1970-01-01", - "addresses": - [ - { - "addressTypeId": 1, - "street": "Kon. Julianaplein", - "houseNumber": 10, - "houseNumberSuffix": "a", - "postalCode": "2595 AA", - "city": "Den Haag", - "country": "NL", - }, - ], - }, - } - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - examples: - v2: - summary: Order validation v2 - description: Order validation v2 - value: - { - "validContents": true, - "amountExclTax": 0, - "taxPercentage": 0, - "amountInclTax": 0, - "contents": - [ - { - "ovPayTokenId": 0, - "serviceReferenceId": "string", - "ovpasNumber": "string", - "productId": 0, - "quantity": 0, - "amountExclTax": 0, - "taxPercentage": 0, - "amountInclTax": 0, - "startDate": "string", - "endDate": "string", - "isRenewable": true, - "nextDebitDate": "string", - "termAmountExclTax": 0, - "termAmountInclTax": 0, - "additionalRemarks": - [{ "code": "string", "parameter": "string" }], - "validationErrors": - [{ "detail": "string", "pointer": "string" }], - }, - ], - } - /orders/{orderId}/fulfillment: - post: - tags: - - Order Fulfillment v2 - summary: Fulfill an order. - description: Fulfill an order. - parameters: - - in: header - name: X-HTM-JWT-AUTH-HEADER - required: false - style: simple - explode: false - schema: - type: string - - in: path - name: orderId - required: true - style: simple - explode: false - schema: - type: string - format: uuid - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 - - in: header - name: Accept-version - required: false - style: simple - explode: false - schema: - type: string - example: "2.0" - description: The version of the API. - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - examples: - v2.2: - summary: Order fulfillment v2.2 - description: Order fulfillment v2.2 - value: - { - "externalOrderId": "a0ef57fa-395c-4a03-96e9-234c26dccea9", - "languageId": 1, - "billingAddressId": 1, - "shippingAddressId": 1, - "createdOn": "2024-03-22T09:00:00", - "orderStatusId": 4, - "orderLines": - [ - { - "externalOrderLineId": "2ba39cae-c401-446b-ae5c-2d6d85b3df1f", - "productId": 1, - "quantity": 1, - "createdOn": "2024-03-22T09:00:00", - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - "orderLineStatusId": 4, - "tokens": - [ - { - "tokenTypeId": 1, - "ovPayTokenId": 1, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 34, - "ovpasNumber": "OV34567", - "verificationCode": "A7H6", - "personalAccountData": - { - "name": "Jan de Vries", - "dateOfBirth": "1970-01-01", - "photoReference": "DSC_0502.JPG", - "fileType": "image/jpg", - "challengeTypeId": 1, - "oneTimePassword": "H5Iiz3JTaQeIV8p", - }, - }, - ], - }, - ], - "payments": - [ - { - "createdOn": "2024-03-22T09:00:00", - "amountDebit": 121, - "paymentMethodId": 1, - "isRefund": false, - "htmPaymentReference": "HTM-1234", - "pspPaymentReference": "Buckaroo-1234", - "paymentStatuses": - [ - { - "createdOn": "2024-03-22T09:00:00", - "statusCode": "190", - "statusDescription": "Success", - "statusSubCode": "S001", - "statusSubDescription": "PaymentSuccessful", - }, - ], - "payPush": - { - "consumerIssuer": "ABN AMRO", - "transactionId": "0000000000000001", - "consumerName": "J. de Vries", - "consumerIBAN": "NL44RABO0123456789", - "consumerBIC": "RABONL2U", - }, - }, - ], - "customer": - { - "birthname": "Jan", - "surname": "Vries", - "prefix": "de", - "emailAddress": "jandevries@outlook.com", - "dateOfBirth": "1970-01-01", - "addresses": - [ - { - "addressTypeId": 1, - "street": "Kon. Julianaplein", - "houseNumber": 10, - "houseNumberSuffix": "a", - "postalCode": "2595 AA", - "city": "Den Haag", - "country": "NL", - }, - ], - }, - } - responses: - "201": - description: Created - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - examples: - v2.2: - summary: Order fulfillment v2 - description: Order fulfillment v2 - value: - { - "orderId": "c73ff153-72e0-403f-a276-e86f544406f9", - "externalOrderId": "a0ef57fa-395c-4a03-96e9-234c26dccea9", - "orderNumber": "123456", - "customerProfileId": 1337, - "totalAmount": 121, - "languageId": 1, - "billingAddressId": 1, - "shippingAddressId": 1, - "createdOn": "2024-03-22T09:00:00", - "orderStatusId": 4, - "orderLines": - [ - { - "orderLineId": "cccada2c-d5ea-48ab-b4be-f590e16b5468", - "externalOrderLineId": "2ba39cae-c401-446b-ae5c-2d6d85b3df1f", - "productId": 1, - "productName": "HTM Maandkorting 20%", - "productCode": "HTM-MND-20", - "productDescription": "HTM Maandkorting 20%", - "taxAmount": 21, - "taxCode": "V21", - "amountExclTax": 100, - "amountInclTax": 121, - "quantity": 1, - "terms": - [ - "generalTermsAndConditions.pdf", - "productTermsAndConditions.pdf", - ], - "createdOn": "2024-03-22T09:00:00", - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - "orderLineStatusId": 4, - "tokens": - [ - { - "tokenTypeId": 1, - "ovPayTokenId": 1, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 34, - "ovpasNumber": "OV34567", - "verificationCode": "A7H6", - "personalAccountData": - { - "name": "Jan de Vries", - "dateOfBirth": "1970-01-01", - "photoReference": "DSC_0502.JPG", - "fileType": "image/jpg", - "challengeTypeId": 1, - "oneTimePassword": "H5Iiz3JTaQeIV8p", - }, - }, - ], - }, - ], - "payments": - [ - { - "createdOn": "2024-03-22T09:00:00", - "amountDebit": 121, - "paymentMethod": - { - "paymentMethodId": 1, - "name": "ideal", - "provider": "Buckaroo", - }, - "touchPoint": - { - "salesTouchpointId": 3, - "name": "Website (Perplex)", - "isActive": true, - "retailerId": 1001, - }, - "isRefund": false, - "htmPaymentReference": "HTM-1234", - "pspPaymentReference": "Buckaroo-1234", - "paymentStatuses": - [ - { - "createdOn": "2024-03-22T09:00:00", - "statusCode": "190", - "statusDescription": "Success", - "statusSubCode": "S001", - "statusSubDescription": "PaymentSuccessful", - }, - ], - "payPush": - { - "consumerIssuer": "ABN AMRO", - "transactionId": "0000000000000001", - "consumerName": "J. de Vries", - "consumerIBAN": "NL44RABO0123456789", - "consumerBIC": "RABONL2U", - }, - }, - ], - "customer": - { - "birthname": "Jan", - "surname": "Vries", - "prefix": "de", - "emailAddress": "jandevries@outlook.com", - "dateOfBirth": "1970-01-01", - "addresses": - [ - { - "addressTypeId": 1, - "street": "Kon. Julianaplein", - "houseNumber": 10, - "houseNumberSuffix": "a", - "postalCode": "2595 AA", - "city": "Den Haag", - "country": "NL", - }, - ], - }, - } - "400": - description: Bad request - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - example: - { - "type": "https://htm.nl/api/v1/probs/validationerror", - "title": "Your request is not valid.", - "detail": "The combination of tokens and/or products chosen is not valid. See errors for more details.", - "instance": "urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b", - "errors": - [ - { - "detail": "Startdate of this product should be at most 60 days in the future.", - "pointer": "#/0/startDate", - "ovPayTokenId": 123, - "productId": 2, - }, - { - "detail": "Combination of product and token type is not valid.", - "pointer": "#/1/ovPayTokenId", - "ovPayTokenId": 123, - "productId": 3, - }, - ], - } /orders: parameters: - in: header @@ -500,7 +75,7 @@ paths: type: integer explode: false required: false - description: Filter on most recent order status. 1 = concept, 2 = awaitingPayment, 3 = pendingPayment, 4 = paid, 5 = delivered, 6 = cancelled. + description: Filter on most recent order status. 1 = concept, 2 = awaitingPayment, 3 = pendingPayment, 4 = paid, 5 = delivered, 6 = cancelled. - in: query name: customerProfileId schema: @@ -689,7 +264,10 @@ paths: "validFrom": "2024-03-22T09:00:00", "validUntil": null, "orderLineStatus": - { "orderLineStatusId": 1, "name": "pending" }, + { + "orderLineStatusId": 1, + "name": "pending", + }, "customerTokens": [ { @@ -736,22 +314,22 @@ paths: ], "payments": [], "orderCustomer": null, - } - ], - "_links": + }, + ], + "_links": + { + "self": { - "self": - { - "href": "https://api.example.com/items", - "method": "GET", - "templated": true, - }, + "href": "https://api.example.com/items", + "method": "GET", + "templated": true, }, - "href": "string", - } + }, + "href": "string", + } post: tags: - - Order Creation v2 + - Order Creation Flow v2 summary: Create a new order description: | Create a new order. This order can only contain the order itself, @@ -765,8 +343,8 @@ paths: $ref: "#/components/schemas/unavailable" examples: v2.2: - summary: Order creation v2.2 - description: Order creation v2.2 + summary: Order Creation Flow v2.2 + description: Order Creation Flow v2.2 value: { "externalOrderId": null, @@ -1178,7 +756,7 @@ paths: } patch: tags: - - Order Creation v2 + - Order Creation Flow v2 summary: Update an existing order. description: Update an existing order. requestBody: @@ -1190,10 +768,7 @@ paths: v2.2: summary: Order update v2.2 description: Order update v2.2 - value: - { - "languageId": 1, - } + value: { "languageId": 1 } responses: "200": description: OK @@ -1339,7 +914,7 @@ paths: } delete: tags: - - Order Creation v2 + - Order Creation Flow v2 summary: Delete an existing order. description: Delete an existing order. responses: @@ -1385,7 +960,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). post: tags: - - Order Creation v2 + - Order Creation Flow v2 summary: Add a new order line to an existing order. description: Add a new order line to an existing order. requestBody: @@ -1626,7 +1201,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). patch: tags: - - Order Creation v2 + - Order Creation Flow v2 summary: Update an existing order line. description: Update an existing order line. requestBody: @@ -1741,7 +1316,7 @@ paths: ], "payments": [], "orderCustomer": null, - } + } v2.1: value: { @@ -1873,7 +1448,7 @@ paths: } delete: tags: - - Order Creation v2 + - Order Creation Flow v2 summary: Delete an existing order line. description: Delete an existing order line. responses: @@ -1946,27 +1521,27 @@ paths: ], } /orderlines/{orderLineId}/customertokens: - parameters: - - in: path - name: orderLineId - required: true - style: simple - explode: false - schema: - type: string - format: uuid - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 - - in: header - name: X-HTM-JWT-AUTH-HEADER - schema: - type: string - example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c - description: The JWT of the logged in customer (in case of a web shop). - post: - tags: - - Order Creation v2 + parameters: + - in: path + name: orderLineId + required: true + style: simple + explode: false + schema: + type: string + format: uuid + example: a0ef57fa-395c-4a03-96e9-234c26dccea9 + - in: header + name: X-HTM-JWT-AUTH-HEADER + schema: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + description: The JWT of the logged in customer (in case of a web shop). + post: + tags: + - Order Creation Flow v2 summary: Add a customer token to an orderLine - description: Add a customer token to an orderLine + description: Add a customer token to an orderLine requestBody: content: application/json: @@ -1974,30 +1549,29 @@ paths: $ref: "#/components/schemas/unavailable" examples: v2.2.1: - summary: Add an existing customer token to an orderline v2.2 + summary: Add an existing customer token to an orderline v2.2 description: Add an existing customer token to an orderline v2.2 - value: - { - "tokenTypeId": 1, - "ovPayTokenId": 12} + value: { "tokenTypeId": 1, "ovPayTokenId": 12 } v2.2.2: - summary: Add a new customer token (emv) to an orderline v2.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 value: { "tokenTypeId": 1, "serviceReferenceId": "NLOV485456456445", - "amount": 100} + "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 + 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 value: { - "tokenTypeId": 2, + "tokenTypeId": 2, "ovpasNumber": "OV34567", - "verificationCode": "A7H6",} + "verificationCode": "A7H6", + } responses: - "201": + "201": description: Created content: application/json: @@ -2006,7 +1580,7 @@ paths: examples: v2.2: value: - { + { "validContents": false, "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", "externalOrderId": null, @@ -2081,43 +1655,44 @@ paths: "amount": null, "ovpasNumber": null, "verificationCode": null, - "personalAccountData": null + "personalAccountData": null, }, ], "orderAccountingStatuses": [], "validationResult": "preliminary", - "additionalRemarks": [ + "additionalRemarks": + [ { "code": "PERSONALACCOUNTDATA_BIRTHDATE_REQUIRED", "parameter": "personalaccountdata.birthdate", - } - ], + }, + ], "validationErrors": [], }, ], "payments": [], - "orderCustomers": null - } + "orderCustomers": null, + } /customertokens/{customerTokenId}: - parameters: - - in: path - name: customerTokenId - required: true - style: simple - explode: false - schema: - type: string - format: uuid - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 - - in: header - name: X-HTM-JWT-AUTH-HEADER - schema: - type: string - example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c - description: The JWT of the logged in customer (in case of a web shop). - patch: - tags: - - Order Creation v2 + parameters: + - in: path + name: customerTokenId + required: true + style: simple + explode: false + schema: + type: string + format: uuid + example: a0ef57fa-395c-4a03-96e9-234c26dccea9 + - in: header + name: X-HTM-JWT-AUTH-HEADER + schema: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + description: The JWT of the logged in customer (in case of a web shop). + patch: + tags: + - Order Creation Flow v2 summary: Update a customer token description: Update a customer token requestBody: @@ -2127,14 +1702,15 @@ paths: $ref: "#/components/schemas/unavailable" examples: v2.2: - summary: Update a customer token v2.2 + summary: Update a customer token v2.2 description: Update a customer tokenv2.2 value: { "tokenTypeId": 1, "ovPayTokenId": null, "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 34} + "amount": 34, + } responses: "200": description: OK @@ -2143,9 +1719,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + v2.2: value: - { + { "validContents": true, "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", "externalOrderId": null, @@ -2209,14 +1785,16 @@ paths: "validUntil": null, "orderLineStatus": { "orderLineStatusId": 1, "name": "pending" }, - "customerTokens": [ - { - "customerTokenId":"a0ef57fa-395c-4a03-96e9-234c26dccea9", - "tokenTypeId": 1, - "ovPayTokenId": null, - "serviceReferenceId": "NLOV1234567ABCDEFG", - "amount": 34, - "personalAccountData": null} + "customerTokens": + [ + { + "customerTokenId": "a0ef57fa-395c-4a03-96e9-234c26dccea9", + "tokenTypeId": 1, + "ovPayTokenId": null, + "serviceReferenceId": "NLOV1234567ABCDEFG", + "amount": 34, + "personalAccountData": null, + }, ], "orderAccountingStatuses": [], "validationResult": "valid", @@ -2225,13 +1803,13 @@ paths: }, ], "payments": [], - "orderCustomers": null - } + "orderCustomers": null, + } delete: - tags: - - Order Creation v2 + tags: + - Order Creation Flow v2 summary: Delete a customer token from an orderline - description: Delete a customer token from an orderline + description: Delete a customer token from an orderline responses: "200": description: OK @@ -2240,9 +1818,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + v2.2: value: - { + { "validContents": false, "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", "externalOrderId": null, @@ -2309,7 +1887,8 @@ paths: "customerTokens": [], "orderAccountingStatuses": [], "validationResult": "preliminary", - "additionalRemarks": [ + "additionalRemarks": + [ { "code": "CUSTOMERTOKEN_REQUIRED", "parameter": "customerTokenId", @@ -2319,28 +1898,28 @@ paths: }, ], "payments": [], - "orderCustomers": null + "orderCustomers": null, } /customertokens/{customerTokenId}/personalaccountdata: - parameters: - - in: path - name: customerTokenId - required: true - style: simple - explode: false - schema: - type: string - format: uuid - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 - - in: header - name: X-HTM-JWT-AUTH-HEADER - schema: - type: string - example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c - description: The JWT of the logged in customer (in case of a web shop). - post: - tags: - - Order Creation v2 + parameters: + - in: path + name: customerTokenId + required: true + style: simple + explode: false + schema: + type: string + format: uuid + example: a0ef57fa-395c-4a03-96e9-234c26dccea9 + - in: header + name: X-HTM-JWT-AUTH-HEADER + schema: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + description: The JWT of the logged in customer (in case of a web shop). + post: + tags: + - Order Creation Flow v2 summary: Add personal account data to a customer token description: Add personal account data to a customer token requestBody: @@ -2350,18 +1929,18 @@ paths: $ref: "#/components/schemas/unavailable" examples: v2.2: - summary: Add personal account data to a customer token v2.2 + summary: Add personal account data to a customer token v2.2 description: Add personal account data to a customer token v2.2 value: { "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" , + "photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC", "challengeTypeId": 1, "oneTimePassword": "H5Iiz3JTaQeIV8p", } responses: - "201": + "201": description: Created content: application/json: @@ -2370,7 +1949,7 @@ paths: examples: v2.2: value: - { + { "validContents": true, "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", "externalOrderId": null, @@ -2445,14 +2024,15 @@ paths: "amount": null, "ovpasNumber": null, "verificationCode": null, - "personalAccountData":{ - "personalAccountDataId": "d9021fdd-6e83-45c0-9aef-71680f0b4e74", - "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" , - "challengeTypeId": 1, - "oneTimePassword": "H5Iiz3JTaQeIV8p", - } + "personalAccountData": + { + "personalAccountDataId": "d9021fdd-6e83-45c0-9aef-71680f0b4e74", + "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", + "challengeTypeId": 1, + "oneTimePassword": "H5Iiz3JTaQeIV8p", + }, }, ], "orderAccountingStatuses": [], @@ -2462,28 +2042,28 @@ paths: }, ], "payments": [], - "orderCustomers": null + "orderCustomers": null, } /personalaccountdata/{personalAccountDataId}: - parameters: - - in: path - name: personalAccountDataId - required: true - style: simple - explode: false - schema: - type: string - format: uuid - example: d9021fdd-6e83-45c0-9aef-71680f0b4e74 - - in: header - name: X-HTM-JWT-AUTH-HEADER - schema: - type: string - example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c - description: The JWT of the logged in customer (in case of a web shop). - patch: - tags: - - Order Creation v2 + parameters: + - in: path + name: personalAccountDataId + required: true + style: simple + explode: false + schema: + type: string + format: uuid + example: d9021fdd-6e83-45c0-9aef-71680f0b4e74 + - in: header + name: X-HTM-JWT-AUTH-HEADER + schema: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + description: The JWT of the logged in customer (in case of a web shop). + patch: + tags: + - Order Creation Flow v2 summary: Update personal account data. P2 description: Update personal account data requestBody: @@ -2493,14 +2073,11 @@ paths: $ref: "#/components/schemas/unavailable" examples: v2.2: - summary: Update personal account data v2.2 + summary: Update personal account data v2.2 description: Update personal account data v2.2 - value: - { - "birthdate": "2010-01-01", - } + value: { "birthdate": "2010-01-01" } responses: - "201": + "201": description: Created content: application/json: @@ -2509,7 +2086,7 @@ paths: examples: v2.2: value: - { + { "validContents": false, "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", "externalOrderId": null, @@ -2584,37 +2161,39 @@ paths: "amount": null, "ovpasNumber": null, "verificationCode": null, - "personalAccountData":{ - "personalAccountDataId": "d9021fdd-6e83-45c0-9aef-71680f0b4e74", - "name": "Jan de Vries", - "birthdate": "2010-01-01", - "photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC" , - "challengeTypeId": 1, - "oneTimePassword": "H5Iiz3JTaQeIV8p", - } + "personalAccountData": + { + "personalAccountDataId": "d9021fdd-6e83-45c0-9aef-71680f0b4e74", + "name": "Jan de Vries", + "birthdate": "2010-01-01", + "photo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAWJLR0Q+SWQA4wAAAAd0SU1FB+YCBAwmK58TFQgAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDItMDRUMTI6Mzg6NDMrMDA6MDBAjYOrAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTAyLTA0VDEyOjM4OjQzKzAwOjAwMdA7FwAAAFd6VFh0UmF3IHByb2ZpbGUgdHlwZSBpcHRjAAB4nOPyDAhxVigoyk/LzEnlUgADIwsuYwsTIxNLkxQDEyBEgDTDZAMjs1Qgy9jUyMTMxBzEB8uASKBKLgDqFxF08kI1lQAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAANSURBVBhXY3grk/YfAAXYAm/HQierAAAAAElFTkSuQmCC", + "challengeTypeId": 1, + "oneTimePassword": "H5Iiz3JTaQeIV8p", + }, }, ], "orderAccountingStatuses": [], "validationResult": "invalid", "additionalRemarks": [], - "validationErrors": [ + "validationErrors": + [ { "detail": "Product is for gboAgeProfile 19-65, given gboAgeProfile is 12-19", "pointer": "#/customerTokens/878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e/personalAccountData/birthdate", }, - ], + ], }, ], "payments": [], - "orderCustomers": null - } - delete: - tags: - - Order Creation v2 + "orderCustomers": null, + } + delete: + tags: + - Order Creation Flow v2 summary: Delete personal account data. P2 description: Delete personal account data responses: - "200": + "200": description: Ok content: application/json: @@ -2622,8 +2201,8 @@ paths: $ref: "#/components/schemas/unavailable" examples: v2.2: - value: - { + value: + { "validContents": true, "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", "externalOrderId": null, @@ -2698,7 +2277,7 @@ paths: "amount": null, "ovpasNumber": null, "verificationCode": null, - "personalAccountData": null + "personalAccountData": null, }, ], "orderAccountingStatuses": [], @@ -2708,8 +2287,8 @@ paths: }, ], "payments": [], - "orderCustomers": null - } + "orderCustomers": null, + } /orders/{orderId}/payments: parameters: - in: path @@ -2729,7 +2308,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). post: tags: - - Order Creation v2 + - Order Creation Flow v2 summary: Add a payment to an existing order. description: Add a payment to an existing order. requestBody: @@ -2981,7 +2560,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). patch: tags: - - Order Creation v2 + - Order Creation Flow v2 summary: Update a payment on an existing order. description: Update a payment on an existing order. requestBody: @@ -3439,7 +3018,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). post: tags: - - Order Creation v2 + - Order Creation Flow v2 summary: Add a customer to an existing order. description: Add a customer to an existing order. requestBody: @@ -3621,7 +3200,7 @@ paths: example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c description: The JWT of the logged in customer (in case of a web shop). tags: - - Order Creation v2 + - Order Creation Flow v2 summary: Update a customer on an existing order. description: Update a customer on an existing order. requestBody: @@ -3791,7 +3370,7 @@ paths: example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c description: The JWT of the logged in customer (in case of a web shop). tags: - - Order Creation v2 + - Order Creation Flow v2 summary: Create a customer address for an existing order. description: Create a customer address for an existing order. requestBody: @@ -3969,7 +3548,7 @@ paths: example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c description: The JWT of the logged in customer (in case of a web shop). tags: - - Order Creation v2 + - Order Creation Flow v2 summary: Update a customer address for an existing order. description: Update a customer address for an existing order. requestBody: @@ -4130,7 +3709,7 @@ paths: } delete: tags: - - Order Creation v2 + - Order Creation Flow v2 summary: Delete an existing order address. description: Delete an existing order address. parameters: @@ -4246,7 +3825,7 @@ paths: description: The JWT of the logged in customer (in case of a web shop). post: tags: - - Order Fulfill v2 + - Order Fulfillment v2 summary: Fulfill an order without creating or updating the order as a resource. description: Fulfill an order without creating or updating the order as a resource. responses: -- 2.45.2 From 3230465cbb3a18f1df95702f1f68978c912d4416 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Wed, 19 Nov 2025 16:53:11 +0100 Subject: [PATCH 03/15] OVPAY-2103 - Added epurse and pad attributes to get orders. --- src/openapi/orders/service_engine_orders.yaml | 81 ++++++++++++++++++- 1 file changed, 78 insertions(+), 3 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index e37f621..02d75de 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -100,9 +100,26 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2: - summary: Find orders v2 - description: Find orders v2 + Empty order list: + summary: Empty order list + description: Empty order list + value: + { + "orders": [], + "_links": + { + "self": + { + "href": "https://api.example.com/items", + "method": "GET", + "templated": true, + }, + }, + "href": "string", + } + List with multiple orders: + summary: List with two orders + description: List with two orders value: { "orders": @@ -292,6 +309,64 @@ paths: }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, + "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": [], -- 2.45.2 From a4f33c543936051e40b56febb5980adb12160adf Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 21 Nov 2025 14:36:29 +0100 Subject: [PATCH 04/15] OVPAY-2103 - Added ovPayToken info to get orders. --- src/openapi/orders/service_engine_orders.yaml | 31 ++++++++++++++++--- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 02d75de..c7b78b5 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -119,7 +119,9 @@ paths: } List with multiple orders: summary: List with two orders - description: List with two orders + description: | + List with two orders. Note how the second order is a concept order and therefore has + more token information than the first order which is already paid. value: { "orders": @@ -309,6 +311,22 @@ 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, @@ -633,9 +651,14 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: - summary: Order details v2.2 - description: Order details v2.2 + Order with status concept: + summary: Order with status concept + description: Order with status concept + value: + { } + Order with status paid: + summary: Order with status paid + description: Order with status paid value: { "validContents": null, -- 2.45.2 From 482911d717eb3b02d0e86e5f61ad204510321bf3 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 21 Nov 2025 14:54:05 +0100 Subject: [PATCH 05/15] OVPAY-2103 - Added example for get single order. --- src/openapi/orders/service_engine_orders.yaml | 211 +++++++++++++++++- 1 file changed, 199 insertions(+), 12 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index c7b78b5..ce7dbf9 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -311,22 +311,25 @@ paths: }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, - "ovPayToken": { + "ovPayToken": + { "customerProfileId": 1, "ovPayTokenId": 1, "xTat": "32089cc8-d187-47ff-a3a9-5c2558def811", - "tokenType": { - "tokenTypeId": 2, - "name": "OV-pas physical" - }, + "tokenType": + { + "tokenTypeId": 2, + "name": "OV-pas physical", + }, "alias": "MyToken", - "tokenStatus": { - "tokenStatusId": 2, - "name": "Active" - }, + "tokenStatus": + { + "tokenStatusId": 2, + "name": "Active", + }, "expirationDate": "2028-02-01", - "replacedByTokenId": null - }, + "replacedByTokenId": null, + }, "autoReloadRegistration": { "autoReloadAmount": 500, @@ -655,7 +658,191 @@ paths: summary: Order with status concept description: Order with status concept 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-22T09:00:00", + "validUntil": null, + "orderLineStatus": + { "orderLineStatusId": 1, "name": "pending" }, + "customerTokens": + [ + { + "customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e", + "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", + }, + "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": "invalid", + "additionalRemarks": + [ + { + "code": "MANDATE_REQUIRED", + "parameter": "directDebitMandateId", + }, + ], + "validationErrors": + [ + { + "detail": "Startdate of this product should be at most 60 days in the future.", + "pointer": "#/0/startDate", + }, + ], + }, + ], + "payments": [], + "orderCustomer": null, + } Order with status paid: summary: Order with status paid description: Order with status paid -- 2.45.2 From 0b91eae4faf399941471c55982ba6bbaac814f41 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 21 Nov 2025 15:00:00 +0100 Subject: [PATCH 06/15] OVPAY-2103 - Updated examples for POST order. --- src/openapi/orders/service_engine_orders.yaml | 82 ++++++++++++++++++- 1 file changed, 78 insertions(+), 4 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index ce7dbf9..dccc51b 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -438,9 +438,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: - summary: Order Creation Flow v2.2 - description: Order Creation Flow v2.2 + Create order with OVpas and PAD: + summary: Create order with OVpas and PAD + description: Create order with OVpas and PAD value: { "externalOrderId": null, @@ -483,7 +483,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + Concept order with OVpas and PAD: value: { "validContents": false, @@ -573,6 +573,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": [], -- 2.45.2 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 07/15] 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, -- 2.45.2 From 70842ca9dc5433246c47782f91378c999970011c Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 21 Nov 2025 17:09:33 +0100 Subject: [PATCH 08/15] OVPAY-2103 - Created two versions of get concept order for known and anon token. --- src/openapi/orders/service_engine_orders.yaml | 199 ++++++++++++++++-- 1 file changed, 179 insertions(+), 20 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 0da6b5b..69d00cb 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -728,9 +728,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - Order with status concept: - summary: Order with status concept - description: Order with status concept + Order with status concept (and existing token): + summary: Order with status concept (and existing token) + description: Order with status concept (and existing token) value: { "validContents": false, @@ -803,23 +803,11 @@ paths: "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", - }, + "serviceReferenceId": null, + "amount": null, + "ovpasNumber": null, + "verificationCode": null, + "personalAccountData": null, "ovPayToken": { "customerProfileId": 1, @@ -917,6 +905,177 @@ paths: "payments": [], "orderCustomer": null, } + Order with status concept (and anonymous token): + summary: Order with status concept (and anonymous token) + description: Order with status concept (and anonymous token) + 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-22T09:00:00", + "validUntil": null, + "orderLineStatus": + { "orderLineStatusId": 1, "name": "pending" }, + "customerTokens": + [ + { + "customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e", + "tokenType": + { "tokenTypeId": 1, "name": "EMV" }, + "ovPayTokenId": null, + "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", + }, + "ovPayToken": 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": "invalid", + "additionalRemarks": + [ + { + "code": "MANDATE_REQUIRED", + "parameter": "directDebitMandateId", + }, + ], + "validationErrors": + [ + { + "detail": "Startdate of this product should be at most 60 days in the future.", + "pointer": "#/0/startDate", + }, + ], + }, + ], + "payments": [], + "orderCustomer": null, + } Order with status paid: summary: Order with status paid description: Order with status paid -- 2.45.2 From 62ab18b8e8bfa888c3bdfbd528a1d969bfe860b4 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Wed, 26 Nov 2025 16:11:16 +0100 Subject: [PATCH 09/15] OVPAY-2103 - Added emty attributes under customerTokens. --- src/openapi/orders/service_engine_orders.yaml | 33 ++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 69d00cb..fe0a418 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -1173,6 +1173,11 @@ paths: }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, + "ovPayToken": null, + "autoReloadRegistration": null, + "ePurse": null, + "gboPersonalAccountData": null, + "gboAgeProfile": null, }, ], "orderAccountingStatuses": @@ -3443,6 +3448,11 @@ paths: }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, + "ovPayToken": null, + "autoReloadRegistration": null, + "ePurse": null, + "gboPersonalAccountData": null, + "gboAgeProfile": null, }, ], "orderAccountingStatuses": [], @@ -3491,6 +3501,11 @@ paths: "ovpasNumber": null, "verificationCode": null, "personalAccountData": null, + "ovPayToken": null, + "autoReloadRegistration": null, + "ePurse": null, + "gboPersonalAccountData": null, + "gboAgeProfile": null, }, ], "orderAccountingStatuses": [], @@ -3729,6 +3744,11 @@ paths: }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, + "ovPayToken": null, + "autoReloadRegistration": null, + "ePurse": null, + "gboPersonalAccountData": null, + "gboAgeProfile": null, }, ], "orderAccountingStatuses": [], @@ -3916,6 +3936,11 @@ paths: }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, + "ovPayToken": null, + "autoReloadRegistration": null, + "ePurse": null, + "gboPersonalAccountData": null, + "gboAgeProfile": null, }, ], "orderAccountingStatuses": @@ -4183,7 +4208,7 @@ paths: }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, - "ovPayToken": + "ovPayToken": { "customerProfileId": 1, "ovPayTokenId": 1, @@ -4427,7 +4452,7 @@ paths: }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, - "ovPayToken": + "ovPayToken": { "customerProfileId": 1, "ovPayTokenId": 1, @@ -4673,7 +4698,7 @@ paths: }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, - "ovPayToken": + "ovPayToken": { "customerProfileId": 1, "ovPayTokenId": 1, @@ -4925,7 +4950,7 @@ paths: }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, - "ovPayToken": + "ovPayToken": { "customerProfileId": 1, "ovPayTokenId": 1, -- 2.45.2 From 8c3ad923f7dab86eaf6c41db2b9286ba06b3e9cc Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Thu, 27 Nov 2025 15:05:58 +0100 Subject: [PATCH 10/15] OVPAY-2103 - Bugs after merge conflict. --- src/openapi/orders/service_engine_orders.yaml | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 896e150..1d7a789 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -90,8 +90,8 @@ paths: description: xTat used in order fulfillment. Note that this is a joined parameter via PurchasedProduct. tags: - Order Retrieval - summary: Find orders - description: Find orders + summary: Find orders. + description: Find orders. responses: "200": description: OK @@ -426,7 +426,7 @@ paths: post: tags: - Order Creation Flow - summary: Create a new order + summary: Create a new order. description: | Create a new order. This order can only contain the order itself, one ore more order lines and optionally a customer token per order line. @@ -717,8 +717,8 @@ paths: description: The JWT of the logged in customer (in case of a web shop). get: tags: - - Order Retrieval v2 - summary: Get a single order + - Order Retrieval + summary: Get a single order. description: Get a single order. responses: "200": @@ -1564,8 +1564,8 @@ paths: post: tags: - Order Creation Flow - summary: Add a new order line to an existing order - description: Add a new order line to an existing order + summary: Add a new order line to an existing order. + description: Add a new order line to an existing order. requestBody: content: application/json: @@ -2249,8 +2249,8 @@ paths: post: tags: - Order Creation Flow - summary: Add a customer token to an orderLine - description: Add a customer token to an orderLine + summary: Add a customer token to an orderLine. + description: Add a customer token to an orderLine. requestBody: content: application/json: @@ -2476,8 +2476,8 @@ paths: patch: tags: - Order Creation Flow - summary: Update a customer token - description: Update a customer token + summary: Update a customer token. + description: Update a customer token. requestBody: content: application/json: @@ -2662,8 +2662,8 @@ paths: delete: tags: - Order Creation Flow - summary: Delete a customer token from an orderline - description: Delete a customer token from an orderline + summary: Delete a customer token from an orderline. + description: Delete a customer token from an orderline. responses: "200": description: OK @@ -2774,8 +2774,8 @@ paths: post: tags: - Order Creation Flow - summary: Add personal account data to a customer token - description: 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. requestBody: content: application/json: @@ -2992,8 +2992,8 @@ paths: patch: tags: - Order Creation Flow - summary: Update personal account data - description: Update personal account data + summary: Update personal account data. + description: Update personal account data. requestBody: content: application/json: @@ -3192,8 +3192,8 @@ paths: delete: tags: - Order Creation Flow - summary: Delete personal account data - description: Delete personal account data + summary: Delete personal account data. + description: Delete personal account data. responses: "200": description: Ok @@ -3385,8 +3385,8 @@ paths: post: tags: - Order Creation Flow - summary: Add a payment to an existing order - description: Add a payment to an existing order + summary: Add a payment to an existing order. + description: Add a payment to an existing order. requestBody: content: application/json: @@ -3649,8 +3649,8 @@ paths: patch: tags: - Order Creation Flow - summary: Update a payment on an existing order - description: Update a payment on an existing order + summary: Update a payment on an existing orders. + description: Update a payment on an existing order. requestBody: content: application/json: @@ -4143,8 +4143,8 @@ paths: post: tags: - Order Creation Flow - summary: Add a customer to an existing order - description: Add a customer to an existing order + summary: Add a customer to an existing orders. + description: Add a customer to an existing order. requestBody: content: application/json: @@ -4399,8 +4399,8 @@ paths: description: The JWT of the logged in customer (in case of a web shop). tags: - Order Creation Flow - summary: Update a customer on an existing order - description: Update a customer on an existing order + summary: Update a customer on an existing order. + description: Update a customer on an existing order. requestBody: content: application/json: @@ -4643,8 +4643,8 @@ paths: description: The JWT of the logged in customer (in case of a web shop). tags: - Order Creation Flow - summary: Create a customer address for an existing order - description: Create a customer address for an existing order + summary: Create a customer address for an existing order. + description: Create a customer address for an existing order. requestBody: content: application/json: @@ -4895,8 +4895,8 @@ paths: description: The JWT of the logged in customer (in case of a web shop). tags: - Order Creation Flow - summary: Update a customer address for an existing order - description: Update a customer address for an existing order + summary: Update a customer address for an existing order. + description: Update a customer address for an existing order. requestBody: content: application/json: @@ -5255,7 +5255,7 @@ paths: get: tags: - Order validation - summary: Get GBO age profile that is valid for the given input. P2 + summary: Get GBO age profile that is valid for the given input. description: |- Only one age profile can be valid at any one time, so only one profile is returned. parameters: -- 2.45.2 From 8db879c589342d0909d081a0f57b093b3c52db23 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Thu, 27 Nov 2025 15:10:07 +0100 Subject: [PATCH 11/15] OVPAY-2103 - Bugs after merge conflict, part deux. --- src/openapi/orders/service_engine_orders.yaml | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 1d7a789..34cf344 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -1782,8 +1782,8 @@ paths: "payments": [], "orderCustomers": null } - v2.2.1: - summary: Create order line v2.2.1 with minimum requirements + Create order line with minimum requirements: + summary: Create order line with minimum requirements description: AddRemark for case where chosen product requires personal account data birthdate value: { @@ -2026,15 +2026,6 @@ paths: "validFrom": "2024-03-25T09:00:00", "validUntil": null, } - v2.2: - summary: Update order line v2.2 - description: Update order line v2.2 - value: - { - "quantity": 1, - "validFrom": "2024-03-25T09:00:00", - "validUntil": null, - } responses: "200": description: OK @@ -4672,7 +4663,7 @@ paths: schema: $ref: "#/components/schemas/unavailable" examples: - v2.2: + Order with added customer address: value: { "validContents": false, @@ -5254,7 +5245,7 @@ paths: /orders/validation/gboAgeProfile: get: tags: - - Order validation + - Order Validation summary: Get GBO age profile that is valid for the given input. description: |- Only one age profile can be valid at any one time, so only one profile is returned. -- 2.45.2 From cd9a2f1683c4508d717e219609de8a4cc31a4bd3 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Thu, 27 Nov 2025 15:35:22 +0100 Subject: [PATCH 12/15] OVPAY-2103 - Typos. --- src/openapi/orders/service_engine_orders.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 34cf344..715653a 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -4243,7 +4243,7 @@ paths: [ { "customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e", - "tokenTypeId": + "tokenType": { "tokenTypeId": 1, "name": "EMV" }, "ovPayTokenId": 1, "serviceReferenceId": "NLOV1234567ABCDEFG", @@ -4487,7 +4487,7 @@ paths: [ { "customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e", - "tokenTypeId": + "tokenType": { "tokenTypeId": 1, "name": "EMV" }, "ovPayTokenId": 1, "serviceReferenceId": "NLOV1234567ABCDEFG", -- 2.45.2 From 04be5e5fbdbfd3a865ca0dfd3a2b82462f8cd550 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 28 Nov 2025 11:41:04 +0100 Subject: [PATCH 13/15] OVPAY-2103 - Processed review remarks. --- src/openapi/orders/service_engine_orders.yaml | 472 ++++++++++-------- 1 file changed, 256 insertions(+), 216 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 715653a..4919cac 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -147,8 +147,6 @@ paths: "iso639Code": "nl-NL", "ietfCode": "nl", }, - "billingAddressId": 1, - "shippingAddressId": 1, "createdOn": "2024-03-22T09:00:00", "lastUpdatedOn": "2024-03-22T09:00:00", "order_OrderStatuses": @@ -159,7 +157,43 @@ paths: "createdOn": "2024-03-22T09:00:00", "description": "Order succesvol betaald", }, - "orderLines": [], + "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": null, + "amountExclTax": null, + "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-22T09:00:00", + "validUntil": null, + "orderLineStatus": + { + "orderLineStatusId": 1, + "name": "pending", + }, + "customerTokens": null, + }, + ], "payments": [ { @@ -264,8 +298,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -313,7 +347,7 @@ paths: }, "ovPayToken": { - "customerProfileId": 1, + "customerProfileId": 1337, "ovPayTokenId": 1, "xTat": "32089cc8-d187-47ff-a3a9-5c2558def811", "tokenType": @@ -529,8 +563,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -776,8 +810,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -953,8 +987,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -1131,8 +1165,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -1346,8 +1380,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -1603,7 +1637,7 @@ paths: { "productId": 2, "quantity": 1, - "createdOn": "2024-03-22T09:00:00" + "createdOn": "2024-03-22T09:00:00", } responses: "200": @@ -1617,7 +1651,7 @@ paths: summary: AddRemark chosen product is not a leaf node product description: AddRemark for case where chosen product is not a leaf node product value: - { + { "validContents": false, "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", "externalOrderId": null, @@ -1661,8 +1695,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -1685,7 +1719,8 @@ paths: [ { "customerTokenId": "878ad7c1-cd8f-4bcf-a983-1bd8c6e6975e", - "tokenType": { "tokenTypeId": 1, "name": "EMV" }, + "tokenType": + { "tokenTypeId": 1, "name": "EMV" }, "ovPayTokenId": 12, "serviceReferenceId": null, "amount": null, @@ -1770,23 +1805,24 @@ paths: ], "orderAccountingStatuses": [], "validationResult": "preliminary", - "additionalRemarks": [ + "additionalRemarks": + [ { "code": "PRODUCT_CHOICE_REQUIRED", "parameter": "orderline.productId", - } - ], + }, + ], "validationErrors": [], }, ], "payments": [], - "orderCustomers": null + "orderCustomers": null, } Create order line with minimum requirements: summary: Create order line with minimum requirements - description: AddRemark for case where chosen product requires personal account data birthdate + description: AddRemark for case where chosen product requires personal account data birthdate value: - { + { "validContents": false, "orderId": "1e441d7d-50d6-4006-aca7-5e87e2f218df", "externalOrderId": null, @@ -1830,8 +1866,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -1940,20 +1976,21 @@ paths: ], "orderAccountingStatuses": [], "validationResult": "preliminary", - "additionalRemarks": [ + "additionalRemarks": + [ { "code": "PERSONALACCOUNTDATA_BIRTHDATE_REQUIRED", "parameter": "personalaccountdata.birthdate", - }, + }, { "code": "TOKEN_REQUIRED", "parameter": "customerToken", - }, + }, { "code": "VALIDFROM_REQUIRED", "parameter": "orderline.validFrom", - } - ], + }, + ], "validationErrors": [], }, ], @@ -2080,8 +2117,8 @@ paths: "productDescription": "Voor een vast bedrag onbeperkt reizen met EBS, HTM en RET in gebied HL65", "taxCode": "V09", "taxPercentage": 9.0000, - "taxAmount": 488, - "amountExclTax": 5412, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 5900, "quantity": 1, "orderLineTerms": @@ -2221,27 +2258,27 @@ paths: ], } /orderlines/{orderLineId}/customertokens: - parameters: - - in: path - name: orderLineId - required: true - style: simple - explode: false - schema: - type: string - format: uuid - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 - - in: header - name: X-HTM-JWT-AUTH-HEADER - schema: - type: string - example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c - description: The JWT of the logged in customer (in case of a web shop). - post: - tags: + parameters: + - in: path + name: orderLineId + required: true + style: simple + explode: false + schema: + type: string + format: uuid + example: a0ef57fa-395c-4a03-96e9-234c26dccea9 + - in: header + name: X-HTM-JWT-AUTH-HEADER + schema: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + description: The JWT of the logged in customer (in case of a web shop). + post: + tags: - Order Creation Flow summary: Add a customer token to an orderLine. - description: Add a customer token to an orderLine. + description: Add a customer token to an orderLine. requestBody: content: application/json: @@ -2324,8 +2361,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -2448,24 +2485,24 @@ paths: "orderCustomers": null, } /customertokens/{customerTokenId}: - parameters: - - in: path - name: customerTokenId - required: true - style: simple - explode: false - schema: - type: string - format: uuid - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 - - in: header - name: X-HTM-JWT-AUTH-HEADER - schema: - type: string - example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c - description: The JWT of the logged in customer (in case of a web shop). - patch: - tags: + parameters: + - in: path + name: customerTokenId + required: true + style: simple + explode: false + schema: + type: string + format: uuid + example: a0ef57fa-395c-4a03-96e9-234c26dccea9 + - in: header + name: X-HTM-JWT-AUTH-HEADER + schema: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + description: The JWT of the logged in customer (in case of a web shop). + patch: + tags: - Order Creation Flow summary: Update a customer token. description: Update a customer token. @@ -2539,8 +2576,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -2568,78 +2605,81 @@ paths: "serviceReferenceId": "NLOV1234567ABCDEFG", "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, + }, }, - "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", @@ -2651,10 +2691,10 @@ paths: "orderCustomers": null, } delete: - tags: + tags: - Order Creation Flow summary: Delete a customer token from an orderline. - description: Delete a customer token from an orderline. + description: Delete a customer token from an orderline. responses: "200": description: OK @@ -2709,8 +2749,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -2746,24 +2786,24 @@ paths: "orderCustomers": null, } /customertokens/{customerTokenId}/personalaccountdata: - parameters: - - in: path - name: customerTokenId - required: true - style: simple - explode: false - schema: - type: string - format: uuid - example: a0ef57fa-395c-4a03-96e9-234c26dccea9 - - in: header - name: X-HTM-JWT-AUTH-HEADER - schema: - type: string - example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c - description: The JWT of the logged in customer (in case of a web shop). - post: - tags: + parameters: + - in: path + name: customerTokenId + required: true + style: simple + explode: false + schema: + type: string + format: uuid + example: a0ef57fa-395c-4a03-96e9-234c26dccea9 + - in: header + name: X-HTM-JWT-AUTH-HEADER + schema: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + description: The JWT of the logged in customer (in case of a web shop). + post: + tags: - Order Creation Flow summary: Add personal account data to a customer token. description: Add personal account data to a customer token. @@ -2838,8 +2878,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -2964,24 +3004,24 @@ paths: "orderCustomers": null, } /personalaccountdata/{personalAccountDataId}: - parameters: - - in: path - name: personalAccountDataId - required: true - style: simple - explode: false - schema: - type: string - format: uuid - example: d9021fdd-6e83-45c0-9aef-71680f0b4e74 - - in: header - name: X-HTM-JWT-AUTH-HEADER - schema: - type: string - example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c - description: The JWT of the logged in customer (in case of a web shop). - patch: - tags: + parameters: + - in: path + name: personalAccountDataId + required: true + style: simple + explode: false + schema: + type: string + format: uuid + example: d9021fdd-6e83-45c0-9aef-71680f0b4e74 + - in: header + name: X-HTM-JWT-AUTH-HEADER + schema: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + description: The JWT of the logged in customer (in case of a web shop). + patch: + tags: - Order Creation Flow summary: Update personal account data. description: Update personal account data. @@ -3049,8 +3089,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -3178,10 +3218,10 @@ paths: }, ], "payments": [], - "orderCustomer": null - } - delete: - tags: + "orderCustomer": null, + } + delete: + tags: - Order Creation Flow summary: Delete personal account data. description: Delete personal account data. @@ -3239,8 +3279,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -3460,8 +3500,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -3525,8 +3565,8 @@ paths: "productDescription": "HTM Maandkorting 40%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 42, - "amountExclTax": 200, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 242, "quantity": 1, "orderLineTerms": @@ -3755,8 +3795,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -3947,8 +3987,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -4219,8 +4259,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -4463,8 +4503,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -4709,8 +4749,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -4961,8 +5001,8 @@ paths: "productDescription": "HTM Maandkorting 20%", "taxCode": "V21", "taxPercentage": 21.0000, - "taxAmount": 21, - "amountExclTax": 100, + "taxAmount": null, + "amountExclTax": null, "amountInclTax": 121, "quantity": 1, "orderLineTerms": @@ -5308,7 +5348,7 @@ paths: description: verification code belonging to the OVpas number schema: type: string - example: 1A3C7D + example: 1A3C7D responses: "200": description: OK @@ -5414,4 +5454,4 @@ components: example: 4 ageToInclusive: type: integer - example: 11 \ No newline at end of file + example: 11 -- 2.45.2 From 270217238f387ad0cf5b1876911590a57b5b54b4 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 28 Nov 2025 11:51:05 +0100 Subject: [PATCH 14/15] OVPAY-2103 - Typo OrderCustomers. --- src/openapi/orders/service_engine_orders.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 4919cac..547a53b 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -1816,7 +1816,7 @@ paths: }, ], "payments": [], - "orderCustomers": null, + "orderCustomer": null, } Create order line with minimum requirements: summary: Create order line with minimum requirements @@ -2482,7 +2482,7 @@ paths: }, ], "payments": [], - "orderCustomers": null, + "orderCustomer": null, } /customertokens/{customerTokenId}: parameters: @@ -2688,7 +2688,7 @@ paths: }, ], "payments": [], - "orderCustomers": null, + "orderCustomer": null, } delete: tags: @@ -2783,7 +2783,7 @@ paths: }, ], "payments": [], - "orderCustomers": null, + "orderCustomer": null, } /customertokens/{customerTokenId}/personalaccountdata: parameters: @@ -3001,7 +3001,7 @@ paths: }, ], "payments": [], - "orderCustomers": null, + "orderCustomer": null, } /personalaccountdata/{personalAccountDataId}: parameters: @@ -3394,7 +3394,7 @@ paths: }, ], "payments": [], - "orderCustomers": null, + "orderCustomer": null, } /orders/{orderId}/payments: parameters: @@ -3917,7 +3917,7 @@ paths: }, }, ], - "orderCustomers": + "orderCustomer": { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073", "birthname": "Jan", @@ -4130,7 +4130,7 @@ paths: }, }, ], - "orderCustomers": + "orderCustomer": { "orderCustomerId": "94270188-4cf6-447e-bd49-e8186bcec073", "birthname": "Jan", -- 2.45.2 From d7f4cefca8eeebfbcbfdb0cca9acd8f5d181a55a Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Fri, 28 Nov 2025 12:39:19 +0100 Subject: [PATCH 15/15] OVPAY-2103 - Updated customerTokens. --- src/openapi/orders/service_engine_orders.yaml | 1651 +++++++++-------- 1 file changed, 847 insertions(+), 804 deletions(-) diff --git a/src/openapi/orders/service_engine_orders.yaml b/src/openapi/orders/service_engine_orders.yaml index 547a53b..adaebe9 100644 --- a/src/openapi/orders/service_engine_orders.yaml +++ b/src/openapi/orders/service_engine_orders.yaml @@ -363,65 +363,65 @@ paths: }, "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": + "autoReloadRegistration": { - "currency": "EUR", - "amount": 350, + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", }, - "status": "ACTIVE", - "originDate": "2019-07-16T11:00:00+02:00", - }, - "gboPersonalAccountData": - { - "name": + "ePurse": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "e-PurseBalance": + { + "currency": "EUR", + "amount": 350, + }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", }, - "birthdate": + "personalAccountData": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "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", + }, }, - "photo": + "gboAgeProfile": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "gboAgeProfileId": 1, + "name": "Kind (4 t/m 11 jaar)", + "ageFromInclusive": 4, + "ageToInclusive": 11, }, }, - "gboAgeProfile": - { - "gboAgeProfileId": 1, - "name": "Kind (4 t/m 11 jaar)", - "ageFromInclusive": 4, - "ageToInclusive": 11, - }, }, ], "orderAccountingStatuses": [], @@ -625,61 +625,64 @@ paths: }, "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": + "autoReloadRegistration": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", }, - "birthdate": + "ePurse": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "e-PurseBalance": + { + "currency": "EUR", + "amount": 350, + }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", }, - "photo": + "personalAccountData": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "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, }, - }, - "gboAgeProfile": - { - "gboAgeProfileId": 1, - "name": "Kind (4 t/m 11 jaar)", - "ageFromInclusive": 4, - "ageToInclusive": 11, }, }, ], @@ -860,61 +863,64 @@ paths: }, "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": + "autoReloadRegistration": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", }, - "birthdate": + "ePurse": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "e-PurseBalance": + { + "currency": "EUR", + "amount": 350, + }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", }, - "photo": + "personalAccountData": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "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, }, - }, - "gboAgeProfile": - { - "gboAgeProfileId": 1, - "name": "Kind (4 t/m 11 jaar)", - "ageFromInclusive": 4, - "ageToInclusive": 11, }, }, ], @@ -1031,61 +1037,82 @@ paths: }, "oneTimePassword": "H5Iiz3JTaQeIV8p", }, - "ovPayToken": null, - "autoReloadRegistration": + "ovPayToken": { - "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": + "customerProfileId": null, + "ovPayTokenId": null, + "xTat": "32089cc8-d187-47ff-a3a9-5c2558def811", + "tokenType": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "tokenTypeId": 2, + "name": "OV-pas physical", }, - "birthdate": + "alias": null, + "tokenStatus": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "tokenStatusId": 2, + "name": "Active", }, - "photo": + "expirationDate": "2028-02-01", + "replacedByTokenId": null, + "autoReloadRegistration": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "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", + }, + "personalAccountData": + { + "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, }, - }, - "gboAgeProfile": - { - "gboAgeProfileId": 1, - "name": "Kind (4 t/m 11 jaar)", - "ageFromInclusive": 4, - "ageToInclusive": 11, }, }, ], @@ -1208,10 +1235,6 @@ paths: "oneTimePassword": "H5Iiz3JTaQeIV8p", }, "ovPayToken": null, - "autoReloadRegistration": null, - "ePurse": null, - "gboPersonalAccountData": null, - "gboAgeProfile": null, }, ], "orderAccountingStatuses": @@ -1442,61 +1465,64 @@ paths: }, "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": + "autoReloadRegistration": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", }, - "birthdate": + "ePurse": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "e-PurseBalance": + { + "currency": "EUR", + "amount": 350, + }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", }, - "photo": + "personalAccountData": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "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, }, - }, - "gboAgeProfile": - { - "gboAgeProfileId": 1, - "name": "Kind (4 t/m 11 jaar)", - "ageFromInclusive": 4, - "ageToInclusive": 11, }, }, ], @@ -1745,61 +1771,64 @@ paths: }, "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": + "autoReloadRegistration": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", }, - "birthdate": + "ePurse": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "e-PurseBalance": + { + "currency": "EUR", + "amount": 350, + }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", }, - "photo": + "personalAccountData": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "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, }, - }, - "gboAgeProfile": - { - "gboAgeProfileId": 1, - "name": "Kind (4 t/m 11 jaar)", - "ageFromInclusive": 4, - "ageToInclusive": 11, }, }, ], @@ -1916,61 +1945,64 @@ paths: }, "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": + "autoReloadRegistration": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", }, - "birthdate": + "ePurse": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "e-PurseBalance": + { + "currency": "EUR", + "amount": 350, + }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", }, - "photo": + "personalAccountData": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "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, }, - }, - "gboAgeProfile": - { - "gboAgeProfileId": 1, - "name": "Kind (4 t/m 11 jaar)", - "ageFromInclusive": 4, - "ageToInclusive": 11, }, }, ], @@ -2411,61 +2443,64 @@ paths: }, "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": + "autoReloadRegistration": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", }, - "birthdate": + "ePurse": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "e-PurseBalance": + { + "currency": "EUR", + "amount": 350, + }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", }, - "photo": + "personalAccountData": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "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, }, - }, - "gboAgeProfile": - { - "gboAgeProfileId": 1, - "name": "Kind (4 t/m 11 jaar)", - "ageFromInclusive": 4, - "ageToInclusive": 11, }, }, ], @@ -2623,61 +2658,64 @@ paths: }, "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": + "autoReloadRegistration": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", }, - "birthdate": + "ePurse": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "e-PurseBalance": + { + "currency": "EUR", + "amount": 350, + }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", }, - "photo": + "personalAccountData": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "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, }, - }, - "gboAgeProfile": - { - "gboAgeProfileId": 1, - "name": "Kind (4 t/m 11 jaar)", - "ageFromInclusive": 4, - "ageToInclusive": 11, }, }, ], @@ -2936,61 +2974,64 @@ paths: }, "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": + "autoReloadRegistration": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", }, - "birthdate": + "ePurse": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "e-PurseBalance": + { + "currency": "EUR", + "amount": 350, + }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", }, - "photo": + "personalAccountData": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "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, }, - }, - "gboAgeProfile": - { - "gboAgeProfileId": 1, - "name": "Kind (4 t/m 11 jaar)", - "ageFromInclusive": 4, - "ageToInclusive": 11, }, }, ], @@ -3147,61 +3188,64 @@ paths: }, "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": + "autoReloadRegistration": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", }, - "birthdate": + "ePurse": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "e-PurseBalance": + { + "currency": "EUR", + "amount": 350, + }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", }, - "photo": + "personalAccountData": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "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, }, - }, - "gboAgeProfile": - { - "gboAgeProfileId": 1, - "name": "Kind (4 t/m 11 jaar)", - "ageFromInclusive": 4, - "ageToInclusive": 11, }, }, ], @@ -3329,61 +3373,64 @@ paths: }, "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": + "autoReloadRegistration": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", }, - "birthdate": + "ePurse": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "e-PurseBalance": + { + "currency": "EUR", + "amount": 350, + }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", }, - "photo": + "personalAccountData": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "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, }, - }, - "gboAgeProfile": - { - "gboAgeProfileId": 1, - "name": "Kind (4 t/m 11 jaar)", - "ageFromInclusive": 4, - "ageToInclusive": 11, }, }, ], @@ -3545,10 +3592,6 @@ paths: "oneTimePassword": "H5Iiz3JTaQeIV8p", }, "ovPayToken": null, - "autoReloadRegistration": null, - "ePurse": null, - "gboPersonalAccountData": null, - "gboAgeProfile": null, }, ], "orderAccountingStatuses": [], @@ -3598,10 +3641,6 @@ paths: "verificationCode": null, "personalAccountData": null, "ovPayToken": null, - "autoReloadRegistration": null, - "ePurse": null, - "gboPersonalAccountData": null, - "gboAgeProfile": null, }, ], "orderAccountingStatuses": [], @@ -3840,10 +3879,6 @@ paths: "oneTimePassword": "H5Iiz3JTaQeIV8p", }, "ovPayToken": null, - "autoReloadRegistration": null, - "ePurse": null, - "gboPersonalAccountData": null, - "gboAgeProfile": null, }, ], "orderAccountingStatuses": [], @@ -4032,10 +4067,6 @@ paths: "oneTimePassword": "H5Iiz3JTaQeIV8p", }, "ovPayToken": null, - "autoReloadRegistration": null, - "ePurse": null, - "gboPersonalAccountData": null, - "gboAgeProfile": null, }, ], "orderAccountingStatuses": @@ -4321,61 +4352,64 @@ paths: }, "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": + "autoReloadRegistration": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", }, - "birthdate": + "ePurse": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "e-PurseBalance": + { + "currency": "EUR", + "amount": 350, + }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", }, - "photo": + "personalAccountData": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "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, }, - }, - "gboAgeProfile": - { - "gboAgeProfileId": 1, - "name": "Kind (4 t/m 11 jaar)", - "ageFromInclusive": 4, - "ageToInclusive": 11, }, }, ], @@ -4565,61 +4599,64 @@ paths: }, "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": + "autoReloadRegistration": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", }, - "birthdate": + "ePurse": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "e-PurseBalance": + { + "currency": "EUR", + "amount": 350, + }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", }, - "photo": + "personalAccountData": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "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, }, - }, - "gboAgeProfile": - { - "gboAgeProfileId": 1, - "name": "Kind (4 t/m 11 jaar)", - "ageFromInclusive": 4, - "ageToInclusive": 11, }, }, ], @@ -4811,61 +4848,64 @@ paths: }, "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": + "autoReloadRegistration": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", }, - "birthdate": + "ePurse": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "e-PurseBalance": + { + "currency": "EUR", + "amount": 350, + }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", }, - "photo": + "gboPersonalAccountData": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "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, }, - }, - "gboAgeProfile": - { - "gboAgeProfileId": 1, - "name": "Kind (4 t/m 11 jaar)", - "ageFromInclusive": 4, - "ageToInclusive": 11, }, }, ], @@ -5063,61 +5103,64 @@ paths: }, "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": + "autoReloadRegistration": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "autoReloadAmount": 500, + "retailerReferenceId": "abc", + "arrit": "425f7fc2-1103-4822-9c79-7c4aaa2fb6aa", + "autoReloadRegistrationStatus": "ACTIVE", + "autoReloadRegistrationStartDateTime": "2024-06-02T15:03:46Z", }, - "birthdate": + "ePurse": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "e-PurseBalance": + { + "currency": "EUR", + "amount": 350, + }, + "status": "ACTIVE", + "originDate": "2019-07-16T11:00:00+02:00", }, - "photo": + "gboPersonalAccountData": { - "inaccuracyFlag": false, - "inaccuracyFlagReason": null, - "inaccuracyFlagSetCounter": 0, - "isValidated": false, - "changeCounter": 0, - "maxUpdatesVerificationCount": 0, - "lastChangeDate": "2024-08-24T14:15:22Z", + "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, }, - }, - "gboAgeProfile": - { - "gboAgeProfileId": 1, - "name": "Kind (4 t/m 11 jaar)", - "ageFromInclusive": 4, - "ageToInclusive": 11, }, }, ], -- 2.45.2