Bookingmood

Learn how to use Bookingmood with Composio

Overview

SLUG: BOOKINGMOOD

Description

Bookingmood provides flexible, commission-free booking software for rental businesses of all sizes, enabling seamless integration with your website.

Authentication Details

generic_api_key
stringRequired

Connecting to Bookingmood

Create an auth config

Use the dashboard to create an auth config for the Bookingmood toolkit. This allows you to connect multiple Bookingmood accounts to Composio for agents to use.

1

Select App

Navigate to the Bookingmood toolkit page and click “Setup Integration”.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Integration”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2from composio.types import auth_scheme
3
4# Replace these with your actual values
5bookingmood_auth_config_id = "ac_YOUR_BOOKINGMOOD_CONFIG_ID" # Auth config ID created above
6user_id = "0000-0000-0000" # UUID from database/app
7
8composio = Composio()
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 # Replace this with a method to retrieve an API key from the user.
12 # Or supply your own.
13 user_api_key = input("[!] Enter API key")
14
15 connection_request = composio.connected_accounts.initiate(
16 user_id=user_id,
17 auth_config_id=auth_config_id,
18 config={"auth_scheme": "API_KEY", "val": user_api_key}
19 )
20
21 # API Key authentication is immediate - no redirect needed
22 print(f"Successfully connected Bookingmood for user {user_id}")
23 print(f"Connection status: {connection_request.status}")
24
25 return connection_request.id
26
27
28connection_id = authenticate_toolkit(user_id, bookingmood_auth_config_id)
29
30# You can verify the connection using:
31connected_account = composio.connected_accounts.get(connection_id)
32print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Bookingmood toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["BOOKINGMOOD"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Delete Booking Details

Description

Tool to delete booking details matching given filters. use after confirming which booking detail records to remove.

Action Parameters

booking_id
string
created_at
string
id
string
name
object
option_id
string
service_id
string
updated_at
string
value
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Organizations

Description

Tool to list organizations. use when you need to retrieve all organizations accessible by the current api key.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Booking Widgets

Description

Tool to list booking widgets. use when you need to fetch available widget configurations.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Booking Details

Description

Tool to update existing booking detail records. use when modifying guest-filled form fields for bookings matching specific filters.

Action Parameters

data
objectRequired
filters
objectRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Booking Widget

Description

Tool to create a new booking widget. use after preparing widget parameters.

Action Parameters

currency
string
date_visibility
string
initial_date
string
interaction
string
locale
string
name
stringRequired
organization_id
stringRequired
redirect_url
settings
object
show_booked_as
string
show_bookingmood_branding
boolean
show_closed_as
string
show_past
boolean
show_pending_as
string
show_reviews
boolean
stay_expanded
boolean
type
stringRequired
visible_months
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Deprecated: Search availability

Description

Deprecated: replaced by search availability.py

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired