General scheduling application

From FreekiWiki
Jump to navigation Jump to search

Diagram

This is a graph with borders and nodes. Maybe there is an Imagemap used so the nodes may be linking to some Pages.

Schema notes

actual_shifts (representing a single shift on an actual schedule with a defined date)
shift_date (date shift will be scheduled)
job_id
filled_shifts (representing a single shift on an actual schedule with a defined date)
start_time (start time of shift on that date)
end_time (end time of shift on that date)
volunteer_id
groupings (a group of schedules that can be displayed together)
name
groupings_schedules
grouping_id
schedule_id
jobs (job to be performed during the shift)
name
schedule_id
schedules (for grouping related shifts)
type (either discrete list of volunteers can take shifts, OR all volunteers can take shifts)
name
schedules_volunteers (if the schedule type indicates that a discrete list of volunteers can takes shifts, then a record linking the volunteer to the schedule needs to appear here)
schedule_id
volunteers_id
virtual_shifts (representing a shift or shifts on an "ideal" schedule with no actual date yet attached)
effective_date (first date this shift can appear on an actual schedule)
ineffective_date (last date this shift can appear on an actual schedule)
day_of_week (day of week, 0-6 = sun-sat)
start_time
end_time
slot_count (1-N for use in producing multiple actual shifts, default = 1)
job_id
volunteer_id (null allowed, this volunteer will be assigned to slot #1 when actual shifts are generated)
schedule_id
volunteers (volunteer specific information could go here -- i.e. first volunteer date, status, reliability index, etc.)
contact_id
name (until hooked up to main app when name will come from contacts table)