Customer Portal
Customer Portal Guide
The TradeKitt customer portal gives your customers self-service access to book appointments, view invoices, submit service requests, and leave reviews. This guide covers setup and usage from both the admin and customer perspectives.
Overview
The customer portal is a separate login experience from the admin and technician apps. Customers create their own accounts with dedicated credentials, and authentication is handled independently using its own JWT token type.
How Customers Register and Log In
Registration
Customers can register for a portal account in two ways:
- Self-registration — customers visit your branded portal URL and create an account with their name, email, and password.
- Admin invitation — admins can send portal invitations from the customer record in the admin dashboard.
Passwords are securely hashed with Argon2id. After registration, customers are automatically logged in and can begin using the portal immediately.
Logging In
Customers log in at your portal URL with their email and password. The portal issues a JWT token scoped specifically to the customer account (separate from technician and admin tokens). Sessions are managed via secure HttpOnly cookies.
Password Reset
Customers can reset their password via the “Forgot Password” link on the login page. A reset link is sent to their registered email address.
Viewing Invoices and Making Payments
Invoice List
After logging in, customers see a list of all invoices associated with their account, including:
- Invoice number and date
- Line items and amounts
- Payment status (paid, unpaid, overdue)
- Due date
Making Payments
If online payment is enabled, customers can pay invoices directly through the portal using their credit card. Payments are processed through your connected payment processor (Stripe, Square, or PayPal). Payment confirmation is immediate, and the invoice status updates in real time.
Recurring Invoices
For customers with active service agreements, recurring invoices are generated automatically. These appear in the customer’s invoice list with clear labeling and can be paid through the same flow.
Booking Appointments
Scheduling a Service
Customers can book appointments through the portal by:
- Selecting a service type from your configured offerings
- Choosing an available date and time block
- Entering a description of the work needed
- Providing site access instructions if applicable
- Confirming the booking
The appointment is created in TradeKitt and appears on the dispatch board for assignment. If auto-assignment rules are configured, a technician may be assigned automatically.
Managing Appointments
Customers can view their upcoming and past appointments, including:
- Scheduled date and time
- Assigned technician name
- Job status (scheduled, in progress, completed)
- Any notes from the technician
Depending on your configuration, customers may be able to reschedule or cancel appointments within a configurable window before the scheduled time.
Submitting Service Requests
Creating a Request
For non-urgent needs or when customers want to describe an issue without booking a specific time, they can submit a service request:
- Navigate to Service Requests > New Request in the portal.
- Describe the issue or work needed.
- Indicate the urgency level.
- Attach photos if applicable.
- Submit the request.
Request Lifecycle
Service requests follow this flow:
- Submitted — the customer has submitted the request
- Reviewed — an admin has reviewed the request
- Converted — the admin has converted the request into a dispatch job
- Completed — the work has been finished
Customers can track the status of their requests in the portal. Admins convert service requests into dispatch jobs from the admin dashboard when ready to schedule the work.
Leaving Reviews
After a Completed Job
After a job is completed, customers can leave a review from the portal:
- Navigate to My Jobs and select a completed job.
- Rate the service from 1 to 5 stars.
- Write a comment about the experience.
- Submit the review.
Admin Response
Admins can respond to reviews from the admin dashboard. The admin response is visible to the customer in the portal and on the public reviews page.
Public Reviews
Reviews can be displayed on your public-facing website via the public reviews API endpoint, which returns approved reviews without requiring authentication.
Equipment and Service History
Equipment Records
The portal displays equipment records associated with the customer’s property, including:
- Equipment type and model
- Installation date
- Serial number
- Warranty status and expiration
- Maintenance history
Service History
Customers can view a complete timeline of all services performed at their property:
- Past dispatch jobs with dates and descriptions
- Technician who performed the work
- Forms and inspection reports (if shared)
- Parts used
- Photos taken during the service
This historical record helps customers track maintenance patterns and plan future service needs.
Admin Configuration
Enabling the Customer Portal
Navigate to Settings > Customer Portal in the admin dashboard to enable and configure the portal:
- Portal URL — set your branded portal domain
- Self-registration — enable or disable customer self-signup
- Available features — choose which features are visible to customers (invoices, booking, requests, reviews)
- Review moderation — require admin approval before reviews are published
- Booking rules — set available time blocks, minimum lead time, and cancellation window
Customer Management
Manage customer portal accounts from the admin dashboard under Customers:
- View all registered customer accounts
- Reset customer passwords
- Deactivate accounts if needed
- View customer activity log (logins, requests, reviews)
Customer Communications
All interactions with a customer (calls, emails, SMS, portal activity) are logged in a unified communications timeline under the customer record. This gives your team a complete picture of the customer relationship. Each communication entry can be linked to a specific job for context.
Security
Customer portal authentication is entirely separate from the admin and technician login systems:
- Customer accounts use dedicated Argon2id-hashed passwords
- JWTs include a
type: 'customer'claim that is validated by a dedicated guard - Customer tokens cannot access admin or technician endpoints
- All data access is tenant-scoped through row-level security
Next Steps
- Admin Guide — configure portal settings
- Getting Started — initial account setup
- Integrations — connect payment processors for online invoicing