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.
{
"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)
Получим расписание всех сотрудников на день с учётом заявок и перерывов. На выбранный день в базе расписание стоит у двух сотрудников, у одного из которых есть две заявки (Красильникова Н.С.).
{
"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)
Получим расписание свободного времени на два дня для двух сотрудников в центральной клинике (у одного из сотрудников на один день назначена заявка).
{
"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"
}
]
}
}