PestPilot Pro

Implementation Status

Truthful, feature-by-feature status for PestPilot Pro. Last updated July 2026.

Live

43

of 59 features

Needs Credentials

7

of 59 features

Partial

6

of 59 features

Not Built

3

of 59 features

External Credentials Required

The following integrations are built and ready — they just need real API keys to go live:

SMTP credentialsStripe API keysSMTP + TwilioTwilio
Live

Email/password signup & login

BetterAuth with hashed passwords, session cookies, remember-me.

Needs Credentials

Forgot / reset password flow

UI and API built. Emails require SMTP credentials (SMTP_HOST, SMTP_USER, SMTP_PASS).

Requires: SMTP credentials
Live

Role-based redirect after login

Owner → /dashboard, Technician → /tech, Customer → /portal.

Not Built

Google / GitHub OAuth

Commented out in auth config. Requires GOOGLE_CLIENT_ID / GITHUB_CLIENT_ID.

Live

Multi-company data isolation

companyId enforced server-side on all API routes via middleware.

Live

16-step onboarding wizard

Progress tracked in DB. Save & resume supported.

Live

Company profile (name, address, etc)

Full CRUD. Legal name, DBA, entity type, hours, timezone.

Live

Logo upload

Uploaded to /shared-storage/public/assets/. Served via /airo-assets/uploads/.

Live

Service area (ZIP, radius, territory)

Full CRUD with technician territory assignment.

Live

Onboarding checklist dashboard

18-item tracker. Can launch with incomplete optional items.

Live

Customer list (search, filter, page)

Paginated, searchable, sortable.

Live

Customer detail page

Service history, invoices, photos, properties, billing tab.

Live

Customer CRUD

Create, edit, deactivate. Full field set.

Live

CSV / XLSX import wizard

Upload, column mapping, validation, dedup, rollback.

Partial

Customer portal (self-service)

Portal shell and routes exist. Appointment history and concern submission built. Payment portal is UI-only without Stripe.

Live

Week / day / unscheduled schedule

Full calendar with drag-assign technicians.

Live

Appointment CRUD

13-status enum, recurring appointments, status audit log.

Live

Live dispatch board

Per-technician columns, color-coded status, auto-refresh (30s), date nav.

Partial

Recurring appointment generation

Recurring flag and frequency stored. Auto-generation of future appointments not yet scheduled.

Live

Invoice create / edit / send

Full CRUD. Tax, discount, line items. Status workflow.

Live

Record cash / check payment

Payments table, balance auto-updates, receipt.

Live

Estimates (convert to invoice/job)

Estimate type, convert endpoint, full workflow.

Needs Credentials

Stripe card payments

Schema, billing profiles, and autopay consent built. Stripe Elements and charge execution require STRIPE_SECRET_KEY + STRIPE_PUBLISHABLE_KEY.

Requires: Stripe API keys
Needs Credentials

Payment reminder emails / SMS

Reminder logic not yet built. Requires email (SMTP) and/or Twilio credentials.

Requires: SMTP + Twilio
Partial

Customer autopay enrollment

Consent capture, billing profile, and card-on-file UI built. Actual charge execution requires Stripe.

Live

Service agreement CRUD

Full create/edit/pause/cancel. Billing frequency, price, autopay toggle.

Live

Consent capture & audit trail

billingConsents table. IP, user-agent, consent text, version stored.

Not Built

Automatic recurring invoice generation

Requires a cron/scheduler. Schema and next_invoice_date fields are ready.

Needs Credentials

Automatic recurring charge execution

Requires Stripe. Schema ready.

Requires: Stripe API keys
Live

PWA manifest + service worker

Add-to-home-screen, offline indicator, v2 service worker.

Live

Today screen (job cards)

Full job cards, status workflow, balance collection, offline queue panel.

Live

Schedule screen (5 views)

Today / Tomorrow / This Week / Completed / Follow-Ups.

Live

Customer detail (tech view)

Hero, 3-stat bar, service history, access info, collapsible sections.

Live

Payments screen

Outstanding balance, invoice list, collect cash/check, send payment link.

Live

Service report (mobile)

Inspection findings, products applied, photo capture, finger-draw signature.

Live

Offline queue + sync-on-reconnect

localStorage queue, dedup, max 5 retries, auto-sync on reconnect.

Live

Office alerts on Today screen

Polls /api/technician/messages every 60s. Amber banner with dismiss.

Partial

Push notifications

Service worker push scaffolding in place. Requires VAPID keys + push subscription flow.

Live

Office ↔ tech message threads

Two-pane chat UI, iMessage-style bubbles, read receipts, 20s auto-poll.

Live

Office broadcast alerts

Broadcast to all techs or specific tech. Shown on tech Today screen.

Needs Credentials

SMS notifications

Requires Twilio (TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_FROM_NUMBER).

Requires: Twilio
Needs Credentials

Email notifications

Requires SMTP credentials.

Requires: SMTP credentials
Live

Employee CRUD (11 roles)

Full CRUD, deactivation, territory assignment.

Live

Company licensing & QP tracking

All license types, expiration tracking, document upload, Qualified Party profiles.

Live

Per-technician license tracking

Certifications, license-gated service assignment, scheduling warnings.

Partial

License expiration reminders

Dashboard alerts built (90/60/30/14/7/0 day). Email delivery requires SMTP.

Live

Product CRUD

EPA numbers, active ingredients, inventory tracking, low-stock alerts.

Live

Chemical application logging

Logged per service record. Quantity, unit, treatment location, target pest.

Live

SDS document links

sdsUrl field stored. No PDF viewer built.

Live

Custom service catalog

Full CRUD, all pricing types, license requirements, templates.

Live

Service packages & plans

Bundles with billing/service frequency, contract terms.

Live

Service type seeding (20 types)

All 20 spec service types seeded. Admin can add custom types.

Live

Subscription plan tiers (4 plans)

Starter $79, Professional $149, Pro Plus $249, Enterprise contact-sales.

Live

Coupon code system

DB table, admin CRUD, redemption at signup. SCOTT2025 pre-seeded (1-year free).

Needs Credentials

SaaS Stripe billing

Plan selection UI built. Stripe subscription creation requires STRIPE_SECRET_KEY.

Requires: Stripe API keys
Live

Admin panel (/admin)

Company list, coupon management, plan management.

Live

Dashboard KPIs

Revenue, jobs, customers, open invoices — live from DB.

Partial

Reports page

Basic revenue and job reports. Advanced filtering and export not built.

Not Built

PDF invoice generation

Invoice data is complete. PDF rendering (e.g. Puppeteer/PDFKit) not implemented.