Calendar & Announcements
Location: /Dashboard/Calendar/Default.aspx
Navigation: From the main navigation menu, click on "Calendar" in the dashboard section. The page is accessible from the dashboard sidebar or via direct URL path /calendar.
Overview
The Calendar & Announcements page serves as the company's centralized hub for scheduling, internal communication, and time-off management. It combines three essential workplace functions into a single, integrated interface: a visual monthly calendar for events and meetings, a company-wide announcement board for organizational communications, and an absence request submission system for managing employee time off.
This page acts as the organization's digital bulletin board and scheduling center, ensuring all team members have access to shared calendar events, important company news, and the ability to request time away from work. The design prioritizes daily visibility of key information while maintaining historical context for past announcements and absence requests.
The calendar displays events across multiple categories (company-wide, division-specific, and conference room bookings), allowing users to filter by event type. The announcement system supports targeted communication with options to broadcast to all employees or specific team members. The absence request form enables employees to submit PTO, unpaid leave, or work-from-home requests with automatic routing to designated approvers.
Business Value
Why Does This Matter to the Company?
- Centralized Communication - Without a unified announcement system, important company information gets buried in email threads or lost across multiple communication channels. The announcements board creates a persistent, visible location where company news remains accessible until its designated expiration date.
- Scheduling Coordination - Conference room double-bookings, missed company events, and scheduling conflicts create friction and waste time. A shared calendar with event categorization prevents these conflicts and ensures everyone knows about important organizational activities.
- Streamlined Time-Off Administration - Manual time-off request processes involving email chains and spreadsheets are error-prone and create administrative burden. The integrated absence request form captures all required information upfront and routes requests to appropriate approvers automatically.
- Workplace Transparency - Employees benefit from knowing who is out of the office, which conference rooms are available, and what company events are scheduled. This transparency supports better planning and collaboration across teams.
- Reduced Email Overhead - Company announcements delivered via the announcement board reduce email volume while ensuring visibility. Users can choose to send email notifications selectively, reserving email for truly urgent communications.
- Employee Autonomy - Self-service absence request submission empowers employees to manage their own time-off without waiting for HR availability, while maintaining appropriate approval controls.
Business Benefits
For All Employees
- Single Source of Truth: One location to check for company events, team announcements, and upcoming absences rather than searching through emails
- Visual Planning: Monthly calendar view shows events at a glance, making it easy to plan work around meetings and company activities
- Self-Service Time Off: Submit absence requests directly without drafting emails or filling out paper forms
- Request History: View history of previous absence requests with approval status to track patterns and plan future requests
- Backup Coverage: Designate a backup employee when submitting absence requests to ensure work continuity
For Team Leaders and Managers
- Team Visibility: See company-wide and team-specific announcements to stay informed about organizational matters
- Event Planning: Add events visible to all team members, ensuring important meetings and milestones are communicated
- Announcement Targeting: Create announcements visible to specific team members rather than broadcasting to everyone
- Approval Awareness: Absence requests trigger notifications to approvers, creating visibility into upcoming team absences
For HR and Administration
- Structured Requests: All absence requests follow a consistent format with required fields, eliminating incomplete submissions
- Automatic Notifications: Approvers receive email notifications of new requests without manual forwarding
- Agreement Tracking: Employees must acknowledge the PTO borrowing policy before submitting requests, creating audit documentation
- Centralized Records: All announcements and their targets are stored for historical reference and audit purposes
For Company Leadership
- Organization-Wide Communication: Announcements reach all employees regardless of department or location
- Event Categorization: Events can be tagged by type (company-wide, division-specific, conference room) for appropriate visibility
- Time-Off Patterns: Visibility into absence request history supports workforce planning and coverage decisions
Usage Scenarios
Scenario 1: Checking Daily Schedule
An employee starts their morning by navigating to the Calendar page. They see today's events highlighted, including a division meeting at 2:00 PM in the conference room and a company-wide training session at 4:00 PM. They also notice a new announcement (marked "NEW!" in red) about an office closure next week, allowing them to plan accordingly.
Scenario 2: Scheduling a Team Event
A manager needs to add a project kickoff meeting to the shared calendar. They click "Add New Event" and enter the event details: date, time (10:00 AM), event title ("Q2 Campaign Kickoff"), description, and select "deZinnia" as the event type since it's a company-specific meeting. They check "Send email to team" to notify all team members about the new event.
Scenario 3: Announcing Planned Time Off
An employee plans to take a week of vacation in two months. They scroll to the Announcements section and click "Add announcement." They select "PTO" as the announcement type, enter a title ("Out of Office - Sarah"), provide dates in the body, set an expiration date after their return, and leave "Show to all members" checked since the entire team should know about their absence.
Scenario 4: Requesting PTO Approval
The same employee needs formal approval for their vacation. They use the Absence Request form on the right side of the page, entering the first and last days of absence, selecting "Paid/PTO Accrued/Available," choosing a backup employee from the dropdown, adding notes about pending work, and checking the policy agreement box before submitting. The system automatically notifies their managers.
Scenario 5: Announcing Work From Home Day
An employee needs to work from home for a plumber visit. They create a quick announcement selecting "WFH" type, noting the date and that they will be available via email. The WFH type automatically ensures relevant team members are notified while not requiring the policy acknowledgment needed for PTO requests.
Scenario 6: Conference Room Booking
An account manager needs to reserve the conference room for a client presentation. They add an event and select "Conf Room" as the event type. Other users can filter the calendar to show only conference room events, making it easy to check availability before requesting the space.
Scenario 7: Targeted Announcement to Specific Team Members
HR needs to communicate a benefit enrollment deadline to new employees hired within the past year. They uncheck "Show to all members" and select only the relevant employees from the list. The announcement will only appear for selected recipients, reducing noise for other team members.
Scenario 8: Editing an Existing Announcement
A manager realizes their announcement contained an incorrect date. They find the announcement in the list, click the edit (pencil) icon, correct the information, and choose whether to resend the email notification to alert recipients to the change.
Scenario 9: Reviewing Absence Request History
An employee wants to check how much PTO they've taken this year. They scroll to "Previous Absences" in the absence request panel, which shows their request history with dates and approval status from both HR and Q (quality/operations) approvers.
Scenario 10: Filtering Calendar by Event Type
A user only wants to see conference room bookings. They use the radio buttons at the top of the calendar to filter events: "All events," "deZinnia," "Pilney," or "Conf Room." Selecting "Conf Room" hides company and division events, showing only room reservations.
Industry Context
How Similar Functionality is Used Across Industries
Shared Calendar Systems
Shared organizational calendars are fundamental in professional workplaces:
- Corporate Environments: Companies use Google Calendar, Microsoft Outlook, or internal systems to share meeting schedules, conference room availability, and company events across the organization
- Creative Agencies: Production schedules, client review meetings, and creative brainstorms are tracked on shared calendars to coordinate work across project teams
- Professional Services: Consulting firms, law offices, and accounting practices maintain calendars for client meetings, internal reviews, and professional development events
- Healthcare Organizations: Staff scheduling, department meetings, and facility reservations require visible, shared calendars for coordination
- Educational Institutions: Academic calendars, faculty meetings, and room reservations follow similar patterns of shared visibility and categorized events
Announcement and Communication Systems
Internal announcement boards serve critical functions:
- Company Intranets: Corporate intranets universally feature announcement sections for HR updates, company news, and policy communications
- Team Communication Platforms: Slack, Microsoft Teams, and similar tools include announcement channels for important communications that shouldn't get lost in chat
- Digital Signage: Physical offices often display announcements on screens, serving the same purpose for on-site staff
- HR Information Systems: Workday, BambooHR, and similar platforms include announcement features for benefits updates and policy changes
Time-Off Request Workflows
Absence request systems follow established patterns:
- Self-Service Portals: Modern HR systems universally offer employee self-service for time-off requests rather than paper forms or email
- Approval Routing: Requests automatically route to designated approvers (direct manager, HR, operations) based on organizational hierarchy
- Backup Designation: Many industries require employees to identify coverage before taking leave, especially in client-facing or operational roles
- Policy Acknowledgment: Recording employee agreement to time-off policies (like the PTO borrowing policy here) is a standard compliance practice
Key Industry Patterns Implemented
- Multi-Category Events: Separating company-wide, division, and resource (conference room) events follows standard calendar categorization practices
- Expiring Announcements: Time-limited visibility ensures old news doesn't clutter the board while keeping relevant information accessible
- Targeted Communications: Ability to send announcements to specific groups rather than always broadcasting to everyone reduces information overload
- Dual Approval Workflows: Having multiple approvers (HR and operations) for absence requests is common in organizations where coverage affects both administrative and operational functions
- Request-Announcement Integration: Combining time-off requests with team announcements (PTO/WFH announcement types) creates automatic visibility of upcoming absences
Business Logic Details
Event Categories
The calendar supports three event categories, each representing different organizational scopes:
| Category | Purpose | Visibility |
|---|---|---|
| deZinnia | Company-wide events, company meetings, organizational activities | All employees |
| Pilney | Division-specific events for the Pilney business unit | Pilney team members and interested parties |
| Conference Room | Room reservations and bookings | Anyone checking room availability |
Users can filter to view all events or any single category using the radio button controls at the top of the calendar.
Announcement Types and Behavior
Announcements have three types that affect default behaviors:
| Type | Description | Default Behavior |
|---|---|---|
| PTO | Planned time off announcements | Email notification enabled, broadcasts to all |
| WFH | Work from home notifications | Email notification enabled, targeted recipients |
| Other | General announcements | Email notification enabled, targeted recipients |
The type selection automatically adjusts checkbox defaults to match typical usage patterns while allowing users to override these defaults.
Announcement Visibility Rules
Announcements appear to employees based on several criteria:
- Expiration Check: Only announcements with expiration dates in the future display in the active list
- Target Audience: If "Show to all members" is unchecked, only selected target employees see the announcement
- Admin Override: Administrators can see all announcements regardless of target settings
- Author Visibility: The announcement author always sees their own announcements
Expired announcements are automatically hidden from the display but remain in the system for historical reference.
"NEW!" Announcement Highlighting
Announcements posted within the past 48 hours display with a red "NEW!" label to draw attention to recent communications. This visual indicator helps users quickly identify announcements they may not have seen yet.
Absence Request Types
The absence request form supports three leave types:
| Type | Description | Policy Agreement |
|---|---|---|
| Paid/PTO Accrued | Standard PTO using accrued balance | Required - PTO borrowing policy acknowledgment |
| Unpaid/PTO Unavailable | Leave without pay when PTO is exhausted | Required - policy acknowledgment |
| Work From Home | Remote work day | Not required |
WFH requests do not require the policy acknowledgment checkbox since they don't affect PTO balance or payroll.
Hours Calculation
When total hours are left blank on an absence request, the system automatically calculates:
Total Hours = (End Date - Start Date + 1) * 8 hours
This assumes standard 8-hour workdays. Users can override this by entering a specific hour value for partial-day absences or non-standard schedules.
Dual Approval Workflow
Absence requests require two approvals:
- HR Approval: Validates the request against PTO balance and company policies
- Q (Operations) Approval: Confirms operational coverage and work impact are addressed
Both approvals must be granted for the request to be fully approved. Either approver can deny the request with notes explaining the reason.
Notification Flow
When events or announcements are created:
- Event Creation: If "Send email to team" is checked, an email notification is sent to the company distribution list with event details
- Announcement Creation: If "Send mail" is checked, email goes to:
- All employees (if "Show to all members" is checked)
- Only selected target employees (if targeted)
- Absence Request: Automatic notification to:
- The requesting employee (confirmation)
- HR and operations managers
- The designated backup employee (if specified)
Cache Management
Announcements are cached for performance. When announcements are added, edited, or archived, the system:
- Invalidates the announcement cache
- Triggers a refresh that propagates to all active sessions
- Ensures the Dashboard announcement widget updates with the new information
This event-driven cache invalidation ensures announcement changes appear immediately across the application.
Key Features
Calendar Grid
| Feature | Description |
|---|---|
| Monthly View | Display current month with navigation to previous/next months |
| Event Filter | Radio buttons to show All, deZinnia, Pilney, or Conference Room events |
| Day Events | Events listed under each day with time and title |
| Event Details | Click event title to view/edit full event information |
| Add Event | Click any day to create a new event on that date |
| Current Day | Today's date is visually highlighted in the calendar |
| Adjacent Months | Days from previous/next months shown in lighter style |
Add Event Page
| Field | Description |
|---|---|
| Event Date | Calendar picker for selecting the event date |
| Event Time | Hour, minute, and AM/PM selectors (1:00 AM for all-day events) |
| Event Title | Short name of the event |
| Event Type | Radio selection: deZinnia, Pilney, or Conference Room |
| Description | Detailed event description |
| Send Email | Checkbox to notify team via email |
| Contact Email | Optional email address to include in the event description |
Announcement Board
| Feature | Description |
|---|---|
| Announcement List | All active (non-expired) announcements in reverse chronological order |
| NEW! Indicator | Red label on announcements less than 48 hours old |
| Author Display | Shows who posted each announcement |
| Date Display | Shows posting date for each announcement |
| Edit Button | Pencil icon to modify announcement (visible to author and admins) |
| Delete Button | Archive announcement with confirmation dialog |
Add Announcement Form
| Field | Description |
|---|---|
| Title | Announcement headline |
| Body | Full announcement text (multiline) |
| Expires | Date picker for when announcement should stop displaying |
| Type | PTO, WFH, or Other selection |
| Send Mail | Checkbox to trigger email notification |
| Show to All | Checkbox for company-wide vs. targeted visibility |
| Target Selection | Employee checkboxes (visible when "Show to All" unchecked) |
Absence Request Form
| Field | Description |
|---|---|
| First Day | Start date of absence (calendar picker) |
| Last Day | End date of absence (calendar picker) |
| Total Hours | Optional override for calculated hours |
| Request Type | PTO, Unpaid, or Work From Home |
| Backup Employee | Dropdown to select coverage person |
| Comments | Notes about the absence or pending work |
| Agreement Checkbox | Policy acknowledgment (required for PTO/Unpaid) |
| Previous Absences | History of past requests with approval status |
Functional Components
Calendar Navigation
The calendar provides intuitive month-to-month navigation:
- Previous Month: Click month name on the left to navigate backward
- Next Month: Click month name on the right to navigate forward
- URL Parameters: Month and year are stored in the URL (
?month=3&year=2025) for bookmarking and sharing specific month views
Event Type Filtering
The radio button filter controls event visibility:
- All Events: Default view showing all event types together
- Single Type: Selecting a specific type hides events of other types
- Persistent Selection: Filter choice persists during calendar navigation within the same session
Announcement Accordion
The "Add announcement" section uses an expandable accordion:
- Collapsed by Default: Form is hidden to reduce visual clutter
- Click to Expand: Opens the full announcement creation form
- Auto-Collapse: Closes after successful submission
- Hidden During Edit: Accordion hides when editing an existing announcement
Target Employee Selection
When "Show to all members" is unchecked:
- A list of all active employees appears
- Administrators are pre-checked by default
- The current user is automatically excluded (they'll see their own announcement regardless)
- Multiple employees can be selected as targets
- Warning text indicates email will only go to selected recipients
Absence Request Validation
The form enforces data quality:
- Required Fields: Start date, end date must be provided
- Date Order: End date must be equal to or after start date
- Hours Range: If provided, total hours must be between 1 and 8000
- Agreement Required: PTO and Unpaid requests require policy acknowledgment
- Backup Optional: Backup employee is suggested but not required
Request Status Display
Previous absences show approval status for each approver:
| Status | Display |
|---|---|
| Pending | Gray "Pending" text |
| Approved | Green "Approved" text |
| Not Approved | Red "Not Approved" text |
Both HR and Q approval statuses display independently.
Relationship to Other System Components
Dashboard Integration
The Calendar page connects to the main Dashboard in several ways:
- Announcements Widget: New announcements appear in the Dashboard sidebar's announcement section
- PTO/News Widget: Employee time-off announcements feed into the "News and Notes" section showing who is out
- Navigation: Dashboard provides quick access to the Calendar page
Time Tracking System
Absence requests integrate with time tracking:
- PTO Hours: Approved absence requests correspond to PTO hours logged in timesheets
- Activity Codes: PTO time entries use specific activity codes that connect to absence records
- Balance Impact: Absence requests inform PTO balance calculations shown in the PTO Tracker
PTO Tracker
The absence request system provides data to PTO tracking:
- Approved PTO requests affect available PTO balance
- Request history supports balance reconciliation
- WFH requests are tracked separately from PTO for reporting purposes
Notification System
Multiple notification types flow from Calendar page actions:
- Event Notifications: New events trigger team emails via the company distribution list
- Announcement Notifications: Targeted or broadcast emails based on announcement settings
- Absence Request Notifications: Automated emails to requestor, approvers, and backup employee
- Approval Notifications: Completed approval decisions trigger notification to the requesting employee
Employee Management
The page integrates with employee data:
- Active Employee List: Target selection and backup dropdown show only active employees
- Current User Context: System knows the logged-in user for request attribution and visibility rules
- Manager Identification: Absence requests route to employees configured as HR or operations managers
Email System
Email communications flow through the notification infrastructure:
- Template-Based: Announcements and absence requests use configured email templates
- Distribution Lists: Event notifications use company-wide email distribution
- Individual Targeting: Targeted announcements send individual emails to selected recipients
Approval Workflow
Absence requests feed into the broader approval workflow:
- Request Queue: Pending requests appear in the Absence Requests management page for approvers
- Dual Approval: Both HR and operations managers can view and act on requests
- Status Tracking: Approval decisions update the request status visible to the employee
Summary
The Calendar & Announcements page consolidates three essential workplace communication and planning functions into a unified interface that serves daily operational needs across the organization:
As a Shared Calendar:
- Provides visual month-by-month event tracking with filtering by category
- Enables team-wide visibility of company events, division meetings, and conference room bookings
- Supports planning and coordination through shared scheduling information
As an Announcement Board:
- Creates a persistent, visible channel for company communications that doesn't get lost in email
- Supports both organization-wide broadcasts and targeted messaging to specific employees
- Automatically manages announcement lifecycle through expiration dates
- Highlights new announcements to ensure recent communications receive attention
As an Absence Request System:
- Empowers employees to submit time-off requests directly without manual paperwork
- Captures complete request information including dates, hours, type, and backup coverage
- Routes requests to appropriate approvers with automatic notifications
- Provides request history for employees to track their submissions and approvals
The integration of these functions reflects how modern workplaces operate: employees need to know about events, stay informed about company news, and manage their time away from work, often in the same planning session. By combining these capabilities with appropriate visibility controls, notification options, and approval workflows, the Calendar & Announcements page supports both individual employee needs and organizational communication goals.
The page exemplifies the balance between transparency (shared calendars, public announcements) and appropriate privacy (targeted announcements, individual absence history), ensuring information reaches the right people while respecting organizational boundaries. This balance, combined with automated notifications and approval routing, reduces administrative overhead while maintaining the controls necessary for effective workforce management.