Need to write a fairly simple scheduling app for a custom industry. This is not a website for use by the public. It is a system for use by me to schedule a number of employees at different locations at different times.
Features:
- Simple Login to System (uesr/pass)
- User Administration (Add/Edit/Deactivate/Reactivate Users)
- User to consist of First, Last, Role, Email, Phone
- Ability to Add/Edit/Delete GROUPS of Users
- Location Administration
- Ability to Add/Edit/Delete Locations
- Location is simply Location Name / Location Address
- Call Type Administration
- Ability to Add/Edit/Delete Call Types
- Call Type is simply a Text Field and a Color Picker
- Callboard (where the schedule is entered)
- Ability to Add/Edit/Delete Calls
- Calls are a simple combination of Call Type, Location, Date & Timer Pickers, and ability to assign users from a GROUPS list and a USERS list.
- Ability to select multiple dates for an event in order to save admin time for events that are recurring. Prefer to pick this off of a calendar instead of deal with drop downs for when the item recurs.
- Once a recurring item is added, the many instances become INDIVIDUALLY editable entries, so that editing one does not affect the others. I understand that this means they will have to be deleted individually if there is a mistake.
- Calendar (where the schedule is viewed)
- Using the data from the various calls that are added, the system displays a simple format calendar in either a weekly or a daily layout so that the admin can verify the schedule contents.
- Support for Admin to select week start day (Week starts Tuesday for instance) for weekly format.
- Call Distribution
- In Daily and Weekly View, have a button that says "DISTRIBUTE CALL"
- Weekly View - Site generates an image of the schedule and emails the schedule to a selection of users.
- Daily View - Site generates individual images of a specific user's calls and emails it to each user.
- All emails to be distributed through a paid email API service that I will provide (VERY simple API).
- Each date to store whether call has been distributed. If a call is edited AFTER that day's calls have been sent out, system prompts for whether to send an UPDATED daily call to all users.
- Notes Area
- Simply WYSIWYG Editor that allows admin to send an email to a selection of groups/users in the system.
- Emails to be sent through the same API.
- Contact Sheet
- Allow admin to select from groups/users.
- Create a Contact Sheet of selected users in either PDF or CSV format (admin choice).
- SETTINGS
- Admin Login
- Day of Week Start for Weekly Calendar
- System Time Zone Select (with support for all international time zones)
(important note - we are not scheduling people with multiple time zones, so I think this is mostly just to make a simple text note at the bottom of distributed schedules making sure everyone knows what time zone the schedule is in)
- Project Name (will became a "[PROJECT NAME] Subject Line" in generated emails)
- Email Settings (From address, From name, etc.)
As you can see, there really won't be questions that I cannot answer immediately for you -- the project is not vague, it's very specific, so there shouldn't be much "feature creep" for you the developer.
I can provide a simple admin template for CSS stylings to make it pretty, but this is a system that will be used by 1-2 people maximum to schedule a specific group of 30-40 people and send daily and weekly communication to them. As you can see, the vast majority of the project is text database manipulation and then the ability to display a schedule in a very simple graphic format (that I will provide examples of for you).
Looking to have this project completed within the next couple of weeks... either late December or early January at the latest I would need to be operational