← Back to docs

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:

  1. Self-registration — customers visit your branded portal URL and create an account with their name, email, and password.
  2. 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:

  1. Selecting a service type from your configured offerings
  2. Choosing an available date and time block
  3. Entering a description of the work needed
  4. Providing site access instructions if applicable
  5. 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:

  1. Navigate to Service Requests > New Request in the portal.
  2. Describe the issue or work needed.
  3. Indicate the urgency level.
  4. Attach photos if applicable.
  5. Submit the request.

Request Lifecycle

Service requests follow this flow:

  1. Submitted — the customer has submitted the request
  2. Reviewed — an admin has reviewed the request
  3. Converted — the admin has converted the request into a dispatch job
  4. 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:

  1. Navigate to My Jobs and select a completed job.
  2. Rate the service from 1 to 5 stars.
  3. Write a comment about the experience.
  4. 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