Skip to content
hunterp edited this page Sep 13, 2010 · 7 revisions

This page will serve as the Functional Specification for the Tracker2.0, which is currently under planning.

Development

The Development team is currently:

  • Mickey Reiss
  • Hunter Pitelka
  • Meg Richards

The Tracker2.0 Development shall follow the following development lifecycle:

  • Functional Planning
  • Review
  • Technical Planning
  • Unit Test Creation
  • Coding
  • Testing

Features:

The Tracker shall consist of the following features:

Event Request

Event organizers should have a web-page they can access that will allow them to submit an event request. This page should have fields for {Event Name, Organization, Payment Method, Event Date(s), Event Location(s), Specific Needs, organizer, email, phone}. Submitting an Event Request from this page should send a message to Tracker Administrators requesting the event request become an event on the Tracker.

Additional features that would be nice here are to have organizer accounts that allow event organizers to view their past events with AB Tech, and to view invoices online.

When an organizer requests an event, and email should be sent from events@abtech.org to the organizer confirming their request. As well as an email to abtech@andrew.cmu.edu alerting us of the request. The email to the organizers shall contain a unique url that will allow them to view the status of their event request, and to share that link with anyone they like. Access will also be available to the organizer via their account if they do so choose.

Event Calendar

There should be the ability to view a calendar view of Events. These pages should provide a Month view, Week view, Day view, and Agenda view (similar to most calendar applications). The coloring scheme the current Tracker calendar view is very nice.

Event Administration

Individuals designed as Tracker Administrators, or any member who is given an Administrator role over a particular event shall be able to modify aspects of an event. These aspects include {Name, Organization, Date(s), Location(s), Equipment, Roles, Invoicing/Quoting, Event Status, Published?}. All members of AB Tech shall be able to add Notes to an event. The published aspect shall control whether or not non-exec members of AB Tech can view the event on their calendars. Moving an event to the “event confirmed” status should automatically prompt the user to publish the event.

Event roles

Members have particular roles for each event which depend on both their position on abtech as well as their position for a given event. These affect their permissions on the given event.

*Tracker Admin – Webmaster
*Exec – executive board member
*Event Administrator – hold privileges for events they TIC, not necessarily Exec, but all exec members have all Event Admin Privileges
*Tech Member: Read-only to most things of most events. Can’t just add selves to event or events to calendar
*Organizer: Is an Event Organizer

TIC Sheet

Based on event information, TIC can print out a tic cheat sheet with all the pertinent information for running the event. Organizer contact info, equipment checklist for setup and strike, truck pack checklist, channel list, rigging plots, pricing info, etc.

Finance

The Finance Section should be headed up by an Account Page. This page should mimic most accounting applications. A spreadsheet of line items, each including a date, status, description, amount (which is either a credit or debit), category). It would be nice if this section could generate graphs and reports.

Event Invoicing

Events have costs. These costs can be things like AB Tech Equipment, AB Tech Staff, FMS Charge, Three Rivers Rental, etc… Some of these costs will be associated to expenses (ie, Rentals or FMS). Other costs will be thought of as Revenue (Staff, Equipment charges). For Events there should be a page to modify the Event Costs. This will allow Event Administrators the ability to add/remove/modify costs associated with a given event. When the costs are completed, the Event Administrator can push a “Quote” to the event organizer. this should sent the organizer an email requesting they log onto the tracker and approve/deny the quote. This quote should also have printed on it the payment method for the event, and the terms and conditions of AB Tech’s services (ie food, no strike-song….)

Once a Quote is accepted, the Event will move to Event Confirmed. After the event is completed. An Event Administrator will move the Quote to an Invoice, and correct any items on the Quote. (An email should be sent to the TIC/HoTs for events that say without an Invoice for too long). Once an Invoice is sent to the organizer, it should become a Line Item on the Account Page, and be marked Un-Paid.

An invoice can bill one organizer for multiple events if desired. This means that invoices are logically financial units while events are logically operations units. In other words, event administrators of the tracker should create multiple events to break down actual separate events, and financial administrators should simply check a bunch of events and mark them as the ones that should be invoiced.

Once Invoices are paid, the Finance Manager should move invoices to paid.

Payroll/FMS/Rental/Purchase Expenses

AB Tech has costs, These are things like FMS Charges, Rentals, and Payroll. These items should be added separate from Events. Different Expenses have different information associated with them. Payroll has just a date and a number. FMS Charges have work-order numbers, events they are associated with (can this be audited?), dates, and costs. Rentals have dates, costs, vendor, events (audit?), and should have invoices attached. Purchases are things like P.O’s, Reimbursements, and Tartan Card purchases. They should have dates, costs, vendor,associated events, and attached receipts. While the system should bug the finance manger to upload receipts/invoices, it also needs to have a “fuck off, I lost the invoice/receipt” button.

These also need to show up on the Accounts page, and be able to be Paid or Un-Paid.

Payroll

Events, by default, should be marked “bill-able” meaning they can be billed against by techies. Events that are not-bill-able (parties, meetings… etc) can be made special. Members of Tech can then bill hours against an event. Every two weeks, the Payroll Administrator should be able to grab all “un-paid” time from the tracker. This should cause timesheets to be generated automatically (pdf form) for each member of Tech. The payroll administrator then will make timesheets public, meaning that a tech member can view their timesheet, print it, sign it, and place it in the tech mailbox to be submitted by the payroll administrator. Once the payroll administrator signs and submits a timesheet, they should mark the hours “paid” inside the tracker.

A useful view to have would be to view each event by the income/expenditures associated with the event. So you can see how much we brought in in revenue, minus the payroll costs, minus rentals, and FMS fees, and other expenditures. Tech members should be able to view their hours billed to date.

Equipment Management

The Tracker shall be able to keep inventory of Tech Equipment. Including categories, description, and quantity. Equipment can be assigned to events. Equipment can also be marked out of service for RnM and repair status is tracked.

Rigs of equipment can be defined (rather, equipment can be tagged as parts of a rig) and these rigs can be selected and then changed for an event.

Equipment that we have multiple pieces of (Source-Four’s, SM58’s, etc…) shall only be kept by quantity. Except in the case where being able to choose an individual item matters (ie: with the ML’s).

Email

The Tracker shall naively be able to handle incoming and outgoing email. This process should be as transparent as possible.

Incoming Email

Email coming to abtech@andrew.cmu.edu should be reserved for non-event related traffic. events@abtech.org should be an inbox controlled by the tracker. Organizers will receive email from events@abtech.org from the tracker regarding their events, and they should respond to events@abtech.org. Emails should contain a unique event ID string to allow the tracker to easily parse them.

Outgoing Email

The only automated emails the tracker should send are to members of ABTech. All emails to organizers, need to be sent by somebody. The tracker shall contain an email interface that allows techies to send emails, including form responses.

Email Flow

Here is the typical flow of email for a given event and how the tracker should interact:

  • Upon event request, tracker sends email to abtech@andrew telling us there is a pending request
  • When an Event Administrator (member of exec) approves an event, they will send an email (through the tracker) either requesting more information or sending a quote. The tracker should automatically attach the quote if necessary.
  • Any email traffic between AB Tech and organizers should be received in events@abtech.org and sent via the tracker through events@abtech.org. If traffic leaves events@abtech.org it is the Tech’s duty to forward emails to events@
  • After an event the invoice shall be sent via the Tracker.

Update Emails

The tracker shall have the ability to send emails with event schedules either automatically or at the request of an Event Administrator. This email shall contain links to allow Tech Members to register interest/positions/availability for either a specific event, or a time period.

Tech Members

There shall be a page which consists of a list of members of AB Tech. This can effectively serve to list all accounts on the Tracker with role “AB Tech Member”. The following information shall be kept on all Tech Members: {Name, email, Nickname,Phone,Aim,Callsign, Shirt Size,Roles, Food typically ordered}. that last field might want something special. Any information about a paging system might want to be integraded here (poke meg).

Event Organizers

Event Organizers shall be given an account on the Tracker with Organizer privileges. This will allow them to submit event requests, and read-only past event requests {title,org,date,invoice/quote,status} only!

Statistics

The tracker shall generate reports in html and pdf format with pretty graphs to determine things like commonly used equipment and rooms, financial stats, how many man hours we put in, etc.