create_appointment
Book new appointments in Shopmonkey by specifying customer, vehicle, time slots, and service details to schedule automotive service visits.
Instructions
Book a new appointment in Shopmonkey.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| customerId | No | Customer ID for the appointment | |
| vehicleId | No | Vehicle ID for the appointment | |
| orderId | No | Work order ID to link to | |
| startDate | No | Appointment start date/time (ISO 8601 format) | |
| endDate | No | Appointment end date/time (ISO 8601 format) | |
| title | No | Appointment title or summary | |
| notes | No | Additional notes for the appointment | |
| locationId | No | Location ID for multi-location shops. Defaults to SHOPMONKEY_LOCATION_ID env var if set. |
Implementation Reference
- src/tools/appointments.ts:96-104 (handler)Handler for creating an appointment in Shopmonkey.
async create_appointment(args) { const body = pickFields(args, CREATE_FIELDS); if (!body.locationId) { const defaultId = getDefaultLocationId(); if (defaultId) body.locationId = defaultId; } const data = await shopmonkeyRequest<Appointment>('POST', '/appointment', body); return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] }; }, - src/tools/appointments.ts:29-44 (schema)Input schema definition for the create_appointment tool.
name: 'create_appointment', description: 'Book a new appointment in Shopmonkey.', inputSchema: { type: 'object' as const, properties: { customerId: { type: 'string', description: 'Customer ID for the appointment' }, vehicleId: { type: 'string', description: 'Vehicle ID for the appointment' }, orderId: { type: 'string', description: 'Work order ID to link to' }, startDate: { type: 'string', description: 'Appointment start date/time (ISO 8601 format)' }, endDate: { type: 'string', description: 'Appointment end date/time (ISO 8601 format)' }, title: { type: 'string', description: 'Appointment title or summary' }, notes: { type: 'string', description: 'Additional notes for the appointment' }, locationId: { type: 'string', description: 'Location ID for multi-location shops. Defaults to SHOPMONKEY_LOCATION_ID env var if set.' }, }, }, },