Booky is an amazing no-code app template that will allow you to launch a platform that bring users and service providers together. It can be used for Consultants, Teachers, Fitness Instructors, Handymen etc. It features responsive design, messaging, payments & refunds, cancellation policies and much more!
The user data type stores all the information about a specific user, some of these information include the basic user profile information (name, email, image, etc) and in addition to this the user type contains fields like the
cancelation policy (laws governing payments and refunds),
instructor (takes the value of either Yes or No and determines a user that is an instructor) and more.
A user's specialty falls under a given category, these categories are found within the Activity type. It takes just two fields that include the
activityname and the
Users can book appointments from listings and pay for that particular listing and this data type handles a lot of the booking process. For instance, the field
canceledbyinstructor takes the value of yes or no and is True when the Instructor cancels a booking, and
time slot determines the time range for the appointment. And just like the
canceledbyinstructor , fields like
pending confrimation also takes a value of either yes or no.
When making a booking, a user can select start and end date from a calendar view for the appointment. The set date is handled within this data type that consist of fields like
Available (takes a value of either yes or no) that checks if the set date is available,
Booking (the associated booking),
Headline and the
In the event that a user wants to cancel an already booked appointment, there is a policy that governs payment and refunds. The cancelation policies data type contains the fields needed for this process; they include a
duration before cancellation becomes impossible,
policy type and the
This data type only contains the built-in field.
All the fields associated with a listing is categorized in classes in this data type. Some of the fields include
class reviews, the associated
Users can exchange messages and this data type holds its history inside the
Message list and
Users can book a lesson offered by a specialist. This data type has fields like
Learnto Rating, etc. that classifies details about the appointment.
An instructor user can post services they are offering on the application. Necessary details about the post or listing is stored in the listing data type. Fields on this data table include list of
class (takes a value of either yes or no),
subject (List of Activities), etc.
The Location type takes the geographic
location and the built-in fields
In addition to the built-in fields, this type contains just the
Message body field that takes a text value.
The popular locations contain some information about the
Image and the
Reviews can be made about posted services( Listings) and this data type contains the
review body (text),
review rating (number), associated
listing and its
On this template, there is a view that shows testimonials of satisfied users. This type takes that testimonial with fields like
job title ,
photo of the customer.
Transactions happen when a listing posted by a service provider (Instructor) is booked by a user (learner) and a fee is paid for the service. The Transactions data type takes fields that are necessary for a transaction. They include
Comission (An agreed percentage of the paid fee that goes to the owner of the application),
Refund (Takes either yes or no) and the
stripe transaction id.
This is the landing page of the template, it also contains information about the application and how it can be used. This information is static. Also within this page, there is also a search feature to easily find service providers, buttons for user account creation and user login where applicable, featured images of service providers and a list of testimonies from satisfied customers.
This page has no custom states.
This page is where a user can create a listing for offering a service to other users. It takes required details like the user's headline, activity (user's specialization), additional information about the activity, location, tags (dynamic keywords to filter user activity in a search), cover image, refund policy and pricing.
This page has no custom states.
This is where requested bookings and previous bookings are viewed. A search button is also provided to search for more services.
Leave review popup
This state is used to change views and displays a popup view.
This page simply contains any and all information to assist instructor users or student users with any question they have or problems that they encounter.
This state uses its value to scroll between views on this page.
An instructor's profile page consists of three tabs that include
Bookings. On clicking on a given tab, all the details of the tab associated with the current user becomes visible. Within the Listings tab, there is an option to create more listings.
Group instructor main
The id state is used to change views.
when the delete button/ icon is clicked within the listings view, this state displays a popup dialog for confirmation.
The profile page showcases the basic details about the user and provides options for a user to make changes to those details become an instructor or find one.
There are no custom states in this page.
The search page features a filtered search using keywords from subject of the service, the location and a range in the cost. Results from a search is listed below and the location is also previewed on a map to the right of the list.
There are no custom states on this page.
This page provides the user with options to register an account traditionally with an email and password, login with those credentials and also login directly with facebook or google.
The signup page has no custom state.
This simple page shows every information about the app. This page has no custom states.
This is the template's blog page that shows blog posts in a list. No custom states here.
This page contains a request or an inquiry form that takes details like the user's name, user's email, subject of the message and the message itself. Contact page has no custom states.
When a user has a message, the inbox page displays the conversations in a list with the recipients name, and the body of the message is immediately visible once a recipient(list item) on the conversation list is clicked. The inbox page also displays the date associated with each message. In the case where the user has no messages, this page is empty. Also, the inbox page has no custom states.
This page contains the information about a particular listing that include the reviews for that listing, the portfolio of the associated user, service provider's location and options to contact the service provide by using a calendar view to book an appointment. In addition to this, the listing page provides social media share links for users to publish listings on their social media profiles.
Calculates the date for an appointment.
This page is the same as the signup page.
The settings page contains three tab views that include payment, settings and notifications. The
payment view provides the user the option to add credit card details and also to connect their account with a stripe account. Also, we the
settings tab, the user can make changes to their name, email, profile image and account password. Finally, the
notifications tab allows the user to determine how a selected set of account information is disseminated to them.
This state uses its number to determine which tab view is active at a time.
A simple page that can be used as a welcome page after a successful registration or booking.
In the case where the user has marked some listings to their wish list, these listings will be populated on this page in a list while in the event that they are no listings, this page prompts the user that zero (0) results found.
This template has an admin dashboard that is used to make changes to the database via frontend. Custom states are used for navigation between tabs and inside the floating group. In the dashboard, the admin can edit / delete users, activities and popular locations. Also ability to check transactions and see testimonials.
To setup your stripe account, go to
stripe.com, create an account. You will be allowed to access your dashboard once you have successfully verified your email address and activated your account.
Click on Developers and then, API keys. copy your API keys. Ensure to use a live API key when your template goes live
Paste the API keys in the stripe connector calling the plugin.
The page uses a security measure to prevent deletion or editing features in demo preview.
In order to remove the block on these actions you'll need to make changes in the Bubble Editor in the admin page, find all pop-up elements
In the pop-up elements find the Save and Delete buttons, under conditional tab of element setting, remove the condition in place for actions to work.
Also for when page is loaded the condition on workflow when current user's mail is not [email protected], the first event.