Календарь — это основной раздел мобильного приложения для планирования и управления визитами. В нём медицинский представитель создаёт визиты, просматривает расписание, открывает карточки визитов, работает со статусами, фильтрами, переносом и копированием дня.
Вся полевая активность медицинского представителя строится вокруг визитов. Визит — это не просто запись в календаре. Это рабочий процесс, который проходит несколько этапов: планирование, начало, проведение, заполнение отчёта, закрытие и синхронизация данных.
Календарь может отображаться в нескольких режимах: день, неделя и месяц.
Режим «День» подходит для детального просмотра текущего расписания. Пользователь видит временную сетку, интервалы, запланированные визиты, свободное и занятое время. Этот режим удобен для ежедневной работы.

Режим «Неделя» помогает увидеть нагрузку по дням. Пользователь может оценить, в какие дни визитов больше, где есть свободные интервалы и какие визиты нужно перенести.

Режим «Месяц» показывает общую активность за месяц. Он удобен для общего обзора, когда нужно понять, в какие дни были или будут визиты.

Создать визит можно из Dashboard или из календаря. Для этого пользователь нажимает кнопку «Создать визит» и выбирает тип визита.

Основные типы визитов: аптека, врач, ЛПУ и мероприятие. В зависимости от типа визита меняются поля, которые нужно заполнить.
Для визита в аптеку пользователь выбирает аптеку из справочника. Название, адрес и другие данные подтягиваются из базы. Можно добавить заметки, указать дату, время, длительность и тип визита.

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

Для визита в ЛПУ пользователь выбирает учреждение из справочника. Из карточки учреждения также можно увидеть список связанных врачей и создать визит к нужному специалисту.
Для мероприятия пользователь вручную вводит название и адрес. Это может быть семинар, круглый стол, конференция, тренинг, административная работа или другое событие. Важно помнить, что если адрес мероприятия введён вручную и не связан с координатами в базе, такой визит может не отображаться корректно на маршруте.

После успешного создания визита отображается уведомление «Встреча успешно добавлена». Также внизу появляется кнопка «Добавить встречу» для быстрого создания следующего визита.

Визит может быть обычным или совместным.
Обычный визит выполняется медицинским представителем самостоятельно. Это стандартный формат визита.
Совместный визит проводится вместе с другим сотрудником. При выборе совместного визита появляется поле «Участники визита». Пользователь выбирает коллегу из списка сотрудников. Такой формат нужен, если визит проводится вместе с руководителем, другим медицинским представителем или сопровождающим сотрудником.
При создании визита пользователь указывает дату и время. Длительность может задаваться интервалами, например 15 минут, 30 минут и дальше по доступной логике приложения.
После сохранения визит появляется в календаре со статусом «Предстоит». Если нужно создать несколько визитов подряд, пользователь может после сохранения сразу продолжить создание нового визита.
В календаре есть фильтры. Они помогают быстро найти нужные визиты, особенно если в расписании много встреч.
Фильтры могут работать по статусу визита, типу объекта и формату визита. Например, пользователь может показать только предстоящие визиты, завершённые визиты, отменённые, удалённые, визиты к врачам, аптекам, мероприятиям, обычные или совместные визиты.
Фильтры особенно полезны для проверки плана, анализа завершённых встреч и поиска отменённых или удалённых визитов.

У визита есть статус. Основные статусы: предстоит, активный, завершён, удалён, отменён.
Статус «Предстоит» означает, что визит создан и запланирован, но ещё не начат.

Статус «Активный» появляется после нажатия кнопки «Начать визит». С этого момента визит считается начатым, и пользователю становится доступно заполнение отчёта.

Статус «Завершён» появляется после отправки отчёта и закрытия визита. Такой визит участвует в отчётности и аналитике.

Статус «Удалён» означает, что визит был удалён из плана. Он не считается выполненным.

Статус «Отменён» отличается от удаления. Отмена используется, если визит не состоялся по объективной причине: врач отсутствует, объект закрыт, встреча сорвалась, но попытка визита была. Отменённый визит может сохраняться в системе для анализа.

В календаре статусы визитов могут отличаться цветом. Это помогает быстро понимать состояние рабочего дня. Предстоящие, активные, завершённые, удалённые и отменённые визиты визуально различаются.
Цветовая маркировка нужна для быстрого контроля: пользователь сразу видит, какие визиты ещё впереди, какие уже выполнены, какие были отменены или удалены.
В режиме «День» может быть доступна функция копирования дня. Она нужна, если у медицинского представителя повторяется маршрут или рабочий график.

Пользователь выбирает день, нажимает «Скопировать день», затем выбирает новую дату. После подтверждения визиты копируются на выбранный день. Это ускоряет планирование, когда одинаковые или похожие визиты повторяются каждую неделю.

При нажатии на визит открывается карточка визита. В ней отображаются статус, дата, время, длительность, объект визита, адрес, ID визита, заметки, участники и доступные действия.
ID визита важен для технической поддержки. Если статус отображается некорректно, визит не открывается, не синхронизируется или в нём пропали данные, пользователь может передать ID визита в поддержку.
В карточке визита можно посмотреть информацию об аптеке, враче, ЛПУ или мероприятии. Для аптеки обычно отображаются название, БИН, адрес и сотрудники, если они прикреплены. Для врача отображаются ФИО, специальность и ЛПУ. Для мероприятия отображаются название, адрес, тип события и участники.

Чтобы выполнить визит, пользователь нажимает «Начать». После этого статус меняется на «Активный». С этого момента становится доступен отчёт по визиту.
После начала визита часть параметров может быть ограничена для редактирования, потому что визит уже перешёл из планового состояния в фактическое выполнение.
Если пользователь начал визит, но не завершил его, визит остаётся активным. Его нужно открыть снова, заполнить отчёт и завершить.

После начала визита пользователь переходит к закрытию. Закрытие визита включает заполнение обязательных блоков: KPI/SKU, дефектура или остатки, комментарии, фотоотчёт, презентация и GPS-фиксация. Набор обязательных полей зависит от типа визита и настроек проекта.
Для фотоотчёта обычно нужно сделать фото прямо через камеру приложения. Загрузка из галереи может быть недоступна. Это нужно для того, чтобы фото было связано с текущим визитом и моментом выполнения.
При заполнении SKU пользователь может видеть не все препараты. Список препаратов может быть ограничен администратором, региональным менеджером, дистрибьютором, регионом или настройками проекта.
После заполнения всех обязательных полей пользователь нажимает «Отправить отчёт и завершить визит». После этого визит получает статус «Завершён».

Если справочник был заранее обновлён, пользователь может работать с визитами без интернета. В оффлайн-режиме можно создавать визиты, начинать их, заполнять отчёты, делать фото и фиксировать GPS.
Все изменения сохраняются локально. Когда интернет появляется снова, приложение предлагает синхронизировать данные. Пользователь должен нажать кнопку синхронизации, чтобы данные ушли на backend-сервер и стали доступны в Web CRM, отчётах, KPI и аналитике.
Если интернет пропал во время работы в календаре, приложение может ограничить работу текущим днём. Если пользователь просматривал другую дату, приложение может вернуть его на текущий день.

Календарь и визиты — это основной рабочий раздел медицинского представителя. Здесь пользователь планирует день, создаёт визиты, выбирает объекты, работает со статусами, открывает карточки, начинает визиты, закрывает их с отчётом и синхронизирует данные. Чтобы календарь работал корректно, нужно заранее обновить справочник и начать смену.