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.