|
|
Line 3: |
Line 3: |
| | | |
| [[FGVwiki:Signs|Signs]] at vancouver's wiki | | [[FGVwiki:Signs|Signs]] at vancouver's wiki |
− |
| |
− |
| |
− | == Volunteer scheduling schema diagram ==
| |
− | <graphviz>
| |
− | digraph g {
| |
− |
| |
− | node [shape="box", fontname="Helvetica", fontsize="11"]
| |
− | edge [fontname="Helvetica"]
| |
− |
| |
− | groupings_schedules -> groupings [arrowhead = "crow"]
| |
− | groupings_schedules -> schedules [arrowhead = "crow"]
| |
− |
| |
− | schedules -> virtual_shifts [arrowhead = "crow"]
| |
− | schedules -> jobs [arrowhead = "crow"]
| |
− | schedules -> actual_shifts [arrowhead = "crow"]
| |
− |
| |
− | virtual_shifts -> actual_shifts [arrowhead = "crow"]
| |
− |
| |
− | jobs -> actual_shifts [arrowhead = "crow"]
| |
− | jobs -> virtual_shifts [arrowhead = "crow"]
| |
− |
| |
− | volunteers -> actual_shifts [arrowhead = "crow"]
| |
− | volunteers -> virtual_shifts [arrowhead = "crow"]
| |
− |
| |
− |
| |
− | }
| |
− | </graphviz>
| |
− |
| |
− |
| |
− | ;actual_shifts (representing a single shift on an actual schedule with a defined date)
| |
− | :shift_date (date shift will be scheduled)
| |
− | :start_time (start time of shift on that date)
| |
− | :end_time (end time of shift on that date)
| |
− | :job_id
| |
− | :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)
| |
− | :name
| |
− |
| |
− | ;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)
| |