Difference between revisions of "General scheduling application"

From FreekiWiki
Jump to navigation Jump to search
Line 31: Line 31:
 
== Schema notes ==
 
== Schema notes ==
  
;actual_shifts (representing a single shift on an actual schedule with a defined date)
+
;actual_shifts
:shift_date (date shift will be scheduled)
+
:* ''representing a single shift on an actual schedule with a defined date''
 +
:virtual_shift_id
 
:job_id
 
:job_id
  
;filled_shifts (representing a single shift on an actual schedule with a defined date)
+
;filled_shifts
:start_time (start time of shift on that date)
+
:* ''representing the filled part of an actual shift -- that is, someone has signed up for that actual shift''
:end_time (end time of shift on that date)
+
:starts_at
 +
:* ''start date and time of shift on shift date''
 +
:ends_at
 +
:* ''end date and time of shift on shift date''
 
:volunteer_id
 
:volunteer_id
  
;groupings (a group of schedules that can be displayed together)
+
;groupings
 +
:* ''a group of schedules that can be displayed together''
 
:name
 
:name
  
Line 47: Line 52:
 
:schedule_id
 
:schedule_id
  
;jobs (job to be performed during the shift)
+
;jobs
 +
:* ''job to be performed during the shift''
 
:name
 
:name
 
:schedule_id
 
:schedule_id
  
;schedules (for grouping related shifts)
+
;schedules
:type (either discrete list of volunteers can take shifts, OR all volunteers can take shifts)
+
:* ''for grouping related shifts''
 +
:type
 +
:* ''either discrete list of volunteers can take shifts, OR all volunteers can take shifts''
 
:name
 
: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)
+
;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
 
:schedule_id
 
:volunteers_id
 
:volunteers_id
  
;virtual_shifts (representing a shift or shifts on an "ideal" schedule with no actual date yet attached)
+
;virtual_shifts
:effective_date (first date this shift can appear on an actual schedule)
+
:* ''representing a shift or shifts on an "ideal" schedule with no actual date yet attached''
:ineffective_date (last date this shift can appear on an actual schedule)
+
:effective_date
:day_of_week (day of week, 0-6 = sun-sat)
+
:* ''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
 
:start_time
 
:end_time
 
:end_time
:slot_count (1-N for use in producing multiple actual shifts, default = 1)
+
:slot_count
 +
:* ''1-N for use in producing multiple actual shifts, default = 1''
 
:job_id
 
:job_id
:volunteer_id (null allowed, this volunteer will be assigned to slot #1 when actual shifts are generated)
+
:volunteer_id
 +
:* ''null allowed, this volunteer will be assigned to slot #1 when actual shifts are generated''
 
:schedule_id
 
:schedule_id
  
;volunteers (volunteer specific information could go here -- i.e. first volunteer date, status, reliability index, etc.)
+
;volunteers
 +
:* ''volunteer specific information could go here -- i.e. first volunteer date, status, reliability index, etc.''
 
:contact_id
 
:contact_id
:name (until hooked up to main app when name will come from contacts table)
+
:name
 +
:* ''until hooked up to main app when name will come from contacts table''
 +
 
 +
 
  
 
[[Category:FGdb]]
 
[[Category:FGdb]]

Revision as of 08:16, 17 June 2009

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
virtual_shift_id
job_id
filled_shifts
  • representing the filled part of an actual shift -- that is, someone has signed up for that actual shift
starts_at
  • start date and time of shift on shift date
ends_at
  • end date and time of shift on shift 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