1. 1. Зробити модуль реєстрації користувачів в системі
    1. Як пацієнт, я хочу зареєструвати обліковий запис, щоб записуватися на прийоми та отримувати медичні послуги онлайн та офлайн
      1. Acceptance criteria
        1. Під час реєстрації пацієнт вводить обов'язкову інформацію: ім'я, прізвище, місто, адресу електронної пошти та пароль.
        2. Пароль має містити не менше 8 символів і включати букви та цифри.
        3. Система підтверджує реєстрацію та надсилає пацієнту підтверджувальний лист на електронну пошту.
    2. Як адмін клініки, я хочу мати можливість переглядати та схвалювати реєстрації нових пацієнтів, щоб забезпечити достовірність даних і контроль над процесом реєстрації.
      1. Acceptance criteria
        1. Адмін отримує сповіщення про нові реєстрації.
        2. Адмін має можливість переглядати введені пацієнтом дані та перевіряти їх на відповідність.
        3. Адмін може схвалювати або відхиляти реєстрацію пацієнта.
        4. Адмін може редагувати записи пацієнта.
    3. Як доктор, я хочу отримувати доступ до персонального кабінету після реєстрації, щоб проводити медичні консультації та записувати результати прийому.
      1. Acceptance criteria
        1. Після успішної реєстрації доктор отримує доступ до персонального кабінету, де може управляти своїми даними
        2. Доктор може переглядати графік прийому пацієнтів, записувати результати прийому та назначати лікування.
        3. Доктор може переглядати своїх пацієнтів (якщо є декларація)
    4. Як користувач (всі ролі), я хочу мати можливість відновити пароль в разі його втрати, щоб забезпечити безпеку свого облікового запису.
      1. Acceptance criteria
        1. Користувач має можливість натиснути на посилання "Забули пароль?" та ввести свою адресу електронної пошти.
        2. Система надсилає на вказану адресу лист з інструкціями по відновленню паролю.
        3. Користувач має можливість натиснути на посилання "Забули пароль?" та ввести свій номер телефону для отримання коду
        4. Система надсилає на вказаний номер єдиноразовий пароль для входу і зміни паролю.
        5. Користувач може створити новий пароль та використовувати його для входу до системи.
  2. 2. Зробити модуль входу в систему через верифікацію особових даних
    1. Як користувач (всі ролі),я хочу здійснювати вхід в систему через верифікацію своїх особових даних, щоб забезпечити безпеку мого облікового запису та легкий доступ до медичних послуг.
      1. Acceptance criteria
        1. Після введення своєї адреси електронної пошти або номеру телефону, система надсилає одноразовий код для верифікації.
        2. Корисувач вводить одноразовий код, відправлений на його електронну пошту або номер телефону.
        3. Після успішної верифікації, пацієнт отримує доступ до особистого кабінету.
  3. 3. Зробити сторінку переходу користувача до обранного відділення та лікаря
    1. Як пацієнт, я хочу мати можливість вибрати потрібне відділення клініки та обрати лікаря для консультації, щоб отримати доступ до медичних послуг та обслуговування відповідно до моїх потреб.
      1. Acceptance criteria
        1. Пацієнт може переглядати список доступних відділень клініки та обирати те, яке відповідає його потребам
        2. Вибравши відділення, пацієнт може переглянути список лікарів, доступних на цьому відділенні.
    2. Як адмін клініки, я хочу мати можливість редагувати інформацію відділеннь та лікарів, щоб забезпечити зручний доступ до обслуговування та раціональне розподілення пацієнтів.
      1. Acceptance criteria
        1. В адміністративній панелі адмін може оновлювати інформацію про доступні відділення та лікарів.
        2. Адмін може визначати графік роботи лікарів та кількість доступних прийомів на кожного з них.
    3. Як доктор, я хочу мати можливість відображати свою наявність та прийоми на обраному відділенні, щоб пацієнти могли записуватися на консультацію відповідно до мого графіку.
      1. Acceptance criteria
        1. Доктор може встановлювати свою наявність та розклад прийому на обраному відділенні через свій особистий кабінет.
        2. Доктор може отримувати повідомлення про нові записи та може підтверджувати або відхиляти їх.
  4. 4. Зробити сторінку зі списком відділень та лікарень
    1. Як користувач (всі ролі), я хочу мати можливість переглядати список доступних відділень та лікарів в клініці, щоб обрати потрібне відділення та знайти лікаря для отримання медичних послуг.
      1. Acceptance criteria
        1. Користувач переходить на сторінку зі списком відділень та лікарень з головної сторінки або іншої відповідної сторінки.
        2. Після вибору відділення, користувач може переглянути список лікарів, які працюють на цьому відділенні.
        3. Користувач може переглядати інформацію про кожного лікаря, таку як ПІБ, спеціалізація та робочий графік.
  5. 5. Зробити можливість створити зустріч користувача з обраним лікарем
    1. Як пацієнт, я хочу мати можливість створити зустріч з обраним лікарем для проведення консультації або обстеження, щоб забезпечити чітке планування та отримати потрібні медичні послуги.
      1. Acceptance criteria
        1. Пацієнт переходить на сторінку обраного лікаря та відділення через сторінку вибору відділення та лікаря.
        2. Пацієнт може обрати дату та час для зустрічі з лікарем із доступних варіантів.
        3. Після вибору дати та часу, пацієнт вводить короткий опис мети зустрічі (наприклад, консультація, обстеження тощо).
        4. Паціент може обрати вид послуги: онлайн\офлайн
        5. Пацієнт отримує повідомлення про підтвердження або відхилення зустрічі.
    2. Як адмін клініки, я хочу забезпечити можливість пацієнтам створювати зустріч з обраним лікарем для проведення консультації чи обстеження, щоб забезпечити ефективне планування та організацію медичних прийомів.
      1. Acceptance criteria
        1. Адмін може перейти на сторінку обраного лікаря та відділення через систему вибору відділення та лікаря та записати пацієнта.
        2. може обрати дату та час для зустрічі з лікарем із доступних варіантів.
        3. може скасувати прийом через систему вибору відділення та лікаря та записати пацієнта.
    3. Як лікар, я хочу мати можливість приймати зустрічі від користувачів, які бажають сконсультуватися зі мною, щоб ефективно планувати свій графік роботи та забезпечити якісне надання медичних консультацій.
      1. Acceptance criteria
        1. Лікар може переглядати свій графік роботи та доступні часи для зустрічей.
        2. Лікар може побачити список заявок на зустрічі від користувачів, які обрали його для консультації.
        3. Лікар має можливість підтвердити або відхилити заявку на зустріч.
        4. Лікар може самостійно створити майбутню зустріч з пацієнтом через свій обліковий запис
  6. 6. Зробити можливість адміну лікарні переглянути та корегувати записи
    1. Як адміністратор клініки, я хочу мати можливість переглядати та вносити корекції до записів на прийоми у лікарів, щоб забезпечити ефективний моніторинг робочого графіку та планування медичних прийомів.
      1. Acceptance criteria
        1. Адміністратор має доступ до графіка роботи всіх лікарів клініки.
        2. Адміністратор може переглядати записи на прийоми, включаючи інформацію про дату, час, лікаря та пацієнта.
        3. Адміністратор має можливість редагувати записи на прийоми, змінюючи дату, час або лікаря, який проводить прийом.
        4. Після внесення змін, система автоматично оновлює графік роботи та надсилає повідомлення пацієнту та лікарю про зміни у записі.