canonical: https://jentic.com/apis/fareharbor.com/fareharbor

# FareHarbor Integration Center

Jentic publishes the only available OpenAPI specification for FareHarbor Integration Center, keeping it validated and agent-ready. FareHarbor is a tours and activities reservation platform, and its external API exposes 28 endpoints for companies, items, availabilities, bookings, lodgings, affiliates, and crew across the company-shortname-scoped URL pattern. The surface is built around the operator's day-to-day reservation workflow rather than a general-purpose e-commerce API.

## For AI agents

Read companies, items, availabilities, and bookings on a FareHarbor reservation account, and run check-in updates against availabilities. Useful for tours and activities operations.

## Scope

Does not handle payment processing, marketing campaigns, or general e-commerce catalog management - use for tours and activities reservation operations on a FareHarbor account only.

## Capabilities

- List companies and look up a company by shortname
- List bookable items and read item details for a company
- Read availabilities and per-availability lodging slots
- Update check-in status for an availability
- List affiliate, agent, and desk records on an account
- Read users and crew members on a company
- Inspect cancellation policies, custom fields, and roles configured on the account

## Use cases

### Tour Operator Catalog Sync

An OTA needs the list of bookable items, their availabilities, and the lodging slots attached to each availability for a FareHarbor-powered operator. The flow chains GET /companies/<shortname>/items/, GET /companies/<shortname>/availabilities/<availability.pk>/, and GET /companies/<shortname>/availabilities/<availability.pk>/lodgings/. Designed to feed a third-party booking front-end with up-to-date inventory.

Example prompt: Call GET /companies/<shortname>/items/, then for each item GET its availabilities and lodgings, and emit the combined inventory payload to the OTA.

### Day-Of Check-In Update

A guide app updates check-in status for guests as they arrive for a tour. The PUT /companies/<shortname>/checkin/ endpoint accepts the check-in payload and the GET /companies/<company-shortname>/checkin-statuses/ endpoint exposes the status taxonomy for the account. Suited to mobile companion apps used by tour operators on the day of activity.

Example prompt: Read /companies/<shortname>/checkin-statuses/, then PUT the chosen status for each guest to /companies/<shortname>/checkin/ as they arrive at the meeting point.

### Affiliate Operations Reporting

A reseller team reads affiliate, agent, and desk records on a FareHarbor account to produce a weekly commissions report. The /companies/<affiliate-shortname>/agents/ and /desks/ endpoints expose the affiliate configuration, and the broader items and availabilities endpoints provide the bookable inventory those affiliates resell. Built for affiliate managers running periodic reporting jobs.

Example prompt: Call GET /companies/<affiliate-shortname>/agents/ and GET /companies/<affiliate-shortname>/desks/, join the results with the items list, and produce the affiliate commissions report.

### AI Agent Reservation Assistant

An AI agent embedded in an operator's back office uses Jentic to look up upcoming availabilities, find lodgings attached to them, and update check-in status. Jentic exposes the 28 FareHarbor operations with their schemas and the company-shortname URL pattern, so the agent can answer 'who is checked in for tomorrow's morning tour' without reading the integration guide.

Example prompt: Call jentic.search with 'list FareHarbor availabilities for tomorrow', execute the matching GET availabilities operation, and return the list with current check-in status counts.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/companies/<company-shortname>/` | Read a company by shortname |
| GET | `/companies/<shortname>/items/` | List bookable items for a company |
| GET | `/companies/<shortname>/availabilities/<availability.pk>/` | Read a single availability |
| GET | `/companies/<shortname>/availabilities/<availability.pk>/lodgings/` | List lodgings attached to an availability |
| PUT | `/companies/<shortname>/checkin/` | Update check-in status for an availability |
| GET | `/companies/<shortname>/users/` | List users on a company |

## Key resources

- **Companies** — Tour operator company records keyed by shortname
- **Items** — Bookable items offered by a company
- **Availabilities** — Time slots for an item, with attached lodgings
- **Check-in** — Update guest check-in status against an availability
- **Affiliates** — Affiliate, agent, and desk records for resellers
- **Users** — Users assigned to a company shortname

## Why Jentic

- **Setup:** Wiring the FareHarbor Integration Center by hand means passing App and User key headers on every call, threading the company shortname and availability primary key through each URL, and choosing between the production and demo hosts yourself. Through Jentic you install once, import FareHarbor from the API Directory, store the App and User keys once, and your agent calls it.
- **Permission scoping:** FareHarbor puts the company shortname and availability id in the URL path (`/companies/{shortname}/availabilities/{availability.pk}/...`), so a rule can pin your agent to one company account. You choose the operations it may call, so a write like updating check-in status is not included unless you add it, and read-only item and availability lookups can stand on their own.
- **Credential handling:** Your FareHarbor App and User key headers are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list FareHarbor items' or 'update a check-in status', and Jentic returns the matching FareHarbor operation with its company-shortname-aware path and input schema so the agent calls the right endpoint without learning the URL pattern.

## Related APIs

- **Rezdy** — Tours and activities reservation platform with a similar inventory and booking model
- **BookingSync** — Vacation rental and activity reservation platform
- **Stripe** — Payment processor that collects against FareHarbor bookings

## FAQ

### Why is there no official OpenAPI spec for FareHarbor Integration Center?

FareHarbor does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call FareHarbor Integration Center via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the FareHarbor API use?

The OpenAPI spec does not declare a security scheme. FareHarbor's external API requires an X-FareHarbor-API-App and X-FareHarbor-API-User header pair issued via FareHarbor's Integration Center - through Jentic these are held in the vault and attached at execution time.

### Can I update check-in status with the FareHarbor API?

Yes. PUT to /companies/<shortname>/checkin/ with the availability and guest details. Read /companies/<company-shortname>/checkin-statuses/ first to discover the valid status values configured on the company.

### What are the rate limits for the FareHarbor API?

Numeric rate limits are not declared in the spec. FareHarbor's external API enforces per-account throttling and recommends sequential pulls per company shortname, particularly for the availabilities and lodgings endpoints which can return large payloads.

### How do I list bookable items through Jentic?

Run pip install jentic, call jentic.search with 'list FareHarbor items', and execute the returned GET /companies/<shortname>/items/ operation with the company's shortname. The auth headers are replayed from the vault.

### What is the company shortname in every URL?

Every FareHarbor account is keyed by a shortname that appears in the URL path on every account-scoped endpoint. The shortname is set during onboarding and is used as the routing identifier across companies, items, availabilities, and check-in operations.

### Can I limit what my agent is allowed to do with the FareHarbor Integration Center API?

Yes. Because you run Jentic One yourself, your own rules decide which FareHarbor operations and credentials the agent can use. Since every path carries the company shortname and availability id (`/companies/{shortname}/availabilities/{availability.pk}/...`), you can pin the agent to a single company account, and you choose the operations it may call. That means a write like PUT `/companies/{shortname}/checkin`/ is not included unless you add it, while read-only lookups such as GET `/companies/{shortname}/items`/ and the availabilities endpoints can stand on their own.
