Case: booking a service

Services, staff, date and time, and a request to you in Telegram.

Booking in preview: services, booking, my bookings.
Booking in preview: services, booking, my bookings.
  1. Tables. Services (title, price, duration) and Staff (name, photo, plus a relation to Services if each person does their own).
  2. Choosing a service. A list of services; each row gets “Remember the tapped row” into service and navigation to the booking screen.
  3. The booking screen. A heading of {{service.title}} and a form with: name, a date picker, a second picker set to time, and a dropdown of staff whose options come from the Staff table column.
  4. The phone number. An “Ask for phone” button — Telegram shows the consent dialog itself, the number lands in {{user.phone}} and travels with the request. Show the button conditionally: while user.phone is not filled.
  5. Sending. Submit form → the “Request received” message → navigation to a Done screen. The request reaches you in Telegram and lands in Submissions.

Read next