2015-12-29 4 views
0

Я создаю заявку на бронирование в медицинский кабинет, и я немного зациклен, как организовать свою базу данных.Дизайн базы данных для системы бронирования

Таковы некоторые из требований: - Владелец может создать Врач, которые работают в офисе - Владелец может указать рабочее время для каждого врача на каждую дату - Клиенты могут заказать назначение до 30 минут или 1 часов (в зависимости от сервис)

Я застрял в точке, где мне нужно определить доступность врача и представить его клиенту.

Некоторые из таблиц я бы:

Doctor 
- ID 
- Full Name 

Customer 
- ID 
- Full Name 

Appointment 
- ID 
- Doctor ID 
- Customer ID 
- Time?? 

Как идти с этой проблемой? Спасибо.

+0

Используйте iCalendar RRULE и EXDATE для представления расписаний. Существует множество библиотек для расчета фактических дат с этих правил –

ответ

0

Я предлагаю создать новую таблицу, в которой хранятся врач и их рабочее время. Затем, при бронировании встречи, вы просто проверяете, работает ли врач в те часы. Теперь, чтобы воспользоваться обеденными перерывами или любыми другими нерабочими часами, вам потребуется создать вторую запись для следующей продолжительности рабочего времени.

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

Doctor_Hours

  • ID начать
  • Врач ID
  • Дата/время
  • Дата/время окончания

1 джон 01/01/2015 6:00 01/01/2015 12:00

1 john 01/01/2015 13:00 01/01/2015 18:00

Смежные вопросы