| name | repairshopr-appointment |
| description | Manage appointments in RepairShopr - create, read, update, delete |
| license | MIT |
| compatibility | opencode |
| metadata | {"audience":"technicians, receptionists, schedulers","api":"GET /appointments, POST /appointments, GET /appointments/{id}, PUT /appointments/{id}, DELETE /appointments/{id}"} |
What I do
I manage appointments in RepairShopr. I can list appointments with date filtering, create new appointments, retrieve appointment details, update existing appointments, and delete appointments.
When to use me
Use this when:
- Scheduling service appointments with customers
- Viewing upcoming or past appointments
- Rescheduling or modifying appointment times
- Canceling appointments
- Filtering appointments by date range or user
How to use
Required API base URL:
VITE_REPAIRSHOPR_SUBDOMAIN
VITE_REPAIRSHOPR_API_KEY
List Appointments (GET /appointments)
Optional parameters:
date_from (string) - Filter appointments starting after this date (e.g., "2019-01-25")
date_to (string) - Filter appointments starting before this date (e.g., "2019-12-31")
mine (boolean) - Return only current user's appointments
page (integer) - Page number (25 results per page)
Create Appointment (POST /appointments)
Required parameters:
summary (string) - Appointment title/summary
start_at (string) - Start datetime in ISO 8601 format
Optional parameters:
end_at (string) - End datetime (ISO 8601)
description (string) - Appointment description/notes
customer_id (integer) - Customer ID to associate
ticket_id (integer) - Related ticket ID
user_id or user_ids (integer/array) - Assigned technician(s)
location (string) - Appointment location (e.g., "In Shop", "On Site")
all_day (boolean) - All day appointment flag
email_customer (boolean) - Whether to email customer
Get Single Appointment (GET /appointments/{id})
id (integer, required) - Appointment ID
Update Appointment (PUT /appointments/{id})
id (integer, required) - Appointment ID
Optional body parameters same as Create
Delete Appointment (DELETE /appointments/{id})
id (integer, required) - Appointment ID
Example call:
const result = await skill({ name: "repairshopr-appointment" }, {
summary: "Laptop Repair",
start_at: "2024-01-15T10:00:00Z",
end_at: "2024-01-15T12:00:00Z",
description: "Screen replacement",
customer_id: 123,
location: "In Shop"
})
Response includes:
- For list:
appointments array with full appointment data including customer info
- For single/create/update:
appointment object with all fields
- For delete: success status
Important
- Requires "Appointments - View All" permission for listing all appointments
- Create, update, delete don't require special permissions
summary and start_at are required for creation; start_at required for updates
- Times should be in ISO 8601 format with timezone
- Associated
customer_id must exist
Related skills
repairshopr-appointment-type - For appointment type configurations
repairshopr-ticket-create - To create a related service ticket