A BuiltBy2 product · Web, iOS & Android
Booking platform · Web & mobile
Elysium Bookings
Bookings, clients and business tools, brought together across web and mobile.
Explore the project (opens in a new tab)

- Online booking
- Business workspace
- iOS & Android apps
The project
What we set out to build
Elysium brings the customer booking journey and the business's daily operations into one product. Our work covers the public website, booking and management applications, and companion iOS and Android apps. The challenge was keeping appointments, availability, client records and payments consistent across those different ways of using the service.
01 / Foundations
Availability and appointment rules
A bookable time depends on more than an empty calendar. We built around weekly working hours, date exceptions, service duration and appointments that already occupy the slot. Customers can make and manage bookings, while the business can review requests, add appointments and maintain client records. Those rules sit behind both experiences. This also means a cancellation or reschedule follows the business's rules wherever the customer starts, instead of relying on a different interpretation in each screen.

02 / Implementation
Connecting the web and native apps
The customer and business web apps use Next.js and TypeScript. Shared packages hold common types, authentication helpers and interface foundations, while the React Native app calls the same booking and management APIs. This keeps the underlying rules consistent without forcing a desktop layout onto a phone. We also separated the Astro marketing website from the signed-in applications, so explaining the product does not require loading the machinery used to run a business.


03 / Refinement
Testing booking conflicts and date changes
Refinement has included cases that a polished calendar alone cannot show: two requests arriving together, an event being published while a booking is made, and an availability response arriving after someone changes the date. Recent work prevents an old response from selecting a slot on the wrong day and checks simultaneous requests against the database. Automated browser journeys exercise booking and rescheduling, alongside native work on session recovery, loading states, search and returning to an existing appointment.
Where it is now
The result spans the public website, customer bookings, business management and native apps. Development continues across these connected surfaces, with particular attention to keeping everyday booking behaviour consistent as services, schedules and business requirements evolve.