diff --git a/src/openapi/contracts/contracts-se.yaml b/src/openapi/contracts/contracts-se.yaml index 934903f..79454b4 100644 --- a/src/openapi/contracts/contracts-se.yaml +++ b/src/openapi/contracts/contracts-se.yaml @@ -235,6 +235,136 @@ paths: "isCredit": false, }, ] + /contracts/{contractId}/cancellationmoments: + parameters: + - in: header + name: X-HTM-JWT-AUTH-HEADER + schema: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + required: true + description: The JWT of the logged in customer. + - in: path + name: contractId + schema: + type: string + format: uuid + example: 9e224750-3065-471d-af57-85b9cffa7c89 + required: true + description: The id of the contract to process. + get: + summary: Get all cancellation moments for a given contract. + description: Get all cancellation moments for a given contract. + tags: + - SE Contract Cancellation v2 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "cancellationMoment": "termBound", + "termDuration": "P1M", + "billingDay": 18, + "cancellationFrom": "2024-08-10T00:00:00", + "cancellationUntil": "2026-08-10T00:00:00" + } + /contracts/{contractId}/cancellationvalidation: + parameters: + - in: header + name: X-HTM-JWT-AUTH-HEADER + schema: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + required: true + description: The JWT of the logged in customer. + - in: path + name: contractId + schema: + type: string + format: uuid + example: 9e224750-3065-471d-af57-85b9cffa7c89 + required: true + description: The id of the contract to process. + post: + summary: Validate a cancellation for a given contract. + description: Validate a cancellation for a given contract. + tags: + - SE Contract Cancellation v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "end": "2024-08-10T00:00:00" + } + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "validationResult": "true", + "validationMessage": "", + "end": "2024-08-10T03:59:59", + "refundAmount": "2489", + "refundMethods": [ "creditInvoice", "iDeal" ] + } + /contracts/{contractId}/cancellation: + parameters: + - in: header + name: X-HTM-JWT-AUTH-HEADER + schema: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + required: true + description: The JWT of the logged in customer. + - in: path + name: contractId + schema: + type: string + format: uuid + example: 9e224750-3065-471d-af57-85b9cffa7c89 + required: true + description: The id of the contract to process. + post: + summary: Cancel a contract. + description: Cancel a contract. + tags: + - SE Contract Cancellation v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "end": "2024-08-10T00:00:00", + "refundMethod": "creditInvoice" + } + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "end": "2024-08-10T03:59:59", + "refundAmount": "2489", + "refundMethod": "creditInvoice" + } components: securitySchemes: bearerToken: diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index a821dcb..d3a48ac 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -123,25 +123,46 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "transactionItemId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", - "sourceName": "Verkoopengine", - "transactionId": "1001236", - "transactionLineId": "1", - "name": "HTM Maandkorting 20%", - "quantity": 1, - "taxCode": "V21", - "amountExclTax": 100, - "amountInclTax": 121, - "amountTax": 21, - "occurredOn": "2024-10-04T00:00:00Z", - "type": "debit", - "productCode": "HTM-MND-20", - "aggregationReference": "FIKO-123456", - "accountingSystemReference": "U4F-123456", - }, - ] + { + "transactionItems": + [ + { + "transactionItemId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", + "sourceName": "Verkoopengine", + "transactionId": "1001236", + "transactionLineId": "1", + "name": "HTM Maandkorting 20%", + "quantity": 1, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "amountTax": 21, + "occurredOn": "2024-10-04T00:00:00Z", + "type": "debit", + "productCode": "HTM-MND-20", + "aggregationReference": "FIKO-123456", + "accountingSystemReference": "U4F-123456", + }, + { + "transactionItemId": "e63cc37b-4d87-4278-8eb5-1477e07edf3d", + "sourceName": "Verkoopengine", + "transactionId": "1001237", + "transactionLineId": "1", + "name": "HTM Maandkorting 20%", + "quantity": 1, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "amountTax": 21, + "occurredOn": "2024-10-04T00:05:00Z", + "type": "debit", + "productCode": "HTM-MND-20", + "aggregationReference": "FIKO-123456", + "accountingSystemReference": "U4F-123456", + }, + ], + "href": null, + } post: summary: Add a finanicial transaction item. description: Add a finanicial transaction item. @@ -153,7 +174,23 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: "TBD" + example: + { + "sourceName": "Verkoopengine", + "transactionId": "1001236", + "transactionLineId": "1", + "name": "HTM Maandkorting 20%", + "quantity": 1, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "amountTax": 21, + "occurredOn": "2024-10-04T00:00:00Z", + "type": "debit", + "productCode": "HTM-MND-20", + "aggregationReference": "FIKO-123456", + "accountingSystemReference": "U4F-123456", + } responses: "201": description: Created @@ -163,6 +200,69 @@ paths: $ref: "#/components/schemas/unavailable" example: { "transactionItemId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d" } + /transactionitems/bulk: + post: + summary: Add one ore more finanicial transaction items in bulk. + description: Add one ore more finanicial transaction items in bulk. + tags: + - Transactions v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + [ + { + "sourceName": "Verkoopengine", + "transactionId": "1001236", + "transactionLineId": "1", + "name": "HTM Maandkorting 20%", + "quantity": 1, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "amountTax": 21, + "occurredOn": "2024-10-04T00:00:00Z", + "type": "debit", + "productCode": "HTM-MND-20", + "aggregationReference": null, + "accountingSystemReference": null, + }, + { + "sourceName": "Verkoopengine", + "transactionId": "1001237", + "transactionLineId": "1", + "name": "HTM Maandkorting 20%", + "quantity": 1, + "taxCode": "V21", + "amountExclTax": 100, + "amountInclTax": 121, + "amountTax": 21, + "occurredOn": "2024-10-04T00:05:00Z", + "type": "debit", + "productCode": "HTM-MND-20", + "aggregationReference": null, + "accountingSystemReference": null, + }, + ] + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + [ + { + "transactionItemId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", + }, + { + "transactionItemId": "e63cc37b-4d87-4278-8eb5-1477e07edf3d", + }, + ] /transactionitems/{transactionItemId}: parameters: - in: path @@ -228,7 +328,7 @@ paths: "documentCode": "VERK_FACTUUR", "accountingPeriod": "2024/10", "transactionDescription": "Dagkaart", - "contraAccount": "220.10419", + "contraAccountNumber": "220.10419", "status": "open", "occurence": 1, "processingFailureInstances": @@ -362,17 +462,30 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "transactionAuditTrailId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", - "transactionItemId": "d667d293-aa82-4c9e-9b10-77cffc9058a1", - "user": "fiko", - "timestamp": "2022-01-01 00:00:00", - "action": "created", - "description": "Transaction created.", - "correlationId": "a3891560-3084-42cb-867c-f289e7cda47d", - }, - ] + { + "transactionAuditTrails": + [ + { + "transactionAuditTrailId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", + "transactionItemId": "d667d293-aa82-4c9e-9b10-77cffc9058a1", + "user": "fiko", + "timestamp": "2022-01-01 00:00:00", + "action": "created", + "description": "Transaction created.", + "correlationId": "a3891560-3084-42cb-867c-f289e7cda47d", + }, + { + "transactionAuditTrailId": "e63cc37b-4d87-4278-8eb5-1477e07edf3d", + "transactionItemId": "d667d293-aa82-4c9e-9b10-77cffc9058a1", + "user": "fiko", + "timestamp": "2022-01-01 00:01:00", + "action": "processed", + "description": "Transaction processed.", + "correlationId": "3e9d7d4b-8adf-4e7f-8251-be308f16d3de", + }, + ], + "href": null, + } /processingfailures: get: summary: Find processing failures. @@ -472,39 +585,43 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "processingFailureId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - "transactionItemId": "000dd413-2d19-47c0-a9db-9efbb6bc39a2", - "department": "900", - "costCenter": "84955", - "costType": "619031", - "documentDate": "2022-01-01", - "documentCode": "VERK_FACTUUR", - "accountingPeriod": "2024/10", - "transactionDescription": "Dagkaart", - "contraAccount": "220.10419", - "status": "open", - "occurence": 1, - "processingFailureInstances": - [ - { - "processingFailureInstanceId": "9afa9a6b-5b6a-4b0a-9c9e-4b0a5b6a4b0a", - "processingFailureId": "c93a5b6a-5b6a-4b0a-9c9e-4b0a5b6a4b0a", - "timestamp": "2022-01-01 00:00:00", - "failureReason": + { + "processingFailures": + [ + { + "processingFailureId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + "transactionItemId": "000dd413-2d19-47c0-a9db-9efbb6bc39a2", + "department": "900", + "costCenter": "84955", + "costType": "619031", + "documentDate": "2022-01-01", + "documentCode": "VERK_FACTUUR", + "accountingPeriod": "2024/10", + "transactionDescription": "Dagkaart", + "contraAccountNumber": "220.10419", + "status": "open", + "occurence": 1, + "processingFailureInstances": + [ { - "failureReasonId": 12, - "reasonCode": "1234ABCD", - "reasonDesc": "description", + "processingFailureInstanceId": "9afa9a6b-5b6a-4b0a-9c9e-4b0a5b6a4b0a", + "processingFailureId": "c93a5b6a-5b6a-4b0a-9c9e-4b0a5b6a4b0a", + "timestamp": "2022-01-01 00:00:00", + "failureReason": + { + "failureReasonId": 12, + "reasonCode": "1234ABCD", + "reasonDesc": "description", + }, + "element": "costCenter", + "occurence": 1, + "change": "Adapt config", }, - "element": "costCenter", - "occurence": 1, - "change": "Adapt config", - }, - ], - }, - ] + ], + }, + ], + "href": null, + } /processingfailures/{processingFailureId}: parameters: - in: path @@ -710,67 +827,77 @@ paths: $ref: "#/components/schemas/unavailable" example: { - "productMetadataId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61", - "productCode": "4031", - "department": "900", - "costCenter": "84955", - "costType": "619031", - "description": "O4031_Reisproduct HTM 1 dag Anoniem", - "documentCode": "VERK_FACTUUR", - "timestampUpdated": "2022-01-01T00:00:00", - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - "productContraAccounts": + "productMetadata": [ { - "contraAccountMetadata": - { - "contraAccountMetadataId": "e0af8c8f-d421-4567-a14e-48e2a1bb86fb", - "contraAccount": "220.10419", - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - }, - "concession": { "concessionId": 2, "name": "bus" }, - "sourceMetadata": - { - "sourceMetadataId": "bc4ea24a-27a5-40e8-bbbc-57a105afaaa0", - "incomingName": "VerkoopEngine", - "incomingEntity": "OrderLine", - "outgoingName": "Website Verkopen", - "businessOwner": "Corneel Verstoep", - "rejectionProcessing": "system", - "rejectionInfo": "api.htm.nl/v2/account/12345/msgs/abc", - "validFrom": "2024-01-01T00:00:00.000", - "validUntil": null, - }, - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - }, - { - "contraAccountMetadata": - { - "contraAccountMetadataId": "69c562ca-5299-4585-ac92-46fb54aeb99e", - "contraAccount": "220.10538", - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - }, - "concession": { "concessionId": 1, "name": "bus" }, - "sourceMetadata": - { - "sourceMetadataId": "bc4ea24a-27a5-40e8-bbbc-57a105afaaa0", - "incomingName": "VerkoopEngine", - "incomingEntity": "OrderLine", - "outgoingName": "Website Verkopen", - "businessOwner": "Corneel Verstoep", - "rejectionProcessing": "system", - "rejectionInfo": "api.htm.nl/v2/account/12345/msgs/abc", - "validFrom": "2024-01-01T00:00:00.000", - "validUntil": null, - }, + "productMetadataId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61", + "productCode": "4031", + "department": "900", + "costCenter": "84955", + "costType": "619031", + "description": "O4031_Reisproduct HTM 1 dag Anoniem", + "documentCode": "VERK_FACTUUR", + "timestampUpdated": "2022-01-01T00:00:00", "validFrom": "2024-03-22T09:00:00", "validUntil": null, + "productContraAccounts": + [ + { + "contraAccountMetadata": + { + "contraAccountMetadataId": "e0af8c8f-d421-4567-a14e-48e2a1bb86fb", + "contraAccountCode": "123456", + "contraAccountNumber": "220.10419", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + }, + "concession": + { "concessionId": 2, "name": "bus" }, + "sourceMetadata": + { + "sourceMetadataId": "bc4ea24a-27a5-40e8-bbbc-57a105afaaa0", + "incomingName": "VerkoopEngine", + "incomingEntity": "OrderLine", + "outgoingName": "Website Verkopen", + "businessOwner": "Corneel Verstoep", + "rejectionProcessing": "system", + "rejectionInfo": "api.htm.nl/v2/account/12345/msgs/abc", + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + }, + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + }, + { + "contraAccountMetadata": + { + "contraAccountMetadataId": "69c562ca-5299-4585-ac92-46fb54aeb99e", + "contraAccountCode": "123456", + "contraAccountNumber": "220.10419", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + }, + "concession": + { "concessionId": 1, "name": "bus" }, + "sourceMetadata": + { + "sourceMetadataId": "bc4ea24a-27a5-40e8-bbbc-57a105afaaa0", + "incomingName": "VerkoopEngine", + "incomingEntity": "OrderLine", + "outgoingName": "Website Verkopen", + "businessOwner": "Corneel Verstoep", + "rejectionProcessing": "system", + "rejectionInfo": "api.htm.nl/v2/account/12345/msgs/abc", + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + }, + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + }, + ], }, ], + "href": null, } post: summary: Add product metadata. @@ -929,13 +1056,14 @@ paths: "user": "rmeeuws", "timestamp": "2024-10-04T00:00:00", "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", - "metadataChanges": [ - { - "fieldName": "department", - "oldValue": "900", - "newValue": "999", - } - ] + "metadataChanges": + [ + { + "fieldName": "department", + "oldValue": "900", + "newValue": "999", + }, + ], } responses: "201": @@ -959,11 +1087,17 @@ paths: example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the contra account metadata. - in: query - name: contraAccount + name: contraAccountCode + schema: + type: string + example: 123456 + description: The code of the contra account. + - in: query + name: contraAccountNumber schema: type: string example: 220.10419 - description: The contra account. + description: The number of the contra account. - in: query name: validAt schema: @@ -979,14 +1113,19 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "contraAccountMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - "contraAccount": "220.10419", - "validFrom": "2024-03-22T09:00:00", - "validUntil": null, - }, - ] + { + "contraAccountMetadata": + [ + { + "contraAccountMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + "contraAccountCode": "123456", + "contraAccountNumber": "220.10419", + "validFrom": "2024-03-22T09:00:00", + "validUntil": null, + }, + ], + "href": null, + } post: summary: Add contra account metadata. description: Add contra account metadata. @@ -1000,7 +1139,8 @@ paths: $ref: "#/components/schemas/unavailable" example: { - "contraAccount": "220.10419", + "contraAccountCode": "123456", + "contraAccountNumber": "220.10419", "validFrom": "2024-03-22T09:00:00", "validUntil": null, } @@ -1038,7 +1178,7 @@ paths: $ref: "#/components/schemas/unavailable" example: { - "contraAccount": "220.10419", + "contraAccountNumber": "220.10419", "validFrom": "2024-03-22T09:00:00", "validUntil": null, } @@ -1079,13 +1219,14 @@ paths: "user": "rmeeuws", "timestamp": "2024-10-04T00:00:00", "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", - "metadataChanges": [ - { - "fieldName": "contraAccountMetadataId", - "oldValue": "873810a3-a11a-4d4d-9af7-395520fa207c", - "newValue": "9a8eb116-5270-4ef9-81ef-fdc2e72c281a", - } - ] + "metadataChanges": + [ + { + "fieldName": "contraAccountMetadataId", + "oldValue": "873810a3-a11a-4d4d-9af7-395520fa207c", + "newValue": "9a8eb116-5270-4ef9-81ef-fdc2e72c281a", + }, + ], } responses: "201": @@ -1141,32 +1282,36 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "taxMetadataId": "bc4ea24a-27a5-40e8-bbbc-57a105afaaa0", - "taxCode": "V21", - "taxPercentageAmount": 21, - "description": "BTW VERKOOP HOOG 21%", - "validFrom": "2024-01-01T00:00:00.000", - "validUntil": null, - }, - { - "taxMetadataId": "73c47af3-7c8b-44d3-b599-9b6f5a587a82", - "taxCode": "V09", - "taxPercentageAmount": 9, - "description": "BTW VERKOOP LAAG 9%", - "validFrom": "2024-01-01T00:00:00.000", - "validUntil": null, - }, - { - "taxMetadataId": "423b879c-e8db-4ba2-a2b4-0adfe037043d", - "taxCode": "V0", - "taxPercentageAmount": 0, - "description": "BTW VERKOOP NUL", - "validFrom": "2024-01-01T00:00:00.000", - "validUntil": null, - }, - ] + { + "taxMetadata": + [ + { + "taxMetadataId": "bc4ea24a-27a5-40e8-bbbc-57a105afaaa0", + "taxCode": "V21", + "taxPercentageAmount": 21, + "description": "BTW VERKOOP HOOG 21%", + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + }, + { + "taxMetadataId": "73c47af3-7c8b-44d3-b599-9b6f5a587a82", + "taxCode": "V09", + "taxPercentageAmount": 9, + "description": "BTW VERKOOP LAAG 9%", + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + }, + { + "taxMetadataId": "423b879c-e8db-4ba2-a2b4-0adfe037043d", + "taxCode": "V0", + "taxPercentageAmount": 0, + "description": "BTW VERKOOP NUL", + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + }, + ], + "href": null, + } post: summary: Add tax metadata. description: Add tax metadata. @@ -1259,13 +1404,14 @@ paths: "user": "rmeeuws", "timestamp": "2024-10-04T00:00:00", "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", - "metadataChanges": [ - { - "fieldName": "taxCode", - "oldValue": null, - "newValue": "V21", - } - ] + "metadataChanges": + [ + { + "fieldName": "taxCode", + "oldValue": null, + "newValue": "V21", + }, + ], } responses: "201": @@ -1338,19 +1484,23 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "sourceMetadataId": "bc4ea24a-27a5-40e8-bbbc-57a105afaaa0", - "incomingName": "VerkoopEngine", - "incomingEntity": "OrderLine", - "outgoingName": "Website Verkopen", - "businessOwner": "Corneel Verstoep", - "rejectionProcessing": "system", - "rejectionInfo": "api.htm.nl/v2/account/12345/msgs/abc", - "validFrom": "2024-01-01T00:00:00.000", - "validUntil": null, - }, - ] + { + "sourceMetadata": + [ + { + "sourceMetadataId": "bc4ea24a-27a5-40e8-bbbc-57a105afaaa0", + "incomingName": "VerkoopEngine", + "incomingEntity": "OrderLine", + "outgoingName": "Website Verkopen", + "businessOwner": "Corneel Verstoep", + "rejectionProcessing": "system", + "rejectionInfo": "api.htm.nl/v2/account/12345/msgs/abc", + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + }, + ], + "href": null, + } post: summary: Add source metadata. description: Add source metadata. @@ -1449,13 +1599,14 @@ paths: "user": "rmeeuws", "timestamp": "2024-10-04T00:00:00", "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", - "metadataChanges": [ - { - "fieldName": "businessOwner", - "oldValue": "Corneel Verstoep", - "newValue": "Mark Verheij", - } - ] + "metadataChanges": + [ + { + "fieldName": "businessOwner", + "oldValue": "Corneel Verstoep", + "newValue": "Mark Verheij", + }, + ], } responses: "201": @@ -1498,13 +1649,22 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "accountingPeriodMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - "accountingPeriod": "2024-01", - "isOpen": true, - }, - ] + { + "accountingPeriodMetadata": + [ + { + "accountingPeriodMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + "accountingPeriod": "2024-01", + "isOpen": false, + }, + { + "accountingPeriodMetadataId": "0302c651-f040-4cbc-8a4d-90dc82f29a32", + "accountingPeriod": "2024-02", + "isOpen": true, + }, + ], + "href": null, + } post: summary: Add accounting period metadata. description: Add accounting period metadata. @@ -1587,13 +1747,14 @@ paths: "user": "rmeeuws", "timestamp": "2024-10-04T00:00:00", "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", - "metadataChanges": [ - { - "fieldName": "isOpen", - "oldValue": "true", - "newValue": "false", - } - ] + "metadataChanges": + [ + { + "fieldName": "isOpen", + "oldValue": "true", + "newValue": "false", + }, + ], } responses: "201": @@ -1644,22 +1805,26 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "concessionMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - "concession": { "concessionId": 1, "name": "rail" }, - "percentage": 84.021, - "validFrom": "2024-01-01T00:00:00.000", - "validUntil": null, - }, - { - "concessionMetadataId": "5ac3a5a8-4b9b-4a6a-9b1f-86ae8d6d4a9b", - "concession": { "concessionId": 2, "name": "bus" }, - "percentage": 15.979, - "validFrom": "2024-01-01T00:00:00.000", - "validUntil": null, - }, - ] + { + "concessionMetadata": + [ + { + "concessionMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + "concession": { "concessionId": 1, "name": "rail" }, + "percentage": 84.021, + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + }, + { + "concessionMetadataId": "5ac3a5a8-4b9b-4a6a-9b1f-86ae8d6d4a9b", + "concession": { "concessionId": 2, "name": "bus" }, + "percentage": 15.979, + "validFrom": "2024-01-01T00:00:00.000", + "validUntil": null, + }, + ], + "href": null, + } post: summary: Add concession metadata. description: Add concession metadata. @@ -1754,13 +1919,14 @@ paths: "user": "rmeeuws", "timestamp": "2024-10-04T00:00:00", "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", - "metadataChanges": [ - { - "fieldName": "percentage", - "oldValue": null, - "newValue": "23.456", - }, - ], + "metadataChanges": + [ + { + "fieldName": "percentage", + "oldValue": null, + "newValue": "23.456", + }, + ], } responses: "201": @@ -1858,25 +2024,31 @@ paths: $ref: "#/components/schemas/unavailable" example: { - "metadataAuditTrailId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - "productMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - "concessionMetadataId": null, - "contraAccountMetadataId": null, - "taxMetadataId": null, - "sourceMetadataId": null, - "accountingPeriodMetadataId": null, - "user": "rmeeuws", - "timestamp": "2022-01-01 00:00:00", - "correlationId": "a3891560-3084-42cb-867c-f289e7cda47d", - "metadataChanges": + "metadataAuditTrails": [ { - "metadataChangesId": "43a481a7-0845-460f-b44a-b4112cc2e193", - "fieldName": "businessOwner", - "oldValue": "Corneel Verstoep", - "newValue": "Jan-Willem Vermeij", + "metadataAuditTrailId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + "productMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", + "concessionMetadataId": null, + "contraAccountMetadataId": null, + "taxMetadataId": null, + "sourceMetadataId": null, + "accountingPeriodMetadataId": null, + "user": "rmeeuws", + "timestamp": "2022-01-01 00:00:00", + "correlationId": "a3891560-3084-42cb-867c-f289e7cda47d", + "metadataChanges": + [ + { + "metadataChangesId": "43a481a7-0845-460f-b44a-b4112cc2e193", + "fieldName": "businessOwner", + "oldValue": "Corneel Verstoep", + "newValue": "Jan-Willem Vermeij", + }, + ], }, ], + "href": null, } /concessions: get: @@ -1892,11 +2064,15 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { "concessionId": 1, "name": "rail" }, - { "concessionId": 2, "name": "bus" }, - { "concessionId": 3, "name": "not_applicable" }, - ] + { + "concessions": + [ + { "concessionId": 1, "name": "rail" }, + { "concessionId": 2, "name": "bus" }, + { "concessionId": 3, "name": "not_applicable" }, + ], + "href": null, + } /failurereasons: get: summary: Get all failure reasons. @@ -1911,18 +2087,22 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "failureReasonId": 1, - "reasonCode": "002", - "reasonDesc": "Contra account does not exist", - }, - { - "failureReasonId": 2, - "reasonCode": "003", - "reasonDesc": "Accouting period closed", - }, - ] + { + "failureReasons": + [ + { + "failureReasonId": 1, + "reasonCode": "002", + "reasonDesc": "Contra account does not exist", + }, + { + "failureReasonId": 2, + "reasonCode": "003", + "reasonDesc": "Accouting period closed", + }, + ], + "href": null, + } components: securitySchemes: bearerToken: diff --git a/src/openapi/products/purchased_products-crud.yaml b/src/openapi/products/purchased_products-crud.yaml index 6d11d46..1a77eda 100644 --- a/src/openapi/products/purchased_products-crud.yaml +++ b/src/openapi/products/purchased_products-crud.yaml @@ -21,7 +21,7 @@ paths: required: false description: The technical id of the product. - in: query - name: createdBefore + name: createdOnBefore schema: type: string format: date-time @@ -29,7 +29,7 @@ paths: required: false description: The purchased product should be created before this timestamp. - in: query - name: createdAfter + name: createdOnAfter schema: type: string format: date-time @@ -37,7 +37,7 @@ paths: required: false description: The purchased product should be created after this timestamp. - in: query - name: lastUpdatedBefore + name: lastUpdatedOnBefore schema: type: string format: date-time @@ -45,7 +45,7 @@ paths: required: false description: The purchased product should be last updated before this timestamp. - in: query - name: lastUpdatedAfter + name: lastUpdatedOnAfter schema: type: string format: date-time @@ -53,14 +53,14 @@ paths: required: false description: The purchased product should be last updated after this timestamp. - in: query - name: resrouceName + name: resourceName schema: type: string example: orders required: false description: The name of the resource. - in: query - name: resrouceIdentifier + name: resourceIdentifier schema: type: string example: f461004f-d98e-4323-aa26-f09bf8ea2f2d @@ -74,43 +74,53 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "purchasedProductId": "45573af8-a9aa-4f7c-95f4-b1971bf2c3c6", - "productId": 12, - "createdOn": "2024-10-04T12:34:56.000", - "lastUpdatedOn": "2024-10-04T12:34:56.000", - "purchasedProductResources": - [ - { - "purchasedProductResourceId": "c7900130-0637-41d7-83fe-6fe283a0a1f1", - "resourceName": - { "resourceNameId": 1, "name": "contracts" }, - "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", - }, - { - "purchasedProductResourceId": "06dae996-cdfe-45f1-833a-720201c35114", - "resourceName": - { "resourceNameId": 2, "name": "orders" }, - "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", - }, - ], - "purchasedGboProducts": - [ - { - "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", - "salesTimestamp": "2024-10-04T12:34:56.000", - "refundTimestamp": "2024-10-04T12:34:56.000", - "packageTemplateId": "30003", - "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", - "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", - "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", - "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", - "ovPayTokenId": 13, - }, - ], - }, - ] + { + "purchasedProducts": + [ + { + "purchasedProductId": "45573af8-a9aa-4f7c-95f4-b1971bf2c3c6", + "productId": 12, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "purchasedProductResources": + [ + { + "purchasedProductResourceId": "c7900130-0637-41d7-83fe-6fe283a0a1f1", + "resourceName": + { "resourceNameId": 1, "name": "contracts" }, + "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", + }, + { + "purchasedProductResourceId": "06dae996-cdfe-45f1-833a-720201c35114", + "resourceName": + { "resourceNameId": 2, "name": "orders" }, + "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", + }, + ], + "purchasedGboProducts": + [ + { + "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", + "salesTimestamp": "2024-10-04T12:34:56.000", + "refundTimestamp": "2024-10-04T12:34:56.000", + "fromInclusive": "2024-10-04T12:34:56.000", + "untilInclusive": "2024-10-04T12:34:56.000", + "packageTemplateId": "30003", + "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", + "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", + "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", + "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", + "ovPayTokenId": 13, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "createdBy": "someuser", + "lastUpdatedBy": null, + }, + ], + }, + ], + "href": null, + } post: tags: - Purchased Product @@ -130,12 +140,11 @@ paths: "purchasedProductResources": [ { - "resourceName": - { "resourceNameId": 1, "name": "contracts" }, + "resourceNameId": 1, "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7", }, { - "resourceName": { "resourceNameId": 2, "name": "orders" }, + "resourceNameId": 2, "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e", }, ], @@ -144,12 +153,18 @@ paths: { "salesTimestamp": "2024-10-04T12:34:56.000", "refundTimestamp": "2024-10-04T12:34:56.000", + "fromInclusive": "2024-10-04T12:34:56.000", + "untilInclusive": "2024-10-04T12:34:56.000", "packageTemplateId": "30003", "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", "ovPayTokenId": 13, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "createdBy": "someuser", + "lastUpdatedBy": null, }, ], } @@ -208,12 +223,18 @@ paths: { "salesTimestamp": "2024-10-04T12:34:56.000", "refundTimestamp": "2024-10-04T12:34:56.000", + "fromInclusive": "2024-10-04T12:34:56.000", + "untilInclusive": "2024-10-04T12:34:56.000", "packageTemplateId": "30003", "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", "ovPayTokenId": 13, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "createdBy": "someuser", + "lastUpdatedBy": null, }, ], } @@ -261,7 +282,7 @@ paths: $ref: "#/components/schemas/unavailable" example: { - "resourceName": 1, + "resourceNameId": 1, "resourceIdentifier": "502d2e0d-4e3b-4a7e-9f6e-0d0b1e1e1e1e", } responses: @@ -300,12 +321,18 @@ paths: { "salesTimestamp": "2024-10-04T12:34:56.000", "refundTimestamp": "2024-10-04T12:34:56.000", + "fromInclusive": "2024-10-04T12:34:56.000", + "untilInclusive": "2024-10-04T12:34:56.000", "packageTemplateId": "30003", "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", "ovPayTokenId": 13, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "createdBy": "someuser", + "lastUpdatedBy": null, } responses: "201": @@ -367,6 +394,34 @@ paths: format: date-time example: 2024-10-04T12:34:56.000 description: The purchased GBO product should be refunded after this timestamp. + - in: query + name: fromInclusiveBefore + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased GBO product should be valid before this timestamp. + - in: query + name: fromInclusiveAfter + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased GBO product should be valid after this timestamp. + - in: query + name: untilInclusiveBefore + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased GBO product should be valid before this timestamp. + - in: query + name: untilInclusiveAfter + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased GBO product should be valid after this timestamp. - in: query name: packageTemplateId schema: @@ -408,6 +463,46 @@ paths: type: integer example: 13 description: The id of the ov pay token. + - in: query + name: createdOnBefore + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased GBO product should be created before this timestamp. + - in: query + name: createdOnAfter + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased GBO product should be created after this timestamp. + - in: query + name: lastUpdatedOnBefore + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased GBO product should be updated before this timestamp. + - in: query + name: lastUpdatedOnAfter + schema: + type: string + format: date-time + example: 2024-10-04T12:34:56.000 + description: The purchased GBO product should be updated after this timestamp. + - in: query + name: createdBy + schema: + type: string + example: someuser + description: The user that created the purchased GBO product. + - in: query + name: lastUpdatedBy + schema: + type: string + example: someuser + description: The user that last updated the purchased GBO product. responses: "201": description: Created @@ -416,32 +511,48 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - [ - { - "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", - "purchasedProductId": "9e166bb3-806a-4f43-a7a2-0d5b1e90e0c3", - "salesTimestamp": "2024-10-04T12:34:56.000", - "refundTimestamp": "2024-10-05T12:34:56.000", - "packageTemplateId": "30003", - "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", - "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", - "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", - "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", - "ovPayTokenId": 13, - }, - { - "purchasedGboProductId": 431e481f-4330-4ad4-be47-393db38cfe38, - "purchasedProductId": "9e166bb3-806a-4f43-a7a2-0d5b1e90e0c3", - "salesTimestamp": "2024-10-05T12:34:56.000", - "refundTimestamp": "2024-10-06T12:34:56.000", - "packageTemplateId": "30003", - "xBot": "f8f13d64-fd07-44e8-9c85-968857da5d68", - "xTat": "01a82ebe-5d07-45d8-a897-66152e8954dd", - "xSpit": "c3868858-b250-4480-9cb4-725d2e9198f3", - "customerTokenId": "6c7a6d4b-7e6c-4f6a-9b1e-0a9b1e6c7a6d", - "ovPayTokenId": 14, - }, - ] + { + "purchasedGboProducts": + [ + { + "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", + "purchasedProductId": "9e166bb3-806a-4f43-a7a2-0d5b1e90e0c3", + "salesTimestamp": "2024-10-04T12:34:56.000", + "refundTimestamp": "2024-10-05T12:34:56.000", + "fromInclusive": "2024-10-04T12:34:56.000", + "untilInclusive": "2024-10-05T12:34:56.000", + "packageTemplateId": "30003", + "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b", + "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8", + "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b", + "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f", + "ovPayTokenId": 13, + "createdOn": "2024-10-04T12:34:56.000", + "lastUpdatedOn": "2024-10-04T12:34:56.000", + "createdBy": "someuser", + "lastUpdatedBy": null, + }, + { + "purchasedGboProductId": 431e481f-4330-4ad4-be47-393db38cfe38, + "purchasedProductId": "9e166bb3-806a-4f43-a7a2-0d5b1e90e0c3", + "salesTimestamp": "2024-10-05T12:34:56.000", + "refundTimestamp": "2024-10-06T12:34:56.000", + "fromInclusive": "2024-10-05T12:34:56.000", + "untilInclusive": "2024-10-06T12:34:56.000", + "packageTemplateId": "30003", + "xBot": "f8f13d64-fd07-44e8-9c85-968857da5d68", + "xTat": "01a82ebe-5d07-45d8-a897-66152e8954dd", + "xSpit": "c3868858-b250-4480-9cb4-725d2e9198f3", + "customerTokenId": "6c7a6d4b-7e6c-4f6a-9b1e-0a9b1e6c7a6d", + "ovPayTokenId": 14, + "createdOn": "2024-10-05T12:34:56.000", + "lastUpdatedOn": "2024-10-05T12:34:56.000", + "createdBy": "someuser", + "lastUpdatedBy": null, + }, + ], + "href": null, + } /purchasedgboproducts/{purchasedGboProductId}: parameters: - in: path @@ -463,7 +574,12 @@ paths: application/json: schema: $ref: "#/components/schemas/unavailable" - example: { "refundTimestamp": "2024-10-05T12:34:56.000" } + example: + { + "refundTimestamp": "2024-10-05T12:34:56.000", + "lastUpdatedOn": "2024-10-05T12:34:56.000", + "lastUpdatedBy": "someuser", + } responses: "201": description: Created @@ -472,7 +588,9 @@ paths: schema: $ref: "#/components/schemas/unavailable" example: - { "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd" } + { + "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd", + } components: securitySchemes: bearerToken: