# FareHarbor MCP

> FareHarbor MCP lets you manage and process tour and activity bookings directly from your AI agent's conversation window. Use this to find authorized operators, check real-time availability across specific dates or date ranges, fetch detailed pricing for time slots, and finalize new customer reservations using natural language prompts.

## Overview
- **Category:** ecommerce
- **Price:** Free
- **Tags:** booking-engine, tour-management, activity-reservations, inventory-availability, online-payments, travel-tech

## Description

This connector gives your AI client full control over the entire tour booking lifecycle. Forget opening a web browser, navigating multiple forms, or copying IDs into separate spreadsheets. You simply talk to your agent about travel plans, and it handles the rest.

Need to know which companies operate in an area? Ask it. Want to check if there are spots left for whale watching next Tuesday? It gets that live inventory data instantly. When you find a slot, you can confirm a booking—including customer details and ticket types—all within the chat flow. Because we host this on Vinkius, your agent doesn't need to know how FareHarbor works; it just needs to know how to talk to the catalog. It lets you monitor existing reservations by UUID or list all recent bookings for an operator without ever leaving your communication tool.

## Tools

### create_booking
Submits a new reservation for a specific tour or activity item.

### get_availability
Retrieves detailed status and capacity for a single, specified time slot.

### get_booking
Pulls the full details of an existing booking using its unique identifier (UUID).

### get_item_details
Fetches all general information about a specific tour or activity item.

### get_me
Confirms and retrieves the current API identity and credentials for the connected user/affiliate account.

### list_availabilities_by_date
Lists all available time slots for an item on one particular date.

### list_availabilities_by_range
Lists available slots for an item when given a start and end date range.

### list_bookings
Retrieves a list of recent bookings made for any company or operator.

### list_companies
Returns an authorized list of all tour companies and operators you can book through.

### list_items
Lists every available tour or activity item offered by a specific company.

### list_lodgings
Retrieves potential lodging and pickup location details for an operator's service area.

## Prompt Examples

**Prompt:** 
```
List the tour companies I can book for.
```

**Response:** 
```
I've retrieved your authorized operators. You can book for 'Island Adventures' (shortname: island-adv) and 'Mountain Treks' (shortname: mountain-treks). Which company's items would you like to see?
```

**Prompt:** 
```
Check availability for the Whale Watching tour tomorrow.
```

**Response:** 
```
Searching availability for tomorrow... I found two slots: 9:00 AM (15 spots left) and 2:00 PM (8 spots left). Would you like to proceed with a booking for any of these?
```

**Prompt:** 
```
Show me the details for booking UUID abc-123.
```

**Response:** 
```
Retrieving booking... UUID abc-123 is a confirmed reservation for 'John Doe' on the Sunset Cruise. Status is PAID and the customer has been sent their confirmation email.
```

## Capabilities

### Discovering Operators
List every authorized tour company and activity provider available in the network.

### Checking Availability
Fetch real-time inventory for specific tours, checking slots by a single date or across an entire range of dates.

### Retrieving Item Details
Get comprehensive information on any specific tour or activity item, including general details and pricing structures.

### Managing Reservations
List recent bookings for an operator or pull the detailed status of a reservation using its unique ID (UUID).

### Creating Bookings
Finalize new reservations, providing all necessary customer information and ticket types in one transaction.

## Use Cases

### Handling last-minute itinerary changes
A client cancels their original booking. The agent uses `get_booking` to confirm the cancellation details, then immediately checks for alternatives using `list_availabilities_by_range` and presents three suitable options back to the user.

### Onboarding a new travel partner
A team member needs to know which companies are available in a region. They prompt the agent, which uses `list_companies`. The team member can then see all authorized operators and proceed with booking items from one of them.

### Automating concierge responses
A user asks for tomorrow's activities. The agent first calls `list_items` to find available tours, then uses `get_availability` on the top result to confirm pricing and remaining spots before presenting a booking link.

### Auditing past sales
A manager needs to verify if an account has processed bookings for 'Island Adventures.' They prompt the agent, which calls `list_bookings` to pull up recent activity and confirm revenue streams.

## Benefits

- You don't have to manually check availability. By asking your agent, it uses `list_availabilities_by_date` or `list_availabilities_by_range` to give you instant capacity data for any tour item.
- Stop switching between tabs when confirming a sale. You can submit a new reservation, including customer details and ticket types, in one go using the `create_booking` tool.
- Need to check if an operator is authorized? Instead of browsing lists, just ask your agent, and it calls `list_companies` to give you the full roster instantly.
- When a client asks about a reservation they made last month, your agent can look up that status using `get_booking`, requiring only the UUID for fast confirmation.
- The MCP gives you access to crucial operational data—like all authorized companies or lodging locations via `list_lodgings`—without needing developer-level API calls.

## How It Works

The bottom line is you talk to your AI client, and it uses this MCP to run all the complex booking logic in the background.

1. First, subscribe to this MCP and provide your FareHarbor App Key and User Key credentials.
2. Next, connect your AI agent or client (like Cursor or Claude) through the Vinkius platform using those keys.
3. Finally, ask your agent a natural language question—for example, 'What's available for hiking next week?'—and it executes the necessary checks and actions.

## Frequently Asked Questions

**How do I find all authorized tour companies using FareHarbor MCP?**
You call `list_companies`. This tool pulls a full list of every operator in your network, allowing you to know exactly who is available for booking.

**Can I check availability across multiple dates with the FareHarbor MCP?**
Yes. Use the `list_availabilities_by_range` tool. This lets you see if a tour has open slots throughout an entire week or month, which is key for planning trips.

**Which tool do I use to finalize and pay for a booking?**
You must use `create_booking`. Once the availability checks are done, this tool accepts all required customer and ticket details and processes the final reservation.

**What if I only have the UUID? How do I check the status using FareHarbor MCP?**
Use the `get_booking` tool. You provide just the unique UUID, and it returns a detailed record of that booking's current status, whether paid or pending.

**Can I see what items a company offers before checking availability?**
Use `list_items`. This tool lists all the available tours under a specific company, letting you decide which item to check for slots later on.