{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/wordline/main/json-schema/wordline-api-response-entity-list-offline-reservations-response-schema.json", "title": "ApiResponseEntityListOfflineReservationsResponse", "description": "Issuer response entity", "x-generated": "2026-10-10", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/wordline-account-offline-reservation-api-openapi.yml#/components/schemas/ApiResponseEntityListOfflineReservationsResponse", "x-wl-api-response": true, "type": "object", "required": [ "responseMetadata" ], "properties": { "responseMetadata": { "description": "Response metadata", "allOf": [ { "$ref": "#/$defs/ResponseMetadata" } ] }, "data": { "description": "Response data", "allOf": [ { "$ref": "#/$defs/ListOfflineReservationsResponse" } ] } }, "$defs": { "AccountIdentifier": { "type": "object", "properties": { "accountReference": { "type": "string", "description": "Account reference is to identify the Account calculated by the system (algorithm is configurable per issuer). Either the account number or the issuerAccountExternalReference is provided, or, if both are provided then only the account number is used." }, "issuerAccountExternalReference": { "type": "string", "description": "Issuer account external reference is to identify the Account. Either the account number or the issuerAccountExternalReference is provided, or, if both are provided then only the account number is used. Algorithm configurable by issuer, can be generated by the system if there is an externalReferenceGeneratorAlgorithm." } }, "title": "AccountIdentifier" }, "Amount": { "type": "object", "required": [ "value", "exponent", "isoCode" ], "properties": { "value": { "type": "integer", "format": "int64", "description": "Integer amount value. Ex. if it is two hundred euros and 17 cents, then amount value is 20017 (exponent = 2 digits for currency=EUR)" }, "exponent": { "type": "integer", "format": "int32", "description": "Exponent of Amount. Number of decimal digits." }, "isoCode": { "type": "string", "description": "Currency code of amount\nThe currency in ISO4217 alphabetic format.\nExample: EUR for Euro" } }, "title": "Amount" }, "Links": { "type": "object", "required": [ "self" ], "properties": { "self": { "type": "string", "description": "Service method URL" }, "next": { "type": "string", "description": "URL pagination query parameter next page" } }, "title": "Links" }, "ListOfflineReservationsResponse": { "type": "object", "properties": { "offlineReservation": { "type": "array", "description": "List of Offline Reservations", "items": { "$ref": "#/$defs/OfflineReservation" } } }, "title": "ListOfflineReservationsResponse" }, "OfflineReservation": { "type": "object", "properties": { "offlineReservationIdentifier": { "description": "Offline reservation identifier", "allOf": [ { "$ref": "#/$defs/OfflineReservationIdentifier" } ] }, "creationDate": { "type": "string", "format": "date-time", "description": "Creation date/time of the offline reservation" }, "issuerId": { "type": "string", "description": "Issuer identifier (unique per platform)" }, "reason": { "type": "string", "description": "Reason for which the offline reservation is created\nFree text" }, "username": { "type": "string", "description": "User who has created the offline reservation" }, "cancelled": { "type": "boolean", "description": "Indicates if the offline reservation is cancelled" }, "cancellationDate": { "type": "string", "format": "date-time", "description": "Cancellation Date/time of the offline reservation" }, "cancellationReason": { "type": "string", "description": "Reason of the cancellation\nFree text" }, "reservedAmount": { "description": "Amount of the offline reservation", "allOf": [ { "$ref": "#/$defs/Amount" } ] }, "account": { "allOf": [ { "$ref": "#/$defs/OfflineReservationAccount" } ], "description": "Account information" } } }, "OfflineReservationAccount": { "type": "object", "properties": { "accountIdentifier": { "description": "Account identifier", "allOf": [ { "$ref": "#/$defs/AccountIdentifier" } ] }, "reservedAmount": { "description": "Offline reserved amount cumulated at account level", "allOf": [ { "$ref": "#/$defs/Amount" } ] } } }, "OfflineReservationIdentifier": { "type": "object", "properties": { "issuerReservationExternalReference": { "type": "string", "description": "Reference of the offline reservation provided by the issuer\nMust be unique per issuer" }, "reservationReference": { "type": "string", "description": "Reference of the offline reservation generated by the system\nMust be unique per issuer" } }, "title": "OfflineReservationIdentifier" }, "ResponseMetadata": { "type": "object", "required": [ "correlationId", "responseDateTime", "statusCode", "statusMessage" ], "properties": { "correlationId": { "type": "string", "description": "Correlation Identifier" }, "links": { "description": "Metadata Links", "allOf": [ { "$ref": "#/$defs/Links" } ] }, "statusMessage": { "type": "string", "description": "Executed REST API status message" }, "statusCode": { "type": "integer", "format": "int32", "description": "HTTP status code" }, "responseDateTime": { "type": "string", "description": "Timestamp when response date was generated" }, "timeTakenMs": { "type": "integer", "format": "int64", "description": "Wall clock time required from service to generate the response" } }, "title": "ResponseMetadata" } } }