Я хочу создать систему бронирования. С одной стороны, у вас есть клиент, желающий записаться на прием, а с другой стороны, у вас есть поставщик, у которого есть расписание, на которое клиент может записаться.
При регистрации в качестве провайдера им разрешается выбирать дни и часы работы. У них есть флажки html, которые представляют, какие дни они могут выбрать, и как только они выбирают день, отображаются часы (раскрывающиеся списки в angular), как вы можете видеть ниже.
На стороне MySQL я думаю, что могу иметь таблицу, в которой есть столбец для каждого дня и список, разделенный запятыми, для времени начала, времени окончания, времени обеда и продолжительности обеда.
т.е. провайдер выбирает понедельник и вторник для работы из часов, указанных ниже.
Таблица "Расписание" провайдера
|ScheduleID|ProviderID|Monday |Tuesday |Wednesday|Thursday|Friday|Saturday|Sunday| |----------|----------|--------|--------|---------|--------|------|--------|------| |1 | 2 |09:00am,|10:00am,| | | | | | | | |08:30pm,|07:00pm,| | | | | | | | |12:00pm,|01:00pm,| | | | | | | | |30 min |60 min | | | | | | |----------|----------|--------|--------|---------|--------|------|--------|------|
Таблица будет иметь идентификатор расписания и идентификатор провайдера, который связан с таблицей «провайдера», чтобы связать провайдера с его расписанием.
Или так лучше?
|-------------|-------------|----------|-----------|----------|------------|--------------| | schedule_id | provider_id | week_day |start_time | end_time | lunch_time | lunch_length | |-------------|-------------|----------|-----------|----------|------------|--------------| | 1 | 1 | Monday | 06:00 AM | 08:00 PM | 12:30 PM | 60 | |-------------|-------------|----------|-----------|----------|------------|--------------| | 2 | 1 | Friday | 06:00 AM | 08:00 PM | 12:30 PM | 60 | |-------------|-------------|----------|-----------|----------|------------|--------------| | 3 | 2 | Tuesday | 06:00 AM | 08:00 PM | 12:30 PM | 60 | |-------------|-------------|----------|-----------|----------|------------|--------------|
если не опубликовать что-то, что есть