Bookeo MCP by usefulapi

io.usefulapi/bookeo

Check Bookeo availability and manage bookings, holds and customers; read payments.

Yes, your AI can use this right now.Answered a live MCP handshake in 160 ms with no sign-in needed and exposes 21 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://bookeo.usefulapi.io/mcp

21 tools, verified live

Pulled straight from the server with tools/list on 2026-10-18.
bookeo_get_api_key_inforead-only

Show which Bookeo account the credentials belong to and which permissions were granted (e.g. bookings_rw_all, customers_r_all, availability_r). A cheap way to confirm the setup works. Bookeo: GET /settings/apikeyinfo.

bookeo_get_businessread-only

Get the business's name, contact details, address, website and description. Bookeo: GET /settings/business.

bookeo_list_productsread-only

List the bookable products (tours, classes, courses, appointments) with their ids, type (fixed, fixedCourse, flexibleTime), duration, participant limits per people category, default rates and options. Bookeo: GET /settings/products.

bookeo_list_people_categoriesread-only

List the participant categories the account uses (default Adults/Children/Infants plus custom ones like Students), with their ids and seats taken. Needed for peopleNumbers. Bookeo: GET /settings/peoplecategories.

bookeo_list_resourcesread-only

List resource types and their resources (guides, instructors, rooms, boats...) with ids. Bookeo: GET /settings/resources.

bookeo_get_availability_slotsread-only

List available slots (eventId, start/end, seats available) for fixed and fixedCourse products in a time window of at most 31 days. Not for flexibleTime products — use bookeo_search_matching_slots for those. Bookeo: GET /availability/slots.

bookeo_search_matching_slotsread-only

Find slots that can take a given party (participant counts per category, options, resources), with an estimated price. Works for all product types, including flexibleTime appointments. Window max 31 days. To page through results pass only pageNavigationToken (+ pageNumber). Read-only. Bookeo: POST /availability/matchingslots, GET /availability/matchingslots/{pageNavigationToken}.

bookeo_list_bookingsread-only

List bookings by start time (startTime+endTime) and/or by last change (lastUpdatedStartTime+lastUpdatedEndTime) — at least one pair is required, each spanning at most 31 days. Optionally filter by product, include canceled bookings, and expand customer/participant details. Bookeo: GET /bookings.

bookeo_get_bookingread-only

Get one booking by its booking number: product, times, participants, options, price, paid amount, status (canceled/accepted/noShow). Bookeo: GET /bookings/{bookingNumber}.

bookeo_list_booking_paymentsread-only

List the payments (and refunds, as negative amounts) received for one booking. Bookeo: GET /bookings/{bookingNumber}/payments.

bookeo_list_customersread-only

List or search customers — by name, firstName, lastName or emailAddress — optionally only members/non-members or those created since a date. Bookeo: GET /customers.

bookeo_get_customerread-only

Get one customer: contact details, next/previous booking, number of bookings, cancellations and no-shows, membership and store credit. Bookeo: GET /customers/{id}.

bookeo_list_customer_bookingsread-only

List one customer's bookings, optionally between two dates. Bookeo: GET /customers/{id}/bookings.

bookeo_list_paymentsread-only

List payments received in a time period, optionally by payment method. Refunds are included with a negative amount. Bookeo: GET /payments.

bookeo_get_paymentread-only

Get one payment: amount, method, reason, received time, customer and gateway transaction id. Bookeo: GET /payments/{id}.

bookeo_create_holdcan modify

Temporarily reserve the seats/resources for a draft booking (default 300 s, max 600 s) and get the FINAL price, taxes and amount payable. The recommended step before bookeo_create_booking: pass the returned hold id as previousHoldId there. Holds expire automatically. Bookeo: POST /holds.

bookeo_create_bookingcan modify

Create a confirmed booking for an existing customer (customerId) or a new one (customer). fixed/fixedCourse products need an eventId from the availability tools; flexibleTime products take eventId or startTime. Pass previousHoldId to convert a hold. Does NOT record any payment. Reversible with bookeo_cancel_booking. Bookeo: POST /bookings.

bookeo_update_bookingcan modify

Change an existing booking — reschedule (eventId or startTime/endTime), change participant counts, options, resources or external reference. Fetches the current booking and sends it back with only your changes applied (Bookeo's PUT takes the full booking). Bookeo: GET then PUT /bookings/{bookingNumber}.

bookeo_cancel_bookingcan modify

Cancel a booking. It stays in the system (visible with includeCanceled) but frees its seats. The account's cancellation policy is NOT applied, so no cancellation fee is charged. Bookeo: DELETE /bookings/{bookingNumber}.

bookeo_create_customercan modify

Create a customer record. Not needed before booking — bookeo_create_booking can create the customer inline. Bookeo: POST /customers.

bookeo_update_customercan modify

Update a customer's contact details. Fetches the current record and sends it back with only your changes applied (Bookeo's PUT takes the full customer). Bookeo: GET then PUT /customers/{id}.

Alternatives in Finance & Payments

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”