The Marketplace
If the business toolkit is how a provider runs their business, the marketplace is how customers find and transact with them. The marketplace has four moving parts: the storefront (a provider's public page), discovery (search ranked by proximity and reputation), the booking flow (for services), and the ordering flow (for products). This chapter walks through each.
Business Pages (Storefronts)
Every business gets a living storefront page, reachable by its own unique URL handle. It is the provider's public face on Fyndow and aggregates data from across the toolkit. The storefront is assembled, in a single call:
- Identity — name, logo, cover image, description, location, owner name and avatar.
- Active services and active products.
- Portfolio — images of past work, ordered.
- Reviews summary — average rating and review count.
- Verified credentials — the trust badges (see Trust & Reputation).
- Community memberships — gated communities the business belongs to, shown as badges.
- Reputation — the composite score (or a "new" flag if there are too few reviews to score yet).
- Trust signals — an identity-verified flag and a derived "verified business" flag (see below), plus the owner's forum activity (posts count, helpful answers).
- Availability — so customers can book in real time.
The storefront also computes a Level-1 "Verified business" signal on the fly. It is true when any of these hold: the owner's identity is verified through the payments provider (a flag that is only set once charges and payouts are enabled), or the business passed the platform's "Basic Verified" review, or an admin approved at least one name-tying business-proof document. This keeps the badge cheap to render — no live external call per page view.
Customers can follow a business, which feeds followed-business updates into their digest.
Discovery & Search
Search is built into the database itself — no external search service for the MVP. Two database capabilities do the work:
- Geospatial indexing for geographic proximity (distance between points on the map).
- Full-text search via weighted text-index columns, plus typo-tolerant fuzzy matching on names.
Both businesses and products are indexed in precomputed search indexes that pre-join services, categories, reviews, and booking-completion counts, and pre-compute a weighted search vector and a geographic point. These indexes are refreshed every five minutes by a scheduled job (and on demand after significant changes), and the refresh is non-blocking so reads are never interrupted.
Ranking
A result's rank is a weighted blend of five factors:
| Factor | Weight | How it scores |
|---|---|---|
| Proximity | 0.35 | Inverse distance from the searcher — closer ranks higher |
| Text relevance | 0.25 | Full-text relevance scoring of the query against the weighted text index |
| Reputation | 0.20 | (avg_rating / 5) × (1 − cancellation_rate) |
| Verified credentials | 0.15 | A binary bonus for verified providers |
| Community activity | 0.05 | A small bonus for active forum participants |
The two largest levers are where you are and how relevant the text match is, with reputation and verification meaningfully boosting trustworthy providers. User input is run through a safe search-query parser so special characters in a search box are handled safely.
Community-filtered discovery
On top of standard ranking, a customer who belongs to a gated community can filter results to show only providers who are also verified members of that community — a trust layer atop search. This is implemented as a membership check against the community's verified members. The community model itself is covered in Communities & Forums.
The Booking Flow
Booking is the service-side transaction. A customer finds a service, picks a time inside the provider's availability, and a booking is created in pending. From there the booking moves through its state machine, and payment is attached (directly, in escrow, or per milestone) depending on the service.
A few rules from the underlying logic:
- The booking is validated against the provider's availability before it is created — you cannot book a closed slot.
- On confirmed, the customer is notified and a Google Calendar event is created if the provider connected their calendar.
- On cancelled, a refund is processed when a payment exists and the cancellation is within the policy window, and the calendar event is removed.
- On completed, a review request is queued after a configurable delay, opening the mutual review loop.
Scheduling, availability, and reminders are described from the provider's side in The Business Toolkit.
The Ordering & Fulfillment Flow
Ordering is the product-side transaction. Products are physical or digital goods sold by a business, with a price, inventory, a stock status, and a fulfillment type — pickup, delivery, or both.
A customer adds products to a cart, then checks out. Checkout creates the order, decrements inventory, and creates the payment intent — an atomic, multi-step operation. (Because the database driver does not support interactive transactions, this is implemented as a carefully ordered sequence of writes.) The order then advances through a fulfillment state machine:
| Status | Meaning |
|---|---|
pending | Order placed, awaiting confirmation |
confirmed | Provider accepted the order |
processing | Being prepared |
shipped | In transit (for delivery) |
delivered | Fulfilled |
cancelled | Cancelled before fulfillment |
An order references a shipping address (for delivery), carries line items with their captured unit price, and links to a payment. Like bookings, a completed order can trigger a review request, and the payment writes to the immutable transactions ledger.
How the Pieces Fit
The marketplace is a loop: discovery sends a customer to a storefront, the storefront converts to a booking or an order, payment settles through Stripe Connect, and the completed transaction produces a review that feeds reputation — which in turn lifts the provider's ranking in the next search.
:::note TODO Disputes and refunds (the dispute lifecycle, Stripe refund processing, and admin mediation) are part of the marketplace but were still in progress at the time these sources were written. See Money & Payments for the refund mechanics that exist today. :::