- Allows the admin to set up one or more "campaigns". In this context a campaign is either a "Constituent Interview" Campaign or a "Constituent has cast his ballot" Campaign (for GOTV)
- Allows the admin to set various fields in the campaign and survey tables.
- The admin associates one or more groups (static or smart) to this campaign. [Joe: of contacts to be canvassed, or of contacts who will be doing the canvassing, or both?]
- The admin configures a 'script' for volunteers/interviewers for this campaign. Scripts can have instructions for the volunteer, and then one or more questions for the constituent (which are custom fields). Each question can have associated text (custom field "help"). For this iteration, script branching is not supported.
- Allows a volunteer (with the right permissions), to "check" out a set of contacts from the campaign based on an address and district search (profile search in future?). [Joe: are the permissions set by by admin based on volunteer being part of a group? That is my preference.]
- Allows admins/staff (with the right permissions), to "check" out a set of contacts from the best smartphone 2012 campaign based on an address and district search and assign them to a volunteer
- Can generate a walklist or phonelist report for the volunteer with their group of assigned contacts for use in field-based canvasses (i.e. where volunteer is not sitting in front of a computer).
- Allows the above volunteer to record the interview responses and the status of this interview. Statuses may be used to control 'recontact interval'. This can be done 'realtime' for phone-banking canvasses (or any use-case where volunteer is online while canvassing). Alternatively, interview responses can be entered in batches (from filled-in paper reports) using an input table grid (jQuery dataTables). This mode is intended to cover both post-field-canvass input as well as poll-watcher ('GOTV') input (more details below).
- Allows the volunteer to reclaim / add / return back his set of constituents.
- Gives admin stats on the current status of the overall campaign and the volunteer stats on whats she/he has done for the campaign.
- Allow admin to rollback work of a specific volunteer on any day / for all time. [Joe: What does this involve? I would suggest a 'cancelled' status be set up on the activity record that would be used to exclude the constitutent responses from being included in summary and detailed reports.]
- Hook to allow sites to have more complex recontact intervals.
- Hook to allow sites to have different search criteria. [Joe: are these criteria for searching the contacts to be canvassed, or the contacts who are allowed to canvass, or both?]