The Trips client portal lives at trips.urtravelpro.com/portal/your-agency-slug out of the box. You can move it to your own subdomain — portal.youragency.com or mytrip.youragency.com — with one CNAME at your DNS provider. We handle the SSL certificate; you don't install anything.
What you get
Branded URL. Clients see
portal.youragency.comin the address bar end-to-end — from the magic-link email through trip view, invoice payment, and portal messages.Automatic SSL. A Let's Encrypt certificate is issued and renewed for you by Cloudflare for SaaS. No certificate files to manage.
Wallet payments. Once the hostname is Live, Trips registers it with Stripe so Apple Pay and Google Pay buttons render on Direct Invoice checkouts opened on your custom URL.
Setup, step by step
Open Settings → Client portal. The Custom domain card sits below the welcome-copy controls.
Type the hostname you want — for example
portal.youragency.com— and click Save custom domain. The page reloads with a status card showing your unique CNAME target.Copy the CNAME target. It looks like
your-agency-id.cname.urtravelpro-cdn.com— and it is different for every agency. Don't guess it; copy it.In your DNS provider, add a CNAME record. The Name is your subdomain (e.g.
portal), the Target is the value you just copied. Save.Wait 5–15 minutes, then click Refresh status on the Trips settings card. On the happy path the pill flips Waiting for DNS → Issuing SSL certificate → Live. If Cloudflare lags on its end you may briefly see a Submitted to Cloudflare step in between.
The four pending states
The status card on Settings → Client portal walks through four states. Each one tells you exactly where the holdup is.
Waiting for DNS
We haven't seen your CNAME yet. Usually means the record is still propagating, or the Target field is wrong. Wait 10 minutes, then re-check at dnschecker.org.
Submitted to Cloudflare
Your hostname is now in Cloudflare for SaaS's queue. Usually flips to the next state within a minute.
Issuing SSL certificate
Let's Encrypt is minting the certificate. Usually under a minute; very occasionally up to 15.
Live
Green pill. The portal is now serving from your custom hostname. Open it in a fresh incognito tab to confirm.
Apple Pay re-registration
When your hostname goes Live, Trips automatically tells Stripe to register it for Apple Pay and Google Pay. That registration step is what makes the wallet buttons render on Direct Invoice checkouts opened on your custom URL.
Two conditions have to be met for the automatic registration to fire:
Stripe Connect is enabled. Trips can register Apple Pay on a connected Stripe account only after the account is ready to charge — i.e. you completed enrollment in Settings → Stripe Connect.
The custom hostname is Live. Registration happens on the activation transition, not before.
Why the login URL looks different
When a client clicks a magic link in their email, they sign in on trips.urtravelpro.com (the canonical host), then get a one-hop redirect through a URL that looks something like https://portal.youragency.com/__handoff?token=...&to=/. That handoff is a single-use, 90-second HMAC-signed token that carries the session across hostnames so the client doesn't have to log in twice — once on the canonical host, then again on your custom one.
It is normal, expected, and never visible after the redirect completes. Don't edit the URL, don't share it — it's already expired by the time you finish reading it.
Removing or changing the hostname
On Settings → Client portal, the custom-domain card has a Remove button on the right. Removing the hostname stops Trips from serving the portal there and deletes the row at Cloudflare. Your CNAME at your DNS provider becomes a dead pointer — clean it up there too. The canonical trips.urtravelpro.com/portal/your-slug URL keeps working throughout; clients with old bookmarks won't lose access.
To change the hostname (e.g. swap portal.youragency.com for mytrip.youragency.com), remove the existing one first, then add the new one. We don't support in-place renames — the Cloudflare for SaaS lifecycle is per-hostname.
Troubleshooting
It's been 30 minutes and I'm still on "Waiting for DNS".
Open dnschecker.org, enter your hostname, choose CNAME. If you see your tenant-specific .cname.urtravelpro-cdn.com target in multiple regions, click Refresh status again. If you don't, the record didn't save — re-check it at your DNS provider.
My DNS provider said there's a conflict on that subdomain.
DNS allows only one record per subdomain. If you already had an A, AAAA, or different CNAME for that name, delete it before adding the new CNAME. Don't delete root-domain records — only the ones for your Trips subdomain.
The pill says "Live" but the portal opens a different agency's app.
Your CNAME is pointing at the wrong app inside our zone. The settings card shows an explicit error like "Your CNAME is pointing at compass — update your DNS to point at your-agency-id.cname.urtravelpro-cdn.com". Update the Target at your DNS provider and click Refresh status.
Apple Pay buttons aren't rendering on my Live portal.
See the troubleshooting article — most often Stripe Connect wasn't ready when activation fired. The fix is a quick support-side re-registration. My custom domain won't connect walks the diagnostics.