Booking Manager

The Booking Manager

With the BookingManager you can create bookings of a room or a locker, delete bookings that are not started yet, or end currently ongoing bookings.
To acquire the single instance of the Unit Controller call sdk.getBookingManager()

Kotlin / Java
sdk.getBookingManager()

Create a booking

To create a booking for a unit call

Kotlin
val response : Result<Booking>> = bookingManager.createBooking(unitId, startsAt, endsAt)
Java

where unit is the unit you want to book, startAt is the time in milliseconds when the booking should start at and the optional endAt if the booking is not open end and have to end at some point.

Delete a booking

To delete a booking call bookingManager.removeBooking(id) and the given booking will be deleted. Deleting a booking will remove it from the backend.

val response : Result<Unit>> = bookingManager.removeBooking(id)
Java

End a booking (now)

To end a booking while it is ongoing, call bookingManager.removeBooking(id) and pass the corresponding id, the ongoing booking will be ended and removed from the backend.

Kotlin
val result : Result<Unit> = bookingManager.removeBooking(id)
Java

Get my bookings

To get all bookings of the user call bookingManager.getMyBookings(from, to, pageConfig)

Kotlin
val myBookings : Result<Paged<Booking> = bookingManager.getMyBookings(from, to, pageConfig)
Java

where from is the time in milliseconds in string format and to is the time in milliseconds in string format and an optional pageConfig to load the next page.

Get Schedules

Call bookingManager.getSchedules(unitId, from, to, pageConfig) to get a list of schedules for the given unitId, or if null, for all Units the user has access to in the requested period.

Kotlin
val schedules : Result<Paged<TimePeriod>> = bookingManager.getSchedules(unitId, from, to, pageConfig)
Java

the schedule object contains a list of TimePeriod with the periods when the provided unitId is already booked.