A service location represents one site where you provide service for a customer, and each declared unit type at that site is its own Rate Card row on the customer's profile. Service location is the data; Rate Card is the view. A site with only one unit type has one row; a site with several (Standard PT plus ADA plus a hand-wash station, say) has one row per unit type, all sharing the same address.
A service location row has a physical address (the contractual site), unit count and type (what's at the site), service rate and rate period (what you charge per unit per billing period), service frequency (driver visit cadence — Weekly, Bi-Weekly, Monthly, Twice Monthly, Daily, or On Call), and optionally Additional Charges (secondary fees like damage waivers). It can also have GPS pins attached for precise driver navigation within the site.
To add a service location, open the customer's Rate Card tab and click "Add Service Location" — or use the Service Plan button on the site's card in the Sites tab; both write to the same rows. Fill in the address and the Recurring Service fields. To declare a second unit type at a site you're already servicing, use Add another unit type in the Service Plan modal rather than creating a new address. You can also expand any existing row to assign tracked unit numbers (#1019, #1020) to the site without creating a delivery job — useful when onboarding a customer who already has units in the field from before they used PortaPro.
Service locations drive recurring billing and job generation. When you generate a Cycle Invoice for the customer, the system pulls every active row into line items on the invoice, billing each row's own rate directly — there's no pricing hierarchy involved in this path. The customer's billing cycle determines the service period; the row's rate period determines the per-cycle charge calculation. Separately, PortaPro's nightly job generation walks these same rows and creates unassigned service jobs for any row due within your configured lead days (On Call rows excluded).
If you previously used the standalone "Edit Pricing" or per-customer pricing modal, that functionality has moved into the Rate Card tab as Customer Default Rates (Section 2). Service locations cover per-site rates; Customer Default Rates cover per-customer defaults for one-off work, resolved through a separate hierarchy that never touches recurring Rate Card rows.
