Home > Agendize Scheduling

Scheduling Widget Forms


Resource representation : Widget Form

{ "id": {string}, "author": {string}, "name": {string}, "contactFields": [ {FormItem object} ], "additionalFields": [ [ {FormItem object} ] ], "objects": [ { "id": {string}, "type": {string} } ] }
Parameter name Value Description Notes
id string Identifier of the form's company. read only
author string Author of the form. read only
name string Name of the form. Max length 255.
contactFields list Primary fields of the form, will always contains following bind fields : crm-last-name, crm-first-name, crm-email and crm-phone. If absent, a default value will be set, example here
additionalFields list Additional fields pages of the form. Each json array in this field are equals to a page in the scheduling widget
objects list List of object assignement for this form. An object can not be assigned twice.
objects[].id string Identifier of the object : service Id, resource Id, location Id or user Id
objects[].type string Type of the object. Values: "location", "service", "resource" or "allLocations"

Additional representation : FormItem

{ "id": {string}, "type": {string}, "title": {string}, "bind": {string), "bindGroup": {string}, "externalId": {string} "help": {string}, "placeholder" : {string}, "mandatory": {boolean}, "visible" : {boolean}, "otherValue": {boolean}, "category": {boolean}, "multiple": {boolean}, "fileName": {string}, "value": {string}, "values": [ { "id": {string), "name": {string}, "value": {string} "values": [ { "id": {string}, "name": {string}, "value": {string} } ] } ], "valueFormat": { "maxLength": {number}, "minLength": {number}, "regexType: {string}, "regexValue: {string}, "valueFormat": {string} }, "zonedDateTime": { "dateTime": {string}, "timeZone": {string} }, "subItem": [ {FormItem object} ] }
Parameter name Value Description Notes
FormItem.id string Id of the field. Can not be empty.
FormItem.type string Type of the field. Values:
  • "input": input text
  • "select": dropdown
  • "checkbox": check box
  • "radio": radio button list
  • "textarea": textaera
  • "title": text label
  • "file": file upload
  • "address": client full address
  • "date": date
  • "rating": rating range from 1 to 5
  • "number": number field
  • "pricing": number field with currency
FormItem.title string Title of the field.
FormItem.bind string Binding string form special fields. Values:
  • crm-name
  • crm-address
  • crm-address-firstline
  • crm-address-secondline
  • crm-address-city
  • crm-address-postalcode
  • crm-address-state
  • crm-address-country
  • crm-job-title
  • crm-company
  • crm-notifications
  • crm-language
  • crm-reference
  • crm-reminder
  • crm-birthdate
  • crm-miscellaneous-* : CRM additional fields (from 1 to 10)
Some other values are available but can only be set in the contactFields field :
  • crm-first-name
  • crm-last-name
  • crm-email
  • crm-phone
FormItem.bindGroup string Binding group string form special group of fields. Values:
  • crm
FormItem.externalId string External identifier of this field. When this value is set up, this field would be fulfilled by HTTP query parameters on the appointment> widget.
FormItem.help string Help text of the field.
FormItem.placeholder string Placeholder of the field.
FormItem.mandatory boolean If the field is mandatory.
FormItem.visible boolean If the field is visible by client.
FormItem.otherValue boolean Activate or deactivate the possibility to add a custom value to the field. Available for type radio, checkbox and select.
FormItem.category boolean Activate or deactivate the possibility to group values by category. Available only for type select.
FormItem.multiple boolean Activate or deactivate the possibility to select several values. Available only for type select.
FormItem.fileName string (Optional) When the value is a file, a fileName can be specified. If not specified, the file will be named "file" and get the extension from the media type
FormItem.value string Value of the field. For multi values fields (radio, checkbox and select), use "values" instead. With file type : get and list methods will return the link to the file, for insert and update methods it is the data URI scheme binary content of the file.
FormItem.values list Values list of the field. Available for type radio, checkbox and select.
FormItem.values[].id string Identifier of the field value.
FormItem.values[].name string Name of the field value.
FormItem.values[].value string Value of the field value.
FormItem.values[].values list List of values of the form field value. Available only for type select with option category set to True
FormItem.values[].values[].id string Identifier of the form field value. Available only for type select with option category set to True
FormItem.values[].values[].name string Name of the form field value. Available only for type select with option category set to True
FormItem.values[].values[].value string Value of the form field value. Available only for type select with option category set to True
FormItem.valueFormat object Input rules.
FormItem.valueFormat.maxLength number Value maximum length.
FormItem.valueFormat.minLength number Value minimum length.
FormItem.valueFormat.regexType string Type of regex.
FormItem.valueFormat.regexValue string Value of regex.
FormItem.valueFormat.valueFormat string Type or format
  • alphanumeric
  • numeric
  • regex
  • none
FormItem.zonedDateTime object If the field is a date type, the value is formatted and returned with his timezone Read only
FormItem.zonedDateTime.dateTime object The value of the field formatted. For example '2011-12-03T10:15:30' Read only
FormItem.zonedDateTime.timeZone object The date timezone. For example 'Europe/Paris' Read only
FormItem.subItem list List of sub FormItem, available for crm-address field and crm-name field.

Get

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

Request

HTTP Request

GET https://api.agendize.com/api/2.1/scheduling/widgetForms/{formId}

Parameters

Parameter name Value Description
formId string formId identifier.

Request body

Do not supply a request body with this method.

Response

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


List

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

Request

HTTP Request

GET https://api.agendize.com/api/2.1/scheduling/widgetForms

Parameters

Parameter name Value Description
Optional parameters
companyId string company identifier.
serviceId string company service identifier.
resourceId string company resource identifier.

Request body

Do not supply a request body with this method.

Response

If successful, this method returns a response body with the following structure:

If no widget form was found, a default one will be build and return as response to the query, this widget form is not saved into data base.


Insert

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

Request

HTTP Request

POST https://api.agendize.com/api/2.1/scheduling/widgetForms

Request body

In the request body, supply a Form resource

Response

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


Update

Updates an entry on the user's company list.

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

Request

HTTP Request

PUT https://api.agendize.com/api/2.1/scheduling/widgetForms/{formId}

Parameters

Parameter name Value Description
formId string formId identifier.

Request body

In the request body, supply a Form resource

Response

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


Delete

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

Request

HTTP Request

DELETE https://api.agendize.com/api/2.1/scheduling/widgetForms/{formId}

Parameters

Parameter name Value Description
formId string Form identifier.

Request body

Do not supply a request body with this method.

Response

If successful, this method returns an empty response body.

Contact default value

"contactFields": [ { "bind": "crm-first-name", "bindGroup": "crm", "id": 1540564150983, "mandatory": true, "title": "First Name:", "type": "input", "visible": true }, { "bind": "crm-last-name", "bindGroup": "crm", "id": 1540564150984, "mandatory": true, "title": "Last Name:", "type": "input", "visible": true }, { "bind": "crm-email", "bindGroup": "crm", "id": 1540564150985, "mandatory": true, "title": "Email", "type": "input", "visible": true }, { "bind": "crm-phone", "bindGroup": "crm", "id": 1540564150986, "mandatory": true, "title": "Phone Number", "type": "input", "visible": true } ]