Home > Agendize Scheduling

Appointments


Resource representation

{ "id": {string}, "reference": {string}, "company": { "id": {string}, "name": {string} }, "service": { "id": {string}, "name": {string} }, "resource": { "id": {string}, "name": {string} }, "staff": { "id": {string}, "firstName": {string}, "lastName": {string} }, "client": { "id": {string}, "firstName": {string}, "lastName": {string}, "email": {string}, "externalId": {string}, "timeZone": {string} }, "parent": { "id": {string}, "firstName": {string}, "lastName": {string}, "email": {string}, "externalId": {string}, "timeZone": {string} }, "start": { "dateTime": {datetime}, "timeZone": {string} }, "end": { "dateTime": {datetime}, "timeZone": {string} }, "created": { "dateTime": {datetime}, "timeZone": {string} }, "form": [ { "id": {string}, "title": {string}, "value": {string}, } ], "status": {string}, "notes": {string}, "history": [ { "text": {string}, "date": { "dateTime": {datetime}, "timeZone": {string} }, "user": { "firstName": {string}, "lastName": {string), "email": {string}, "userName": {string} } } ], "type": {string}, "paid": {boolean}, "addToWaitingList": {boolean}, "source": {string} "iterationCount": {integer} }
Parameter name Value Description Notes
id string Identifier of the appointment.
reference string Rerefence code of the appointment.
company object company details.
company.id string Identifier of the company.
company.name string Name of the company.
service object Service details. Only if the appointment is for a service.
service.id string Identifier of the service. writable
service.name string Name of the service.
resource object Resource details. Only if the appointment is for a resource.
resource.id string Identifier of the resource. writable
resource.name string Name of the resource.
staff object Staff details.
staff.id string Identifier of the company's staff member. writable
staff.firstName string First name of the company's staff member.
staff.lastName string Last name of the company's staff member.
client object Client details.
client.id string Identifier of the client. the id is unique and should not be reused for another account. writable
client.firstName string First name of the client. writable
client.lastName string Last name of the client. writable
client.email string Email Address of the client. writable
client.timeZone string Time zone of the client. Only if time zone has been specified. writable
client.externalId string Unique client identifier from another (external) system. writable
parent object For an appointment for someone else, details of the client who take the appointment.
parent.id string Identifier of the parent. the id is unique and should not be reused for another account. writable
parent.firstName string First name of the parent. writable
parent.lastName string Last name of the parent. writable
parent.email string Email Address of the parent. writable
parent.externalId string Unique parent identifier from another (external) system. writable
parent.timeZone string Time zone of the parent. Only if time zone has been specified. writable
start object The start time of the event. writable
start.dateTime string The time, as a combined date-time value (formatted according to RFC 3339, without time zone information). writable
start.timeZone string The time zone. Possible values can be found here. The default value is the time zone of the company. writable
end object The end time of the event. writable
end.dateTime string The time, as a combined date-time value (formatted according to RFC 3339, without time zone information). writable
end.timeZone string The time zone. Possible values can be found here. The default value is the time zone of the company. writable
created object Creation time of the event. Read-only.
form object The filled form of the event. writable
form[].id string Identifier of the field
form[].title string Title of the field
form[].value string Value of the field. For get and list methods and a file field type it is the link to the file. For insert and update methods it is the data URI scheme binary content of the file. writable
status string The status of the event. Values: "completed", "noShow", "accepted", "pending", "declined", "cancelled", "inProgress". writable
notes string Notes of the appointment. writable
type string The type of the event. Values: "normal" (appointment with a client) or "personal" (personal appointment). writable
paid string "true" if the appointment has been paid. writable
addToWaitingList string If "true", add the client to the waiting list. writable
iterationCount string Only for resource mode. Number of iterations. For insert/update only. writable

Delete

Deletes an entry on the company's appointment list.

Authentication is required to execute this request. Please refer to Authentication for more.

Request

HTTP Request

DELETE https://api.agendize.com/api/2.0/scheduling/companies/{companyId}/appointments/{appointmentId}

Parameters

Parameter name Value Description
Path parameters
companyId string Company identifier.
appointmentId string Appointment identifier.

Request body

Do not supply a request body with this method.

Response

If successful, this method returns an empty response body.


Get

Returns an entry of the company's appointment list.

Authentication is required to execute this request. Please refer to Authentication for more.

Request

HTTP Request

GET https://api.agendize.com/api/2.0/scheduling/companies/{companyId}/appointments/{appointmentId}

Parameters

Parameter name Value Description
Path parameters
companyId string Company identifier.
appointmentId string Appointment identifier or appointment reference.
Optional query parameters
lang string Language use to retreive appointment history strings.
fields string Specify the fields returned. Comma separated field names (ex: "id,client").

Request body

Do not supply a request body with this method.

Response

If successful, this method returns an Appointment resource in the response body.


List

Returns entries on the company's appointment list.

Authentication is required to execute this request. Please refer to Authentication for more.

Request

HTTP Request

GET https://api.agendize.com/api/2.0/scheduling/companies/{companyId}/appointments

Parameters

Parameter name Value Description
Path parameters
companyId string Company identifier.
Optional query parameters
startDate datetime Upper bound (exclusive) for an appointment's start time (as a RFC 3339 timestamp) to filter by. Optional. The default value is now -1 month.
endDate datetime Lower bound (exclusive) for an appointment's end time (as a RFC 3339 timestamp) to filter by. Optional. The default value is now +1 month.
createdStartDate datetime Upper bound (exclusive) for an appointment's creation time (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by creation time.
createdEndDate datetime Lower bound (exclusive) for an appointment's creation time (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by creation time.
status string Status of appointments

Acceptable values are:

- "noShow"
- "accepted"
- "completed"
- "cancelled"
clientId string Client identifier.
serviceId string Service identifier.
staffId string Staff member identifier.
resourceId string Resource identifier.
q string Free text search terms to find appointments that match these terms in form fields.
externalClientId string Unique client identifier from another (external) system.
syncToken string Token obtained from the nextSyncToken field returned on the last page of results from the previous list request.
fields string Specify the fields returned. Comma separated field names (ex: "id,client").
personalAppointments string Include personal appointments.
showDeleted boolean Whether to include deleted appointment list entries in the result. Optional. The default is false.

Request body

Do not supply a request body with this method.

Response

If successful, this method returns a list of Appointment resource in the response body.


Insert

Adds an entry to the company's appointment list.

Authentication is required to execute this request. Please refer to Authentication for more.

Request

HTTP Request

POST https://api.agendize.com/api/2.0/scheduling/companies/{companyId}/appointments

Parameters

Parameter name Value Description
Path parameters
companyId string Company identifier.
Optional query parameters
lang string Language use to retreive appointment history strings.
force string Add the appointment without working time control.

Request body

In the request body, supply a Appointment Resource with the following properties:

Parameter name Value Description
Required Properties
client object Client details.
client.id string Identifier of the client.
client.firstName string First name of the client.
client.lastName string Last name of the client.
client.email string Email Address of the client.
service object Service informations. Only if the appointment is for a service.
service.id string Service identifier.
resource object Resource informations. Only if the appointment is for a resource.
resource.id string Resource identifier.
resourceCount object Number of resources to book.
start object The start time of the event.
start.dateTime string The time, as a combined date-time value (formatted according to RFC 3339, without time zone information).
start.timeZone string The time zone. Possible values can be found here. The default value is the time zone of the company.
Optional Properties
end object The end time of the event.
! This property is only required and use for personal appointment.
end.dateTime string The time, as a combined date-time value (formatted according to RFC 3339, without time zone information).
end.timeZone string The time zone. Possible values can be found here. The default value is the time zone of the company.
staff object Staff informations.
! This property is only required for personal appointment.
staff.id string Staff identifier.
! This property is only required for personal appointment.
status string The status of the event. Values: "completed", "noShow", "accepted", "inProgress".
client.externalId string Unique client identifier from another (external) system.

Response

If successful, this method returns a Appointment resource in the response body.


Update

Updates an entry on the company's appointment list.

Authentication is required to execute this request. Please refer to Authentication for more.

HTTP Request

PUT https://api.agendize.com/api/2.0/scheduling/companies/{companyId}/appointments/{appointmentId}

Parameters

Parameter name Value Description
Path parameters
companyId string Company identifier.
appointmentId string Service identifier.
Optional query parameters
lang string Language use to retreive appointment history strings.
force string Update the appointment without working time control.

Request body

In the request body, supply an Appointments resource with the following properties:

Parameter name Value Description
Optional Properties
client object Client details.
client.id string Identifier of the client.
client.firstName string First name of the client.
client.lastName string Last name of the client.
client.email string Email Address of the client.
service object Service informations. Only if the appointment is for a service.
service.id string Service identifier.
resource object Resource informations. Only if the appointment is for a resource.
resource.id string Resource identifier.
resourceCount object Number of resources to book.
start object The start time of the event.
start.dateTime string The time, as a combined date-time value (formatted according to RFC 3339, without time zone information).
start.timeZone string The time zone. Possible values can be found here. The default value is the time zone of the company.
end object The end time of the event.
! This property is only required and use for personal appointment.
end.dateTime string The time, as a combined date-time value (formatted according to RFC 3339, without time zone information).
end.timeZone string The time zone. Possible values can be found here. The default value is the time zone of the company.
staff object Staff informations.
! This property is only required for personal appointment.
staff.id string Staff identifier.
! This property is only required for personal appointment.
status string The status of the event. Values: "completed", "noShow", "accepted", "pending", "declined", "cancelled", "inProgress".
client.externalId string Unique client identifier from another (external) system.

Response

If successful, this method returns an Appointments resource in the response body.


Watch

Watch for changes to Appointment resources.

Authentication is required to execute this request. Please refer to Authentication for more.

The watch send an Appointment resource in the request body

Request

HTTP Request

POST https://api.agendize.com/api/2.0/scheduling/companies/{companyId}/appointments/watch

Parameters

Parameter name Value Description
Path parameters
companyId string Company identifier.

Request body

{ "address": {string}, "name": {string}, "basicAuth": { "username": {string}, "password": {string} }, "httpRequestHeader": { {name}: {string} }, "schema": {object} "method": {string}, "status": {string}, "oauth2Auth": { "grantType": {string}, "clientId": {string}, "clientSecret": {string}, "refreshToken": {string}, "authUrl": {string}, "accessTokenUrl": {string}, "redirectUri": {string} }, "signature": { "enabled": {boolean}, "cryptoKeyIds": [ {string} ] } }
Required Properties
address string The address where notifications are delivered for this watch.
Optional Properties
name string Name of the watch.
basicAuth string Credentials parameters for HTTP Basic authentication on the destination watch address. Only if you use this authentication method.
basicAuth.username string Username.
basicAuth.password string Password.
httpRequestHeader string Custom header parameters to send with the http request on the destination watch address.
httpRequestHeader.name string header parameter name.
schema object Custom json schema to apply for resource properties.
method string HTTP Method to use for sending content. DELETE Method doesn't accept body content.
status string Status of the watcher. Values: "enabled", "disabled"
oauth2Auth string Credentials parameters for HTTP OAuth2 authentication on the destination watch address. Only if you use this authentication method.
oauth2Auth.grantType string OAuth2 grant type. Values: "refresh_token" (default), "client_credentials".
oauth2Auth.clientId string OAuth2 client id.
oauth2Auth.refreshToken string OAuth2 refresh token. Only for grantType "refresh_token"
oauth2Auth.authUrl string OAuth2 interactive end point to initiate the generation of the refresh token. Only for grantType "refresh_token"
oauth2Auth.accessTokenUrl string OAuth2 end point to generation an access token from the refresh token.
oauth2Auth.scope string OAuth2 api scope. Only for grantType "refresh_token"
signature object Produces a crypto signature of the watched content.
signature.enabled boolean Sets if the signature is enabled or not.
signature.cryptoKeyIds list Arrays of string of crypto keys identifier.

Response

If successful, this method returns a watch resource in the response body.

Examples of schema:

With JSON, only for string value:

{ "schema": { "my_id_key": "{id}", "dataContent": { "givenName": "{firstName}" } } }

With string to support typed values:

{ "schema": "\"my_id_key\": ${$.id}, \"dataContent\": { \"fullName\": \"${$.firstName} ${$.lastName}\"}" }

Replacement string can by defined with jsonpath expressions.