This is the owner's walkthrough of Tour Dash as it exists today: how to get in, what each of the two account types can do, the one loop the whole product runs on, and the handful of things that are deliberately not connected yet so you don't demo them by accident. Everything here was checked against the live code, not against the plan.
Every person who signs up picks one of two account types on the first screen of signup. The choice changes their navigation, what they can post, and what they get shown, so it is worth being clear about it before you invite anyone.
A licensed agent or their brokerage staff. They post showings, inspections and admin work for other agents to cover, and they hire contractors for their listings. They can also pick up other agents' work, so an agent account is both sides of the agent-to-agent market.
A photographer, stager, cleaner, locksmith, mover, title company and so on. They pick one trade at signup. They find work and get hired; they never post property jobs, so Create, Hire, Contractors and My Listings are removed from their navigation and blocked if they land on those addresses from an old link.
The word contractor is what everyone sees in the app. In the database the same thing is called a provider, which only matters if you are reading a report like this one next to the code.
Sign in at tourdash.io with the account that was set up for
you. Then do these three things before anything else, because two of them quietly decide
whether the rest of the app can see you.
Profile, then edit. Name, brokerage, phone, licence number, a photo and a short bio. This is the card other people see attached to every job you post or apply to, and an empty one reads as an empty account.
The ZIP on your profile is turned into a map position the first time it loads, and every distance in the product is measured from that point. A contractor with no ZIP does not appear in the contractor directory at all, no matter how good their profile is. This is the single most common reason an account looks invisible.
On Find opportunities, the location chip sets the centre point and the radius in miles. Everyone starts on a default area, so someone working a different county will see an empty map until they change it once. It sticks for that session.
One job goes: posted, found, applied for, approved, scheduled, closed, reviewed. Every service type and every trade travels that same path, which is why the app stays small even as the list of things you can post gets long.
| Step | Who does it | Where | What happens underneath |
|---|---|---|---|
| Post | Agent | Create an opportunity | A listing is created with status open and put on the map at its ZIP. |
| Find | Anyone in range | Find opportunities | The server returns open listings inside the chosen radius, newest first. |
| Apply | Agent or contractor | Job card, Apply | An application is filed and the poster gets a notification in the bell menu. |
| Approve | Poster | My listings, Applications | The application is approved, an appointment is created for both people, the listing moves to filled, and the applicant is notified. |
| Schedule | Automatic | Calendar | The appointment shows on both calendars and in My opportunities. |
| Close | Poster | My listings, Edit | You set the listing to completed by hand. There is no separate finish button today. |
| Review | Either party | The other person's profile | A one to five star review is saved and their rating and job count recalculate on the server. |
Approving is the only irreversible-feeling step, because it closes the listing to other applicants and books both diaries at once. Everything before it is safe to experiment with.
Create an opportunity, then choose a service type. There are nine, and the type you pick changes which extra questions the form asks.
Every type then asks for the same core: property address, city, state, ZIP, a description, price, date, time, duration in minutes, special instructions and photos.
The ZIP code is what puts the job on the map. A listing saved without one still exists and still shows in My listings, but it will not appear in anyone's search results, because search asks the database for jobs within a radius and a job with no position has no distance. If someone says they posted work and nobody can see it, check the ZIP first.
This is the second path off the create screen, and it works differently on purpose. Agents do not think in vendor categories, they think in transaction order, so the trades are grouped by when in a deal you need them.
Listing photography, staging, deep clean, landscaping.
Locksmith, handyman, sign install, junk removal.
Title and settlement, movers.
Some trades have a price and some do not. A photographer or a cleaner is booked at a number you set. A stager, handyman, title company, mover or junk removal is quote first: the price field disappears and the contractor responds with a figure instead. Work that happens across days rather than at a single appointment, like landscaping or a move, asks for an earliest start and a needed-by date instead of a start time and a duration.
Once the job is described you choose who gets it. Pick specific contractors from the list, which sorts by rating and distance from the property, and only they see it. Or post it to everyone in that trade, which makes it a public listing like any other. Either way the job then travels the same apply, approve, appointment path as everything else, so a photographer booking and a showing coverage job behave identically once they are live.
The heart icon saves a contractor, and the Contractors page in the sidebar is the standing directory: search by name or trade, filter by trade, set a radius, and see who you have saved. That is where an agent goes when they already know who they want.
Worth knowing before you onboard your first vendor, because their app is genuinely a different shape.
| Screen | What it is for |
|---|---|
| Dashboard | Your figures for the week, upcoming appointments, quick actions, and nearby opportunities you can apply to without leaving the page. |
| Find opportunities | The live map and list, with service type filters and a radius. Clicking a pin opens the full job with photos, requirements and the poster's profile. |
| My opportunities | Your side of the market: confirmed count, pending count, and the money attached to confirmed work. |
| My listings | Everything you posted, split into open and filled. This is where applications are reviewed and approved, and where you edit or close a listing. |
| Calendar | Month view of appointments with a legend by service family, plus the running list underneath. |
| Wallet | Balance, earnings against payments over six weeks, the transaction list, and the withdraw flow. |
| Profile | Your public card: photo, brokerage or trade, rating, jobs completed, and the reviews people have left. Other people's profiles are where you leave one. |
| Notifications | The bell in the header. Fires when someone applies to your listing and when your application is approved. |
| Settings | Notification preferences, payment methods, support form, and the policy text: fees, cancellations, privacy, terms. |
This is the part to read twice, because these are the screens that look finished and are not. None of them will error in front of a prospect; they will simply do nothing, and it is better to steer around them than to discover it live.
Signup works in the app, but the project sends confirmation emails through Supabase's built-in mailer, which is rate limited on the free plan. An account created that way can land unconfirmed, and an unconfirmed account cannot sign in. For anyone you are inviting personally, have the account created in the Supabase dashboard with auto confirm ticked, so they can sign in the moment you hand them the password. Accounts made that way have no name attached until the person sets one on the Profile page.
There is a separate demo build at tourdash.io/demo running
the whole interface on invented agents, contractors and listings in Passaic County. It never
touches the real database, so nothing you click in there can affect a live account and nobody
needs a login. Use it for pitches and screenshots, and keep the real app for real work.
A short order of operations that gets the platform from empty to genuinely useful, in the sequence that keeps it from looking dead when the first stranger arrives.
Profile, photo, brokerage, phone, ZIP. Post one real job you actually need covered. An account with a completed profile is the template everyone else copies.
Get their accounts created and confirmed, walk each one through their ZIP and search radius on the phone, and make sure at least two of them apply to something. Density in one county beats scattered signups everywhere.
A photographer, a cleaner and a locksmith cover the moments agents hit most often. They are the reason an agent opens the app on a day when there is no coverage work, and they are easier to recruit than agents because you are handing them jobs.
Post it, have someone apply, approve it, let it happen, mark it completed, and leave the review. Doing it once end to end with a real property tells you more about what to build next than any amount of discussion, and it gives you the first ratings on the platform.
The one thing to decide while that first week runs is how money should move, because that decision is what unblocks the wallet, the fee and the card form together. Everything else on the list above is a smaller piece of work than that one.