MCPサーバー

bookeo

io.usefulapi/bookeo
旅行・ホスピタリティ 公開・接続可能 MCP 2026-07-28

このMCPでできること

Checks Bookeo product availability, holds seats, creates and updates bookings and customers, and reads booking and payment records.

bookeo_cancel_booking
Cancel a booking
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}.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['bookingNumber'], 'properties': {'reason': {'type': 'string', 'description': "Why — included in the customer's cancellation email, if sent."}, 'notifyUsers': {'type': 'boolean', 'description': "Email/SMS the business's staff."}, 'bookingNumber': {'type': 'string', 'description': 'The booking number.'}, 'notifyCustomer': {'type': 'boolean', 'description': 'Email the customer about the cancellation.'}, 'cancelRemainingSeries': {'type': 'boolean', 'description': 'If part of a recurring series, also cancel all following bookings.'}, 'trackInCustomerHistory': {'type': 'boolean', 'description': "Count this in the customer's cancellation stats."}}}
bookeo_create_booking
Create a booking
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['productId', 'peopleNumbers'], 'properties': {'mode': {'enum': ['backend'], 'type': 'string', 'description': 'Set to "backend" to act as a manager, relaxing customer-facing limits (time in advance, participant limits, change windows).'}, 'endTime': {'type': 'string', 'description': "Optional forced end time for flexibleTime products (otherwise Bookeo computes the duration) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone."}, 'eventId': {'type': 'string', 'description': 'Slot id from bookeo_get_availability_slots / bookeo_search_matching_slots. REQUIRED for fixed and fixedCourse products; optional for flexibleTime (use startTime instead).'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['value'], 'properties': {'id': {'type': 'string', 'description': "Option id (from the product's choice/number/onOff/textOptions)."}, 'name': {'type': 'string', 'description': 'Option name, as an alternative to id.'}, 'value': {'type': 'string', 'description': 'Option value: "true"/"false" for on/off options, a number as a string, the chosen value\'s name, or free text.'}}}, 'description': 'Product options (see bookeo_list_products).'}, 'customer': {'type': 'object', 'required': ['firstName', 'lastName'], 'properties': {'lastName': {'type': 'string'}, 'firstName': {'type': 'string'}, 'emailAddress': {'type': 'string'}, 'phoneNumbers': {'type': 'array', 'items': {'type': 'object', 'required': ['number', 'type'], 'properties': {'type': {'enum': ['mobile', 'work', 'home', 'fax'], 'type': 'string'}, 'number': {'type': 'string'}}}}, 'streetAddress': {'type': 'object', 'properties': {'city': {'type': 'string'}, 'state': {'type': 'string'}, 'address1': {'type': 'string'}, 'address2': {'type': 'string'}, 'postcode': {'type': 'string'}, 'countryCode': {'type': 'string', 'description': 'ISO 3166-1 alpha-2, e.g. US.'}}}}, 'description': 'A NEW customer to create together with the booking. Use customerId instead for an existing customer.'}, 'productId': {'type': 'string', 'description': 'Product id (see bookeo_list_products).'}, 'resources': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Resource id (see bookeo_list_resources).'}}}, 'description': 'Resources (e.g. a specific guide or instructor) — for flexibleTime products.'}, 'startTime': {'type': 'string', 'description': "Start time, for flexibleTime products when no eventId is given — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone."}, 'customerId': {'type': 'string', 'description': 'Id of an EXISTING customer (see bookeo_list_customers).'}, 'externalRef': {'type': 'string', 'maxLength': 64, 'description': 'Your own reference for this booking (max 64 chars).'}, 'notifyUsers': {'type': 'boolean', 'description': "Email/SMS the business's staff."}, 'privateEvent': {'type': 'boolean', 'description': 'Reserve the entire event, if the product allows it.'}, 'peopleNumbers': {'type': 'array', 'items': {'type': 'object', 'required': ['peopleCategoryId', 'number'], 'properties': {'number': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'How many people of this category.'}, 'peopleCategoryId': {'type': 'string', 'description': 'People category id, e.g. Cadults, Cchildren, Cinfants or a custom id (see bookeo_list_people_categories).'}}}, 'minItems': 1, 'description': 'Participant counts per people category.'}, 'notifyCustomer': {'type': 'boolean', 'description': 'Send the customer a confirmation email.'}, 'previousHoldId': {'type': 'string', 'description': 'Hold id from bookeo_create_hold; it is released on success.'}, 'promotionCodeInput': {'type': 'string', 'description': 'Promotion code(s), comma-separated.'}, 'sendCustomerThankyou': {'type': 'boolean', 'description': 'Send the customer a thank-you after the booking.'}, 'sendCustomerReminders': {'type': 'boolean', 'description': 'Send the customer reminders before the booking.'}}}
bookeo_create_customer
Create a customer
Create a customer record. Not needed before booking — bookeo_create_booking can create the customer inline. Bookeo: POST /customers.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['firstName', 'lastName'], 'properties': {'gender': {'enum': ['male', 'female', 'unknown'], 'type': 'string'}, 'lastName': {'type': 'string'}, 'firstName': {'type': 'string'}, 'middleName': {'type': 'string'}, 'dateOfBirth': {'type': 'string', 'description': 'RFC 3339 full-date, e.g. 1990-04-23.'}, 'emailAddress': {'type': 'string'}, 'languageCode': {'type': 'string', 'description': 'Preferred language, e.g. en_US (underscore, not dash).'}, 'phoneNumbers': {'type': 'array', 'items': {'type': 'object', 'required': ['number', 'type'], 'properties': {'type': {'enum': ['mobile', 'work', 'home', 'fax'], 'type': 'string'}, 'number': {'type': 'string'}}}}, 'streetAddress': {'type': 'object', 'properties': {'city': {'type': 'string'}, 'state': {'type': 'string'}, 'address1': {'type': 'string'}, 'address2': {'type': 'string'}, 'postcode': {'type': 'string'}, 'countryCode': {'type': 'string', 'description': 'ISO 3166-1 alpha-2, e.g. US.'}}}, 'acceptSmsReminders': {'type': 'boolean'}}}
bookeo_create_hold
Hold seats (price check)
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.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['productId', 'peopleNumbers'], 'properties': {'endTime': {'type': 'string', 'description': "Optional forced end time for flexibleTime products (otherwise Bookeo computes the duration) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone."}, 'eventId': {'type': 'string', 'description': 'Slot id from bookeo_get_availability_slots / bookeo_search_matching_slots. REQUIRED for fixed and fixedCourse products; optional for flexibleTime (use startTime instead).'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['value'], 'properties': {'id': {'type': 'string', 'description': "Option id (from the product's choice/number/onOff/textOptions)."}, 'name': {'type': 'string', 'description': 'Option name, as an alternative to id.'}, 'value': {'type': 'string', 'description': 'Option value: "true"/"false" for on/off options, a number as a string, the chosen value\'s name, or free text.'}}}, 'description': 'Product options (see bookeo_list_products).'}, 'customer': {'type': 'object', 'required': ['firstName', 'lastName'], 'properties': {'lastName': {'type': 'string'}, 'firstName': {'type': 'string'}, 'emailAddress': {'type': 'string'}, 'phoneNumbers': {'type': 'array', 'items': {'type': 'object', 'required': ['number', 'type'], 'properties': {'type': {'enum': ['mobile', 'work', 'home', 'fax'], 'type': 'string'}, 'number': {'type': 'string'}}}}, 'streetAddress': {'type': 'object', 'properties': {'city': {'type': 'string'}, 'state': {'type': 'string'}, 'address1': {'type': 'string'}, 'address2': {'type': 'string'}, 'postcode': {'type': 'string'}, 'countryCode': {'type': 'string', 'description': 'ISO 3166-1 alpha-2, e.g. US.'}}}}, 'description': 'A NEW customer to create together with the booking. Use customerId instead for an existing customer.'}, 'productId': {'type': 'string', 'description': 'Product id (see bookeo_list_products).'}, 'resources': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Resource id (see bookeo_list_resources).'}}}, 'description': 'Resources (e.g. a specific guide or instructor) — for flexibleTime products.'}, 'startTime': {'type': 'string', 'description': "Start time, for flexibleTime products when no eventId is given — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone."}, 'customerId': {'type': 'string', 'description': 'Id of an EXISTING customer (see bookeo_list_customers).'}, 'externalRef': {'type': 'string', 'maxLength': 64, 'description': 'Your own reference for this booking (max 64 chars).'}, 'privateEvent': {'type': 'boolean', 'description': 'Reserve the entire event, if the product allows it.'}, 'peopleNumbers': {'type': 'array', 'items': {'type': 'object', 'required': ['peopleCategoryId', 'number'], 'properties': {'number': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'How many people of this category.'}, 'peopleCategoryId': {'type': 'string', 'description': 'People category id, e.g. Cadults, Cchildren, Cinfants or a custom id (see bookeo_list_people_categories).'}}}, 'minItems': 1, 'description': 'Participant counts per people category.'}, 'previousHoldId': {'type': 'string', 'description': 'A previous hold in the same session, replaced by this one.'}, 'promotionCodeInput': {'type': 'string', 'description': 'Promotion code(s), comma-separated.'}, 'holdDurationSeconds': {'type': 'integer', 'maximum': 600, 'minimum': 1, 'description': 'How long to hold, in seconds (default 300, max 600).'}}}
bookeo_get_api_key_info
Get API key info
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
bookeo_get_availability_slots
Get availability slots
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'mode': {'enum': ['backend'], 'type': 'string', 'description': 'Set to "backend" to act as a manager, relaxing customer-facing limits (time in advance, participant limits, change windows).'}, 'endTime': {'type': 'string', 'description': "Search window end, max 31 days after start (required unless paging) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone."}, 'productId': {'type': 'string', 'description': 'Only this product. Omit for all fixed/fixedCourse products bookable by customers.'}, 'startTime': {'type': 'string', 'description': "Search window start (required unless paging) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone."}, 'pageNumber': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page to fetch (1-based). Used together with pageNavigationToken.'}, 'itemsPerPage': {'type': 'integer', 'maximum': 300, 'minimum': 1, 'description': 'Items per page, 1-300 (Bookeo default 50).'}, 'pageNavigationToken': {'type': 'string', 'description': "Token from a previous response's info.pageNavigationToken, to fetch another page. Search parameters need not be repeated."}}}
bookeo_get_booking
Get a booking
Get one booking by its booking number: product, times, participants, options, price, paid amount, status (canceled/accepted/noShow). Bookeo: GET /bookings/{bookingNumber}.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['bookingNumber'], 'properties': {'bookingNumber': {'type': 'string', 'description': 'The booking number (always a string).'}, 'expandCustomer': {'type': 'boolean', 'description': 'Include full customer details.'}, 'expandParticipants': {'type': 'boolean', 'description': 'Include full participant details.'}}}
bookeo_get_business
Get the business
Get the business's name, contact details, address, website and description. Bookeo: GET /settings/business.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
bookeo_get_customer
Get a customer
Get one customer: contact details, next/previous booking, number of bookings, cancellations and no-shows, membership and store credit. Bookeo: GET /customers/{id}.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The customer id.'}}}
bookeo_get_payment
Get a payment
Get one payment: amount, method, reason, received time, customer and gateway transaction id. Bookeo: GET /payments/{id}.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The payment id.'}}}
bookeo_list_booking_payments
List a booking's payments
List the payments (and refunds, as negative amounts) received for one booking. Bookeo: GET /bookings/{bookingNumber}/payments.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['bookingNumber'], 'properties': {'pageNumber': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page to fetch (1-based). Used together with pageNavigationToken.'}, 'itemsPerPage': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Items per page, 1-100 (Bookeo default 50).'}, 'bookingNumber': {'type': 'string', 'description': 'The booking number.'}, 'pageNavigationToken': {'type': 'string', 'description': "Token from a previous response's info.pageNavigationToken, to fetch another page. Search parameters need not be repeated."}}}
bookeo_list_bookings
List bookings
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'endTime': {'type': 'string', 'description': "Only bookings starting on/before this (max 31 days after startTime) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone."}, 'productId': {'type': 'string', 'description': 'Only bookings for this product.'}, 'startTime': {'type': 'string', 'description': "Only bookings starting on/after this (pair with endTime) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone."}, 'pageNumber': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page to fetch (1-based). Used together with pageNavigationToken.'}, 'itemsPerPage': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Items per page, 1-100 (Bookeo default 50).'}, 'expandCustomer': {'type': 'boolean', 'description': 'Include full customer details.'}, 'includeCanceled': {'type': 'boolean', 'description': 'Include canceled bookings (default false).'}, 'expandParticipants': {'type': 'boolean', 'description': 'Include full participant details.'}, 'lastUpdatedEndTime': {'type': 'string', 'description': "Only bookings changed/created on/before this (max 31 days) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone."}, 'pageNavigationToken': {'type': 'string', 'description': "Token from a previous response's info.pageNavigationToken, to fetch another page. Search parameters need not be repeated."}, 'lastUpdatedStartTime': {'type': 'string', 'description': "Only bookings changed/created on/after this (pair with lastUpdatedEndTime) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone."}}}
bookeo_list_customer_bookings
List a customer's bookings
List one customer's bookings, optionally between two dates. Bookeo: GET /customers/{id}/bookings.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The customer id.'}, 'endDate': {'type': 'string', 'description': 'Only bookings on/before this date (YYYY-MM-DD).'}, 'beginDate': {'type': 'string', 'description': 'Only bookings on/after this date (YYYY-MM-DD).'}, 'pageNumber': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page to fetch (1-based). Used together with pageNavigationToken.'}, 'itemsPerPage': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Items per page, 1-100 (Bookeo default 50).'}, 'expandParticipants': {'type': 'boolean', 'description': 'Include full participant details.'}, 'pageNavigationToken': {'type': 'string', 'description': "Token from a previous response's info.pageNavigationToken, to fetch another page. Search parameters need not be repeated."}}}
bookeo_list_customers
List customers
List or search customers — by name, firstName, lastName or emailAddress — optionally only members/non-members or those created since a date. Bookeo: GET /customers.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'pageNumber': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page to fetch (1-based). Used together with pageNavigationToken.'}, 'searchText': {'type': 'string', 'description': 'Text to search for. Omit to list all.'}, 'searchField': {'enum': ['name', 'firstName', 'lastName', 'emailAddress'], 'type': 'string', 'description': 'Field searchText applies to (default name).'}, 'createdSince': {'type': 'string', 'description': "Only customers created since this time — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone."}, 'itemsPerPage': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Items per page, 1-100 (Bookeo default 50).'}, 'currentMembers': {'type': 'boolean', 'description': 'Include current members (default true).'}, 'currentNonMembers': {'type': 'boolean', 'description': 'Include non-members (default true).'}, 'pageNavigationToken': {'type': 'string', 'description': "Token from a previous response's info.pageNavigationToken, to fetch another page. Search parameters need not be repeated."}}}
bookeo_list_payments
List payments
List payments received in a time period, optionally by payment method. Refunds are included with a negative amount. Bookeo: GET /payments.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'endTime': {'type': 'string', 'description': "Period end — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone."}, 'startTime': {'type': 'string', 'description': "Period start — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone."}, 'pageNumber': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page to fetch (1-based). Used together with pageNavigationToken.'}, 'itemsPerPage': {'type': 'integer', 'maximum': 300, 'minimum': 1, 'description': 'Items per page, 1-300 (Bookeo default 50).'}, 'paymentMethod': {'enum': ['creditCard', 'paypal', 'bankTransfer', 'cash', 'checque', 'debitCard', 'existingCredit', 'accountCredit', 'moneyVoucher', 'other'], 'type': 'string', 'description': 'Only this payment method (Bookeo spells cheque "checque").'}, 'paymentMethodOther': {'type': 'string', 'description': 'Custom method name — required when paymentMethod is "other".'}, 'pageNavigationToken': {'type': 'string', 'description': "Token from a previous response's info.pageNavigationToken, to fetch another page. Search parameters need not be repeated."}}}
bookeo_list_people_categories
List people categories
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
bookeo_list_products
List products
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.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'lang': {'type': 'string', 'description': 'Language for names/descriptions, e.g. en-US.'}, 'type': {'enum': ['fixed', 'fixedCourse', 'flexibleTime'], 'type': 'string', 'description': 'Only this product type. Omit for all.'}, 'pageNumber': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page to fetch (1-based). Used together with pageNavigationToken.'}, 'itemsPerPage': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Items per page, 1-100 (Bookeo default 50).'}, 'pageNavigationToken': {'type': 'string', 'description': "Token from a previous response's info.pageNavigationToken, to fetch another page. Search parameters need not be repeated."}}}
bookeo_list_resources
List resources
List resource types and their resources (guides, instructors, rooms, boats...) with ids. Bookeo: GET /settings/resources.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'pageNumber': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page to fetch (1-based). Used together with pageNavigationToken.'}, 'itemsPerPage': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Items per page, 1-100 (Bookeo default 50).'}, 'pageNavigationToken': {'type': 'string', 'description': "Token from a previous response's info.pageNavigationToken, to fetch another page. Search parameters need not be repeated."}}}
bookeo_search_matching_slots
Search matching slots
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}.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'mode': {'enum': ['backend'], 'type': 'string', 'description': 'Set to "backend" to act as a manager, relaxing customer-facing limits (time in advance, participant limits, change windows).'}, 'endTime': {'type': 'string', 'description': "Search window end, max 31 days after start (required for a new search) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone."}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['value'], 'properties': {'id': {'type': 'string', 'description': "Option id (from the product's choice/number/onOff/textOptions)."}, 'name': {'type': 'string', 'description': 'Option name, as an alternative to id.'}, 'value': {'type': 'string', 'description': 'Option value: "true"/"false" for on/off options, a number as a string, the chosen value\'s name, or free text.'}}}, 'description': 'Product options (see bookeo_list_products).'}, 'productId': {'type': 'string', 'description': 'Product id (required for a new search).'}, 'resources': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Resource id (see bookeo_list_resources).'}}}, 'description': 'Resources (e.g. a specific guide or instructor) — for flexibleTime products.'}, 'startTime': {'type': 'string', 'description': "Search window start (required for a new search) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone."}, 'pageNumber': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Page to fetch (1-based). Used together with pageNavigationToken.'}, 'itemsPerPage': {'type': 'integer', 'maximum': 300, 'minimum': 1, 'description': 'Items per page, 1-300 (Bookeo default 50).'}, 'peopleNumbers': {'type': 'array', 'items': {'type': 'object', 'required': ['peopleCategoryId', 'number'], 'properties': {'number': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'How many people of this category.'}, 'peopleCategoryId': {'type': 'string', 'description': 'People category id, e.g. Cadults, Cchildren, Cinfants or a custom id (see bookeo_list_people_categories).'}}}, 'minItems': 1, 'description': 'Participant counts per people category (required for a new search).'}, 'pageNavigationToken': {'type': 'string', 'description': 'To fetch another page of a previous search: its info.pageNavigationToken. The other search fields are then ignored.'}}}
bookeo_update_booking
Update a booking
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}.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['bookingNumber'], 'properties': {'mode': {'enum': ['backend'], 'type': 'string', 'description': 'Set to "backend" to act as a manager, relaxing customer-facing limits (time in advance, participant limits, change windows).'}, 'endTime': {'type': 'string', 'description': "New end time (flexibleTime) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone."}, 'eventId': {'type': 'string', 'description': 'New slot id (reschedule a fixed/fixedCourse booking).'}, 'options': {'type': 'array', 'items': {'type': 'object', 'required': ['value'], 'properties': {'id': {'type': 'string', 'description': "Option id (from the product's choice/number/onOff/textOptions)."}, 'name': {'type': 'string', 'description': 'Option name, as an alternative to id.'}, 'value': {'type': 'string', 'description': 'Option value: "true"/"false" for on/off options, a number as a string, the chosen value\'s name, or free text.'}}}, 'description': 'Product options (see bookeo_list_products).'}, 'resources': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Resource id (see bookeo_list_resources).'}}}, 'description': 'Resources (e.g. a specific guide or instructor) — for flexibleTime products.'}, 'startTime': {'type': 'string', 'description': "New start time (flexibleTime) — RFC 3339 date-time, e.g. 2026-10-01T09:00:00-04:00. The offset -00:00 means the account's local timezone."}, 'externalRef': {'type': 'string', 'maxLength': 64}, 'notifyUsers': {'type': 'boolean', 'description': "Email/SMS the business's staff about the change."}, 'bookingNumber': {'type': 'string', 'description': 'The booking number.'}, 'peopleNumbers': {'type': 'array', 'items': {'type': 'object', 'required': ['peopleCategoryId', 'number'], 'properties': {'number': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'How many people of this category.'}, 'peopleCategoryId': {'type': 'string', 'description': 'People category id, e.g. Cadults, Cchildren, Cinfants or a custom id (see bookeo_list_people_categories).'}}}, 'minItems': 1, 'description': 'New participant counts per category (replaces the current ones).'}, 'notifyCustomer': {'type': 'boolean', 'description': 'Email the customer about the change.'}, 'promotionCodeInput': {'type': 'string'}}}
bookeo_update_customer
Update a customer
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}.
破壊的操作あり
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The customer id.'}, 'gender': {'enum': ['male', 'female', 'unknown'], 'type': 'string'}, 'lastName': {'type': 'string'}, 'firstName': {'type': 'string'}, 'middleName': {'type': 'string'}, 'dateOfBirth': {'type': 'string', 'description': 'RFC 3339 full-date, e.g. 1990-04-23.'}, 'emailAddress': {'type': 'string'}, 'languageCode': {'type': 'string', 'description': 'Preferred language, e.g. en_US (underscore, not dash).'}, 'phoneNumbers': {'type': 'array', 'items': {'type': 'object', 'required': ['number', 'type'], 'properties': {'type': {'enum': ['mobile', 'work', 'home', 'fax'], 'type': 'string'}, 'number': {'type': 'string'}}}}, 'streetAddress': {'type': 'object', 'properties': {'city': {'type': 'string'}, 'state': {'type': 'string'}, 'address1': {'type': 'string'}, 'address2': {'type': 'string'}, 'postcode': {'type': 'string'}, 'countryCode': {'type': 'string', 'description': 'ISO 3166-1 alpha-2, e.g. US.'}}}, 'acceptSmsReminders': {'type': 'boolean'}}}
変更
bookeo_update_customer
2026年10月2日2:40
変更
bookeo_create_customer
2026年10月2日2:40
変更
bookeo_cancel_booking
2026年10月2日2:40
変更
bookeo_update_booking
2026年10月2日2:40
変更
bookeo_create_booking
2026年10月2日2:40
変更
bookeo_create_hold
2026年10月2日2:40
変更
bookeo_get_payment
2026年10月2日2:40
変更
bookeo_list_payments
2026年10月2日2:40
変更
bookeo_list_customer_bookings
2026年10月2日2:40
変更
bookeo_get_customer
2026年10月2日2:40
変更
bookeo_list_customers
2026年10月2日2:40
変更
bookeo_list_booking_payments
2026年10月2日2:40
変更
bookeo_get_booking
2026年10月2日2:40
変更
bookeo_list_bookings
2026年10月2日2:40
変更
bookeo_search_matching_slots
2026年10月2日2:40
変更
bookeo_get_availability_slots
2026年10月2日2:40
変更
bookeo_list_resources
2026年10月2日2:40
変更
bookeo_list_people_categories
2026年10月2日2:40
変更
bookeo_list_products
2026年10月2日2:40
変更
bookeo_get_business
2026年10月2日2:40
変更
bookeo_get_api_key_info
2026年10月2日2:40
追加
bookeo_update_customer
2026年9月30日2:40
追加
bookeo_create_customer
2026年9月30日2:40
追加
bookeo_cancel_booking
2026年9月30日2:40
追加
bookeo_update_booking
2026年9月30日2:40
追加
bookeo_create_booking
2026年9月30日2:40
追加
bookeo_create_hold
2026年9月30日2:40
追加
bookeo_get_payment
2026年9月30日2:40
追加
bookeo_list_payments
2026年9月30日2:40
追加
bookeo_list_customer_bookings
2026年9月30日2:40