ARPIA Docs

Calendar Example: Events Company

Updated October 26, 2026

This guide demonstrates how to set up a complete calendar system for an events management company. You'll learn how to create an events calendar that displays company events, allows team members to add new events, and provides quick access to event details.

📚 Before starting: Review the Calendar Screen Overview for concepts and Step-by-Step Guide for configuration details


Use Case Overview#

Scenario: Your events company manages multiple types of events (corporate meetings, weddings, conferences, parties) across different venues. You need a centralized calendar where your team can:

  • View all upcoming events at a glance
  • Add new events quickly
  • Filter events by type or status
  • Access detailed event information by clicking on any event
  • Drag and drop to reschedule events

What You'll Build:\ A fully functional calendar system that displays your company's events with filtering capabilities, custom forms for adding/editing events, navigation to detailed event screens, and drag-and-drop rescheduling. By the end of this guide, your team will have real-time visibility into all bookings with zero double-booking incidents.



Part 1: Create Your Events Table#

Step 1.1: Design the Table Structure#

Create a new table called "Company_Events" with the following columns:

Column Name Data Type Description Required
event_id Text (VARCHAR) Unique identifier (Primary Key) Yes
event_name Text (VARCHAR) Name of the event Yes
event_type Text (VARCHAR) Type: Corporate, Wedding, Conference, Party Yes
event_status Text (VARCHAR) Status: Confirmed, Tentative, Cancelled Yes
start_datetime DateTime Event start date and time Yes
end_datetime DateTime Event end date and time Yes
venue Text (VARCHAR) Location/venue name Yes
client_name Text (VARCHAR) Client or company name No
attendees Number (INT) Expected number of attendees No
event_coordinator Text (VARCHAR) Staff member responsible No
is_all_day Boolean Yes/No for all-day events No
budget Currency DECIMAL(10, 2) Event budget No
notes Long Text Additional event details No

Step 1.2: Add Sample Data#

Add some sample events to test your calendar:

INSERT INTO Company_Events (event_id, event_name, event_type, event_status, start_datetime, end_datetime, venue, client_name, attendees, event_coordinator, is_all_day, budget, notes)
VALUES 
('EVT-001', 'Annual Tech Conference 2024', 'Conference', 'Confirmed', '2024-12-15 09:00:00', '2024-12-15 17:00:00', 'Downtown Convention Center', 'TechCorp Inc.', 500, 'Sarah Johnson', FALSE, NULL, NULL),
('EVT-002', 'Johnson-Smith Wedding', 'Wedding', 'Confirmed', '2024-12-20 15:00:00', '2024-12-20 23:00:00', 'Riverside Garden Estate', 'Emily Johnson & Mark Smith', 150, 'Maria Rodriguez', FALSE, NULL, NULL),
('EVT-003', 'Q4 Board Meeting', 'Corporate', 'Tentative', '2024-12-18 10:00:00', '2024-12-18 12:00:00', 'Corporate HQ - Room 301', 'ABC Corporation', 25, 'John Davis', FALSE, NULL, NULL),
('EVT-004', 'New Year Gala 2025', 'Party', 'Confirmed', '2025-01-10 19:00:00', '2025-01-11 01:00:00', 'Grand Ballroom Hotel Plaza', 'Sterling Enterprises', 300, 'Sarah Johnson', FALSE, 45000.00, 'Black tie event with live band and catering'),
('EVT-005', 'Spring Product Launch', 'Corporate', 'Confirmed', '2025-03-15 14:00:00', '2025-03-15 18:00:00', 'Innovation Hub', 'TechStart Solutions', 200, 'John Davis', FALSE, 25000.00, 'Product demo and networking session'),
('EVT-006', 'Summer Leadership Retreat', 'Conference', 'Confirmed', '2025-06-05 08:00:00', '2025-06-07 17:00:00', 'Mountain View Resort', 'Global Dynamics Corp', 80, 'Maria Rodriguez', TRUE, 120000.00, 'Three-day executive retreat with team building activities'),
('EVT-007', 'Martinez Family Reunion', 'Party', 'Tentative', '2025-06-21 12:00:00', '2025-06-21 20:00:00', 'Lakeside Park Pavilion', 'Martinez Family', 75, 'Sarah Johnson', FALSE, 8000.00, 'Outdoor event with BBQ and games'),
('EVT-008', 'Annual Charity Fundraiser', 'Corporate', 'Confirmed', '2025-09-12 18:00:00', '2025-09-12 22:00:00', 'City Opera House', 'Community Foundation', 400, 'John Davis', FALSE, 60000.00, 'Silent auction and dinner for local charities'),
('EVT-009', 'Thompson-Lee Wedding', 'Wedding', 'Confirmed', '2025-09-27 16:00:00', '2025-09-28 00:00:00', 'Oceanview Resort & Spa', 'Jessica Thompson & David Lee', 180, 'Maria Rodriguez', FALSE, 95000.00, 'Beachfront ceremony with reception'),
('EVT-010', 'Holiday Corporate Mixer', 'Corporate', 'Tentative', '2025-11-20 17:00:00', '2025-11-20 21:00:00', 'Skyline Rooftop Lounge', 'Multiple Companies', 120, 'Sarah Johnson', FALSE, 15000.00, 'Networking event for local businesses');

Part 2: Set Up the Calendar Screen#

Step 2.1: Create a New Calendar Screen#

  1. Navigate to your application's screen builder
  2. Create a new screen and select Calendar as the screen type
  3. Name it: "Events Calendar" or "Company Events Calendar"

Step 2.2: Configure Repository and Table#

  1. Click the play symbol next to the save button in the top-right corner and select preview app
  2. Click Screen Settings in the top-right corner
  3. In the Repository for Calendar tab: * Repository: Select your repository (e.g., "Events_Repository")
  4. Click SAVE
  5. Refresh your browser page (important!)
  6. Return to Screen Settings to continue
  7. In the Repository for Calendar tab * Table: Select "Company_Events" *
  8. Click SAVE
  9. Refresh your browser page (important!)
Tip

Why Refresh? The system needs to reload and recognize all columns from your selected table before you can map them in the next steps.


Part 3: Configure Calendar Display Settings#

Step 3.1: Set Required Calendar Fields#

Navigate to the Calendar Settings tab and configure:

Field Select Why
Start Calendar in: Month Month view is best for overview
Event Start Date Column: start_datetime Maps to your event start times
Event End Date Column: end_datetime Maps to your event end times
Event Title Column: event_name Displays the event name on calendar

Click Preview to see your events appear on the calendar for the first time!

Step 3.2: Configure Optional Settings#

Enhance your calendar with these optional features:

Setting Configuration Purpose
Calendar Title: "Company Events Calendar" Adds a descriptive header
View Options: Enable: Month, Week, Day, List Allows users to switch views
Calendar Height: 1000 pixels Gives more vertical space
Shade Business Hours: Enabled Highlights 8 AM - 5 PM work hours
Enable Event Addition: Enabled Allows team to add new events
Event Addition Button Label: "+ New Event" Clear call-to-action
Enable Event Edition: Enabled Allows drag-and-drop rescheduling
Enable Add Event Button: Enabled Shows button in toolbar
Event Details: event_type Allows filtering by event type

Your calendar should now look professional and functional!


Tip

Tip Change the background color of your calendar so that the information can be visualize.


Part 4: Create the Add/Edit Event Form#

Step 4.1: Design the Form Layout#

Navigate to the Add Event Form tab. Create a user-friendly form with this structure:

Section 1: Event Details

  • Event Name (Text Field) - Required
  • Event Type (Chooser of an option: Corporate, Wedding, Conference, Party) - Required
  • Event Status (Chooser of an option: Confirmed, Tentative, Cancelled) - Required

Section 2: Date and Time

  • Start Date & Time (DateTime Picker) - Required
  • End Date & Time (DateTime Picker) - Required
  • All Day Event (Chooser of and option -> Checkbox)

Section 3: Location and Client

  • Venue (Text Field) - Required
  • Client Name (Text Field)
  • Expected Attendees (Number Field)

Section 4: Internal Details

  • Event Coordinator (Dropdown or Text Field)
  • Budget (Number Field)
  • Notes (Text Area)

Step 4.2: Set Form Validation#

Configure validation rules:

  • Event Name: Minimum 5 characters
  • Start DateTime: Must be before End DateTime
  • Expected Attendees: Minimum 1, Maximum 10,000
  • Budget: Minimum $0

Step 4.3: Field Mappings#

Ensure each form field maps to the correct table column:

Form Field Maps To
Event Name event_name
Event Type event_type
Event Status event_status
Start Date & Time start_datetime
End Date & Time end_datetime
Venue venue
Client Name client_name
Expected Attendees attendees
Event Coordinator event_coordinator
Budget budget
Notes notes
All Day Event is_all_day

Part 5: Configure Header Actions#

Step 5.1: Enable Header#

Navigate to the Header Options tab:

  1. Enable Show Header Options
  2. Click + ADD BUTTON to create action buttons

Step 5.2: Add Useful Action Buttons#

Button 1: View All Events (List)

  • Button Name: "View All Events"
  • Button Type: Screen Link
  • Destination: Events List Screen (create this separately if needed)

Button 2: Reports Dashboard

  • Button Name: "Reports"
  • Button Type: Screen Link
  • Destination: Events Analytics Screen

Button 3: Export Calendar

  • Button Name: "Export"
  • Button Type: URL Link
  • URL: https://yourcompany.com/export/calendar

Part 6: Configure Event Click Behavior#

Step 6.1: Set Up Event Detail Navigation#

Navigate to the Event Link tab and choose: Forward to Screen

Configuration:

  1. Destination Screen: Select your "Event Details" screen (you'll create this in Part 7)
  2. Primary Key Handling: Select "As a search value"
  3. Primary Key Column: event_id

This setup means: When someone clicks an event on the calendar, they'll be taken to a detailed view of that specific event.

Alternative Options:

If you don't have a detail screen yet, you can use:

  • Event Edit Form: Opens the edit form immediately
  • Forward to URL: https://yourcompany.com/events/@primary_key for external systems

Event Details Screen#

Create a dedicated screen to display full event information:

Include:

  • Event name (large, prominent)
  • Status badge (colored based on status)
  • Date and time range
  • Venue with map integration
  • Client information
  • Coordinator contact details
  • Budget and financial tracking
  • Guest list or attendee count
  • Timeline of event milestones
  • Documents and contracts
  • Notes section
  • Edit and Delete buttons

Events List Screen#

Create a filterable table view:

Columns to display:

  • Event Name
  • Type
  • Status
  • Start Date
  • Venue
  • Client
  • Coordinator
  • Attendees
  • Budget

Filters:

  • Date range
  • Event type
  • Status
  • Coordinator

Part 8: Test Your Calendar#

Test Scenario 1: Add a New Event#

  1. Click + New Event button
  2. Fill in the form: * Event Name: "Spring Gala 2025" * Event Type: Party * Status: Tentative * Start: 2025-03-15 19:00 * End: 2025-03-15 23:00 * Venue: Grand Ballroom * Client: Community Foundation * Attendees: 200
  3. Save and verify the event appears on the calendar

Test Scenario 2: Reschedule an Event#

  1. Find an existing event on the calendar
  2. Click and drag it to a new date
  3. Drop it on the new date
  4. Verify the dates updated correctly
  5. Check that end time adjusted proportionally

Test Scenario 3: Filter by Event Type#

  1. Use the filter dropdown (if configured)
  2. Select "Wedding" only
  3. Verify only wedding events display
  4. Switch to "Corporate" and verify filter works
  5. Clear filter to show all events

Test Scenario 4: Navigate to Event Details#

  1. Click on any event
  2. Verify you're taken to the Event Details screen
  3. Confirm the correct event information loads
  4. Test the "Edit" button from the detail screen

Test Scenario 5: Switch Calendar Views#

  1. Start in Month view
  2. Switch to Week view - verify all events display correctly
  3. Switch to Day view - verify hourly breakdown
  4. Switch to List view - verify chronological listing
  5. Return to Month view

Part 9: Advanced Configurations#

Color-Code Events by Type#

While not all platforms support this natively in calendar settings, you can:

  1. Create a status/type color mapping in your table
  2. Use conditional formatting if available
  3. Or use emoji prefixes in event names: * 🏢 Corporate events * 💒 Weddings * 🎤 Conferences * 🎉 Parties

Add Quick Filters for Coordinators#

Create additional filter options:

Events Filter Column: event_coordinator\ Events Filter Valid Values: Sarah Johnson, Maria Rodriguez, John Davis

This allows team members to view only their assigned events.

Set Up Recurring Events#

If your platform supports it:

  1. Add a "recurrence_pattern" column (e.g., "Weekly", "Monthly")
  2. Add a "recurrence_end_date" column
  3. Configure the form to include these fields
  4. Use platform rules to generate recurring event instances

Mobile Optimization#

Ensure your calendar works on mobile:

  1. Test responsive design on various screen sizes
  2. Verify touch interactions (tap, swipe, drag) work
  3. Consider reducing default height for mobile view
  4. Test form usability on smaller screens

Part 10: Team Training and Best Practices#

Training Your Team#

Key Points to Cover:

  1. How to add a new event (live demonstration)
  2. How to edit existing events
  3. How to use drag-and-drop for rescheduling
  4. How to apply filters to find specific events
  5. How to access event details
  6. What to do if an event is cancelled (update status, don't delete)

Best Practices for Your Events Company#

✓ Always include complete information - Fill all fields when creating events\ ✓ Update status promptly - Change from Tentative to Confirmed when contracts are signed\ ✓ Use consistent naming - Format: "[Client Name] - [Event Type]" (e.g., "Johnson Wedding - Reception")\ ✓ Add coordinator immediately - Assign responsibility from day one\ ✓ Update notes regularly - Track changes, client requests, and important details\ ✓ Review calendar daily - Check for upcoming events requiring attention\ ✓ Archive completed events - Move to a separate "Past Events" table quarterly\ ✓ Use tentative status - Don't add unconfirmed events as "Confirmed"

Common Mistakes to Avoid#

❌ Deleting events instead of marking as "Cancelled"\ ❌ Forgetting to update end times when rescheduling\ ❌ Creating duplicate events for the same booking\ ❌ Not assigning an event coordinator\ ❌ Using inconsistent venue names (e.g., "Conv Center" vs "Convention Center")\ ❌ Leaving budget field empty\ ❌ Not testing changes before rolling out to the team


Troubleshooting#

Issue: Events not showing on calendar#

Solutions:

  • Verify the date format in your table matches YYYY-MM-DD HH:MM:SS
  • Check that start_datetime and end_datetime have valid dates
  • Ensure you mapped the correct columns in Calendar Settings
  • Verify filter values aren't excluding events

Issue: Can't drag and drop events#

Solutions:

  • Confirm "Enable Event Edition" is turned on
  • Check user permissions for table modification
  • Verify you're not in List view (drag-drop only works in Month/Week/Day views)
  • Refresh the page and try again

Issue: Add Event button not appearing#

Solutions:

  • Enable "Enable Add Event Button" in Calendar Settings
  • Check that "Enable Event Addition" is turned on
  • Verify user has insert permissions on the table
  • Clear browser cache

Issue: Wrong events showing when clicking#

Solutions:

  • Verify Event Link settings point to correct screen
  • Check that primary key (event_id) is correctly configured
  • Ensure the detail screen accepts the search parameter
  • Test with a simple event first

Issue: Form not saving new events#

Solutions:

  • Check all required fields are completed
  • Verify field validation rules aren't too restrictive
  • Confirm user has write permissions
  • Check for unique constraint violations on event_id
  • Review browser console for error messages

Next Steps and Enhancements#

Phase 2: Add More Features#

  1. Event Timeline View * Create a Gantt-chart style view for setup/breakdown schedules * Show tasks before and after each event

  2. Resource Management * Add tables for equipment, staff, and venues * Link to events to track resource allocation

  3. Client Portal * Create a client-facing calendar with limited events * Allow clients to view their event details only

  4. Email Notifications * Set up automated reminders before events * Send notifications when events are rescheduled

  5. Financial Tracking * Link to invoice and payment tables * Show budget vs. actual costs

  6. Vendor Integration * Add vendor tables (caterers, photographers, etc.) * Link vendors to specific events

Metrics to Track#

Monitor these KPIs using your calendar data:

  • Events booked per month
  • Average event value
  • Events by type (which are most common)
  • Coordinator workload (events per person)
  • Venue utilization
  • Conversion rate (Tentative → Confirmed)
  • Cancellation rate

Conclusion#

You now have a fully functional calendar system for your events company! Your team can:

✅ View all company events in multiple formats\ ✅ Quickly add new events with comprehensive details\ ✅ Reschedule events with drag-and-drop\ ✅ Filter events by type, status, or coordinator\ ✅ Access detailed event information with one click\ ✅ Track event budgets and attendees

Summary Checklist#

  • [ ] Company_Events table created with all necessary columns
  • [ ] Sample data added for testing
  • [ ] Calendar screen created and configured
  • [ ] Repository and table selected (and page refreshed!)
  • [ ] Required calendar fields mapped correctly
  • [ ] Optional features enabled (filters, drag-drop, etc.)
  • [ ] Add/Edit event form designed and validated
  • [ ] Header action buttons added
  • [ ] Event click behavior configured
  • [ ] Event details screen created
  • [ ] All test scenarios completed successfully
  • [ ] Team trained on calendar usage
  • [ ] Best practices documented and shared

Need Help? Refer back to the Step-by-Step Guide: Calendar Screen for detailed information on any configuration step.


Appendix: Sample Event Data for Testing#

Use this data to fully populate your test calendar:

event_id,event_name,event_type,event_status,start_datetime,end_datetime,venue,client_name,attendees,event_coordinator,is_all_day,budget
EVT-001,Annual Tech Conference 2024,Conference,Confirmed,2024-12-15 09:00:00,2024-12-15 17:00:00,Downtown Convention Center,TechCorp Inc.,500,Sarah Johnson,No,75000
EVT-002,Johnson-Smith Wedding,Wedding,Confirmed,2024-12-20 15:00:00,2024-12-20 23:00:00,Riverside Garden Estate,Emily Johnson & Mark Smith,150,Maria Rodriguez,No,45000
EVT-003,Q4 Board Meeting,Corporate,Tentative,2024-12-18 10:00:00,2024-12-18 12:00:00,Corporate HQ - Room 301,ABC Corporation,25,John Davis,No,2500
EVT-004,Holiday Charity Gala,Party,Confirmed,2024-12-22 18:00:00,2024-12-22 23:00:00,Grand Ballroom,Community Foundation,300,Sarah Johnson,No,60000
EVT-005,Product Launch Event,Corporate,Confirmed,2025-01-10 14:00:00,2025-01-10 18:00:00,Tech Hub Auditorium,InnovateTech Solutions,200,Maria Rodriguez,No,35000
EVT-006,Davis-Lee Wedding Reception,Wedding,Tentative,2025-01-25 17:00:00,2025-01-25 22:00:00,Lakeside Manor,Susan Davis & Alex Lee,120,John Davis,No,38000
EVT-007,Regional Sales Conference,Conference,Confirmed,2025-02-05 08:00:00,2025-02-07 17:00:00,Seaside Resort & Spa,GlobalCorp,350,Sarah Johnson,No,95000
EVT-008,Team Building Retreat,Corporate,Confirmed,2025-02-15 09:00:00,2025-02-15 16:00:00,Mountain Lodge,XYZ Company,80,Maria Rodriguez,No,15000
EVT-009,Spring Networking Mixer,Party,Tentative,2025-03-08 18:00:00,2025-03-08 21:00:00,Rooftop Terrace,Business Associates Network,100,John Davis,No,12000
EVT-010,Annual Shareholders Meeting,Corporate,Confirmed,2025-03-20 10:00:00,2025-03-20 15:00:00,Corporate HQ - Main Hall,PublicCorp Inc.,400,Sarah Johnson,No,50000

Copy this data and import it into your Company_Events table for a realistic test environment.

↑↓ to move↵ to openEsc to close