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

Schedule (Графики расписания)

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

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

Аналоги

Является аналогом следующих веб-сервисов: GetEnlargementSchedule, GetSchedule, GetSchedule20.

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

ИмяОбязательныйТип значенияОписание
KeyДаstringЗначение «Ключ API» для конкретной настройки обмена
MethodНетstringИмя модели поведения сервиса. Может быть: GetSchedule, GetSchedule20 (по умолчанию), GetEnlargementSchedule
StartDateДаdateTimeДата начала периода на который получается расписания. Если указано вместе с временем - время игнорируется
FinishDateДаdateTimeДата окончания периода на который получается расписания. Если указано вместе с временем - время игнорируется
ClinicНетstringУИД клиники расписания. Игнорируется у GetSchedule
EmployeesНетstringУИД или УИДы сотрудников по которым надо выводить расписание. Игнорируется у GetSchedule
FormatНетstringФормат результата: JSON (по умолчанию), ZipXML (архив в виде строки BASE64 с xml), ZipJSON (архив в виде строки BASE64 с json).
OnlyFreeTimeНетbooleanВозвращать только свободное время врача Игнорируется у GetEnlargementSchedule

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

Параметр Method является необязательным параметром, если он не задан, то обработка будет аналогичной GetSchedule20. Параметр Method определяет поведение обработки:

GetEnlargementSchedule – Получение расписания сотрудников без учёта перерывов и занятого заявками клиентов времени ( укрупнённого). Применяется отбор настроек обмена с сайтом и переданные в теле запроса параметры клиники (Clinic) и искомых сотрудников (Employees).

GetSchedule – Получение расписания на всех сотрудников (игнорируя переданный параметр УИДов сотрудников), что попадают под отбор настроек обмена с сайтом за период с начала дня StartDate по конец дня FinishDate. Время возвращается с учётом перерывов и временем, занятым заявками клиентов.

GetSchedule20 – Получение расписания на всех сотрудников, что попадают под отбор настроек обмена с сайтом и всех параметров из тела запроса. Время возвращается с учётом перерывов и временем, занятым заявками клиентов.

Метод может вернуть пустой результат, если в базе нет данных, удовлетворяющих одновременно настройки отбора из базы и переданные в теле запроса параметры.

Примеры

1. Получение укрупнённого расписания (GetEnlargmenetSchedule)

Получим укрупнённое расписание для двух сотрудников. Только у одного на искомое время назначено рабочее время в графиках работы. В настройках обмена у нас нет ограничений. Требуемый формат данных: XML.

Тело запроса JSON
{
"Key": "1111aaaa2222bbbb3333cccc4444dddd",
"Method": "GetEnlargmenetSchedule",
"StartDate": "14.10.2024 00:00:00",
"FinishDate": "15.10.2024 00:00:00",
"Clinic": "f679444a-22b7-11df-8618-002618dcef2c",
"Employees": "e7005e6d-65c9-11e9-936d-1856809fe650; 6cf96534-3870-11e2-87ba-002618dcef2c",
"Format": "ZipXML"
}
Данные ответа
<?xml version="1.0"?>
<ГрафикиДляСайта xmlns="S1" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ГрафикДляСайта>
<Клиника>f679444a-22b7-11df-8618-002618dcef2c</Клиника>
<СотрудникФИО>Красильникова Наталья Семеновна</СотрудникФИО>
<СотрудникID>e7005e6d-65c9-11e9-936d-1856809fe650</СотрудникID>
<Специализация>Дерматология и косметология</Специализация>
<ПериодыГрафика>
<СвободноеВремя>
<ПериодГрафика>
<Клиника>f679444a-22b7-11df-8618-002618dcef2c</Клиника>
<Дата>2024-10-14T00:00:00</Дата>
<ВремяНачала>2024-10-14T09:00:00</ВремяНачала>
<ВремяОкончания>2024-10-14T20:00:00</ВремяОкончания>
<ВидВремени>624f2a40-5aa8-4f01-83f4-0f38535364bb</ВидВремени>
</ПериодГрафика>
<ПериодГрафика>
<Клиника>f679444a-22b7-11df-8618-002618dcef2c</Клиника>
<Дата>2024-10-15T00:00:00</Дата>
<ВремяНачала>2024-10-15T09:00:00</ВремяНачала>
<ВремяОкончания>2024-10-15T20:00:00</ВремяОкончания>
<ВидВремени>624f2a40-5aa8-4f01-83f4-0f38535364bb</ВидВремени>
</ПериодГрафика>
</СвободноеВремя>
<ЗанятоеВремя/>
</ПериодыГрафика>
<ДлительностьПриема>0001-01-01T00:30:00</ДлительностьПриема>
</ГрафикДляСайта>
</ГрафикиДляСайта>

2. Получение расписания сотрудников на заданное время (GetSchedule)

Получим расписание всех сотрудников на день с учётом заявок и перерывов. На выбранный день в базе расписание стоит у двух сотрудников, у одного из которых есть две заявки (Красильникова Н.С.).

Тело запроса JSON
{
"Key": "1111aaaa2222bbbb3333cccc4444dddd",
"Method": "GetSchedule",
"StartDate": "11.10.2024 00:00:00",
"FinishDate": "11.10.2024 00:00:00"
}
Тело ответа
{
"Ответ": {
"ГрафикДляСайта": [
{
"Клиника": "f679444a-22b7-11df-8618-002618dcef2c",
"СотрудникФИО": "Иванова Ксения Андреевна",
"СотрудникID": "ac30e139-3087-11dc-8594-005056c00008",
"Специализация": "Диагностика",
"ПериодыГрафика": {
"СвободноеВремя": {
"ПериодГрафика": [
{
"Клиника": "f679444a-22b7-11df-8618-002618dcef2c",
"Дата": "2024-10-11T00:00:00",
"ВремяНачала": "2024-10-11T09:00:00",
"ВремяОкончания": "2024-10-11T20:00:00",
"ВидВремени": "624f2a40-5aa8-4f01-83f4-0f38535364bb"
}
]
},
"ЗанятоеВремя": ""
},
"ДлительностьПриема": "0001-01-01T00:00:00"
},
{
"Клиника": "f679444a-22b7-11df-8618-002618dcef2c",
"СотрудникФИО": "Красильникова Наталья Семеновна",
"СотрудникID": "e7005e6d-65c9-11e9-936d-1856809fe650",
"Специализация": "Дерматология и косметология",
"ПериодыГрафика": {
"СвободноеВремя": {
"ПериодГрафика": [
{
"Клиника": "f679444a-22b7-11df-8618-002618dcef2c",
"Дата": "2024-10-11T00:00:00",
"ВремяНачала": "2024-10-11T09:00:00",
"ВремяОкончания": "2024-10-11T09:30:00",
"ВидВремени": "624f2a40-5aa8-4f01-83f4-0f38535364bb"
},
{
"Клиника": "f679444a-22b7-11df-8618-002618dcef2c",
"Дата": "2024-10-11T00:00:00",
"ВремяНачала": "2024-10-11T10:30:00",
"ВремяОкончания": "2024-10-11T13:30:00",
"ВидВремени": "624f2a40-5aa8-4f01-83f4-0f38535364bb"
},
{
"Клиника": "f679444a-22b7-11df-8618-002618dcef2c",
"Дата": "2024-10-11T00:00:00",
"ВремяНачала": "2024-10-11T16:30:00",
"ВремяОкончания": "2024-10-11T20:00:00",
"ВидВремени": "624f2a40-5aa8-4f01-83f4-0f38535364bb"
}
]
},
"ЗанятоеВремя": {
"ПериодГрафика": [
{
"Клиника": "f679444a-22b7-11df-8618-002618dcef2c",
"Дата": "2024-10-11T00:00:00",
"ВремяНачала": "2024-10-11T09:30:00",
"ВремяОкончания": "2024-10-11T10:30:00",
"ВидВремени": ""
},
{
"Клиника": "f679444a-22b7-11df-8618-002618dcef2c",
"Дата": "2024-10-11T00:00:00",
"ВремяНачала": "2024-10-11T13:30:00",
"ВремяОкончания": "2024-10-11T16:30:00",
"ВидВремени": ""
}
]
}
},
"ДлительностьПриема": "0001-01-01T00:30:00"
}
]
}
}

3. Получение расписания с параметрами (GetSchedule20)

Получим расписание свободного времени на два дня для двух сотрудников в центральной клинике (у одного из сотрудников на один день назначена заявка).

Тело запроса JSON
{
"Key": "1111aaaa2222bbbb3333cccc4444dddd",
"Method": "GetSchedule20",
"StartDate": "17.10.2024 00:00:00",
"FinishDate": "18.10.2024 00:00:00",
"Employees": "ac30e13a-3087-11dc-8594-005056c00008; e7005e6d-65c9-11e9-936d-1856809fe650",
"Clinic": "f679444a-22b7-11df-8618-002618dcef2c",
"OnlyFreeTime": true
}
Тело ответа
{
"Ответ": {
"ГрафикДляСайта": [
{
"Клиника": "f679444a-22b7-11df-8618-002618dcef2c",
"СотрудникФИО": "Барбышева Евгения Петровна",
"СотрудникID": "ac30e13a-3087-11dc-8594-005056c00008",
"Специализация": "Офтальмология",
"ПериодГрафика": [
{
"Клиника": "f679444a-22b7-11df-8618-002618dcef2c",
"Дата": "2024-10-17T00:00:00",
"ВремяНачала": "2024-10-17T09:00:00",
"ВремяОкончания": "2024-10-17T20:00:00",
"ВидВремени": "624f2a40-5aa8-4f01-83f4-0f38535364bb"
},
{
"Клиника": "f679444a-22b7-11df-8618-002618dcef2c",
"Дата": "2024-10-18T00:00:00",
"ВремяНачала": "2024-10-18T09:00:00",
"ВремяОкончания": "2024-10-18T20:00:00",
"ВидВремени": "624f2a40-5aa8-4f01-83f4-0f38535364bb"
}
],
"ДлительностьПриема": "0001-01-01T00:00:00"
},
{
"Клиника": "f679444a-22b7-11df-8618-002618dcef2c",
"СотрудникФИО": "Красильникова Наталья Семеновна",
"СотрудникID": "e7005e6d-65c9-11e9-936d-1856809fe650",
"Специализация": "Дерматология и косметология",
"ПериодГрафика": [
{
"Клиника": "f679444a-22b7-11df-8618-002618dcef2c",
"Дата": "2024-10-17T00:00:00",
"ВремяНачала": "2024-10-17T09:00:00",
"ВремяОкончания": "2024-10-17T12:10:00",
"ВидВремени": "624f2a40-5aa8-4f01-83f4-0f38535364bb"
},
{
"Клиника": "f679444a-22b7-11df-8618-002618dcef2c",
"Дата": "2024-10-17T00:00:00",
"ВремяНачала": "2024-10-17T12:40:00",
"ВремяОкончания": "2024-10-17T20:00:00",
"ВидВремени": "624f2a40-5aa8-4f01-83f4-0f38535364bb"
},
{
"Клиника": "f679444a-22b7-11df-8618-002618dcef2c",
"Дата": "2024-10-18T00:00:00",
"ВремяНачала": "2024-10-18T09:00:00",
"ВремяОкончания": "2024-10-18T14:00:00",
"ВидВремени": "624f2a40-5aa8-4f01-83f4-0f38535364bb"
},
{
"Клиника": "f679444a-22b7-11df-8618-002618dcef2c",
"Дата": "2024-10-18T00:00:00",
"ВремяНачала": "2024-10-18T14:30:00",
"ВремяОкончания": "2024-10-18T20:00:00",
"ВидВремени": "624f2a40-5aa8-4f01-83f4-0f38535364bb"
}
],
"ДлительностьПриема": "0001-01-01T00:30:00"
}
]
}
}