Padel Club Website with Online Court Reservation
Introduction
In this tutorial, you will learn how to build a padel club website with an online court reservation system using Framer and Bookla. We will go step by step through setting up your booking system, creating resources and services, and connecting everything to your Framer website.
By the end of this guide, you will have a fully functional booking system integrated into your website.
What you will need
- A Framer account
- A Bookla account
- Basic understanding of Framer
- Access to your Bookla dashboard
- A ready Framer project (or you will create one during this tutorial)
Free Framer template
- You can access our free Framer template here: Free Pádel Club Framer Template
- Open the website
- Click the "Copy" button
After this, the template will be copied into your Framer workspace.
Setting up services and resources (courts) in Bookla
Before configuring the Framer component, we first need to set up resources and services in the Bookla platform.
How to create a resource
- Go to your Bookla Platform account
- Navigate to the "Resources" section
- Click the "+ New Resource" button
- Enter the resource title and optionally choose a color
- Click "Create"
How to create working hours for the resource
- Click "+ Add working hours"
- Select the days and times for availability
- Click "Create"
How to create a service
- Go to the "Services" section
- Click "+ New Service"
- Enter the title and optionally choose a color
- Click "Next"
- Select the "Flexible" service type
- Click "Next"
- Set the booking interval
- Choose a booking policy:
- Instant booking: The client instantly books without confirmation
- Needs confirmation: The booking requires your approval
- Needs prepayment: The client must pay before confirmation
- Click "Create"
Link service to resource
- Click "Link with resource"
- Select the resources
- Click "Link resources"
Adding the currency
- Go to the "Pricing" section
- Click "Click to set" under currency
- Select your desired currency
- Click "Save"
Setting up price rules
-
Click "+ Add price rule"
-
Configure the parameters:
- Duration
- Minimum duration: the shortest bookable time
- Maximum duration: the longest bookable time
- Price
- Compared price
-
You can also set limits for specific days, times, or resources
-
Click "Create"
Connecting Bookla to Framer
- Go to your Framer project
- Click on the booking component
Set the API region
- Open your Bookla account
- Check whether your URL region is EU or US
- Select the same region in Framer
Generate and add API key
- Go to the Developers section in Bookla
- Click "Create API key"
- Enter a name (for example, "Padel booking key")
- Select permissions:
- Client Service
- Client Resource
- Guest Client
- Copy the API key (it is shown only once)
- Paste it into Framer under "API key"
Add Company ID
- Go to the Company section in Bookla
- Copy the Company ID
- Paste it into Framer under "Company ID"
Add Service ID
- Go to the Services section
- Select your service
- Copy the Service ID
- Paste it into Framer under "Service ID"
Testing the component
- Click the "Play" button
- Select available dates and times
- Click "Continue"
- Enter guest details
- Click "Book Now"
Conclusion
If everything is set up correctly, your padel club website is now fully connected to Bookla and ready to accept online court reservations directly through your Framer website.
Get Involved
We want these tutorials to address your real-world needs. If you have specific use cases or scenarios you'd like to see covered, please:
- Open an issue in our GitHub repository with the label "use case request".
- Provide a brief description of your business type and the specific challenge you're trying to solve with Bookla.
Your input will help us prioritize and develop the most relevant content for our developer community.
We appreciate your patience as we work on creating valuable, practical content to support your Bookla implementation journey. In the meantime, don't hesitate to explore our API documentation and reach out to our support team if you have any questions.