How to Create a Custom Service Selection Component for Bookla
Integrating Bookla with a custom service selection component in Framer gives you full control over your booking experience. This tutorial provides a clear, step-by-step guide to help you design a user-friendly component, apply state-based logic, and connect it directly to Bookla using the plugin and API.
What You'll Learn
- How to design a custom service list in Framer.
 - How to use variants and variables to manage selected and unselected states.
 - How to connect your Framer component to Bookla using real booking data.
 
Benefits
- Fully Customizable: Create a service list that matches your project’s design.
 - Interactive Booking Flow: Let users visually select a service and view details in real time.
 - Efficient Integration: Combine the flexibility of Framer with the power of Bookla’s booking system.
 
Creating the Service List Item in Framer
- Go to your Framer project.
 - Click on "Layout" and select "Frame".
 - Draw the list item.
 - You can resize the item in the left-side panel under "Size".
 
- Now you can change the style for this list item.
 
For example:
- Opacity.
 - Background color.
 - Border radius.
 - Border color.
 - Shadows.
 
- In the list item, write the service name.
 - Add the item to the stack by right-clicking and selecting "Add stack".
 
- To add another label, click "Layers".
 - Copy and paste the previous label and, for example, write the price.
 - To add some space between labels:
 
- In the Layout section, select "Distribute".
 - Select "Space between".
 - In the Position section, add padding to the left and/or right.
 
Building the Component with Variants
- Right-click on your component and select "Create component".
 - Name the component, for example, "List item".
 - Click "Create".
 
Note
Now you are in the component editor where you can add more variants and states.
- Edit Variant 1 as the Unselected state.
 - Create a new variant for the Selected state.
 
- To make the selected state different from the unselected state, apply some styling changes. For example:
 
- Change background color.
 - Change text color.
 - Etc.
 
- To add variables that you can change:
 
- Click on the Unselected state, then click on the text.
 - Under the Text section, find "Content".
 - Click "+" → "Create Variable" → "Plain Text".
 - Name it as you like, for example, "Title".
 - Do the same for the price.
 
Creating the Service List Component
- Go back to "Home".
 - Right-click on the list component and click "Add stack".
 - To add new list items, just copy & paste the list item.
 - To change the horizontal stack into a vertical stack, find "Direction" and set it to vertical.
 
- Edit the other list items and change the titles and prices.
 
- Add the component from the stack by selecting the stack.
 - Right-click and select "Create component".
 - Write the title, for example, "Service List".
 
- To add different states, follow these steps:
 
- Change Variant 1 to the first list title.
 - Set the first list item to Selected.
 - Repeat for the other items.
 
- To make it work across all steps, add interactions by drawing lines to other states and setting them on click.
 
Connecting to Bookla API
- Click on "Plugins".
 - Find the Bookla plugin.
 - Click on the service type you have and drag it under the service list.
 - Change the width to "Fill", so it matches the component.
 - If you want, change the booking component’s color to match the list items.
 
- Select the component. Here you will need to add information from the Bookla Platform.
 - To check your Bookla region, look at the beginning of your Bookla Platform URL.
 - Go to the Bookla Platform → Developers → New API key.
 - Create the API key for the component:
 
- Select "Client Permissions".
 - Name your API key.
 - Click "Create".
 
Note
You can only access this API key once, so after closing the pop-up, you won’t be able to view it again.
- To get your Company ID, go to the Bookla Platform, click on the company, and copy the ID. Then paste it into Framer.
 - To get the Service ID, go to the Bookla Platform → Services, copy the Service ID, and paste it into Framer.
 
- To make the component work in other states, follow these steps:
 
- Delete the component from the other state.
 - Click on "Plugins".
 - Find the Bookla plugin.
 - Click on the service type and drag it under the service list.
 - Set the width to "Fill".
 - Optionally, change the booking component’s color to match the list items.
 - Copy and paste the API key and Company ID from the previous state.
 - Repeat the Service ID step for each state.
 
Note
Do this for all other states.
Testing & Final Result
- Click "Play".
 - Test different options to ensure everything works correctly.