{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/zoho/main/json-schema/zoho-postappointmentss-request-schema.json", "title": "PostappointmentssRequest", "description": "Request body schema", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/zoho-appointments-s-api-openapi.yml#/components/schemas/PostappointmentssRequest", "type": "object", "additionalProperties": false, "properties": { "data": { "type": "array", "description": "data array contains post request body (Required)", "items": { "$ref": "#/$defs/DataNested" }, "maxItems": 4 } }, "required": [ "data" ], "$defs": { "AppointmentForNested": { "type": "object", "additionalProperties": false, "description": "Contains the name, ID and the module's API name of the customer for whom you are creating the appointment.", "properties": { "name": { "type": [ "string", "null" ], "description": "name", "maxLength": 2 }, "id": { "type": [ "string", "null" ], "description": "id", "maxLength": 18 }, "module": { "$ref": "#/$defs/ModuleNested", "description": "module name" } } }, "CreatedByNested": { "type": "object", "additionalProperties": false, "description": "appointment created by", "properties": { "name": { "type": [ "string", "null" ], "description": "name", "maxLength": 255 }, "id": { "type": [ "string", "null" ], "description": "id", "maxLength": 255 }, "email": { "type": [ "string", "null" ], "format": "email", "description": "email", "maxLength": 33 } } }, "DataNested": { "type": "object", "additionalProperties": false, "description": "data array contains post request body", "properties": { "Owner": { "$ref": "#/$defs/OwnerNested", "description": "Represents the ID of the service member who will provide the service for this appointment. (Required)" }, "Address": { "type": [ "null", "string" ], "description": "address where the appointment held ,(this field is mandatory when location is to client address)", "maxLength": 255 }, "$currency_symbol": { "type": [ "string", "null" ], "description": "currency symbol", "maxLength": 1 }, "Appointment_Start_Time": { "type": "string", "format": "date-time", "description": "Appointment start time (Required)", "maxLength": 120 }, "Cancellation_Reason": { "type": [ "null", "string" ], "description": "appointment cancellation reason", "maxLength": 120 }, "Appointment_For": { "$ref": "#/$defs/AppointmentForNested", "description": "Contains the name, ID and the module's API name of the customer for whom you are creating the appointment. (Required)" }, "$field_states": { "type": [ "null", "string" ], "maxLength": 255, "description": "field status" }, "Rescheduled_To": { "type": [ "null", "string" ], "description": "appointment rescheduled time", "maxLength": 120 }, "$sharing_permission": { "type": [ "string", "null" ], "description": "record sharing permission", "maxLength": 11 }, "Reschedule_Reason": { "type": [ "null", "string" ], "description": "rescheduled reason", "maxLength": 120 }, "Job_Sheet_Name__s": { "type": [ "string", "null" ], "description": "Job sheet name", "maxLength": 120 }, "Additional_Information": { "type": [ "null", "string" ], "description": "Additional informations", "maxLength": 32000 }, "Last_Activity_Time": { "type": [ "null", "string" ], "description": "last Activity time", "maxLength": 120 }, "Job_Sheet_Created__s": { "type": [ "boolean", "null" ], "description": "whether job sheet created for an appointment" }, "Cancelled_Time": { "type": [ "null", "string" ], "description": "appointment cancelled time", "maxLength": 120 }, "Cancellation_Note": { "type": [ "null", "string" ], "description": "cancellation note", "maxLength": 2000 }, "Modified_By": { "$ref": "#/$defs/ModifiedByNested", "description": "modified by" }, "Reschedule_Count": { "type": [ "integer", "null" ], "format": "int32", "description": "the no of time the appointment has been rescheduled" }, "$state": { "type": [ "string", "null" ], "description": "state", "maxLength": 4 }, "Rescheduled_By": { "type": [ "null", "object" ], "properties": { "name": { "type": [ "string", "null" ], "description": "name", "maxLength": 255 }, "id": { "type": [ "string", "null" ], "description": "id", "maxLength": 255 }, "email": { "type": [ "string", "null" ], "format": "email", "description": "email", "maxLength": 33 } }, "description": "rescheduled by" }, "Date_1": { "type": [ "null", "string" ], "description": "date", "maxLength": 20 }, "id": { "type": [ "string", "null" ], "description": "appointment record id", "maxLength": 18, "readOnly": true }, "Rescheduled_Time": { "type": [ "null", "string" ], "description": "rescheduled time", "maxLength": 120 }, "Remind_At": { "type": [ "array", "null" ], "items": { "type": "object", "description": "reminder time object", "additionalProperties": false, "properties": { "period": { "type": "string", "description": "unit of time for reminder", "enum": [ "minutes", "hours", "days" ] }, "unit": { "type": "integer", "format": "int32", "description": "value for reminder time" } } }, "description": "Contains the list of units and period of when you want to get the reminders for the appointment.", "maxItems": 100 }, "Appointment_End_Time": { "type": [ "string", "null" ], "format": "date-time", "description": "Appointment end time", "maxLength": 120 }, "Status": { "type": [ "string", "null" ], "description": "Denotes the status of the appointment.", "maxLength": 120 }, "Modified_Time": { "type": [ "string", "null" ], "format": "date-time", "description": "modified time", "maxLength": 120 }, "Service_Name": { "$ref": "#/$defs/ServiceNameNested", "description": "Contains the name and distinctive ID of the service for which you are creating the appointment. (Required)" }, "Created_Time": { "type": [ "string", "null" ], "format": "date-time", "description": "created Time", "maxLength": 120 }, "Rescheduled_From": { "type": [ "null", "string" ], "description": "Appointment Rescheduled from (this field is mandatory when you want to create an rescheduled appointment)", "maxLength": 120 }, "Cancelled_By": { "type": [ "null", "object" ], "description": "cancelled by" }, "Duration": { "type": [ "integer", "null" ], "format": "int32", "description": "Appointment duration" }, "Appointment_Name": { "type": [ "string", "null" ], "description": "Appointment name", "maxLength": 225 }, "$editable": { "type": [ "boolean", "null" ], "description": "editable " }, "Job_Sheet_Section__s": { "type": [ "string", "null" ], "description": "contains which job sheet section to be shown to the user", "maxLength": 120 }, "Record_Status__s": { "type": [ "string", "null" ], "description": "record status", "maxLength": 9 }, "$status": { "type": [ "string", "null" ], "description": "status", "maxLength": 7 }, "Job_Sheet_Description__s": { "type": [ "string", "null" ], "description": "job sheet description", "maxLength": 32000 }, "Tag": { "type": [ "array", "null" ], "description": "tags associated with this appointment", "items": { "description": "tag object", "type": "string", "maxLength": 2000 } }, "Created_By": { "$ref": "#/$defs/CreatedByNested", "description": "appointment created by" }, "Location": { "type": [ "string", "null" ], "description": "Location where the appointment held", "enum": [ "Client Address", "Business Address" ], "maxLength": 120 }, "Reschedule_Note": { "type": [ "null", "string" ], "description": "rescheduled note", "maxLength": 2000 } }, "required": [ "Appointment_For", "Appointment_Start_Time", "Owner", "Service_Name" ] }, "ModifiedByNested": { "type": "object", "additionalProperties": false, "description": "modified by", "properties": { "name": { "type": [ "string", "null" ], "description": "name", "maxLength": 255 }, "id": { "type": [ "string", "null" ], "description": "id", "maxLength": 255 }, "email": { "type": [ "string", "null" ], "format": "email", "description": "email", "maxLength": 33 } } }, "ModuleNested": { "type": "object", "additionalProperties": false, "description": "module name", "properties": { "api_name": { "type": [ "string", "null" ], "description": "api name", "maxLength": 8 }, "id": { "type": [ "string", "null" ], "description": "id", "maxLength": 18 } } }, "OwnerNested": { "type": "object", "additionalProperties": false, "description": "Represents the ID of the service member who will provide the service for this appointment.", "properties": { "name": { "type": [ "string", "null" ], "description": "service owner name", "maxLength": 100 }, "id": { "type": [ "string", "null" ], "description": "id", "maxLength": 100 }, "email": { "type": [ "string", "null" ], "format": "email", "description": "email", "maxLength": 100 } } }, "ServiceNameNested": { "type": "object", "additionalProperties": false, "description": "Contains the name and distinctive ID of the service for which you are creating the appointment.", "properties": { "name": { "type": [ "string", "null" ], "description": "name of the service , on which the appointment is created using", "maxLength": 100 }, "id": { "type": [ "string", "null" ], "description": "unique id of the service", "maxLength": 100 } } } } }