The branded client portal

By System Generated · Updated Jun 10, 2026

Download PDF

The client portal is the public-facing side of Trips — a branded, password-protected web app where your clients land to see their trips, read proposals, pay invoices, sign forms, and message your team. This article walks through what your clients see and how the moving parts fit together.

What your client sees after they sign in

A client who claims their portal invite lands on a personal dashboard with a hero welcome banner, a featured trip card for whatever's upcoming or currently in progress, lifetime travel stats (countries visited, days traveled, total trips), an outstanding balance counter rolled up across their invoices, and a card grid of every trip they're a traveler on.

The dashboard also surfaces an Open tasks module showing up to eight client-visible todos across all of their trips, ordered by urgency. Anything you mark Client-visible on a todo shows up there; anything internal-only stays out of sight.

The per-trip page

Clicking a trip card opens the trip page — the meat of the portal. The layout matches what you see on the agent side, but stripped to client-relevant surfaces only:

Main column

  • Hero — cover photo, dates, destinations, a Pizza-Tracker-style status bar showing client-facing stages.

  • Proposals + Itineraries — anything you've shared with a non-revoked share link.

  • Invoices — every non-draft, non-canceled invoice with a pay-now CTA where applicable.

  • Forms to complete — actionable forms you've shared to the trip (already-submitted forms move to the Forms tools page).

  • Files from your team — only attachments you've marked Client-visible.

  • Tasks — open client-visible todos plus a collapsed summary of completed ones.

Right rail

  • Travel team — the assignees on the trip with a Message Team / Message {agent} CTA.

  • Messages — link into the trip's threaded conversation.

  • Quick links — Forms, Memories (when enabled), and Compass guides your team has attached.

  • Traveling with — chips for every other contact on the trip.

Signing in

Portal accounts use email + password, with the password set the first time the client clicks their invite link. The link itself is a one-shot claim token (good for 7 days) — they tap it, set a password, and they're in. Subsequent visits use the email + password form at /portal/{your-slug}/login.

If a client forgets their password, the Forgot password link mints a fresh claim token and emails it the same way an invite does. Same flow under the hood, same 7-day expiry on the link.

Notifications

Every signed-in portal page carries a bell icon in the topbar. It polls every 60 seconds and shows the 20 most recent notifications — trip status changes, new proposals shared, invoices shared, tasks added, messages from your team, and final-payment-due reminders. Unread items get an amber strip and a count badge. Mark all read clears the count without dismissing the rows.

Why portal sessions are separate from agent sessions

Trips runs the portal on its own auth guard — a different session than the agent UI uses. So if you and a client log into Trips on the same laptop, neither session can step on the other. The client can't accidentally land in your agent dashboard, and you can't accidentally see the portal "as your client" without explicitly signing in as them.

This also means custom domains stay airtight: a client signed into mytrip.youragency.com doesn't carry that session over to a different agency's portal, even on the same browser.

Custom domain (optional)

By default the portal lives at trips.urtravelpro.com/portal/{your-slug}. Most agencies attach a custom hostname like mytrip.youragency.com so the URL reads as theirs. See Set up a custom portal domain for the DNS walk-through and the SSL/Apple Pay nuances.

Disabling a portal account

From the contact's Access tab, you can disable a portal account at any time. A disabled account can't sign in, any active session is kicked on the next request, and pending invite tokens are voided. The history stays — you can re-enable later, or use Reactivate & reinvite to flip the disable AND send a fresh invite in one click.


Troubleshooting

My client says they didn't get the portal invite email.

Three things to check, in order: spam folder, the email address on the contact record, and a delivery block. The invite ships from Postmark by default (or your connected Gmail when one is linked). See My client didn't get their portal invite for the full sequence.

My client can sign in, but the dashboard is empty.

They're probably not listed as a traveler on any trip yet. The portal dashboard lists trips by traveler membership — not by who you've shared a proposal with. Open the trip and add them to the Travelers strip; the trip card appears on their next dashboard refresh.

My client sees a trip but no proposals/files/invoices.

The trip is visible because they're a traveler, but each surface has its own visibility flag. Files need Client-visible set, proposals/itineraries need an active (non-revoked) share token, and invoices skip Draft and Canceled. Audit the per-surface flags on the agent side.

My client signed in but their profile photo is missing.

Photo uploads happen on the client's Profile page inside the portal. The dashboard's travelers chips fall back to initials when the contact has no photo on file. Ask the client to upload one, or upload on their behalf from the agent contact page.

Back to resources Published by UrTravelPro