Online Booking System MCP Tools

Online Booking System MCP tools follow a booking operations workflow across services, locations, staff, rooms and equipment, slots, blackout rules, customers, bookings, deposits and payments, reschedule and cancellation policies, package session deduction, reminders, waitlists, attendance and no-shows, capacity analytics, and audit logs.

booking.config.get

read

Read booking timezone, slot interval, booking window, payment, reminder, reschedule, and cancellation defaults.

-

Read-only; baseline context before booking writes.

Do not expose payment secrets, API keys, or private notes.

booking.services.list

read

List bookable services, categories, duration, base price, capacity, deposit, and package deduction rules.

booking.config.get

Read-only; used before releasing slots or creating bookings.

Show only active or authorized services; avoid exposing internal drafts.

booking.service.get

read

Read one service's duration, buffers, eligible resources, pricing, deposit, cancellation, and reschedule constraints.

booking.services.list

Read-only; required before service edits or booking creation.

Do not expose unauthorized cost, commission, or margin fields.

booking.locations.list

read

List branches, service locations, opening hours, addresses, timezone, and available services.

booking.config.get

Read-only; used for location-based availability searches.

Hide internal warehouses, staff-only locations, or unpublished addresses.

booking.resources.list

read

List staff, rooms, equipment, capacity, and compatible services to prevent conflicts.

booking.services.list, booking.locations.list

Read-only; used before slot release and assignment.

Mask staff personal data and internal resource costs by permission.

booking.staff_schedules.list

read

Read staff rosters, leave, service eligibility, daily limits, and assigned bookings.

booking.resources.list

Read-only; used for slot release, reschedule, and staffing decisions.

Return work availability only; do not expose pay or private calendar details.

booking.blackout_rules.list

read

Read holidays, maintenance, internal events, temporary blocks, and minimum notice rules.

booking.config.get, booking.locations.list

Read-only; must be applied before availability search or slot release.

Show only necessary reason labels; avoid sensitive internal details.

booking.availability.search

read

Search available slots by service, location, staff, date, capacity, and pricing rules.

booking.service.get, booking.staff_schedules.list, booking.blackout_rules.list

Read-only; used before self-service or staff-assisted booking.

Do not show other customer names; return capacity and availability state only.

booking.slot.get

read

Read a slot's service, resources, capacity, booked count, waitlist, pricing, and payment requirements.

booking.availability.search

Read-only; verify before booking, reschedule, block, or release.

Do not return full customer lists unless staff permission allows it.

booking.bookings.list

read

List bookings by date, service, staff, location, status, payment status, or customer.

booking.config.get

Read-only; used before operations, reminders, reschedule, and no-show handling.

Mask customer PII by role; avoid bulk export.

booking.booking.get

read

Read one booking's customer, service, slot, resources, payment, reminders, reschedule, and audit history.

booking.bookings.list

Read-only; required before cancel, reschedule, refund, package deduction, or attendance updates.

Show contact details and notes only to authorized staff.

booking.customers.search

read

Search booking customers by phone, email, name, or member number.

booking.config.get

Read-only; used before staff-assisted booking or history lookup.

Limit results and mask partial phone and email values.

booking.customer.get

read

Read customer booking history, preferences, no-show records, consent state, and package balance summary.

booking.customers.search

Read-only; verify before booking, reminders, or package deduction.

Protect medical, minor, or sensitive notes with extra permissions.

booking.packages.list

read

List customer packages, remaining sessions, expiry, eligible services, and deduction limits.

booking.customer.get, booking.service.get

Read-only; used before package deduction, booking confirmation, or refund.

Do not expose payment amounts or contract terms to unauthorized roles.

booking.payment_settings.get

read

Read Stripe, PayMe, FPS, deposit ratio, refund window, and payment deadline rules.

booking.config.get

Read-only; used before payment capture, deposit refund, and booking confirmation.

Never return secret keys, full card data, or sensitive bank details.

booking.payments.list

read

List booking payments, deposits, balances, refunds, payment proofs, and gateway states.

booking.booking.get, booking.payment_settings.get

Read-only; used before refund, payment follow-up, or payment confirmation.

Mask sensitive payment data beyond transaction references.

booking.reminder_rules.list

read

Read confirmation, reschedule, cancellation, pre-service reminder, and no-show follow-up rules.

booking.config.get

Read-only; used before sending or updating reminders.

Do not expose WhatsApp tokens or provider secrets.

booking.reschedule_policy.get

read

Read latest reschedule time, cancellation fee, refund, waitlist, and manual approval policies.

booking.service.get, booking.payment_settings.get

Read-only; required before reschedule, cancellation, and refund previews.

Policy exceptions must show source; do not infer penalty waivers.

booking.waitlist.list

read

List waitlist entries, preferred slots, notification state, expiry, and ranking reasons.

booking.slot.get, booking.customer.get

Read-only; used before releasing capacity or offering a slot.

Waitlist ranking must be explainable without exposing other customers' PII.

booking.booking_summary.get

read

Read booking volume, conversion, cancellation rate, no-shows, revenue, deposits, and refunds.

booking.bookings.list, booking.payments.list

Read-only; used for operations reports and improvement suggestions.

Aggregate reporting; avoid single-customer sensitive data.

booking.capacity_summary.get

read

Read peak slots, capacity utilization, staff utilization, room/equipment load, and waiting demand.

booking.availability.search, booking.bookings.list

Read-only; used for next-month slot release and staffing.

Avoid public individual staff performance comparisons.

booking.audit_logs.list

read

List audit logs for bookings, payments, refunds, reschedules, cancellations, package deductions, and reminders.

booking.booking.get

Read-only; used for disputes, errors, and approval history.

Audit logs are restricted to authorized administrators.

booking.slot_release.preview

preview

Preview next-month slot release impact on staff, rooms, capacity, pricing, and conflicts.

booking.services.list, booking.resources.list, booking.staff_schedules.list, booking.blackout_rules.list, booking.capacity_summary.get

Preview required; slots can open only after approval.

Do not override blackouts, staff leave, or capacity limits automatically.

booking.create_booking.preview

preview

Preview whether a booking would conflict, require deposit, deduct package sessions, waitlist, or trigger reminders.

booking.slot.get, booking.customer.get, booking.payment_settings.get, booking.packages.list

Preview must be confirmed before staff-assisted or AI-created bookings.

Do not bypass customer consent, deposit requirements, or blocklist constraints.

booking.reschedule.preview

preview

Preview old-slot release, new-slot availability, fees, reminders, and waitlist impact for rescheduling.

booking.booking.get, booking.reschedule_policy.get, booking.availability.search

Customer or staff approval required before reschedule.

Do not reschedule outside policy; late changes need manual approval.

booking.cancellation.preview

preview

Preview refund, deposit forfeiture, slot release, waitlist notification, and reminder cancellation.

booking.booking.get, booking.reschedule_policy.get, booking.payments.list, booking.waitlist.list

Cancellation and refund require policy compliance or admin approval.

Do not waive cancellation fees or refund limits without authorization.

booking.deposit_refund.preview

preview

Preview deposit or payment refund amount, gateway state, fees, refund window, and accounting impact.

booking.booking.get, booking.payment_settings.get, booking.payments.list

Refunds require approval by an authorized role.

Prevent duplicate refunds; verify gateway transaction state.

booking.package_deduction.preview

preview

Preview package session deduction, expiry, and balance changes after confirmation or attendance.

booking.booking.get, booking.packages.list

Confirm eligible service, sufficient balance, and customer identity before deduction.

Avoid duplicate deductions; idempotency key required.

booking.reminders.preview

preview

Preview confirmation, reschedule, cancellation, pre-service, and waitlist reminder content, channels, and recipients.

booking.booking.get, booking.reminder_rules.list, booking.customer.get

Confirm content and recipients before bulk or customized sends.

Respect consent, opt-out, and message template limits.

booking.service.upsert

write

Create or update service name, duration, capacity, pricing, deposit, resource requirements, and booking rules.

booking.service.get, booking.payment_settings.get

Public service or price changes require approval before publishing.

Keep version history; do not alter existing booking prices unless explicitly requested.

booking.resource_availability.upsert

write

Create or update availability, capacity, service compatibility, and block rules for staff, rooms, or equipment.

booking.resources.list, booking.staff_schedules.list, booking.blackout_rules.list

Approval required when public availability or existing bookings are affected.

Do not remove booked resources without conflict warnings.

booking.slot_batch.open

write

Bulk-open bookable slots for a date range with staff, room, capacity, and pricing rules.

booking.slot_release.preview

Must execute from an approved preview.

Requires idempotency; avoid duplicate release or blackout overrides.

booking.slot.block

write

Block slots for breaks, maintenance, internal events, or temporary unavailability.

booking.slot.get, booking.bookings.list

If bookings exist, handle notification, reschedule, or refund approval first.

Never silently cancel customer bookings.

booking.booking.create

write

Create a customer booking and reserve slot, service, resources, deposit requirement, and notification tasks.

booking.create_booking.preview

Requires customer confirmation or authorized staff confirmation.

Check capacity, consent, payment requirements, and idempotency.

booking.booking.confirm

write

Confirm a tentative or payment-pending booking and update payment, deposit, package, and reminder state.

booking.booking.get, booking.payments.list, booking.package_deduction.preview

Verify payment or package deduction before confirmation.

Prevent unpaid bookings from being confirmed incorrectly.

booking.booking.reschedule

write

Move a booking to a new slot, release old slot, and update resources, fees, reminders, and audit.

booking.reschedule.preview

Requires customer or authorized staff approval; late reschedule needs admin approval.

Do not release the old slot before confirming the new slot is available.

booking.booking.cancel

write

Cancel a booking and handle refund, deposit forfeiture, slot release, waitlist, and notifications.

booking.cancellation.preview

Execute after policy-based or admin approval.

Cancellation reason, actor, and refund decision must be audited.

booking.booking.check_in

write

Mark customer arrival and trigger package deduction, balance handling, or service completion workflow.

booking.booking.get, booking.package_deduction.preview

Frontline staff may execute by permission; deductions must be traceable.

Prevent duplicate check-ins or package deductions.

booking.booking.mark_no_show

write

Mark no-show and update customer record, deposit handling, waitlist release, and follow-up notification.

booking.booking.get, booking.reschedule_policy.get, booking.payments.list

Admin approval required if fees or customer restrictions are applied.

Keep staff and timestamp records to avoid false no-show marking.

booking.deposit.capture

write

Capture or confirm deposit, full payment, or payment proof and update booking payment state.

booking.booking.get, booking.payment_settings.get, booking.payments.list

Offline payment confirmation requires authorized staff; online capture requires gateway verification.

Never store full card data; prevent duplicate charges.

booking.refund.create

write

Create an approved refund and update payment, booking, and accounting records.

booking.deposit_refund.preview

Authorized role must approve refund amount and reason.

Use idempotency and verify gateway refund state.

booking.package_session.deduct

write

Deduct package sessions for confirmed or attended bookings and record balance and source.

booking.package_deduction.preview

Execute by service and package rules; exceptions require approval.

Must prevent duplicate deduction for the same booking.

booking.waitlist.offer_slot

write

Offer a released slot to a waitlisted customer, set acceptance deadline, and temporarily hold capacity.

booking.waitlist.list, booking.slot.get, booking.reminders.preview

Send based on waitlist ranking or staff approval.

Do not permanently hold the same capacity for too many customers.

booking.staff.assign

write

Assign or change booking staff while checking eligibility, roster, and conflicts.

booking.booking.get, booking.staff_schedules.list, booking.slot.get

Changing staff on confirmed bookings requires permission or admin approval.

Do not assign ineligible, off-duty, or overloaded staff.

booking.reminder.send

write

Send confirmation, payment, reschedule, cancellation, pre-service, waitlist, or no-show follow-up messages.

booking.reminders.preview

Automated reminders follow rules; manual or bulk sends require confirmation.

Respect consent, opt-out, frequency caps, and template approval.

booking.reminder_rule.upsert

write

Create or update reminder rules, channels, send timing, templates, and eligible services.

booking.reminder_rules.list, booking.reminders.preview

Rules affecting many customer notifications require admin approval.

Prevent rapid duplicate sends or template policy violations.

booking.analytics_snapshot.record

write

Record operational snapshots for bookings, capacity, revenue, cancellations, no-shows, and channel performance.

booking.booking_summary.get, booking.capacity_summary.get

Writes aggregate reporting data only; does not modify customers or bookings.

Avoid writing personal data into analytics snapshots.

booking.action_request.status

status

Check write request, approval, execution, failure, retry, and audit status for booking actions.

booking.audit_logs.list

Read-only status; tracks slot release, refund, reschedule, and notification actions.

Status endpoint must not re-execute writes.