The customer app: your salon booking app for Android and iOS
4 min read
Salon Booking OS by OsDot™ comes with the source of a customer app: your salon’s own app, under your salon’s name, for your clients’ phones. It works with your website — the same services, times, prices, bookings, shop and accounts — through the website’s API. The app is delivered as source code: you (or your developer) build it and publish it under your own developer accounts.
What your clients can do in the app #
The app has five tabs:
- Home — your salon’s name, the client’s next visit, Book an appointment, a few of your services, and where the salon is. The bell at the top opens the inbox, with the number of unread notices.
- Book — your services with their durations, prices and deposits; a staff member or anyone available; the free times; the review with each service’s price, the total, the deposit and what is left to pay at the visit, and until when the visit can be changed or cancelled free; the client’s name and mobile number, which your website asks for every online booking, as on the website; booking. A deposit is paid on your payment provider’s page, which opens in the phone’s own browser tab inside the app; the client comes back to the app when they close it.
- Bookings — the client’s coming and past visits. A visit can be moved or cancelled within your booking rules, as on the website.
- Shop — your products, the cart and the checkout: collecting at the salon, delivery or shipping as you offer them, paid online on your provider’s page or when collecting where you allow it. My orders is under Profile.
- Profile — signing in, the client’s name, Light, Dark or the phone’s own setting, the inbox, My orders, Find the salon, signing out, and Delete my account.
Find the salon shows the address, Get directions (in the phone’s map app — the app does not use the phone’s location), calling and writing to the salon, and your opening hours, all as your website’s Contact page gives them. The phone number reads as your website shows it, for example “(217) 555-0143”, and calling dials the full number. The booking screens name your business as your website does: “the salon”.
Signing in. Clients sign in with their e-mail address and a one-time code, as on your website. A new account is asked for its name before its first booking or order.
The inbox. Your salon’s notices to the client — for example a reminder before a visit — appear in the app’s inbox. A notice opens the visit or the order it is about.
Deleting the account. Profile → Delete my account shows what your salon keeps after a deletion and sends the request to you. You review it as for a request made on the website (see Clients and their data).
What the app needs from your website #
- The website’s address. The app is built for one website: your salon’s, over HTTPS.
- Online booking on. The app books through the same rules as the website.
- E-mail set up, so that the sign-in codes arrive (see Messages, reminders, text messages and push).
- Your payment providers under System → Payment options, for deposits and shop orders paid online. To bring a client back to the app after paying, fill in your app’s Android package name, its signing certificates’ SHA-256 fingerprints and, for iPhones, its iOS App ID in the same section; your website then confirms to the phone that the app belongs to it.
Building and publishing the app #
The source is in the package’s mobile folder, with its own README. In short:
- Give the app your salon’s identity: its name, your website’s API address and your own application ID, in a production profile (
config/production.local.json, fromconfig/production.example.json). The build refuses a profile that still holds an example value, a development value or a plain HTTP address. - Build the Android app with Flutter and sign it with your own key. Publish it under your own Google Play developer account.
- iPhone: the iOS source is included. It is built on a Mac with Xcode under your own Apple developer account. No iOS build is part of this version.