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

# MyTime Partners API

MyTime is an appointment scheduling, point-of-sale, and customer engagement platform built for multi-location chains and franchises. The Partners API exposes 95 endpoints covering client records, appointments, classes, locations, employees, tickets, payments, and reconciliation reporting. Integrations can book and modify appointments, enrol attendees in class sessions, capture point-of-sale tickets with refunds and journals, and pull royalty and reconciliation data for franchise reporting. Authentication uses an X-Api-Key header issued per partner.

## For AI agents

Book and manage appointments, classes, clients, point-of-sale tickets, and franchise reconciliation reports for MyTime locations. Best for multi-location service businesses needing programmatic scheduling and POS integration.

## Scope

Does not handle payroll, marketing email campaigns, or general-purpose CRM lead management - use for appointment scheduling, class enrolment, and franchise POS reporting only.

## Capabilities

- Book, confirm, complete, cancel, and mark no-show on customer appointments across multiple locations
- Enrol clients into class sessions and manage attendee types and session capacity
- Pull reconciliation, royalty, and settlement reports for franchise accounting
- Capture and refund point-of-sale tickets, including item types, payment types, and journal entries
- Synchronise client and child records, including custom attributes and contact details
- List open appointment slots for a location, employee, or service combination

## Use cases

### Multi-Location Appointment Booking

Power scheduling for franchise chains and multi-site service businesses by listing open times, creating appointments, and tracking lifecycle states such as confirmed, completed, no-show, and cancelled. The /open_times endpoint returns availability for a location and service combination, while /appointments handles booking, modifications, and check-in. Ideal for SMS booking bots, web booking flows, and concierge agents that need real-time availability across dozens of locations.

Example prompt: Find an open 60-minute slot for a haircut at the Manhattan location next Tuesday afternoon and book it for client ID 4821.

### Class Enrolment Management

Manage group fitness, swim lessons, and other class-based services with endpoints for class definitions, session enrolments, attendee types, and waitlists. Useful for studios, gyms, and franchise concept programmes that sell recurring class packs and need session-level capacity control. Enrolment endpoints support adding adults or children, capacity checks, and cancellation flows.

Example prompt: Enrol child ID 3312 into the Saturday 10am swim class session at location 7 and confirm a seat is reserved.

### Franchise Reporting and Reconciliation

Pull reconciliation, royalty, settlement, and ticket journal reports across locations for franchise accounting and finance teams. The /reconciliations, /royalties, and `/tickets/journals` endpoints return structured records that finance systems can ingest for revenue recognition, royalty calculation, and reconciliation against payment processors. Saves multi-day month-end exports against the MyTime web UI.

Example prompt: Retrieve the royalty report for May 2026 for franchise location 14 and post a summary to the finance Slack channel.

### AI Agent Booking Concierge

AI agents can act as 24/7 booking concierges for franchise brands by combining open-time discovery, appointment creation, and client lookup into a single conversational flow. Through Jentic, the agent searches for the right MyTime operation, loads its schema, and executes the booking with the client's stored credentials never entering the prompt. Time-to-first-booking through Jentic is under an hour versus several days for a direct integration.

Example prompt: Receive the user request 'book me a manicure on Friday', call the MyTime open_times endpoint, select a slot, and create the appointment via the /appointments POST endpoint.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/open_times` | List open appointment slots for a location and service |
| POST | `/appointments` | Create a new appointment booking |
| POST | `/appointments/{id}/cancel` | Cancel an existing appointment |
| POST | `/appointments/{id}/completed` | Mark an appointment as completed |
| GET | `/clients` | List or search client records |
| GET | `/reconciliations` | Pull reconciliation reports for franchise accounting |
| GET | `/royalties` | Retrieve royalty reports across locations |
| GET | `/tickets` | List point-of-sale tickets |

## Key resources

- **Clients** — CRUD operations on customer profiles, including contact details and custom attributes
- **Appointments** — Book, modify, cancel, confirm, complete, and check-in appointments with lifecycle state transitions
- **Classes and Sessions** — Manage class definitions, class sessions, attendee types, and session enrolments
- **Tickets** — Read point-of-sale tickets, refunds, item types, payment types, and journal entries
- **Reports** — Pull reconciliation, royalty, and settlement reports across locations
- **Locations and Employees** — Reference data for franchise locations, employees, and external integrations

## Why Jentic

- **Setup:** Wiring MyTime by hand means holding its API key, setting that key header on every call against partners-api.mytime.com, and picking your operations out of a large scheduling and POS surface yourself. Through Jentic you install once, import MyTime from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** MyTime puts the appointment id in the URL path (`/appointments/{id}/cancel`, `/appointments/{id}/completed`), so a rule can pin your agent to one appointment. You choose the operations it may call, so cancelling an appointment is not included unless you add it.
- **Credential handling:** Your MyTime API key is stored once, encrypted, by your own Jentic One instance and injected as the request header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'book a salon appointment' or 'check open times', and Jentic returns the matching MyTime operation with its parameter schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Calendly API** — Self-service meeting scheduling for individuals and teams rather than franchise POS
- **Acuity Scheduling API** — Appointment booking for small service businesses with simpler franchise reporting
- **Mindbody API** — Wellness and fitness booking that often coexists with salon and spa MyTime deployments

## FAQ

### What authentication does the MyTime Partners API use?

The MyTime Partners API uses an API key passed in the X-Api-Key header on every request. Keys are issued by MyTime to approved partners. Through Jentic, the X-Api-Key is held in the encrypted vault and injected at execution time, so the raw key never appears in the agent's prompt or model context.

### Can I book and cancel appointments with the MyTime Partners API?

Yes. POST /appointments creates a booking, PUT `/appointments/{id}` modifies it, and POST `/appointments/{id}/cancel` cancels it. Lifecycle endpoints also exist for confirm, complete, no-show, showed_up, and client_checked_in transitions. Pair these with GET /open_times to find availability before booking.

### How do I find open appointment slots through the MyTime API?

Call GET /open_times with location, service, and date range parameters. The response returns available slots that can be passed straight into POST /appointments. Through Jentic, search 'find open appointment slots in MyTime' to load the operation schema.

### Does the MyTime Partners API support class and session enrolment?

Yes. The API includes endpoints for classes, class sessions, attendee types, and session enrolments. Use the session enrolment endpoints to add adults or children to a session, check capacity, and cancel enrolments.

### What rate limits apply to the MyTime Partners API?

MyTime does not publish rate limits in the OpenAPI spec. Treat the API as moderately rate-limited and implement exponential backoff on HTTP 429 responses. Contact MyTime partner support for higher-volume agreements before running large reconciliation backfills.

### How do I integrate the MyTime Partners API with an AI agent through Jentic?

Install the Jentic SDK with pip install jentic, then use SearchRequest with a query like 'book a MyTime appointment' to find the operation. Load its schema with LoadRequest and execute with ExecutionRequest. Get an agent API key through Jentic One, the self-hosted execution layer.

### Can I limit what my agent is allowed to do with the MyTime Partners API?

Yes. Jentic One is self-hosted, so your own rules decide which MyTime operations and credentials your agent can use. You choose the exact operations it may call, so a booking-only agent gets GET /open_times and POST /appointments while a destructive action like POST `/appointments/{id}/cancel` is excluded unless you add it. Because MyTime puts the appointment id in the URL path, such as `/appointments/{id}/cancel` and `/appointments/{id}/completed`, a rule can also pin the agent to a single appointment.
