A Template for a Booking App
This app can be used as a template for building an app to book timeslots for restaurant reservations, hair salon appointments etc. It features separate interfaces depending on if the user is an admin or not.
Booking a timeslot
The main form of the app displays a Date Picker and lists available timeslots based on the chosen date. Users can then select a timeslot to book, which is stored in the
bookings Data Table. Admin users can make appointments for any registered user.
bookings table stores the chosen
datetime object and links to the
users Data Table.
A separate form displays all current and past bookings made by the currently logged in user. If the user is an admin, they can see all bookings made by anyone. Here, users can cancel any upcoming booking and admins can easily email customers regarding their booking. The app automatically emails the user when a new booking is made or when a booking is cancelled.
Admin users have access to an interface that allows them to change the business’s opening and closing hours (stored in the
open_hours DataTable). Admins can also adjust how many bookings can be made per timeslot, the interval between each timeslot and how far in the future customers can make bookings. All of these parameters are stored in the
You can check out the app and modify it yourself by clicking here:
Want to learn more about using Anvil? Check out one of our tutorials.
Build a data-entry app, and learn the techniques fundamental to building any Anvil app.
Build your UI, write client-side and server-side Python, store data in a database and deploy your app. All in only 10 minutes!
Build a data dashboard displaying real-time data from a variety of sources.
Plot data using client-side Python code and deploy it online for others to see.
You will learn the techniques fundamental to building any Anvil app.
Learn how to store and edit data in a database, by building a simple app to store news articles.
This is an example of a CRUD app: it Creates, Reads, Updates and Deletes data. You can copy it and extend it to build a vast range of web apps.