EventPro
User Guide
A complete reference for managers, coordinators, and staff using the EventPro event management platform.
Table of Contents
| # | Chapter | Topics Covered |
|---|---|---|
| 1 | Introduction | Platform overview, modules, user roles, login |
| 2 | Dashboard | Widgets, navigation, quick actions |
| 3 | Clients | CRM, adding, editing, deactivating clients |
| 4 | Bookings | Lifecycle, creating, managing, staff assignment |
| 5 | Staff Management | HR records, profiles, departments, roles |
| 6 | Payroll & Payslips | Earnings, deductions, net pay, approval flow |
| 7 | HR Letters | Letter types, creating, tracking |
| 8 | Leave Management | Requesting, approving, rejecting leave |
| 9 | Clocking & Attendance | Clock in/out, access levels, reports |
| 10 | Tickets | Issuing, scanning, validating event tickets |
| 11 | Gallery | Media library, uploading, event albums |
| 12 | Customer Portal | Client self-service, Google OAuth, portal features |
| 13 | Admin Panel | Django admin, user accounts, system settings |
| 14 | Troubleshooting | Common issues and solutions |
EventPro is a full-featured, web-based event management platform built for professional event planning companies. It centralises every aspect of running an events business — from capturing client enquiries and managing bookings, to processing payroll, tracking staff attendance, and providing customers with a self-service portal. All modules share a single database and a role-protected interface, ensuring that every team member works with live, consistent information at all times.
Modules at a Glance
| Module | URL Prefix | Purpose |
|---|---|---|
| Core / Dashboard | /dashboard/ | Central hub with metrics, quick links, and system-wide navigation. |
| Clients | /clients/ | Full CRM for corporate and individual clients with contact history. |
| Bookings | /bookings/ | End-to-end booking lifecycle from enquiry through to completion. |
| Staff | /staff/ | HR records, payslips, HR letters, and leave management. |
| Clocking | /clocking/ | Real-time staff clock-in / clock-out with event-linked access-level badges. |
| Tickets | /tickets/ | Event ticketing — issuance, scanning, and validation. |
| Gallery | /gallery/ | Photo and media library organised by event. |
| Customer Portal | /customer/ | Branded self-service portal for clients to browse and track their events. |
| Admin Panel | /admin/ | Django administration for system-level configuration and user management. |
User Roles & Permissions
EventPro uses three system-level access roles. Each staff member is assigned one role on their profile, and this governs which pages and actions they can access across the entire platform.
Full System Access
- Create, edit, delete any record
- Manage system settings
- Approve payroll & payslips
- Manage user accounts
- View all reports
- Configure access levels
Operational Access
- View & edit most records
- Approve leave requests
- View payslips
- Manage assigned bookings
- Clock staff in/out
- Cannot delete core records
Limited Access
- View own profile
- Submit leave requests
- View assigned events
- Clock in/out (own records)
- Read-only on most pages
- Cannot manage other staff
Logging In
Standard Login
Google OAuth (Customer Portal)
The Dashboard is the first screen shown after a successful login. It provides a real-time snapshot of the business and serves as the primary navigation hub.
Dashboard Widgets
| Widget | Description |
|---|---|
| Upcoming Events | Confirmed bookings scheduled within the next 7 days — shows client name, event type, date, and venue. |
| Staff on Duty | Staff members currently clocked in across all active events, updated in real-time from Clocking module. |
| Pending Actions | Highlights leave requests awaiting approval, draft payslips, and unconfirmed bookings needing attention. |
| Revenue Summary | Quick view of invoiced versus received amounts for the current calendar month. |
| Recent Bookings | The five most recently created or modified booking records with direct links. |
| Quick Actions | One-click buttons to create a new booking, add a client, or clock staff in. |
Navigation
The top navigation bar contains links to every primary module. Visibility is role-based — staff only see modules they are permitted to access. The user profile icon in the top-right corner opens account settings and the logout button.
The Clients module is the CRM layer of EventPro. Every booking must be linked to a client record, making this module the foundation for all event activity.
Viewing Clients
Adding a New Client
Legal name of the individual or organisation.
Primary contact email. Must be unique across all client records.
Mobile or landline number including country code.
Individual or Corporate. Defaults to Individual.
Organisation name — used for corporate clients.
Physical or mailing address for invoicing and correspondence.
Internal comments, preferences, or special instructions.
Active or Inactive. Inactive clients are hidden from booking dropdowns.
Editing & Deactivating Clients
Open the client detail view and click Edit. Make changes and click Save. To deactivate a client without deleting their history, set their status to Inactive. Their full record, including all past bookings and invoices, is preserved.
Booking Lifecycle
Every event moves through a defined set of statuses. Understanding these is essential for effective pipeline management.
| Status | Meaning | Next Action |
|---|---|---|
| Enquiry | Client has expressed interest. No contract signed yet. | Send proposal, get deposit, move to Confirmed. |
| Confirmed | Contract signed and deposit received. Event on calendar. | Assign staff, arrange services. |
| In Progress | The event is happening today. Staff can clock in against it. | Monitor attendance, record issues. |
| Completed | Event finished and invoice fully settled. | Archive, request testimonial. |
| Cancelled | Booking was cancelled. Reason and date are recorded. | Process refund if applicable. |
Creating a Booking
| Field | Required | Description |
|---|---|---|
| Client | ✅ | Link to an existing client record. |
| Event Type | ✅ | Wedding, Corporate, Birthday, Conference, Gala, etc. |
| Event Date | ✅ | Date the event takes place. |
| Status | ✅ | Current stage in the lifecycle. |
| Venue | — | Location name and address. |
| Start / End Time | — | Planned event operating hours. |
| Guest Count | — | Expected number of attendees. |
| Budget | — | Agreed total budget for the event. |
| Services Required | — | Catering, Decoration, Photography, Security, Transport, etc. |
| Notes | — | Internal planning notes and special instructions. |
Managing Existing Bookings
From the booking detail view you can update the status, add documents, generate invoices, record payments, and view a full activity log. Every change to a booking is time-stamped in the audit trail.
Assigning Staff to Events
The Staff module is EventPro's built-in HR system. It stores employment records for every team member and provides tools for payroll, HR letters, and leave management.
Viewing the Staff List
Navigate to /staff/. The default view shows all active staff, sorted alphabetically by last name. Use the filter panel to narrow results by Department, Role, or search by name. Click any row to open the full staff profile.
Adding a New Staff Member
| Field | Required | Notes |
|---|---|---|
| Employee ID | ✅ | Unique identifier, max 20 characters. Must not duplicate an existing ID. |
| First Name | ✅ | Legal given name. |
| Last Name | ✅ | Legal family name. |
| ✅ | Work email. Must be unique across all staff records. | |
| Phone | ✅ | Primary contact number including country code. |
| Role | ✅ | Manager, Coordinator, Decorator, Caterer, Driver, Security, Technical Support, Photographer, or Other. |
| Department | — | Links the record to an organisational department. Departments must exist first. |
| Date Hired | ✅ | Commencement date of employment. |
| Date of Birth | — | Used for age verification and HR compliance records. |
| National ID | — | Government-issued ID number for compliance. |
| Basic Salary | ✅ | Monthly gross basic salary before allowances or deductions. Pre-fills payslip forms. |
| Access Level | ✅ | System login role — Admin, Supervisor, or Staff. |
| Status | ✅ | Active, Inactive, On Leave, or Terminated. |
| Emergency Contact | — | Name of person to contact in an emergency. |
| Emergency Phone | — | Contact number for the emergency contact. |
| Photo | — | Profile image uploaded to the server's media directory. |
| Notes | — | Internal HR notes — not visible to the staff member. |
Editing a Staff Member
Open the staff profile and click Edit. All fields except Employee ID can be modified. Changes are automatically time-stamped. When a staff member leaves, set their status to Terminated rather than deleting the record — this preserves all historical payroll, attendance, and letter data.
Staff Profile Tabs
| Tab | Contents |
|---|---|
| Overview | Core contact information, role, salary, status, and emergency contact details. |
| Payslips | Six most recent payslips with quick-view amounts. Click View All for full payroll history. |
| Letters | All HR letters issued to this staff member, ordered by date descending. |
| Leave History | All leave requests submitted, including current status (Pending / Approved / Rejected). |
| Clock Records | Attendance log from the Clocking module showing every clock-in and clock-out. |
EventPro generates monthly payslips for each staff member, recording all earnings and deductions and calculating net pay automatically. Only one payslip can exist per staff member per month — attempting to create a duplicate will update the existing record.
Creating a Payslip
Fields & Net Pay Formula
Earnings
| Field | Description |
|---|---|
| Basic Salary | Core monthly salary. Pre-filled from the staff record but can be overridden per payslip. |
| Housing Allowance | Fixed monthly housing supplement. |
| Transport Allowance | Fixed monthly transport supplement. |
| Overtime | Payment for hours worked beyond the normal schedule. |
| Bonus | One-off or performance-based extra payment. |
Deductions
| Field | Description |
|---|---|
| Tax Deduction | Income tax withheld at source. |
| Insurance Deduction | Health or life insurance premium. |
| Other Deductions | Loans, salary advances, disciplinary deductions, or any other amounts. |
Calculated Values
Payslip Approval Workflow
| Status | Who Sets It | Meaning |
|---|---|---|
| Draft | Payroll creator | Payslip is being prepared. Can be edited freely. Not yet visible to staff. |
| Approved | Admin / Supervisor | Figures reviewed and signed off. Ready for payment processing. |
| Paid | Admin | Salary has been disbursed. Record is finalised and locked. |
EventPro can generate and store formal HR letters for each staff member. Letters are linked to the staff profile for easy retrieval and audit trail purposes.
Letter Types
Creating a Letter
| Field | Description |
|---|---|
| Letter Type | Category of letter — controls display label and template defaults. |
| Subject | One-line description appearing as the letter heading (max 200 characters). |
| Content | Full letter body. Supports multi-paragraph text. |
| Date | Official date of the letter — used on the printed document. |
| Signed By | Full name of the authorising signatory. |
| Signed By Title | Job title of the signatory (e.g. Human Resources Manager). |
| Is Sent | Checkbox to mark whether the letter has been delivered to the staff member. |
The leave management system allows staff to submit leave requests that supervisors or admins can approve or reject. All leave history is recorded on the staff profile.
Leave Types
Submitting a Leave Request
Approving or Rejecting Leave (Supervisors & Admins)
| Status | Meaning |
|---|---|
| Pending | Request submitted, awaiting a decision from a Supervisor or Admin. |
| Approved | Leave granted. The approver's name and timestamp are recorded. |
| Rejected | Leave declined. The staff member should follow up with their manager. |
The Clocking module provides real-time attendance tracking for staff across all events. It integrates directly with the Bookings module so that every clock record is linked to a specific event, enabling accurate hours-worked reporting per booking.
Clocking Dashboard
Navigate to /clocking/ to open the main dashboard. It shows all staff currently clocked in, recent clock-out records, and controls to clock staff in or out.
Clocking Staff In
Clocking Staff Out
Access Levels (Event Badges)
Each clock-in record includes an access level that determines what areas and actions the person can access at the event venue.
Full Event Access
Operational Access
Standard Access
VIP / Guest
Attendance Reports
Navigate to /clocking/report/ to view attendance records. Use the Booking filter to see all clock records for a specific event, including total hours worked by each staff member. Reports show up to the last 100 records by default.
The Tickets module handles event ticketing — issuing tickets to guests, scanning and validating them at the venue, and tracking attendance at ticketed events. Tickets are linked to individual bookings.
Managing Tickets
Navigate to /tickets/ to access the tickets module. From here you can issue new tickets, search existing tickets by code or guest name, and view the validation status of all issued tickets for an event.
| Action | Description |
|---|---|
| Issue Ticket | Generate a ticket for a specific booking. A unique ticket code is assigned automatically. |
| Search Ticket | Look up a ticket by code, guest name, or booking reference. |
| Validate Ticket | Mark a ticket as used/scanned when a guest arrives. Prevents duplicate entry. |
| Print / Export | Print a ticket or export it as a PDF to send digitally to the guest. |
| Ticket Report | View totals for issued, validated, and remaining tickets per booking. |
The Gallery module is a media library where photos and event images are stored and organised by event. It can be used to share event highlights with clients through the Customer Portal.
Using the Gallery
Navigate to /gallery/ to access the media library. Albums are automatically created per booking when the first image is uploaded.
| Action | How To |
|---|---|
| Upload Photos | Open or create an album, then click Upload. Supports JPG, PNG, and WEBP formats. Multiple files can be uploaded at once. |
| Organise Albums | Albums are named after the linked event booking. You can rename or add descriptions to each album. |
| Share with Client | Toggle the "Visible to Client" switch on an album to make it accessible in the Customer Portal. |
| Delete Media | Select photos and click Delete. This is permanent — ensure you have a backup before deleting. |
The Customer Portal at /customer/ is a separate branded interface for your clients. It allows them to log in, view their event bookings, access shared galleries, and track the progress of their events — without needing access to the internal staff dashboard.
Portal Features for Clients
| Feature | Description |
|---|---|
| My Bookings | View all events booked by this client account, with status, date, and venue. |
| Event Details | Drill down into a specific booking to see services included, timeline, and notes shared by the event team. |
| Gallery Access | Browse event photos in albums that have been marked as client-visible by staff. |
| Profile Management | Update contact details and notification preferences. |
Authentication Options
| Method | URL | Notes |
|---|---|---|
| Username & Password | /customer/login/ | Standard Django auth. Accounts created by staff in the admin panel. |
| Google OAuth | /social-auth/login/google-oauth2/ | One-click Google login. Automatically creates a CustomerProfile on first sign-in. Requires Google OAuth credentials configured in settings. |
GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET environment variables and add the correct redirect URI in the Google Cloud Console.The Django Admin Panel at /admin/ provides direct database-level access for system administrators. It should only be used by technical administrators for tasks not available in the main interface.
Common Admin Tasks
| Task | Path in Admin |
|---|---|
| Create / reset user accounts | /admin/auth/user/ |
| Manage departments | /admin/staff/department/ |
| Configure clocking access levels | /admin/clocking/accesslevel/ |
| View all payslips | /admin/staff/payslip/ |
| Manage all leave requests | /admin/staff/leaverequest/ |
| View raw clock records | /admin/clocking/clockrecord/ |
| Manage OAuth social accounts | /admin/social_django/usersocialauth/ |
Creating a New User Account
This chapter covers the most common issues encountered by EventPro users and their solutions.
Common Issues
| Issue | Likely Cause | Solution |
|---|---|---|
| Cannot log in | Incorrect credentials, inactive account, or password expired. | Double-check username/password. Ask an Admin to verify account status in /admin/auth/user/. |
| Staff not appearing in dropdown | Staff member's status is not Active. | Open the staff profile and set status to Active. Save and try again. |
| "Already clocked in" error | An open clock-in record exists for this staff + booking combination. | Clock out the existing record first, then clock in again if needed. |
| Payslip duplicate error | A payslip already exists for this staff member and month. | The existing payslip will be updated, not duplicated. This is expected behaviour. |
| Cannot see a module | Insufficient access role assigned to your account. | Ask an Admin to update your Access Level on your staff profile. |
| Image upload fails | File too large, wrong format, or media directory permissions issue. | Ensure file is JPG/PNG/WEBP under 5MB. Ask a technical admin to check media directory write permissions. |
| Google OAuth not working | Missing or incorrect OAuth credentials, or redirect URI mismatch. | An Admin must set GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET env vars and verify the redirect URI in Google Cloud Console. |
| Missing departments | No departments created in the system. | An Admin must create departments at /admin/staff/department/ before they appear in staff dropdowns. |
| Reports show no data | No records match the selected filter period or booking. | Widen the date range or check that the booking ID is correct. |
| Page shows 404 Not Found | Incorrect URL or the record was deleted. | Check the URL for typos. If the record was deleted, it cannot be recovered. |
Getting Further Help
| Support Channel | Best For |
|---|---|
| Your System Administrator | Account issues, permission changes, data corrections, and system configuration. |
| Django Admin Panel | Direct data access for technical admins (use with caution). |
| Server Error Logs | Technical debugging of 500 errors. Accessible to server administrators only. |