Para agentes de IA: markdown desta página — /docs-content-en/entities/booking-resource-types.md índice da documentação — /llms.txt

Os artigos da documentação estão disponíveis atualmente em inglês.

Booking resource types

A booking resource type is a category of online booking resources, such as specialists, equipment or rooms. The type stores the settings for client messages about bookings: which messages to send, when, and with which template.

Bitrix24 API: booking.v1.resourceType.* Scope: booking

Create: Booking resource types

POST /v1/booking-resource-types

Creates a booking resource type — a category of online booking resources with the settings for client messages about bookings.

Fields go at the root of the JSON, without a fields wrapper.

Request fields (body)

Field Type Required Description
Fieldcode Typestring Requiredyes DescriptionSymbolic code of the type. Unique among the types of the Bitrix24 account: a duplicate code is rejected with 422 BITRIX_ERROR
Fieldname Typestring Requiredyes DescriptionType name
FieldisInfoNotificationOn Typeboolean | string Requiredno DescriptionBooking info message to the client. true / false or "Y" / "N". Default true
FieldisConfirmationNotificationOn Typeboolean | string Requiredno DescriptionBooking confirmation request. Default true
FieldisReminderNotificationOn Typeboolean | string Requiredno DescriptionBooking reminder. Default true
FieldisFeedbackNotificationOn Typeboolean | string Requiredno DescriptionFeedback request. Default true
FieldisDelayedNotificationOn Typeboolean | string Requiredno DescriptionMessage to a client who is running late. Default true
FieldisCancellationNotificationOn Typeboolean | string Requiredno DescriptionBooking cancellation message to the client. Default true
FieldsenderCode Typestring | null Requiredno DescriptionService that sends messages to the client, for example bitrix24. Default null
FieldinfoNotificationDelay Typenumber | null Requiredno DescriptionHow many seconds after the booking is made to send the booking info message. Default null
FieldconfirmationNotificationDelay Typenumber | null Requiredno DescriptionHow many seconds before the booking to send the first confirmation request. Default 86400
FieldconfirmationNotificationRepetitions Typenumber | null Requiredno DescriptionHow many times to repeat the confirmation request, not counting the first one. Default null
FieldconfirmationNotificationRepetitionsInterval Typenumber | null Requiredno DescriptionInterval between repeats of the confirmation request, in seconds. Default 10800
FieldconfirmationCounterDelay Typenumber | null Requiredno DescriptionHow many seconds before the booking an unconfirmed booking enters the counter. Default 10800
FieldreminderNotificationDelay Typenumber | null Requiredno DescriptionHow many seconds before the booking to send the reminder. -1 — on the morning of the booking day. Default -1
FielddelayedNotificationDelay Typenumber | null Requiredno DescriptionAfter how many seconds of lateness to send the message to the client. Default 300
FielddelayedCounterDelay Typenumber | null Requiredno DescriptionAfter how many seconds of lateness the booking enters the calendar counter. Default 300
FieldcancellationNotificationDelay Typenumber | null Requiredno DescriptionDelay of the booking cancellation message, in seconds. Default 600
FieldtemplateTypeInfo Typestring Requiredno DescriptionBooking message template: inanimate, animate, inanimate_long. Default inanimate. Saved, but not returned in the type card
FieldtemplateTypeConfirmation Typestring Requiredno DescriptionConfirmation request template: inanimate, animate, inanimate_long. Default inanimate
FieldtemplateTypeReminder Typestring Requiredno DescriptionReminder template. The only value is base
FieldtemplateTypeFeedback Typestring Requiredno DescriptionFeedback request template: inanimate, animate. Default inanimate
FieldtemplateTypeDelayed Typestring Requiredno DescriptionLate-arrival message template: inanimate, animate. Default inanimate

The built-in "Expert" type uses the animate templates; the "Equipment", "Car" and "Property" types use inanimate.

Examples

curl — personal key

Terminal
curl -X POST "https://vibecode.bitrix24.com/v1/booking-resource-types" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Technicians",
    "code": "master",
    "isInfoNotificationOn": false,
    "isConfirmationNotificationOn": false,
    "isReminderNotificationOn": false,
    "isFeedbackNotificationOn": false,
    "isDelayedNotificationOn": false,
    "isCancellationNotificationOn": false
  }'

curl — OAuth application

Terminal
curl -X POST "https://vibecode.bitrix24.com/v1/booking-resource-types" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Technicians",
    "code": "master",
    "isInfoNotificationOn": false,
    "isConfirmationNotificationOn": false,
    "isReminderNotificationOn": false,
    "isFeedbackNotificationOn": false,
    "isDelayedNotificationOn": false,
    "isCancellationNotificationOn": false
  }'

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/booking-resource-types', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    name: 'Technicians',
    code: 'master',
    isInfoNotificationOn: false,
    isConfirmationNotificationOn: false,
    isReminderNotificationOn: false,
    isFeedbackNotificationOn: false,
    isDelayedNotificationOn: false,
    isCancellationNotificationOn: false,
  }),
})

const { data } = await res.json()
console.log('Type ID:', data.id)

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/booking-resource-types', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    name: 'Technicians',
    code: 'master',
    isInfoNotificationOn: false,
    isConfirmationNotificationOn: false,
    isReminderNotificationOn: false,
    isFeedbackNotificationOn: false,
    isDelayedNotificationOn: false,
    isCancellationNotificationOn: false,
  }),
})

const { data } = await res.json()
console.log('Type ID:', data.id)

Response fields

On success, the HTTP status is 201 Created.

Field Type Description
Fieldsuccess Typeboolean Descriptiontrue on success
Fielddata Typeobject DescriptionCard of the created type. The card fields are listed in the "Response fields" section of the Get a booking resource type page
Fielddata.id Typenumber DescriptionType identifier. Pass it in typeId when creating a booking resource

Response example

JSON
{
  "success": true,
  "data": {
    "id": 31,
    "code": "master",
    "name": "Technicians",
    "senderCode": null,
    "isInfoNotificationOn": false,
    "isConfirmationNotificationOn": false,
    "isReminderNotificationOn": false,
    "isFeedbackNotificationOn": false,
    "isDelayedNotificationOn": false,
    "isCancellationNotificationOn": false,
    "infoNotificationDelay": null,
    "confirmationNotificationDelay": 86400,
    "confirmationNotificationRepetitions": null,
    "confirmationNotificationRepetitionsInterval": 10800,
    "confirmationCounterDelay": 10800,
    "reminderNotificationDelay": -1,
    "delayedNotificationDelay": 300,
    "delayedCounterDelay": 300,
    "cancellationNotificationDelay": 600,
    "templateTypeConfirmation": "inanimate",
    "templateTypeReminder": "base",
    "templateTypeFeedback": "inanimate",
    "templateTypeDelayed": "inanimate"
  }
}

Error response example

422 — a type with this code already exists:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Resource type with code \"master\" already exists",
    "b24Code": "1010"
  }
}

Errors

HTTP Code Description
HTTP400 CodeMISSING_REQUIRED_FIELDS Descriptioncode is not passed. Message code is required
HTTP400 CodeREADONLY_FIELD Descriptionid is passed in the body. Message id is read-only
HTTP400 CodeINVALID_PARAMS DescriptionEmpty body. Message Provide a non-empty object of fields
HTTP400 CodeINVALID_PARAMS DescriptionA field not listed in the "Request fields (body)" table. Message Unknown booking field
HTTP400 CodeINVALID_PARAMS DescriptionA field value is an object or an array. Message Fields must contain scalar values
HTTP422 CodeBITRIX_ERROR DescriptionA type with this code already exists, b24Code 1010
HTTP422 CodeBITRIX_ERROR Descriptionname is not passed. Message Required fields: name
HTTP401 CodeMISSING_API_KEY DescriptionThe X-Api-Key header is not passed
HTTP401 CodeTOKEN_MISSING DescriptionThe key has no Bitrix24 tokens
HTTP403 CodeSCOPE_DENIED DescriptionThe key does not have the booking scope
HTTP403 CodeWRITE_BLOCKED_READONLY_KEY DescriptionThe key is in read-only mode
HTTP429 CodeRATE_LIMITED DescriptionRequest rate exceeded. The effective cap is in the x-ratelimit-limit header
HTTP502 CodeBITRIX_RESPONSE_INVALID DescriptionBitrix24 returned a response of an unexpected shape. If this happened while re-reading the card after the write, the type has already been created — find it in the list before retrying

Full list of common API errors — Errors.

See also