Can I create a booking app with AI?
Yes. Describe the services, staff and rules in chat; the agent writes the Flutter screens and shows them in a phone preview. The result is a custom booking app with source code, not a page inside a scheduling service. On Pro and up you can download the code or sync it to GitHub.
Can customers choose a particular staff member?
Yes. The Kora demo lists each pro with a rating, hourly rate and next availability, and the customer books that person. With Supabase connected, ask for a staff table with working hours and days off. Ask for next availability to be calculated from it and existing bookings, then check it against real bookings.
How are appointments stored?
Once you connect Supabase, they live in your own Supabase project, in customers, staff, services and appointments tables with row-level security. Store times in UTC and convert them for display. The backends chapter covers connecting Supabase and the setup forms.
How can double bookings be prevented?
Not by the screen alone. Ask the agent for a server-side rule: a unique constraint on staff and slot if every booking fills one fixed slot. When jobs vary in length, use a Postgres function that checks for overlap at confirm time. Test it with two simultaneous bookings before you promise it to customers.
Can I add reminders or deposits?
Deposits run through your own Stripe account. When you ask for one, a Stripe setup form appears in the project console's Setup list for your keys. Reminders are not built in: connect your own email, SMS or WhatsApp provider, often through a Supabase Edge Function. Record consent first.
Can users cancel or reschedule?
Yes, when you ask; the Kora captures do not show them. Describe the rules you want, such as a cut-off time or a cancellation fee, which needs your Stripe setup. The agent adds the screens and the status change on the appointment row. Ask for a reschedule to rerun the same availability check, then test it.
Can the project target iOS and Android?
Yes, one Flutter codebase targets both, and Starter adds an Android test APK. On Pro and up, FlutterGo uploads a signed App Bundle to your chosen Google Play track. On the same plans, a cloud Mac runner in your GitHub repository builds, signs and uploads the iOS app to TestFlight, so no Mac is needed. You need Google Play and Apple Developer accounts, plus a connected GitHub repo.