Pest Control Operations CRM for Irish Pest Control Companies

Professional field & office management platform for Ireland

A secure, scalable, cloud-based platform that connects office administration, field technicians, customer communication, reporting, scheduling, sales and lead management, document storage, and email automation for Irish pest control companies. Built as a PWA for desktop, tablet, and mobile.

PestControlOS CRM (Web): Overview

A lightweight CRM built for pest control companies to manage leads, jobs, contracts, calendars, and reports in one place. It connects to Firebase for authentication and data storage, and supports multi-user scheduling so nothing gets missed.

  • Track work from lead to booked to completed
  • Admins assign jobs/contracts to technicians
  • Clear calendar/worklist view per user
  • Central place to find and share customer reports
  • Simple, fast, practical UI for daily use

Users & roles

Admins can view all user calendars, assign jobs or contracts to any user, update pipeline fields (lead status, converted price, etc.), manage commissions and lead tracking, and search and send stored reports to customers.

Technicians can view their own calendar, add/update jobs assigned to them (within allowed permissions), mark jobs/contracts as completed, and create follow-ups where required.

  • Admin: all calendars, assign work, pipeline & commissions, send reports
  • Technician: own calendar, assigned jobs/contracts, mark done, create follow-ups

Dashboard

A quick summary of today’s scheduled work, upcoming jobs and contracts, work due/behind list, lead pipeline summary, and optional recent activity. Includes filter/search by name to quickly find a customer, job, or contract.

  • Today's work, upcoming jobs & contracts
  • Work due / behind list, lead pipeline summary
  • Filter and search by name

Leads pipeline (funnel)

Tracks the flow of enquiries: New lead, Contacted, Quoted, Converted/Booked, Closed (won/lost). Supports notes per lead, converted value/estimated value updates, search and quick filtering, and admin-managed commission assignment.

  • Stages: New lead, Contacted, Quoted, Converted/Booked, Closed
  • Notes, value updates, search and filtering
  • Admin-managed commission assignment

Jobs

Jobs are one-off visits or tasks. Each job typically stores customer name, address, job description/notes, scheduled date and time, assigned technician, status (scheduled/completed), and optional follow-up date/time. When a job is marked complete, a follow-up can be scheduled if required.

  • Customer, address, description, date/time, assigned tech, status
  • Optional follow-up; schedule follow-up on completion

Contracts

Contracts are recurring customers (service agreements). Admin or user selects an existing contract and assigns it to a user calendar. Contract visits can be tracked with last visit and next visit logic. When a contract is marked complete it is removed from the calendar UI (not deleted from Firebase); contract status can be updated as needed in Firebase.

  • Recurring service agreements, assign to user calendar
  • Last visit + next visit tracking
  • Mark complete removes from calendar UI; data stays in Firebase

Calendar scheduling (per user)

Each user has their own calendar view. Events show name, address, ID, and (for jobs) description. Assign contracts/jobs to a chosen user. Events are color-coded per user (e.g. User 1: orange, User 2: blue, Admin: purple). Admin can view multiple calendars side-by-side or toggled.

  • Per-user calendar; events show name, address, ID, description
  • Assign contracts/jobs to chosen user
  • Color-coded events; admin can view multiple calendars

Reports (search & share)

Reports are created in the mobile app and stored in Firebase. The CRM supports searching reports by customer name, ID, or keywords; viewing metadata (date, customer, type); sending reports to customer email (admin action); and quick retrieval so staff don’t dig through folders manually.

  • Search by customer name / ID / keywords
  • View metadata; send to customer email (admin)
  • Quick retrieval from Firebase Storage

Commissions

Admin assigns commissions per lead, job, or contract. Technicians can view their assigned commissions.

  • Admin assigns commissions per lead/job/contract
  • Technicians view assigned commissions

Typical daily flow

Admin checks leads and updates statuses, then books jobs/contracts. Admin assigns work to technicians via the calendar. Technician completes the visit, marks it done, and schedules a follow-up if needed. Reports are searchable and can be sent to customers when requested.

  • Admin: leads → statuses → book jobs/contracts → assign via calendar
  • Technician: complete visit → mark done → schedule follow-up if needed
  • Reports: search and send to customers when requested

Integrations

Firebase Authentication for user login; Firebase Database/Firestore for CRM data; Firebase Storage for report PDFs and files; email sharing for customer documents (Gmail-based workflow).

  • Firebase Auth (login), Firestore (CRM data), Storage (reports & files)
  • Email sharing for customer documents (Gmail-based)

Overview & core purpose

The Pest Control Operations CRM is a secure, scalable, cloud-based management platform designed specifically for service-driven pest control businesses. It provides a complete operational ecosystem connecting office administration, field technicians, customer communication, reporting, scheduling, sales and lead management, document storage, and email automation.

Built as a Progressive Web App (PWA), the platform runs in any modern browser and is optimized for desktop, tablet, and mobile. It is powered by React (TypeScript), Firebase Authentication, Firestore, Firebase Storage, Cloud Functions, and Google Calendar and Gmail API integration.

The CRM is designed to eliminate missed visits, centralize operational data, improve technician accountability, automate communication, track revenue and commission, provide structured scheduling, securely store customer documents, and maintain role-based access control.

  • PWA: runs in any modern browser, desktop/tablet/mobile
  • React, TypeScript, Firebase (Auth, Firestore, Storage, Functions)
  • Google Calendar and Gmail API integration

User roles & access control

The system enforces strict role-based access via Firebase Authentication and Firestore Security Rules.

Super_admin has full system control: all data visibility, full calendar access, contract management, job management, lead management, email sending, report deletion, and shared account configuration.

Admin handles operational management: all scheduling, contracts, jobs, lead management, email sending, and document management. Admins cannot delete protected reports.

Tech (field technician) has a personal dashboard, personal schedule, assigned contracts, assigned jobs, personal commission tracking, and report uploads. No access to other technicians’ data.

  • super_admin: full control, report deletion, shared account config
  • admin: all scheduling, contracts, jobs, leads, email, documents
  • tech: personal dashboard, schedule, assigned contracts/jobs, commission, uploads only

Calendar & scheduling

The calendar module provides structured scheduling for field operations. It includes a monthly calendar view, event creation (contract, job, follow-up), event editing, and status tracking: Scheduled, In Progress, Completed, Cancelled.

Admin and super_admin can view and manage all technician calendars. Technicians can only manage their own calendar. Firestore rules prevent unauthorized calendar access. Each technician’s events are color-coded for clarity in administrative views.

Date normalization ensures cross-platform compatibility with the Android app.

  • Monthly calendar view, event creation and editing
  • Status: Scheduled, In Progress, Completed, Cancelled
  • Multi-technician overview for admin; personal view for techs
  • Color-coded events by technician

Contract management

Structured service contract tracking per technician. Add new contracts, assign technician, track visit frequency, last visit date, and automatically calculate next visit.

Status logic: Overdue, Due Soon, On Schedule, No Date. Contracts can be added directly to the calendar. Search and filter capabilities are included. Contracts are scoped by technician access level.

  • Add contracts, assign technician, track frequency and last/next visit
  • Status: Overdue, Due Soon, On Schedule, No Date
  • Add to calendar, search and filter

Job management

Two job types: Service Jobs (customer-facing operational jobs with customer details, issue details, assigned technician, status tracking, payment information) and Management Jobs (internal operational tasks with title, priority, due date, assignment, status tracking).

Role-based access ensures technicians only see assigned jobs. Admins can assign any technician; technicians cannot assign others.

Calendar events can create new jobs or link to existing jobs; event and job documents stay in sync.

  • Service jobs: customer details, issue, assigned tech, status, payment
  • Management jobs: internal tasks, priority, due date, assignment
  • Technicians see only assigned jobs

Leads & commission tracking

Sales pipeline management and commission calculation. Features include lead creation, lead assignment, invoice status tracking (Pending, Sent, Paid, Overdue), commission auto-calculation, materials cost tracking, and filtering by technician or lead type. Administrative override controls are available. Commission structure is configurable.

  • Lead creation and assignment
  • Invoice status: Pending, Sent, Paid, Overdue
  • Commission auto-calculation, materials cost
  • Filter by technician or lead type

Sales & quoting engine

Built-in quotation generation. Load pricing from cloud configuration, generate professional quote breakdowns, export quote summary, prefill email sending, and submit via integration-ready API.

  • Cloud pricing configuration
  • Professional quote breakdowns and export
  • Prefill email, API submission

Document & report management

All reports are stored securely in Firebase Storage. Folder-based organization, recursive browsing, file preview, secure download, upload permissions by role, and rename capability. Super-admin-only deletion. Optional real-time refresh via metadata tracking.

  • Folder-based organization, recursive browsing
  • Preview, secure download, upload and rename by role
  • Super-admin-only deletion

Email integration

Secure Gmail API integration via Firebase Cloud Functions. Compose and send emails, attach documents from cloud storage, template-based messaging, recent email history logging, shared organizational email account, and server-side rate limiting. Role-restricted: technicians cannot send emails.

  • Compose, attach documents from storage, templates
  • Recent email history, shared organisational account
  • Server-side rate limiting; admin/super_admin only

Authentication & identity

Firebase Authentication with Google OAuth. Role is resolved from the Firestore staff collection. User session is stored in users/{uid}. Role and access control are enforced by client-side route guards, Firestore security rules, and Cloud Function validation.

  • Google OAuth via Firebase Auth
  • Role from Firestore staff collection
  • Route guards, Firestore rules, Cloud Function validation

Data architecture

Firestore collections: staff, users, *_workview (calendar events), technician-specific contract collections, JobWork, ManagmentJobs, Leads, sharedAccounts, emailHistory, and optional storage_metadata. Firebase Storage provides secure document storage organized by operational category.

  • Firestore: staff, users, *_workview, contracts, JobWork, ManagmentJobs, Leads, sharedAccounts, emailHistory
  • Firebase Storage for documents

Security model

Authentication via Google OAuth and Firebase Auth. Authorization is enforced by Firestore Security Rules: role-based read/write access, technician data scoping, calendar isolation, lead editing restrictions, report deletion restrictions, and token protection for shared accounts. No production secrets are committed; environment variables and Firebase config are used. Token storage is restricted to super_admin.

  • Role-based read/write, technician scoping, calendar isolation
  • Lead and report deletion restrictions, token protection
  • Secrets via environment variables and Firebase config

Technical stack & deployment

Frontend: React 18, TypeScript, Vite, Tailwind CSS, React Query, Radix UI. Backend: Firebase Auth, Firestore, Firebase Storage, Cloud Functions, Google Calendar API, Gmail API. Hosting: Firebase Hosting (multi-site ready).

Development: npm run dev. Build: npm run build. Deploy: firebase deploy for hosting, firestore:rules, and functions.

  • React 18, TypeScript, Vite, Tailwind, React Query, Radix UI
  • Firebase Auth, Firestore, Storage, Functions, Calendar API, Gmail API
  • Firebase Hosting

Deployment & scalability

The CRM supports single-company deployments, multi-company white-label deployments, multi-site hosting, separate Firebase projects per company, and environment-based configuration. It is designed for multi-technician and multi-location operations with an expandable modular architecture. Future integration may include route optimization, automated scheduling, financial reporting, and API integrations.

  • Single or multi-company white-label, multi-site hosting
  • Separate Firebase projects per business
  • Multi-technician and multi-location ready

Compliance & professional use

Suitable for commercial pest control companies, service maintenance businesses, field service organizations, and regulated reporting environments. Data is secured through Firebase Auth, Firestore rule enforcement, role-based access, server-side email validation, and restricted token access.

  • Commercial pest control, service maintenance, field service
  • Regulated reporting environments
  • Firebase Auth, Firestore rules, role-based access, server-side validation