# BookingLive MCP MCP

> BookingLive MCP: Manage every step of your commerce lifecycle from within your AI agent. You can instantly create new customer orders, check product availability by date range, find historical records using an email address, and perform updates or cancellations—all without leaving your client.

## Overview
- **Category:** ecommerce
- **Price:** Free
- **Tags:** booking-system, reservation-management, scheduling-tool, order-tracking, customer-service

## Description

This connection gives your agent full control over the entire booking process. Instead of jumping through multiple dashboards to manage a reservation, you can now start an order from scratch, add items as they come up, and finalize it with one interaction. Need to know if something is available next month? Check product or resource availability before committing. If a customer calls about an old purchase, your agent pulls the entire history just using their email address. You can also cancel orders, abort them cleanly, or update specific details as business needs change. Vinkius makes it simple: you connect this MCP once to any compatible client and instantly get these commerce tools into your natural conversation flow.

## Tools

### abort_order
Cancels an order entirely to ensure no pending items remain in the system.

### add_to_order
Adds specified products or services to an existing, open order.

### cancel_order
Cancels an order and automatically sends the required cancellation confirmation email to the customer.

### complete_order
Marks a booking as finalized, generating a full transaction record for accounting.

### get_events_by_product_ids
Returns all recorded events for selected products within a defined date range.

### get_message_content
Retrieves the full HTML content and subject line of an email linked to a specific order.

### get_order_details
Returns complete, granular details for any single specified order reference number.

### get_orders_by_email
Pulls up all orders linked to one specific purchaser's email address for quick review.

### get_orders
Provides a filtered list of all orders based on criteria like date or status.

### get_product_availability
Returns public data showing if a product is available over a given date range.

### get_product_detail
Retrieves detailed information, including specifications, for specific products.

### get_ref_data
Gathers public reference data covering Products, Locations, Resources, and Staff members.

### get_resource_availability
Returns public availability information for specific resources over a given date range.

### send_email_to_customers
Sends a customized notification message to a customer regarding their booking or order status.

### set_order_notification
Updates the preferred communication method (Email or SMS) for an existing order.

### start_order
Creates a brand new BookingLive order using provided member details and initial item list.

### update_order_param
Changes one specific parameter value, like the client name or billing address, for an existing order.

## Prompt Examples

**Prompt:** 
```
Find all orders associated with the email 'support@example.com'.
```

**Response:** 
```
I found 3 orders for 'support@example.com'. The most recent is REF-9921 (Status: Completed, Total: £45.00). Would you like to see the details for any of these?
```

**Prompt:** 
```
Get the full details for order reference BKL-55432.
```

**Response:** 
```
Fetching details for BKL-55432... This order was created on Oct 12th for 'Alice Smith'. It contains 2 items: 'Standard Entry' and 'Equipment Rental'. The total is £60.00 and the status is currently 'Pending'.
```

**Prompt:** 
```
Cancel order BKL-1002 and send the confirmation email.
```

**Response:** 
```
Order BKL-1002 has been successfully cancelled. The system has queued the cancellation confirmation email to the customer.
```

## Capabilities

### Create and Finalize Orders
Initiates new customer orders, adds multiple items, and marks the booking as complete with a transaction record.

### Look Up Order History by Email
Pulls up every order associated with one specific purchaser's email address for review.

### Check Availability Across Time
Determines if a product or resource is available on a specified date range before allowing a booking to proceed.

### Modify Existing Orders
Updates specific parameters, adds new items, or cancels entire orders while ensuring data integrity.

### Retrieve Full Order Details
Gathers all metadata for a given order reference, including creation date and associated products.

## Use Cases

### The Support Agent needs history on a cold lead.
A customer calls needing details about an old booking. Instead of asking for an ID, the agent uses your AI client to run `get_orders_by_email` right away. The results appear instantly: 'I found 3 orders for support@example.com.' This saves five minutes of back-and-forth.

### The Ops Manager needs to adjust a booking mid-cycle.
A client realizes they need one extra item on an existing reservation. The agent doesn't need manual intervention; it just calls `add_to_order` and updates the total, keeping the conversation flowing naturally.

### The E-commerce Lead needs to clean up old data.
A client cancels a booking but leaves pending items in the system. The agent runs `abort_order` to ensure all related services are flagged as inactive, keeping the inventory records accurate.

### The Developer needs to verify product specs before writing code.
Before building a booking flow that relies on specific item details, the developer uses `get_product_detail` to pull the exact specifications. This prevents assumptions and ensures the client-side logic is solid.

## Benefits

- You eliminate the need to manually check multiple screens. By using `get_orders_by_email`, your agent instantly pulls up a customer's complete order history, making support faster and more reliable.
- Booking is safer because you can confirm product availability before committing. Check dates with `get_product_availability` or resource data using `get_resource_availability`; this prevents failed bookings later.
- Handling cancellations just got easier. The `cancel_order` tool not only cancels the booking but also triggers the required confirmation email, so you don't have to manage that follow-up step.
- Complex order modifications are straightforward. You can use `add_to_order` or `update_order_param` to adjust details on a live ticket without needing dedicated backend API calls.
- You gain visibility into the entire booking life cycle, from initial creation via `start_order` all the way through to final confirmation using `complete_order`.

## How It Works

The bottom line is that you manage complex booking flows entirely through conversational commands.

1. You subscribe to the MCP and provide your specific BookingLive Domain and Secret Key.
2. Your AI client authenticates with Vinkius and gains access to all commerce tools.
3. You prompt your agent using natural language (e.g., 'Find all orders for X email') and execute transactions.

## Frequently Asked Questions

**How do I find all past orders using the BookingLive MCP? (get_orders_by_email)**
You run `get_orders_by_email` and provide just the purchaser’s email address. The agent returns a list of every order associated with that account, making history retrieval simple.

**Can I check if an item is available before starting an order? (get_product_availability)**
Yes. Use `get_product_availability` to run a public availability check for products across a date range. This confirms feasibility before you even create the initial booking.

**What if I need to cancel an order and send proof? (cancel_order)**
The `cancel_order` tool handles both actions: it cancels the reservation and automatically sends the required confirmation email notification to the customer. You don't have to do two steps.

**Does this MCP let me update things after I start an order? (update_order_param)**
Yes, you can use `update_order_param` to change specific data points on an existing booking. This is useful for correcting addresses or updating billing details without canceling the whole thing.

**What's the difference between getting order list and checking by email? (get_orders vs get_orders_by_email)**
Running `get_orders` gives you a filtered view of all orders based on criteria like date or status. Using `get_orders_by_email` limits the search scope to one specific person, which is usually faster and more targeted.

**How do I check the technical specifications for a product using `get_product_detail`?**
You can use `get_product_detail` to retrieve comprehensive metadata about specific items. This gives you access to details like descriptions, pricing structures, and categorization needed before starting an order or displaying data.

**Where do I find general system reference data like location codes or staff lists using `get_ref_data`?**
You use `get_ref_data` to pull public, foundational reference information. This includes looking up valid ProductGroups, resource locations, and staff details required for accurate order entry without needing a pre-existing ID.

**What is the difference between starting an order and using `complete_order`?**
While `start_order` creates the initial record in the system, `complete_order` formally finalizes that booking. This action moves the order to a closed status, triggering necessary transaction records or fulfillment steps.

**Can I search for all orders placed by a specific customer using their email?**
Yes! Use the `get_orders_by_email` tool. Simply provide the customer's email address, and the agent will return a list of all associated orders and their current statuses.

**How do I cancel an existing reservation if a customer changes their mind?**
You can use the `cancel_order` tool by providing the unique order reference. This will cancel the order in the system and trigger the standard cancellation email to the customer.

**Is it possible to view the full transaction history and items for a specific order?**
Absolutely. The `get_order_details` tool fetches everything related to a reference, including totals, transaction types (Cash, PDQ, etc.), order items, and internal notes.