Перейти к основному содержимому

AppointmentCreate (Создание заявки или листа ожидания)

Стандартный шаблон URL (PATTERN_URL): /AppointmentCreate

HTTP-Метод POST. Создание или изменение в базе документа заявка или создание листа ожидания с переданными данными. Подробнее в описании параметра Method ниже.

Аналоги

Является аналогом следующих веб-сервисов: BookAnAppointment, [BookAnAppointmentWithClient], FastBookAnAppointment, [FastBookAnAppointmentWithClient], BookAnAppointmentWithParams.

Параметры в теле запроса

НаименованиеОбязательныйТип значенияОписание
KeyДаstringЗначение «Ключ API» для конкретной настройки обмена
MethodДаstringИмя модели поведения сервиса.
Может быть: BookAnAppointment, BookAnAppointmentWithClient, FastBookAnAppointment, FastBookAnAppointmentWithClient, BookAnAppointmentWithParams
DateДаdateTimeДата на которую создаётся заявка/лист ожидания.
Если указано вместе с временем - время игнорируется
TimeBeginДаdateTimeВремя на которое создаётся заявка/лист ожидания.
Если указано вместе с датой - дата игнорируется
ClinicДаstringУИД клиники расписания
EmployeeIDДа*stringУИД сотрудника к которому создаётся заявка
* – Игнорируется FastBookAnAppointment и FastBookAnAppointmentWithClient
EquipmentCabinetНетstringУИД оборудования, к которому оформляется заявка.
Используется, когда нужно записать и сотрудника и кабинет/оборудования Игнорируется FastBookAnAppointment и FastBookAnAppointmentWithClient
ClientДа*stringУИД клиента в базе для записи
* – Обязательный для BookAnAppointmentWithClient и FastBookAnAppointmentWithClient
ServiceДа*stringУИД или УИДы номенклатуры для записи
* – Обязательный для метода BookAnAppointmentWithClient
GUIDНетstringУИД Заявки, которую надо изменить (вместо создания новой)
Игнорируется в FastBookAnAppointment и FastBookAnAppointmentWithClient
PatientSurnameНетstringФамилия пациента
Игнорируется FastBookAnAppointmentWithClient и BookAnAppointmentWithClient
PatientNameНетstringИмя пациента
Игнорируется в FastBookAnAppointmentWithClient и BookAnAppointmentWithClient
PatientFatherNameНетstringОтчество пациента
Игнорируется в FastBookAnAppointmentWithClient и BookAnAppointmentWithClient
CommentНетstringКомментарий к Заявке/Листу ожидания
PhoneНетstringТелефон пациента
Игнорируется в FastBookAnAppointmentWithClient и BookAnAppointmentWithClient
EmailНетstringЭлектронный адрес пациента
Игнорируется в FastBookAnAppointmentWithClient и BookAnAppointmentWithClient
AddressНетstringАдрес проживания пациента
Игнорируется в FastBookAnAppointmentWithClient и BookAnAppointmentWithClient
SpecializationНетstringПримечание о желаемой специализации в листе заявки.
Используется у FastBookAnAppointment
BirthdayНетdateTimeДата рождения клиента.
Если указано вместе с временем - время игнорируется Используется у BookAnAppointmentWithParams
DurationНетdateTimeПланируемая длительность заявки.
Ожидается время. Если указано вместе с датой - дата игнорируется
DurationTypeНетstringСпособ расчёта длительности услуг заявки (Если параметр Duration пустой).
Может быть: «ServiceDuration» - Расчёт по стандартному времени услуг. Если не указан или не тот, что описан выше, то предполагаемое время будет рассчитано из настроек стандартного приёма сотрудника и учётной политики

Описание параметра Method

Параметр «Method» обязателен. Если он не задан, то вернётся ошибка. Все варианты метода принимают как значение явное указание клиента (Client). Если клиент явно не указан, то некоторые методы могут его искать и создать, если клиент не был найден. Поиск осуществляется согласно настройкам обмена с сайтом, если они не указаны, то клиент будет создаваться каждый раз.

Все методы принимают параметр ожидаемой длительности (Duration), если он не был задан, то проверяется параметр DurationType, в котором можно явно указать вид поиска по номенклатуре. Если номенклатуры нет или параметр задан иначе, то расчёт времени проводится согласно стандартному приёму у сотрудника или настройкам учётной политики.

Методы работы с заявками (BookAnAppointment, BookAnAppointmentWithClient и BookAnAppointmentWithParams) являются схожими и различаются нагрузкой на систему. Аналогично и с методами по созданию листов ожидания (FastBookAnAppointment и FastBookAnAppointmentWithClient).

Параметр «Method» определяет поведение обработки:

BookAnAppointment – Создание или изменение Заявки (Изменение если был передан параметр GUID). Создаёт заявку на конкретного сотрудника. Может искать клиента, если тот явно не задан.

BookAnAppointmentWithClient – Создание или изменение Заявки (Изменение если был передан параметр GUID). Создаёт заявку на конкретного сотрудника. Требуется передавать перечень услуг для заявки.

FastBookAnAppointment – Создание Листа ожидания. Может искать клиента, если тот явно не задан. Позволяет указать желаемую специализацию.

FastBookAnAppointmentWithClient – Создание Листа ожидания. Позволяет передавать перечень услуг для листа ожидания.

BookAnAppointmentWithParams – Создание или изменение Заявки (Изменение если был передан параметр GUID). Создаёт заявку на конкретного сотрудника. Может искать клиента, если тот явно не задан. Позволяет передавать перечень услуг для заявки.

Примеры

1. Создание заявки (BookAnAppointment)

Создадим заявку длительностью 40 минут. Укажем имя, фамилию и телефон клиента. Настройка обмена с сайтом задана так, что первый критерий поиска - это Фамилия и Имя, второй критерий - телефонный номер.

Тело запроса JSON:

{
"Key": "1111aaaa2222bbbb3333cccc4444dddd",
"Method": "BookAnAppointment",
"EmployeeID": "e7005e6d-65c9-11e9-936d-1856809fe650",
"Clinic": "f679444a-22b7-11df-8618-002618dcef2c",
"TimeBegin": "9:10:00",
"Date": "20.10.2024",
"PatientName": "Борис",
"PatientSurname": "Бубаков",
"Phone": "8-800-555-35-35",
"Duration": "0:40:00"
}

Возвращаемый результат:

Тело ответа:

{
"Ответ": {
"Результат": "true",
"ОписаниеОшибки": "",
"УИД": "55b17f33-8abe-11ef-9542-08979885f491"
}
}

2. Изменение заявки (BookAnAppointmentWithClient)

Изменим созданную ранее заявку - передадим в качестве параметра GUID, что был возвращён в предыдущем примере. Добавим кабинет, перенесём время и добавим список услуг из двух элементов. При изменении заявки в теле ответа будет возвращён тот же самый УИД, что и был передан. В этом методе необходимо явно указать клиента.

Тело запроса JSON:

{
"Key": "1111aaaa2222bbbb3333cccc4444dddd",
"Method": "BookAnAppointmentWithClient",
"EmployeeID": "e7005e6d-65c9-11e9-936d-1856809fe650",
"Clinic": "f679444a-22b7-11df-8618-002618dcef2c",
"GUID": "55b17f33-8abe-11ef-9542-08979885f491",
"TimeBegin": "14:00:00",
"Date": "18.10.2024",
"Client": "92c7ea9d-2cab-11e4-9f84-1078d2d69bb4",
"EquipmentCabinet": "5210c9c3-65a2-11e9-936d-1856809fe650",
"Service": "222df5d1-4964-11e9-82be-40167e631f2e; 9fa37e64-4952-11e9-82be-40167e631f2e"
}

Возвращаемый результат:

Тело ответа:

{
"Ответ": {
"Результат": "true",
"ОписаниеОшибки": "",
"УИД": "55b17f33-8abe-11ef-9542-08979885f491"
}
}

3. Изменение заявки (BookAnAppointmentWithParams)

Т.к. в прошлом примере не был указан DurationType, и Duration, то время посчиталось по стандартному времени указанного сотрудника. При изменении заявки, номенклатура и кабинет изменяются согласно переданным параметрам. Поэтому мы уберём из заявки кабинет, не указывая его в теле запроса. Пересчитаем время относительно переданных номенклатур и сменим клиента.

Тело запроса JSON:

{
"Key": "1111aaaa2222bbbb3333cccc4444dddd",
"Method": "BookAnAppointmentWithParams",
"EmployeeID": "e7005e6d-65c9-11e9-936d-1856809fe650",
"Clinic": "f679444a-22b7-11df-8618-002618dcef2c",
"GUID": "55b17f33-8abe-11ef-9542-08979885f491",
"TimeBegin": "14:00:00",
"Date": "18.10.2024",
"PatientName": "Борис",
"PatientSurname": "Бубаков",
"Phone": "8-800-555-35-35",
"Service": "222df5d1-4964-11e9-82be-40167e631f2e; 9fa37e64-4952-11e9-82be-40167e631f2e",
"DurationType": "ServiceDuration"
}