Settings → Branding (/settings/branding) is the one page where your agency identity lives — logo, brand color, display name, address, and the default trip cover photo. Get this right once and every client-facing surface — invoices, proposals, the portal, payment receipts, PDFs — picks up your brand automatically.
Logo
The logo upload accepts PNG, JPEG, WebP, or SVG, up to 10 MB. For best results upload a horizontal logo on a transparent background — PNG or SVG do this; JPEG can't.
Click Click to upload (or drag a file onto the dropzone) on the Logo card.
Watch the progress bar — the upload runs as an XHR, so you get live percent feedback while the bytes hit storage and the file gets validated.
On success the preview switches to your new logo and the action row changes to Replace / Remove.
Your logo URL is public and immutable per-upload — a fresh upload gets a fresh URL with a cache-busting suffix, so transactional emails and PDFs pick up the new version on next send.
Default trip cover photo
Every trip has a hero cover photo on the client portal. Trips that don't have their own cover fall back to your agency-wide default; if your agency hasn't uploaded one, the platform default shows up. The default trip cover card on the branding page is where you replace the platform default with your own.
Recommended dimensions — 1600 × 700 (a wide 16:7 banner).
Format — JPEG or WebP for photos; PNG works too.
File size — under 2 MB is ideal; the hard cap is 10 MB.
The preview on the branding page shows the cover at the exact aspect ratio (16:7) the portal hero uses, with object-fit: contain — so if your image letterboxes here, it'll letterbox on the portal. That's honest signal that the source isn't 16:7 and you should crop it.
Display name (billed-as)
The Display name field overrides your legal organization name on client-facing surfaces — invoice header, payment receipts, portal welcome, proposal header. Leave it blank and Trips uses your legal name (the same name registered in Core).
Useful when your agency operates under a shorter trade name. If your legal entity is "Wanderlust Travel Concierge, LLC" but you sell as "Wanderlust Travel", set Display name to Wanderlust Travel and that's what clients see everywhere.
Brand primary color
The brand primary color picker writes a single hex value used for buttons, accent text, and call-to-action borders across every client-facing surface. The preview on the page shows the color in a sample button so you can sanity-check contrast before saving.
Saving your brand color also syncs it to your connected Stripe account (if Stripe Connect is set up), so Embedded Checkout shows your brand instead of the UrTravelPro platform default. If Stripe isn't connected, the sync no-ops cleanly.
Client portal URL slug
Your Client portal URL field sets the slug under /portal/{slug}/ where your clients sign in. Lowercase letters, numbers, and hyphens only; minimum 3 characters; must be unique across all agencies on the platform (first come wins).
Once set, the field shows the live URL beneath it — click to open the portal login in a new tab. Clear the field and Trips keeps the previous value rather than nulling it; a null slug would brick portal invites for your agency, so the form refuses to clear it.
Address + contact block
The address and contact fields render together as a single block under your logo on invoice headers and proposal title pages:
Address — line 1, line 2, city, state, postal code, country. Empty fields are skipped on the rendered block, so you only need to fill in what you want shown.
Phone — free text, up to 40 characters. Surfaced on invoice header.
Website — must start with
http://orhttps://(the form refuses bare domains because the browser treats them as relative paths).Support email — used as the default reply-to on transactional emails and shown in the portal "Need help?" footer.
Saving
The Logo and Default trip cover cards have their own upload endpoints — each save is independent and self-contained. The Identity / Address / Color form below them saves as one unit when you click Save at the bottom; if any validation rule fails (a malformed website URL, a too-long display name, an already-taken portal slug) the form re-renders with your other edits intact and the failures listed at the top.
Troubleshooting
My logo looks blurry on the client portal.
The portal renders at 2× pixel density on Retina screens. Upload a PNG or SVG that's at least 400 px wide; SVG is sharpest because it scales without loss. Sub-200px raster logos look soft.
I changed my brand color but Stripe Checkout still shows the old one.
Stripe caches the branding payload on its side. New checkout sessions use the new color; sessions that were already created keep the old color until they expire. Wait an hour or kick off a fresh checkout to confirm. If your Stripe account isn't connected yet, the brand color won't flow there at all — see the Stripe Connect setup article.
The portal slug I want says it's taken.
Slugs are global across the platform — first agency to claim a slug owns it. Pick something else (your agency name + a region, your trade name, your founder's initials). The slug is durable — once set, your clients learn the URL, so changing it later is disruptive.
I uploaded a default trip cover but a specific trip still shows the platform default.
The trip probably has its own per-trip cover set, which always wins. Open the trip → cover photo card → remove the per-trip cover. The fallback chain is: per-trip cover → agency default → platform default.
My website link on the invoice goes nowhere.
The Website field requires an http:// or https:// prefix. A bare example.com is treated by the browser as a relative path on the invoice page. The form should catch this on save — if it didn't, edit the Website field and add the scheme.