{"openapi":"3.1.0","info":{"title":"Parkoni Connector API","version":"1.0.0","description":"For management systems that own an operator’s inventory and stays. Your system reports stays and availability; bookings arrive as signed webhooks. A system vendor key acts for one linked operator per request, named in the header `X-Parkoni-Operator: <operatorId>`; an operator’s own key needs no header. Errors answer `{ error: { code, message } }` with the codes listed per response."},"servers":[{"url":"/api/connector/v1"}],"paths":{"/catalogue":{"get":{"summary":"Facilities, pools and products of the operator","parameters":[{"name":"X-Parkoni-Operator","in":"header","required":false,"schema":{"type":"string"},"description":"With a system vendor key: the linked operator this request acts for. Not needed with an operator’s own key."}],"responses":{"200":{"description":"Catalogue","content":{"application/json":{"schema":{"type":"object","required":["facilities"],"properties":{"facilities":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"object"},"timezone":{"type":"string"},"pools":{"type":"array","items":{"type":"object"}},"products":{"type":"array","items":{"type":"object"}}}}}}}}}},"400":{"description":"invalid_request, invalid_json","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"401":{"description":"unauthorized: missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"403":{"description":"missing_scope, forbidden, not_a_channel or not_a_connector, operator_not_linked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"429":{"description":"rate_limited (header Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"500":{"description":"internal","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}}}}},"/bookings":{"get":{"summary":"Bookings changed since (bookings still in checkout are left out)","parameters":[{"name":"since","in":"query","required":false,"schema":{"type":"string","format":"date-time"},"description":"Changes after this instant (ISO 8601 with offset); use `next` of the previous answer. Missing means the last 7 days; an unparsable value answers 400 invalid_since."},{"name":"X-Parkoni-Operator","in":"header","required":false,"schema":{"type":"string"},"description":"With a system vendor key: the linked operator this request acts for. Not needed with an operator’s own key."}],"responses":{"200":{"description":"Bookings","content":{"application/json":{"schema":{"type":"object","required":["bookings","next"],"properties":{"bookings":{"type":"array","items":{"$ref":"#/components/schemas/BookingExchangeV1"}},"next":{"type":["string","null"],"format":"date-time","description":"Pass as `since` for the next page; null when nothing changed"}}}}}},"400":{"description":"invalid_request, invalid_json, invalid_since","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"401":{"description":"unauthorized: missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"403":{"description":"missing_scope, forbidden, not_a_channel or not_a_connector, operator_not_linked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"429":{"description":"rate_limited (header Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"500":{"description":"internal","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}}}}},"/bookings/{reference}":{"get":{"summary":"One booking with its stay report","parameters":[{"name":"reference","in":"path","required":true,"schema":{"type":"string"}},{"name":"X-Parkoni-Operator","in":"header","required":false,"schema":{"type":"string"},"description":"With a system vendor key: the linked operator this request acts for. Not needed with an operator’s own key."}],"responses":{"200":{"description":"Booking","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingExchangeV1"}}}},"400":{"description":"invalid_request, invalid_json","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"401":{"description":"unauthorized: missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"403":{"description":"missing_scope, forbidden, not_a_channel or not_a_connector, operator_not_linked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"404":{"description":"booking_not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"429":{"description":"rate_limited (header Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"500":{"description":"internal","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}}}}},"/bookings/{reference}/events":{"post":{"summary":"Report accept, decline, checked_in, picked_up, checked_out or no_show; repeats are harmless","description":"`at` is clamped: never in the future, never more than 36 hours back, a return or hand-over never before the check-in. A no-show is accepted from the end of the arrival day (car park local time) until 48 hours after it.","parameters":[{"name":"reference","in":"path","required":true,"schema":{"type":"string"}},{"name":"X-Parkoni-Operator","in":"header","required":false,"schema":{"type":"string"},"description":"With a system vendor key: the linked operator this request acts for. Not needed with an operator’s own key."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type"],"properties":{"type":{"enum":["accept","decline","checked_in","picked_up","checked_out","no_show"]},"at":{"type":"string","format":"date-time"}}}}}},"responses":{"200":{"description":"Applied or already applied","content":{"application/json":{"schema":{"type":"object","required":["applied","booking"],"properties":{"applied":{"type":"boolean","description":"false when the event had already been applied"},"at":{"type":"string","format":"date-time","description":"The time recorded, when `at` was sent"},"atClamped":{"type":"boolean","description":"true when `at` lay in the future, more than 36 hours back or before the check-in and was moved"},"booking":{"$ref":"#/components/schemas/BookingExchangeV1"}}}}}},"400":{"description":"invalid_request, invalid_json","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"401":{"description":"unauthorized: missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"403":{"description":"missing_scope, forbidden, not_a_channel or not_a_connector, operator_not_linked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"404":{"description":"booking_not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"409":{"description":"no_stay, no_show_window, invalid_transition, not_allowed, no_capacity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"429":{"description":"rate_limited (header Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"500":{"description":"internal","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}}}}},"/pools/{poolId}/availability":{"put":{"summary":"The system reports free units per period; the platform never sells beyond them in any slice","description":"Periods must not overlap, may cover at most 366 days each and may reach at most 400 days ahead; one push may span at most 400 days from its first period to its last. The push is applied whole or not at all and replaces earlier pushes only inside its periods. A 15-minute slice touched by two periods takes the smaller free count. The cap stays in force when the operator later resizes the pool, changes overbooking or sets or lifts blocks.","parameters":[{"name":"poolId","in":"path","required":true,"schema":{"type":"string"}},{"name":"X-Parkoni-Operator","in":"header","required":false,"schema":{"type":"string"},"description":"With a system vendor key: the linked operator this request acts for. Not needed with an operator’s own key."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["periods"],"properties":{"periods":{"type":"array","minItems":1,"maxItems":400,"items":{"type":"object","required":["from","to","free"],"properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"free":{"type":"integer","minimum":0,"description":"Spaces free in your system in every slice of the period, counting every platform booking you have received. The platform sells at most this many more there; travellers still in checkout on the platform use up this number too."}}}},"asOf":{"type":"string","format":"date-time","description":"The `since` you would send next to GET /bookings: what your free counts already include. Platform bookings changed after it count as not seen yet and use up your free count. Without it, every current platform booking counts as seen."}}}}}},"responses":{"200":{"description":"Caps applied per period","content":{"application/json":{"schema":{"type":"object","required":["periods"],"properties":{"periods":{"type":"array","items":{"type":"object","required":["from","to","blocked","segments"],"properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"blocked":{"type":"integer","description":"The most spaces your free count withholds from sale in one slice of the period"},"clamped":{"type":"boolean","description":"true when the platform already has more bookings and holds in a slice than your count allows; nothing more is sold there"},"segments":{"type":"array","items":{"type":"object","properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"blocked":{"type":"integer"}}},"description":"Withheld spaces per part of the period, following platform usage"}}}}}}}}},"400":{"description":"invalid_request, invalid_json, invalid_period (also a period that ends in the past; one that began already counts from now)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"401":{"description":"unauthorized: missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"403":{"description":"missing_scope, forbidden, not_a_channel or not_a_connector, operator_not_linked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"404":{"description":"pool_not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"413":{"description":"push_too_large: the periods span more than 400 days","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"429":{"description":"rate_limited (header Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"500":{"description":"internal","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}}}}},"/deliveries":{"get":{"summary":"Your webhook delivery log (last 100)","parameters":[{"name":"X-Parkoni-Operator","in":"header","required":false,"schema":{"type":"string"},"description":"With a system vendor key: the linked operator this request acts for. Not needed with an operator’s own key."}],"responses":{"200":{"description":"Deliveries","content":{"application/json":{"schema":{"type":"object","required":["deliveries"],"properties":{"deliveries":{"type":"array","items":{"type":"object","required":["id","eventType","outboxId","url","status","attempts","createdAt"],"properties":{"id":{"type":"string"},"eventType":{"type":"string"},"outboxId":{"type":"string"},"url":{"type":"string"},"status":{"enum":["PENDING","DELIVERED","FAILED","DEAD"]},"attempts":{"type":"integer"},"lastStatusCode":{"type":["integer","null"]},"lastError":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time"},"deliveredAt":{"type":["string","null"],"format":"date-time"}}}}}}}}},"400":{"description":"invalid_request, invalid_json","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"401":{"description":"unauthorized: missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"403":{"description":"missing_scope, forbidden, not_a_channel or not_a_connector, operator_not_linked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"429":{"description":"rate_limited (header Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"500":{"description":"internal","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}}}}},"/deliveries/{id}/redeliver":{"post":{"summary":"Send a failed or dead-lettered delivery again (needs a writing scope)","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"X-Parkoni-Operator","in":"header","required":false,"schema":{"type":"string"},"description":"With a system vendor key: the linked operator this request acts for. Not needed with an operator’s own key."}],"responses":{"200":{"description":"Queued","content":{"application/json":{"schema":{"type":"object","required":["ok"],"properties":{"ok":{"const":true}}}}}},"400":{"description":"invalid_request, invalid_json","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"401":{"description":"unauthorized: missing or invalid key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"403":{"description":"missing_scope, forbidden, not_a_channel or not_a_connector, operator_not_linked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"404":{"description":"delivery_not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"409":{"description":"not_redeliverable: delivered, still pending or being sent, or its event is past the 30-day retention","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"429":{"description":"rate_limited (header Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}},"500":{"description":"internal","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorV1"}}}}}}}},"webhooks":{"booking.held.v1":{"post":{"summary":"booking.held.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.held.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.held.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"booking.pending_payment.v1":{"post":{"summary":"booking.pending_payment.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.pending_payment.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.pending_payment.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"booking.confirmed.v1":{"post":{"summary":"booking.confirmed.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.confirmed.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.confirmed.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"},"arrivalAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"pickupAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"totalGrossMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"booking.awaiting_operator.v1":{"post":{"summary":"booking.awaiting_operator.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.awaiting_operator.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.awaiting_operator.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"booking.declined.v1":{"post":{"summary":"booking.declined.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.declined.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.declined.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"booking.failed.v1":{"post":{"summary":"booking.failed.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.failed.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.failed.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"booking.expired.v1":{"post":{"summary":"booking.expired.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.expired.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.expired.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"booking.amended.v1":{"post":{"summary":"booking.amended.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.amended.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.amended.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"booking.cancelled_by_customer.v1":{"post":{"summary":"booking.cancelled_by_customer.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.cancelled_by_customer.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.cancelled_by_customer.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"booking.cancelled_by_operator.v1":{"post":{"summary":"booking.cancelled_by_operator.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.cancelled_by_operator.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.cancelled_by_operator.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"booking.no_show.v1":{"post":{"summary":"booking.no_show.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.no_show.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.no_show.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"booking.completed.v1":{"post":{"summary":"booking.completed.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.completed.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.completed.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"booking.refund_requested.v1":{"post":{"summary":"booking.refund_requested.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.refund_requested.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.refund_requested.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"booking.refunded.v1":{"post":{"summary":"booking.refunded.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.refunded.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.refunded.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"booking.payment_recorded.v1":{"post":{"summary":"booking.payment_recorded.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.payment_recorded.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.payment_recorded.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"},"provider":{"type":"string"},"amountMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"registerDate":{"type":"string"}},"required":["operatorId","provider","amountMinor"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"booking.open_amount_changed.v1":{"post":{"summary":"booking.open_amount_changed.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.open_amount_changed.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.open_amount_changed.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"},"openMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"creditMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["operatorId","openMinor","creditMinor"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"booking.message_sent.v1":{"post":{"summary":"booking.message_sent.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.message_sent.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.message_sent.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"booking.correction.v1":{"post":{"summary":"booking.correction.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"booking.correction.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"booking.correction.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"request.accepted.v1":{"post":{"summary":"request.accepted.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"request.accepted.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"request.accepted.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"request.declined.v1":{"post":{"summary":"request.declined.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"request.declined.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"request.declined.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.checked_in.v1":{"post":{"summary":"stay.checked_in.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.checked_in.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.checked_in.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"},"actualArrivalAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"earlyMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"lateMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"manual":{"default":false,"type":"boolean"},"bay":{"type":"string"}},"required":["operatorId","actualArrivalAt","manual"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.early_arrival_recorded.v1":{"post":{"summary":"stay.early_arrival_recorded.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.early_arrival_recorded.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.early_arrival_recorded.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"},"minutesEarly":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amountMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"overPhysical":{"default":false,"type":"boolean"}},"required":["operatorId","minutesEarly","overPhysical"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.bay_assigned.v1":{"post":{"summary":"stay.bay_assigned.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.bay_assigned.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.bay_assigned.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.transfer_assigned.v1":{"post":{"summary":"stay.transfer_assigned.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.transfer_assigned.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.transfer_assigned.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.run_departed.v1":{"post":{"summary":"stay.run_departed.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.run_departed.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.run_departed.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.run_completed.v1":{"post":{"summary":"stay.run_completed.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.run_completed.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.run_completed.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.picked_up.v1":{"post":{"summary":"stay.picked_up.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.picked_up.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.picked_up.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.departed.v1":{"post":{"summary":"stay.departed.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.departed.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.departed.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.returned.v1":{"post":{"summary":"stay.returned.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.returned.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.returned.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.checked_out.v1":{"post":{"summary":"stay.checked_out.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.checked_out.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.checked_out.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"},"actualHandOverAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"early":{"default":false,"type":"boolean"},"overstayMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"overstayAmountMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"estimated":{"default":false,"type":"boolean"}},"required":["operatorId","actualHandOverAt","early","estimated"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.overstay_charged.v1":{"post":{"summary":"stay.overstay_charged.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.overstay_charged.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.overstay_charged.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"},"amountMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"startedDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["operatorId","amountMinor","startedDays"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.yard_extra_added.v1":{"post":{"summary":"stay.yard_extra_added.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.yard_extra_added.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.yard_extra_added.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"},"extraId":{"type":"string"},"quantity":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amountMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["operatorId","extraId","quantity","amountMinor"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.waived.v1":{"post":{"summary":"stay.waived.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.waived.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.waived.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"},"amountMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["operatorId","amountMinor"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.note_added.v1":{"post":{"summary":"stay.note_added.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.note_added.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.note_added.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.condition_report_added.v1":{"post":{"summary":"stay.condition_report_added.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.condition_report_added.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.condition_report_added.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"},"phase":{"type":"string","enum":["ARRIVAL","RETURN"]},"photos":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"sha256":{"type":"string"}},"required":["label","sha256"],"additionalProperties":false}},"signature":{"type":"string","enum":["SIGNED","REFUSED","NOT_PRESENT"]}},"required":["operatorId","phase","photos"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.no_show.v1":{"post":{"summary":"stay.no_show.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.no_show.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.no_show.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.no_show_reverted.v1":{"post":{"summary":"stay.no_show_reverted.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.no_show_reverted.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.no_show_reverted.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.pickup_time_changed.v1":{"post":{"summary":"stay.pickup_time_changed.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.pickup_time_changed.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.pickup_time_changed.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["operatorId","from","to"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.plate_corrected.v1":{"post":{"summary":"stay.plate_corrected.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.plate_corrected.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.plate_corrected.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.voided.v1":{"post":{"summary":"stay.voided.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.voided.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.voided.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"stay.correction.v1":{"post":{"summary":"stay.correction.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"stay.correction.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"stay.correction.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"capacity.changed.v1":{"post":{"summary":"capacity.changed.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"capacity.changed.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"capacity.changed.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"},"poolId":{"type":"string"},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["operatorId","poolId","from","to"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"block.set.v1":{"post":{"summary":"block.set.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"block.set.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"block.set.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"},"blockId":{"type":"string"},"kind":{"type":"string","enum":["ARRIVAL_BLOCK","BAY_BLOCK"]},"poolId":{"type":"string"},"productId":{"type":"string"},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["operatorId","blockId","kind","from","to"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"block.lifted.v1":{"post":{"summary":"block.lifted.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"block.lifted.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"block.lifted.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"},"blockId":{"type":"string"},"kind":{"type":"string","enum":["ARRIVAL_BLOCK","BAY_BLOCK"]},"poolId":{"type":"string"},"from":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"to":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["operatorId","blockId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"rates.changed.v1":{"post":{"summary":"rates.changed.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"rates.changed.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"rates.changed.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"},"productId":{"type":"string"},"ratePlanVersion":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"validFrom":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"effective":{"type":"boolean"}},"required":["operatorId","productId","ratePlanVersion"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"facility.lifecycle_changed.v1":{"post":{"summary":"facility.lifecycle_changed.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"facility.lifecycle_changed.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"facility.lifecycle_changed.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"},"bookable":{"type":"boolean"},"status":{"type":"string","enum":["DRAFT","PENDING_APPROVAL","LIVE","PAUSED"]}},"required":["operatorId","bookable","status"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"flight.updated.v1":{"post":{"summary":"flight.updated.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"flight.updated.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"flight.updated.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"flight.landed.v1":{"post":{"summary":"flight.landed.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"flight.landed.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"flight.landed.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"flight.cancelled.v1":{"post":{"summary":"flight.cancelled.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"flight.cancelled.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"flight.cancelled.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}},"flight.mismatch.v1":{"post":{"summary":"flight.mismatch.v1","parameters":[{"name":"X-Parkoni-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"},{"name":"X-Parkoni-Event","in":"header","required":true,"schema":{"const":"flight.mismatch.v1"}},{"name":"X-Parkoni-Delivery","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id","sequence","type","createdAt","operatorId","data"],"properties":{"id":{"type":"string"},"sequence":{"type":"integer","description":"Increases with every event; order the events of one booking by it"},"type":{"const":"flight.mismatch.v1"},"createdAt":{"type":"string","format":"date-time"},"operatorId":{"type":"string"},"data":{"type":"object","properties":{"bookingReference":{"type":"string"},"operatorId":{"type":"string"},"facilityId":{"type":"string"},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"externalRef":{"type":"string"}},"required":["operatorId"],"additionalProperties":{}}}}}}},"responses":{"2XX":{"description":"Received; anything else is retried with backoff for 24 hours"}}}}},"security":[{"apiKey":[]}],"components":{"schemas":{"PriceLineV1":{"type":"object","properties":{"kind":{"type":"string"},"label":{"type":"object","properties":{"de":{"type":"string"},"en":{"type":"string"},"it":{"type":"string"},"es":{"type":"string"},"fr":{"type":"string"},"pl":{"type":"string"},"nl":{"type":"string"},"pt":{"type":"string"},"ro":{"type":"string"},"hu":{"type":"string"},"sv":{"type":"string"},"cs":{"type":"string"},"sl":{"type":"string"},"sk":{"type":"string"},"lt":{"type":"string"},"el":{"type":"string"},"da":{"type":"string"},"hr":{"type":"string"},"fi":{"type":"string"}},"required":["de"],"additionalProperties":false,"description":"The text per language: always de, and every other platform language it has"},"quantity":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"netMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Minor units of the currency (cents, öre, groszy)"},"vatBps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"grossMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Minor units of the currency (cents, öre, groszy)"}},"required":["kind","label","quantity","netMinor","vatBps","grossMinor"],"additionalProperties":false},"StayReportV1":{"type":"object","properties":{"reference":{"type":"string"},"state":{"type":"string","enum":["EXPECTED","ON_SITE","AWAY","RETURNED","CLOSED","NO_SHOW","VOID"]},"actualArrivalAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"actualHandOverAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"earlyMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"overstayMinutes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"openMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Minor units of the currency (cents, öre, groszy)"},"conditionReports":{"type":"array","items":{"type":"object","properties":{"phase":{"type":"string","enum":["ARRIVAL","RETURN"]},"photoCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["phase","photoCount"],"additionalProperties":false}}},"required":["reference","state","openMinor","conditionReports"],"additionalProperties":false},"BookingExchangeV1":{"type":"object","properties":{"reference":{"type":"string"},"externalRef":{"type":"string"},"status":{"type":"string","enum":["CONFIRMED","AWAITING_OPERATOR","CANCELLED","NO_SHOW","ARRIVED","COMPLETED"]},"channel":{"type":"string","enum":["MARKETPLACE","DIRECT","STAFF","EXTERNAL"]},"facilityId":{"type":"string"},"productId":{"type":"string"},"arrivalAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"landingAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"pickupAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"flights":{"type":"object","properties":{"outbound":{"type":"string"},"return":{"type":"string"}},"additionalProperties":false},"traveller":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"phone":{"type":"string","pattern":"^\\+?[0-9 ()/.-]{6,30}$"},"email":{"type":"string","maxLength":254,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"language":{"type":"string","enum":["de","en","it","es","fr","pl","nl","pt","ro","hu","sv","cs","sl","sk","lt","el","da","hr","fi"]},"smsConsent":{"type":"boolean"}},"required":["name","language","smsConsent"],"additionalProperties":false},"vehicle":{"type":"object","properties":{"plate":{"type":"string","minLength":2,"maxLength":16},"type":{"type":"string","enum":["CAR","VAN","MOTORCYCLE","CAMPER"]},"makeModel":{"type":"string"}},"required":["plate","type"],"additionalProperties":false},"partySize":{"type":"integer","minimum":1,"maximum":9007199254740991},"extras":{"type":"array","items":{"type":"object","properties":{"extraId":{"type":"string"},"quantity":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["extraId","quantity"],"additionalProperties":false}},"price":{"type":"object","properties":{"currency":{"type":"string","enum":["EUR","CZK","DKK","HUF","PLN","RON","SEK","GBP","NOK","CHF"]},"lines":{"type":"array","items":{"$ref":"#/components/schemas/PriceLineV1"}},"totalGrossMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Minor units of the currency (cents, öre, groszy)"}},"required":["currency","lines","totalGrossMinor"],"additionalProperties":false},"payment":{"type":"object","properties":{"mode":{"type":"string","enum":["ONLINE","PAY_ON_SITE","EXTERNAL_PREPAID"]},"state":{"type":"string","enum":["PAID","OPEN","FAILED","NOT_DUE"]},"openMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Minor units of the currency (cents, öre, groszy)"}},"required":["mode","state","openMinor"],"additionalProperties":false},"policy":{"type":"object","properties":{"tiers":{"type":"array","items":{"type":"object","properties":{"hoursBeforeArrival":{"type":"number"},"refundBps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["hoursBeforeArrival","refundBps"],"additionalProperties":false}},"noShowRefundBps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["tiers","noShowRefundBps"],"additionalProperties":false},"notes":{"type":"string"},"stay":{"anyOf":[{"$ref":"#/components/schemas/StayReportV1"},{"type":"null"}],"description":"The stay report once the booking has a stay, else null."}},"required":["reference","status","channel","facilityId","productId","arrivalAt","pickupAt","traveller","vehicle","partySize","extras","price","payment","policy","stay"],"additionalProperties":false,"description":"What a management system or channel needs about one booking [TR 8]."},"AvailabilityV1":{"type":"object","properties":{"productId":{"type":"string"},"arrivalAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"pickupAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"freeUnits":{"type":"integer","minimum":0,"maximum":9007199254740991},"arrivalBlocked":{"type":"boolean"}},"required":["productId","arrivalAt","pickupAt","freeUnits","arrivalBlocked"],"additionalProperties":false,"description":"A sold-out answer is authoritative."},"QuoteV1":{"type":"object","properties":{"productId":{"type":"string"},"arrivalAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"pickupAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"freeUnits":{"type":"integer","minimum":0,"maximum":9007199254740991},"arrivalBlocked":{"type":"boolean"},"price":{"type":"object","properties":{"currency":{"type":"string","enum":["EUR","CZK","DKK","HUF","PLN","RON","SEK","GBP","NOK","CHF"]},"totalGrossMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Minor units of the currency (cents, öre, groszy)"},"lines":{"type":"array","items":{"$ref":"#/components/schemas/PriceLineV1"}}},"required":["currency","totalGrossMinor","lines"],"additionalProperties":false}},"required":["productId","arrivalAt","pickupAt","freeUnits","arrivalBlocked","price"],"additionalProperties":false,"description":"Availability and price in one answer; a sold-out answer is authoritative."},"RateCardV1":{"type":"object","properties":{"productId":{"type":"string"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","enum":["EUR","CZK","DKK","HUF","PLN","RON","SEK","GBP","NOK","CHF"]},"vatBps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"countingRule":{"type":"string","enum":["CALENDAR_DAYS","BLOCKS_24H"]},"durationTable":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Minor units of the currency (cents, öre, groszy)"}},"extraDayMinor":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Minor units of the currency (cents, öre, groszy)"},"channelAdjustmentBps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["productId","version","currency","vatBps","countingRule","durationTable","extraDayMinor"],"additionalProperties":false},"PartnerBookingRequestV1":{"type":"object","properties":{"externalRef":{"type":"string","minLength":1,"maxLength":100},"productId":{"type":"string"},"arrivalAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"landingAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"pickupAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"traveller":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"phone":{"type":"string","pattern":"^\\+?[0-9 ()/.-]{6,30}$"},"email":{"type":"string","maxLength":254,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"language":{"type":"string","enum":["de","en","it","es","fr","pl","nl","pt","ro","hu","sv","cs","sl","sk","lt","el","da","hr","fi"]},"smsConsent":{"type":"boolean"}},"required":["name","language","smsConsent"],"additionalProperties":false},"vehicle":{"type":"object","properties":{"plate":{"type":"string","minLength":2,"maxLength":16},"type":{"type":"string","enum":["CAR","VAN","MOTORCYCLE","CAMPER"]},"makeModel":{"type":"string"}},"required":["plate","type"],"additionalProperties":false},"partySize":{"type":"integer","minimum":1,"maximum":9007199254740991},"flights":{"description":"Flight numbers; a return flight is watched and moves the pickup when it is late.","type":"object","properties":{"outbound":{"type":"string","pattern":"^[A-Z0-9]{2,3} ?[0-9]{1,4}[A-Z]?$"},"return":{"type":"string","pattern":"^[A-Z0-9]{2,3} ?[0-9]{1,4}[A-Z]?$"}},"additionalProperties":false},"payment":{"type":"object","properties":{"mode":{"type":"string","enum":["EXTERNAL_PREPAID","PAY_ON_SITE"]},"amountMinor":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Minor units of the currency (cents, öre, groszy)"},"currency":{"description":"The currency of amountMinor. Every product sells in its operator currency (the quote says which); a booking whose payment names another currency is refused with currency_mismatch.","type":"string","enum":["EUR","CZK","DKK","HUF","PLN","RON","SEK","GBP","NOK","CHF"]}},"required":["mode"],"additionalProperties":false},"expectedTotalGrossMinor":{"description":"The total the traveller was shown (totalGrossMinor of your quote). When the price changed since, the booking is refused with 409 price_changed and the current total, so you can show it again.","type":"integer","minimum":0,"maximum":9007199254740991},"termsVersion":{"description":"The version of the Parkoni terms the traveller confirmed in your flow (for example 2026-11). Recorded with the booking; without it the booking records the version in force.","type":"string","pattern":"^[0-9A-Za-z._-]{1,32}$"}},"required":["externalRef","productId","arrivalAt","traveller","vehicle","partySize","payment"],"additionalProperties":false},"ApiErrorV1":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable code, listed per response"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false}},"required":["error"],"additionalProperties":false,"description":"Every error answer."}},"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"Prefixed, hashed-at-rest key"}}},"x-webhooks-signature":"X-Parkoni-Signature: t=<unix seconds>,v1=<hex HMAC-SHA256 of \"t.body\">; replay window 300 seconds"}