Seating Reservations
The reservation API is used to map a booking intention. This intent can be controlled via the following endpoints.
A Reservation will expire after 15 Minutes if there is no update.
The reservation expiration time will be resetted to now() + 20 Minutes
every time an object get added or removed from the reservation.
Base URL:
https://seatmap.vivenu.com/api
or https://seatmap.vivenu.dev/api
Endpoints
Reserve an Object
To reserve an object, this endpoint must be used. It is usually used from the client.
If no token is passed, a new reservation is created, otherwise the object is added to the existing reservation.
You will receive the token that identifies the reservation in the response.
Caution: You will need to provide this token to the following endpoints.
If the object is a seat: The status transitions from free
to reserved
.
If the object is a general admission: The booked amount increases by payload.amount
Payload
Optional Attributes
Collapse all{"childEventIds": ["string"],"amount": 10.5,"token": "string","objectId": "string","object": {"gaName": "string"},"config": {}}
{"status": "ok","statusId": "string","token": "string"}
Free an Object
To remove an object from a reservation, this endpoint must be used. It is usually used from the client.
If the object is a seat: The status transitions from reserved
to free
.
If the object is a general admission: The booked amount decreases by payload.amount
Payload
The Status-ID of the object to remove from reservation
The token for the reservation
Optional Attributes
Collapse all{"objectId": "string","childEventIds": ["string"],"amount": 10.5,"token": "string"}
{"status": "ok"}
Extend a Reservation
To extend the expiration time of a reservation, this endpoint must be used. Should be used from the server only!
The new expiration is now() + 20 Minutes
Query
A token to identify the reservation
{"eventId": "string","childEventIds": ["string"],"objects": ["string"],"validUntil": "2030-01-23T23:00:00.123Z","token": "string","createdAt": "2030-01-23T23:00:00.123Z","updatedAt": "2030-01-23T23:00:00.123Z","_owner": "string"}
Book a Reservation
To finaly book a reservation, this endpoint must be used. Should be used from the server only!
All included Seats will transition to booked
. And all included Seats inside of General Admissions will be committed.
This action is irreversible. The reservation is then destroyed.
Payload
Optional Attributes
Collapse allQuery
A token to identify the reservation
{"statusIds": ["string"]}
{"eventId": "string","childEventIds": ["string"],"objects": ["string"],"validUntil": "2030-01-23T23:00:00.123Z","token": "string","createdAt": "2030-01-23T23:00:00.123Z","updatedAt": "2030-01-23T23:00:00.123Z","_owner": "string"}
Cancel a Reservation
To cancel a reservation, this endpoint must be used. Should be used from the server only!
All included Seats will transition to their initial state. And all included Seats inside of General Admissions will be discarded.
This action is irreversible. The reservation is then destroyed.
Query
A token to identify the reservation
{"eventId": "string","childEventIds": ["string"],"objects": ["string"],"validUntil": "2030-01-23T23:00:00.123Z","token": "string","createdAt": "2030-01-23T23:00:00.123Z","updatedAt": "2030-01-23T23:00:00.123Z","_owner": "string"}