Talvionex Platform Guide

Everything you need to build a beautiful, AI-powered destination or marketplace website — from first login to public launch.

How to use this manual

This is a working manual, not a marketing page. Each section follows the same shape — what it is, how it works, then how to use it as numbered steps — so you can read top-to-bottom the first time and jump back to a specific task later. If you only do one thing: follow Creating a new site, then come back for the feature chapters as you need them.

Conventions: blue links open the actual admin screen for that task · numbered lists are click-by-click procedures · amber boxes are cautions or prerequisites ·monospace is something you type or a setting name.

What is Talvionex?

Talvionex is a multi-purpose AI website platform. It lets you spin up rich content and marketplace websites for any vertical, community, or niche - complete with AI-generated editorial pages, vendor listings, reservation/order workflows, and built-in SEO - in minutes instead of months.

AI Content Engine

Generate full page drafts, SEO metadata, location/collection descriptions, and listing copy with one click.

Built-in Marketplace

Each site has a public vendor directory with filterable listings, inquiry/order forms, and an admin inbox.

SEO-first structure

Structured content, auto-generated sitemaps, canonical URLs, and Open Graph images out of the box.

Core idea: Every site you create is a standalone public website at yourdomain.com/s/your-site-slug. You manage content, vendors, listings, and reservations or orders through this admin panel.

Active verticals

Talvionex ships with 7 active verticals. Each has its own listing-type taxonomy, real-world schema fields (1,128 total across all verticals), and a dedicated public-side renderer that surfaces all the rich admin data on customer-facing pages. When you create a site, you pick the vertical and the platform configures the rest.

Travel

Island/city destination guides with boat tours, stays, hotels, experiences, restaurants, weddings. Original complete runtime — premium island + city homepage renderers.

Hotel

Properties, rooms, suites, offers, spa, retreat, event spaces, local guides. Booking.com/Marriott-depth fields. Dedicated hospitality homepage.

Food

Recipes, chefs, restaurants, cooking classes, food products, cookbooks, meal plans, menu items. Editorial homepage + 8/8 dedicated detail renderers.

Wellness

Retreats, practitioners, treatments, programs, sessions, classes, memberships. MindBody-depth fields. 7/7 listing types with dedicated detail.

Services

Local services, appointments, packages, classes, memberships, providers. Thumbtack/TaskRabbit-depth fields. 6/6 listing types covered.

Photography

Photographers, photoshoots, prints, workshops, galleries, collections. Pixieset/Format-depth fields. 6/6 listing types covered.

Creator

Creators, digital products, courses, memberships, consultations, merchandise, events. Patreon/Gumroad/Teachable-depth fields. 7/7 listing types covered.

All 7 verticals share the same admin patterns, schema engine, vendor portal, reservation/order system, payments, and SEO surfaces. Switching verticals doesn't change how you operate the platform — only which listing types and fields appear in the admin forms and on the public pages.

Platform at a glance

The admin panel is organised into these main areas:

Sites

Your list of all sites. Click any site to open its full management dashboard - pages, locations, vendors, listings, reservations, and settings.

AI Builder

Create a brand-new site by describing it in natural language. AI generates the site structure, pages, location/content hubs, and content automatically.

Structured

Build a site using guided forms. Choose a site type, fill in the details, and the platform generates pages and SEO metadata systematically.

Templates

Browse, validate, preview, import-draft, and apply native or imported Tailwind templates across verticals.

Schemas

Define custom property fields for marketplace listings (e.g. cuisine type for restaurants, camera sensor size for gear shops). Schemas power marketplace filters.

Analytics

Platform-wide view counts, conversion funnels, attention queue, low-conversion review, top listings by views and requests, and content velocity across all your sites.

Vendors

Manage vendor accounts. Vendors get their own portal at /vendor for listings, reservations, payouts, analytics, calendar, reviews, and profile.

Payments

Stripe Connect overview: platform revenue, application fees, vendor balances, payout history + settlement log, commission rules, transaction history, stale payment-hold cleanup, and payment attention alerts.

Reviews

Moderate listing reviews across all sites — approve, reject, bulk-approve pending reviews, with status filter chips and per-listing context.

Access

User permissions, organization memberships, and role management.

Creating a new site — step by step

You can create a site in three ways. All lead to the same result — pick whichever suits your style.

Path 0 — Quick start wizard

Recommended for first-time operators

A guided 4-step flow at Admin → Sites → Quick start (also the default New Site button on the admin home). Best when you just want to spin up a site with the essentials and fill in the rest later.

  1. 1

    Pick a vertical. Card grid with descriptions + runtime badges. Choosing a vertical sets default story mode, tone, and location-type defaults.

  2. 2

    Identity. Site name (auto-slugs the URL), country / region, primary language, and tone. Slug is fully editable.

  3. 3

    Brand. One-line tagline, logo via the Lucide icon picker (searchable, ~180 curated icons; doubles as the favicon by default), and accent color. All optional — skippable.

  4. 4

    Review & create. Summary card; one click creates the site and applies any brand patches. You land on the site dashboard ready to add pages, locations, listings, and vendors.

Path A — AI Builder

Fastest if you want the AI to fill in everything
  1. 1

    Go to AI Builder (Admin → AI Builder). Select your vertical, then type a short description of your site, e.g.: "A chef's recipe site focused on Mediterranean techniques, cooking classes, and artisan products." Or pick a ready-made brief from the predefined prompt-recipe dropdown and edit the sample values.

  2. 2

    Choose a story mode — this is the editorial lens (luxury, professional, artisan, adventure, etc.). It shapes the tone of all generated copy for your vertical.

  3. 3

    Click Generate. The AI will create the site record, generate a page structure appropriate for your vertical, and draft all content in one pass.

  4. 4

    Review and edit pages inside the site dashboard. Each page has an AI-powered quality score. Use "Fill SEO" to auto-generate missing meta titles/descriptions.

  5. 5

    Add locations or collections - specific locations, venues, studios, service areas, product collections, or featured spots relevant to your vertical. Each item gets a public detail card with a description.

  6. 6

    Add vendors and listings - businesses, creators, providers, properties, or products for your vertical. Listings appear in the public marketplace.

  7. 7

    Publish. Toggle the site status to Published. Use the Launch Checklist in the site dashboard to confirm everything is ready.

Path B — Structured Builder

More control, guided forms
  1. 1

    Go to Structured (Admin → Structured). Fill in the site name, country, language, and site type for your vertical.

  2. 2

    Choose a tone and story mode. You can also manually specify which page types to include (home, content pages, guides, blog…).

  3. 3

    Click Build. The platform creates the site and generates structured pages with SEO metadata — more predictable output than the free-form AI Builder.

  4. 4

    Generate content per page by opening each page in the site editor and clicking Generate. You have full control over what content is produced.

  5. 5

    Continue from Step 5 in Path A above (add locations/collections, vendors, listings, and publish).

AI Builder — deep dive

The AI Builder is a one-prompt site generator. You describe what you want in plain language and it:

  • Determines the correct site type for your vertical (island, portfolio, marketplace, retreat…)
  • Decides which page types to create based on your vertical (home, recipes, portfolio, services, programs…)
  • Writes full editorial copy for every page — intro, sections, FAQs, internal links
  • Generates SEO titles, meta descriptions, and recommended URL slugs
  • Creates a hero image prompt suggestion for each page
  • Assigns quality scores and flags pages that need improvement

Good AI Builder prompts include:

  • • The site or subject name
  • • The audience or tone (luxury, professional, artisan, community, family)
  • • Key features to highlight (recipes, classes, portfolio, services, retreats)
  • • Whether there's a marketplace angle (sell products, take reservations, showcase vendors)

The AI Builder examples are prompt recipes with realistic sample values for site name, location, audience, offers, vendors, booking model, and language. Edit those values before building so the generated site needs less cleanup. Any remaining <...> placeholders are blocked.

Example prompts

"A chef's site for Mediterranean cooking. Target food enthusiasts and home cooks. Focus on recipes, technique guides, and seasonal ingredients. Marketplace for cooking classes and artisan products."

"A travel guide for Corfu, Greece. Luxury couples and families. Focus on beaches, local food, and village life. Marketplace for boat tours and villa rentals."

AI Builder scaffolds the site. To change an existing site, use AI Activity.

AI Builder is a one-shot generator for a brand-new site — it creates the structure: navigation, starter pages, starter locations, listing categories, SEO, and editorial copy. It does not create marketplace listings, write long-form article bodies, or attach specific places to a named page. Those are content tasks handled by AI Activity on the site dashboard, which plans the work first so you can review it before anything is saved. See the full walkthrough in AI Activity (AI Jobs) below.

One prompt, two tools — combined build + content tasks

You can put content tasks directly in the build prompt. The Builder scaffolds the site from the brief, then detects the content instructions and runs them automatically as AI Jobs — so a single prompt produces a complete site (pages, places, listings, and articles), not just a skeleton. Each task uses the same engine as AI Activity. If a task can't be auto-applied (for example, real source-backed inventory that needs a research connector), it's staged in AI Activity for you to review instead of being lost.

Which lines become content jobs? Imperative instructions such as "Create 6 … listings", "Build a page 'Beaches' and create 10 places …", or "Create a … page about …". Your structured brief fields (Site name, Audience, Required output, Language, …) stay with the scaffold and are never mistaken for jobs. Tip: pick the "… + content tasks (build + AI Jobs)" recipe from the prompt dropdown for a ready-made combined example in your vertical. Keep using AI Activity after the build to add more pages, page groups, and listings whenever you like.

Combined prompt example (travel)

Build a premium island guide for Corfu - boutique hotels, tavernas, beaches, sailing.

Site name: Corfu Curated

Primary location: Corfu, Greece

Required output: create top navigation, starter pages, listing categories, SEO, FAQs, image direction.

Create 6 boat-tour listings, each with duration, departure point, max passengers, languages, and price.

Build a page 'Beaches' and create 10 places for the top 10 beaches, each with a description and photo, and add them to the Beaches page.

Create a comprehensive, SEO-optimized page about the history of Corfu.

Language: English

↑ The three teal lines run automatically as AI Jobs; the rest builds the site scaffold.

Combined prompt example (food / chef)

Build a premium chef marketplace and recipe site for Nestoras - Mediterranean recipes, cooking classes, and a curated kitchen shop.

Site name: Nestoras

Primary location: Corfu, Greece

Required output: create top navigation, starter pages, listing categories, SEO, FAQs, image direction.

Create 10 Mediterranean-style recipe listings, each with ingredients, method, prep and cook time, servings, and difficulty.

Create 10 kitchen products to sell, each with material, dimensions, recommended use, and price.

Build a page 'Recipes' and feature the 10 recipes on it.

Create a comprehensive, SEO-optimized page about the Mediterranean diet and Nestoras's culinary philosophy.

Language: English

↑ The four teal lines become AI Jobs (10 recipe listings, 10 kitchen products, a Recipes page, an article); the rest builds the scaffold. Every vertical has a ready "… + content tasks" recipe in the AI Builder prompt dropdown.

AI Activity (AI Jobs) — how it works & how to use it

AI Activity is the tool for changing a site that already exists. Where the AI Builder generates a whole site from one prompt, an AI Job performs a focused, reviewable batch of edits — "add a Beaches page and the ten best beaches as places," "write content for the boat-tour listings," "translate everything to Greek." You describe the outcome in plain language; the platform turns that into a concrete plan of object changes, shows you the plan, and only touches your data when you approve it. Every job is recorded and can be undone.

Where to find it: open a site from Admin → Sites, then the Run an AI Builder job / AI Activity panel on the site dashboard.

Mental model: a Job is a transaction — it plans a set of create/update operations, you apply them together, and you can roll the whole set back as one unit.

Staged from your build prompt. Content tasks in an AI Builder prompt (see AI Builder) normally run automatically during the build. If one can't be auto-applied (e.g. real source-backed inventory that needs a research connector), it appears here in a "Staged from your build prompt" list instead of being lost. Click Preview to turn it into a reviewable plan, Edit to tweak the wording, or Dismiss to remove it.

The job lifecycle — step by step

This is the core loop. Preview is the safe default; nothing is written until you apply.

  1. 1

    Describe the work. In the prompt box, name the exact objects and quantities you want. Be specific: "Build a page 'Beaches', create 10 places for the top 10 beaches with descriptions and photos, and add them to the Beaches page." Vague prompts produce vague plans. Tip: use the "Start from a predefined job prompt" dropdown above the box to drop in a vertical-specific starter, then edit it.

  2. 2

    Click "Preview job". The AI reads your prompt, decides which objects to create or update, and returns a plan — a list of planned operations — plus a validation preview. Nothing in your site changes at this stage.

  3. 3

    Review the planned operations. Each row tells you the action (create or update), the object type (page / place / listing / video / translation / menu group), the title and slug, and a short reason. For updates you also see a before → after snapshot, so you can confirm exactly what will change.

  4. 4

    Apply the job. Click apply to commit the whole plan in one go. Newly created objects are added as drafts by default, or published immediately if you ticked "Publish created objects". Updates are written in place.

  5. 5

    (Shortcut) "Run now" skips the preview and applies in a single step. Use it only for small, well-understood prompts — you lose the review gate.

  6. 6

    Find it in the audit trail. The job appears in the AI Activity list with a status (completed / failed / needs review) and a timestamp. Click any job to re-inspect its operations.

  7. 7

    Roll back if needed. Any job can be undone: created objects are deleted and updated objects are restored from their before-snapshots. Rollback is itself recorded, so the history stays honest.

1 · PromptDescribe the objects2 · PreviewPlan + validate (no writes)3 · ApplyCommit the plan4 · AI ActivityRecorded · reversibleRollback — undo the whole job
The AI Job lifecycle: nothing is written until you Apply, and any applied job can be rolled back.

What a job can create or update

Pages

One page, or a pillar/hub page plus a cluster of subpages (see below). Includes intro, sections, FAQs, internal links, SEO, and a hero photo.

Places

Real reusable locations (beaches, venues, neighborhoods) with descriptions and photos, optionally attached to a page.

Listings / products

Marketplace items with schema fields and copy, created under a supplier (auto-created if missing). Real-inventory jobs may require the research connector.

Translations

Per-field translations layered onto existing pages, places, and listings for the languages the site supports.

Menu grouping

Assigns nav groups/order so generated pages slot into the public menu coherently.

Videos & media

Supporting media references for the objects it generates, where relevant to the vertical.

Single page vs. pillar + cluster

The job decides its own shape from how broad your prompt is:

Focused prompt → one page

A single-topic request (e.g. "write an About page") produces one editorial page.

Broad prompt → pillar + cluster

A multi-topic request (e.g. "a complete history of Corfu through every era") produces a pillar/hub page plus several focused subpages, all sharing one menu group, cross-linked both ways, each with a real topical photo, and rendered as magazine-style articles. Re-running the same job updates that cluster in place instead of creating duplicates.

The guard rails

Validation gate

Before a plan can be applied, it is validated. If it finds blockers — leftover <…> placeholders, empty required content, malformed objects — Apply is blocked and the reason is shown. Fix the prompt and Preview again.

Research connector

Jobs that need real-world sources (real inventory, factual places) are gated by a research connector. If it isn't configured, the panel shows an amber “gated” badge and lists the missing settings; purely editorial/content jobs run without it.

Real AI vs. deterministic

With an AI provider configured, copy is genuinely written by the model. Without one, a deterministic fallback still creates correctly-structured objects (titles, sections, slugs) as scaffolding you then fill in — so the workflow never hard-fails.

Everything is reversible

Preview shows the plan before any write; the audit trail records every job; rollback restores the prior state. You can experiment without fear of corrupting the site.

Worked example

  1. Prompt: "Build a page 'Beaches', create 10 places for the top 10 Corfu beaches with descriptions and photos, and add them to the Beaches page."
  2. Preview returns ~11 operations: 1 × create page Beaches, 10 × create place (each with a reason like "top-10 beach"), plus menu-grouping so the page appears in the nav.
  3. You review the titles/slugs, optionally tick Publish created objects, and Apply.
  4. Result: the Beaches page and 10 linked places exist on the site; the job sits in AI Activity. Not happy? Roll back and all 11 objects are removed in one click.

Tips for good results

  • • Be specific about object type and count ("create 8 listings…", "one page named…"). The planner reads quantities and names from the prompt.
  • • Always Preview before applying on a live site; use Run now only for trivial jobs.
  • • Keep each job scoped to one outcome — several small jobs are easier to review and roll back than one giant one.
  • • Leave Publish created objects off while drafting, so you can review on the public preview before going live.
  • • If Apply is blocked, read the validation reason — it usually points to placeholder text or a missing required field.

Writing effective AI prompts

The same prompt skills drive both the AI Builder (a whole site from one description) and AI Activity jobs (specific objects on an existing site). The model fills any gap you leave with an assumption, so output quality tracks prompt precision: name the subject, the audience, the emphasis, and — for jobs — the exact object types and counts. This chapter gives you a formula, a weak-vs-strong rewrite, and a worked example for every vertical.

You don't have to start from a blank box.

Both screens include a predefined-prompt dropdown right above the prompt box — the AI Builder offers vertical-specific site recipes, and the site dashboard's AI Activity panel offers vertical-specific job prompts (grouped by Pages, Places, Listings, Translations…). Pick the closest one, then edit the values to match your site. Use the principles below to refine those starters.

Anatomy of a strong prompt

Subject & name

What/who the site is about — the destination, brand, chef, studio, or creator. Be concrete: “Corfu, Greece”, not “a Greek island”.

Audience & tone

Who it's for and the editorial voice — “luxury couples”, “weeknight home cooks”, “stressed professionals”; tone like refined, friendly, calm.

Scope / emphasis

The 3–4 things to highlight so the AI prioritises them — beaches & sailing, 30-minute recipes, sea-view rooms & spa.

Object types + counts

For Activity jobs especially: say the type and quantity — “create 10 places”, “4 room listings”, “one page named…”. The planner reads these literally.

Commerce angle

Whether there's a marketplace and what's sold or booked — “boat tours & villa rentals”, “cooking classes”, “print shop & workshops”.

Language

The content language (and that the site is multilingual, if so). Defaults to English when unspecified.

A reusable formula (AI Builder)

[Site type] for [subject/name], aimed at [audience]. Focus on [3–4 concrete highlights]. Marketplace for [what's sold/booked]. Tone: [tone]. Language: [language].

For an AI Activity job, swap the concept for explicit objects: “Create [N] [object type] for [topic], each with [fields], and add them to [page].”

Weak → strong, and why

Weak

"Make me a travel site for a Greek island."

No name, audience, emphasis, commerce, or tone — the AI invents all of it, so you get generic copy you must rewrite.

Strong

"A travel guide for Corfu, Greece, for luxury couples and active families. Focus on beaches, sailing, olive-grove villages, and the Venetian old town. Marketplace for boat tours, villa rentals, and food experiences. Tone: refined but warm. Language: English."

Every gap is filled, so the structure, highlights, listing types, and voice all land on the first pass.

Worked examples by vertical

Each shows a strong Builder prompt (whole site) and an Activity prompt (one job), plus what makes it work.

Travel

AI Builder (whole site)

A travel guide for Corfu, Greece, for luxury couples and active families. Focus on beaches, sailing, olive-grove villages, and the Venetian old town. Marketplace for boat tours, villa rentals, and food experiences. Tone: refined but warm.

AI Activity (one job)

Build a page 'Beaches', create 10 places for the top 10 Corfu beaches with descriptions and photos, and add them to the Beaches page.

Why it works: Names the place + two audiences + concrete highlights + commerce + tone; the job fixes object type (place), count (10), and where they attach.

Food

AI Builder (whole site)

A chef's site for modern Greek home cooking, aimed at weeknight home cooks. Focus on 30-minute recipes, technique guides, and seasonal ingredients. Marketplace for cooking classes and a small pantry of artisan products. Tone: friendly and practical.

AI Activity (one job)

Create 8 recipe listings for summer mezze dishes, each with prep time, difficulty, and a dietary tag, and group them in a 'Summer Mezze' collection.

Why it works: Constrains the recipe angle (30-minute, weeknight) so copy stays on-brand; the job names schema fields (prep time, difficulty, dietary tag) the planner will fill.

Hotel

AI Builder (whole site)

A boutique seafront hotel in Paros for design-led couples. Highlight sea-view rooms, the spa, and the rooftop restaurant. Include rooms, suites, seasonal offers, and spa treatments. Tone: understated luxury.

AI Activity (one job)

Create 4 room listings — Standard, Sea-View, Junior Suite, Master Suite — each with max occupancy, size in m², bed configuration, and amenities.

Why it works: Lists the exact room set so you don't get random inventory; naming the fields makes the cards comparable and filterable.

Wellness

AI Builder (whole site)

A coastal yoga and wellness retreat brand in Crete for stressed professionals. Focus on multi-day retreats, weekly classes, and 1:1 practitioner sessions. Tone: calm and grounded.

AI Activity (one job)

Create 3 retreat listings — 3-day, 5-day, 7-day — each with daily-schedule highlights, skill level, group size, and what's included.

Why it works: Audience (“stressed professionals”) shapes voice; the job's parallel structure (3/5/7-day) makes the listings easy to compare and price.

Services

AI Builder (whole site)

A local home-services marketplace for Thessaloniki — cleaning, handyman, and beauty pros. Emphasize vetted providers, transparent pricing, and fast booking. Tone: trustworthy and no-nonsense.

AI Activity (one job)

Create 6 service-package listings for end-of-tenancy cleaning across studio to 3-bedroom sizes, each with duration, what's included, and a price.

Why it works: States the trust/pricing emphasis the public pages should lead with; the job ranges by size so the packages map to real customer needs.

Photography

AI Builder (whole site)

A wedding and fine-art photographer in Santorini for destination couples. Showcase a portfolio, a print shop, and limited workshops. Tone: editorial and romantic.

AI Activity (one job)

Create 5 print listings for the 'Aegean Light' series, each with orientation, paper type, available sizes, and an edition limit.

Why it works: Separates portfolio (showcase) from prints/workshops (commerce); the job's print fields drive the public faceted filters.

Creator

AI Builder (whole site)

A creator hub for a productivity YouTuber. Offer a paid newsletter, two flagship courses, a digital template pack, and 1:1 consultations. Tone: sharp and motivating.

AI Activity (one job)

Create a course listing 'Deep Work Systems' with modules, level, duration, and what students get, plus a digital-product listing for the template pack.

Why it works: Enumerates the offer mix so the storefront isn't generic; the job creates two different listing types in one reviewable batch.

Builder prompts vs. job prompts

AI Builder — describe the concept

Paint the whole picture (subject, audience, emphasis, commerce, tone, language). Don't micromanage exact counts — let it propose the structure. You refine pages afterward.

AI Activity — name the objects

Be literal: object type, count, the fields to fill, and where it attaches. Keep one outcome per job so the preview is easy to review and the rollback is clean.

Common mistakes to avoid

  • Too vague ("make a food site") — the AI guesses audience, tone, and structure.
  • No counts in a job ("add some beaches") — you get an unpredictable number; say "10".
  • Too many outcomes in one job — split "add a page AND 20 listings AND translate everything" into separate jobs you can review and roll back independently.
  • Leaving literal <placeholders> from an example — the validation gate blocks these on Apply.
  • Asking for real, factual inventory without the research connector configured — those jobs are gated; either configure it or prompt for editorial content.

Structured Builder — deep dive

The Structured Builder uses guided forms instead of free text. It gives you more predictable output and is better suited when you know exactly which pages you want or when you are building a non-travel site.

Site type

Choose from destination, marketplace, community, portfolio, property, or service-area style presets. This drives which page templates are available.

Page selection

Check exactly which sections to generate: home, beaches, hiking, food, accommodation, events, blog posts, itineraries.

Tone & story mode

Set the editorial voice independently — luxury, local explorer, family, romantic, adventure. The story mode shapes vocabulary and highlight choices.

Language

Generate content in any supported language for multilingual sites targeting non-English speaking audiences.

After building with the Structured Builder, you can freely use all the same AI tools (per-page Generate, SEO Review, Quality Review, Fill Missing SEO) as with AI Builder sites.

The site dashboard — what everything does

Health panel

Real-time diagnostics - missing SEO fields, unpublished pages, listings without images, and locations or collections without descriptions. Fix issues here before launch.

Launch Checklist

A progressive checklist of 17+ launch readiness items: hero image, analytics ID, custom domain, social links, page quality scores, and more.

Locations / Collections

Specific places, service areas, product collections, venues, or featured spots. Each gets a public detail page with a description, images, and optional coordinates.

Vendors & Listings

Vendors are businesses, creators, providers, properties, or individuals. Each vendor can have multiple listings - specific services, rooms, recipes, products, or offers - which appear in the public marketplace.

Reservation / Order Inbox

All enquiries, reservations, orders, appointments, or requests from public forms land here. Filter, triage, respond by email, and track conversion.

Pages

All editorial pages for the site. Filter by status, type (articles vs pages), SEO state, or search by title. Export to CSV for off-platform review.

Hero & Settings

Set the site-wide hero image, logo (upload OR pick a Lucide icon — works as favicon too), favicon, accent color, social links, Google Analytics ID, Search Console verification, languages, marketplace/locations nav flags, and custom domain.

Team

Invite collaborators to help manage the site and set each one's role (Admin or Editor). See the Team & access section below for the full workflow.

Team & access

A site isn't limited to the person who created it. You can invite collaborators, give each a role, and let them sign in with a password or with Google. This section covers how people get accounts and how you grant access to a site.

How people sign in

Password login

Everyone signs in at /admin/login with their email and password. Vendors use the same flow at /vendor/login for their workspace.

Passwordless first login

A freshly-created account has no password yet. The first time they sign in, they're prompted to set one — no reset email needed. This is how invited teammates and seeded admins get started.

Google sign-in (optional)

When the platform is configured with a Google client ID, a “Continue with Google” button appears on the admin and vendor login pages. It only signs in accounts that already exist — Google never creates a new account on its own — so it's safe to leave on.

Self-signup & email verification

Public self-signup is off by default (the platform is invite-only). When an operator enables it, anyone can register at /admin/register:

  1. 1. They enter their name, email, and a password. The account is created in a pending state and can't sign in yet.
  2. 2. The platform emails a one-time verification link (valid 48 hours). Clicking it activates the account.
  3. 3. Verification only confirms the email — it grants no access to any site. A verified user sees nothing until you invite them to a site's team (below).

The Team tab — invite collaborators

Open a site, then the Team tab. From there:

Invite by email

Enter an email and pick a role. If the email is new, an account is created automatically and an invite email is sent; if the person already has an account, they simply gain access to this site. Either way they sign in at /admin/login.

Roles: Admin vs. Editor

Admins can manage content, settings, and the team itself. Editors can manage content but cannot change the team. (The site owner is always the top role and can't be demoted or removed from here.)

Manage members

The member list shows everyone with access. Change a person's role or remove them at any time. People who haven't set a password yet show an “invite pending” badge.

Who can manage the team? Only the site owner and Admins see the invite form and the role/remove controls. Editors can use everything else on the dashboard but not the Team tab's management actions.

Listing Schemas

Schemas let you define custom structured fields for marketplace listings. Instead of generic text boxes, vendors fill in typed fields specific to your niche - and visitors can filter the marketplace by those fields.

Travel — Boat Tours

  • Duration (hours)
  • Departure point
  • Max passengers
  • Languages spoken

Food — Restaurant

  • Cuisine type
  • Price range (€–€€€€)
  • Vegetarian options
  • Outdoor seating

Kitchen Gear Shop

  • Product category
  • Brand
  • Material
  • Suitable for (induction/gas)

Photography Portfolio

  • Photography style
  • Formats available (print/digital)
  • Custom prints
  • Delivery time

Filterable fields become live faceted filters

Mark a field Filterable in the schema and it appears as a facet in the public marketplace sidebar — automatically, per vertical, no code. The faceted rail is type-aware (selecting a category shows only that type's filters), shows live result counts that narrow as you drill down, supports multi-select (e.g. tick several amenities), and renders min/max range inputs for numeric fields like sleeps or bedrooms. Active filters show as removable chips above the results. Counts are computed from the values vendors enter on their listings, so populate the fields you want shoppers to filter by.

How to add a custom field — step by step

  1. 1

    Open Admin → Schemas and pick the vertical and listing type you want to extend (e.g. Travel → stay).

  2. 2

    Add a field and set its key (machine name, e.g. has_sea_view), label (what vendors see), and type — text, number, boolean, select, or tags.

  3. 3

    Tick the behavior flags: Filterable (becomes a public facet), Visible on card (shows on listing cards), and for select/tags add the allowed options.

  4. 4

    Save. The field now appears in the listing editor for that type — so every vendor creating that listing type gets the new input on the dynamic form.

  5. 5

    Populate it on listings. Facets and card badges are built from real listing values, so a filterable field only appears publicly once at least one listing has a value for it.

Listing types by vertical

Each vertical ships with a curated set of listing types, each with its own deep schema (real-world fields modeled after the leading platforms in that space). When you create a listing, the admin form changes shape based on the listing type — so a hotel room form looks like Booking.com, a food recipe form looks like NYT Cooking, a creator course form looks like Teachable.

Travel7 listing types
boatstayhoteltourexperiencerestaurantwedding
Hotel8 listing types
property (38 fields)room (28)suite (26)offer (17)spa (17)retreat (21)event_space (28)local_guide (6)
Food8 listing types
recipe (34 fields)chef (29)restaurant (42)cooking_class (27)food_product (29)cookbook (30)meal_plan (30)menu_item (24)
Wellness7 listing types
retreat (24 fields)practitioner (21)treatment (18)program (20)session (14)class (17)membership (17)
Services6 listing types
local_service (23 fields)appointment (18)service_package (17)class (19)membership (14)provider (21)
Photography6 listing types
photographer (35 fields)photoshoot (31)print (30)workshop (31)gallery (27)collection (19)
Creator7 listing types
creator (29 fields)digital_product (27)course (33)membership (29)consultation (21)merchandise (30)event (30)
49 listing types, 1,128 schema fields across the 7 active verticals. The listing schema registry at Admin → Schemas lets you also extend any type with custom fields specific to your site (e.g. add a "is_local" boolean to food_product).

Best practices for a clean site model

Talvionex works best when each content type keeps its own job. This makes public pages easier to render, marketplace filtering more accurate, and future verticals easier to add.

Pages own page-specific content

Use Pages for editorial copy, page hero images, page-specific supporting photos, FAQs, internal links, and SEO. If an image only belongs to Beaches, About, Gallery, or a guide page, upload it on that page.

Places are real reusable locations

Use Places only for actual locations, areas, venues, beaches, neighborhoods, studios, markets, or points of interest that can be reused from pages and listings. Do not use Places as a generic gallery store.

Listings are the sellable or bookable things

Use listings for products, prints, rooms, boats, classes, services, recipes, creator offers, and other public marketplace items. Sellable listings need prices or variants; bookable listings need units, calendar, and rules.

Media belongs to the object it describes

Listing photos and videos belong in the listing Media tab. Room, boat, package, or variant photos belong on the unit. Page galleries belong on the page. Place galleries belong on the place.

Menus come from admin pages

Top navigation and footer navigation are independent. Set visibility, group, and order on each page. Mega menus use those admin pages and their hero images as thumbnails; they should not invent links that do not exist.

Translations follow the same structure

Translate the saved content on pages, places, listings, units, and system copy. Do not create duplicate pages just to represent another language unless the site intentionally needs a separate canonical page.

Before publishing

  • Every public menu item points to a real published page or inventory-gated destination.
  • Top menu and footer visibility are checked separately.
  • Page galleries are used for page-specific supporting images.
  • Places are real reusable locations, venues, or areas.
  • Sellable products have a price, variant, or purchase option.
  • Bookable listings have units, calendar availability, prices, and stay or booking rules.
  • Template placeholder copy has been removed or rewritten.
  • Primary and secondary language public flows keep the selected language.

Templates: browse, import, preview, apply

Templates control the public look and structure of a site without changing its content, listings, pages, or public URLs. Use them to give each vertical a different visual system while keeping the same platform core.

Template Library

Open Admin -> Templates to see native and imported templates. Use vertical, source, readiness, diagnostics, and search filters to find the right option.

Import Workbench

Open Import Template to draft a licensed Tailwind template manifest, registry entry, thumbnail path, checklist, and developer handoff bundle.

Apply an existing template

  1. 1

    Go to Templates. Start with Template Operations to check imported registry coverage, missing draft history, ready handoffs, registered gaps, and stale review items. Then review readiness, diagnostics, mapped sections, compatible verticals, and site usage.

  2. 2

    Preview first. Click Preview on a compatible site. This opens admin preview with a temporary template override and does not save changes.

  3. 3

    Open Settings. Click Settings to open the site settings page with that template preselected as an unsaved draft.

  4. 4

    Save Settings only after reviewing the preview. Existing Travel routes, pages, places, listings, and public URLs stay intact.

Import a Tailwind template

  1. 1

    Confirm the license. Only import templates we own, templates with compatible open-source licenses, or commercial templates licensed for reuse and modification.

  2. 2

    Open Import Template. Fill in name, source, license, compatible verticals, capabilities, apply mode, renderer, and mapped sections.

  3. 3

    Load an existing manifest if available. Paste JSON or choose a local manifest.json file. The form hydrates from it.

  4. 4

    Plan the thumbnail. Choose a local image to preview it and confirm the planned path under public/layout-thumbnails.

  5. 5

    Save the server draft. Use draft while preparing, review while license/assets/responsive/typecheck checks are still open, and ready only when validation is clean. In the Template Library, use queue presets, registry-state filters, lifecycle sorting, stale-review badges, and show-all results to find handoffs waiting for file registration.

  6. 6

    Check handoff readiness. Complete license, assets, hardcoded content, responsive review, typecheck, and collision checks before production use. Backend validation blocks ready and registered until there are no issues.

  7. 7

    Copy the handoff bundle. Give the generated manifest, registry entry, target paths, and developer steps to the developer doing the controlled file import.

  8. 8

    Mark registered after file import. Once the manifest, thumbnail, registry entry, and renderer/section map are actually added to the app and validation passes, change the saved draft status from ready to registered. The admin UI expects the draft id to match an entry in templateRegistry.ts.

Important import rule

The browser import workbench prepares the package contract. It does not execute third-party code or write template files directly. A developer still registers the manifest, thumbnail, registry entry, and safe React renderer or section map, then runs npm run validate:templates and npm run typecheck. Use ready for clean drafts waiting on that developer action, and registered only after those files are actually in the app with a matching Template Registry entry.

Example site types you can build

Talvionex is not limited to travel. Any site that combines editorial content + a directory of suppliers or products can be built here.

Travel destination guide

e.g. "Corfu Island Travel Guide"

What to build

  • • Pages: Home, Beaches, Food Guide, Things To Do, Where To Stay, Getting Around, Blog
  • • Places: specific beaches, villages, viewpoints, restaurants
  • • Suppliers: tour operators, boat rentals, guesthouses, cooking classes

AI Builder prompt example

"Travel guide for Corfu, Greece. Luxury couples and families. Focus on beaches, sailing, olive groves, and Venetian architecture. Marketplace for boat tours, villa rentals, and food experiences."
destination_type: islandstory_mode: luxury_escapeSchema: boat_tour

Chef's site with kitchen gear marketplace

e.g. "Nikos Kitchen — recipes, tips, and gear"

What to build

  • • Pages: About, Recipes, Techniques, Equipment Guide, Blog
  • • Places: real markets, restaurants, farms, regions, or venues only - not fake recipe categories
  • • Suppliers: kitchenware brands, cookbooks, online courses
  • • Listings: individual products / courses for sale

Schema fields to create

Listing type: kitchen_gear
Fields: category (knife/pan/knife block), material, compatible_hobs, price_range, brand
Tip: Use destination_type: marketplace or community when creating a non-geographic site. The structured builder supports this.
destination_type: communitystory_mode: foodie_tripSchema: kitchen_gear

Photographer portfolio + gear shop

e.g. "Marco Rossi Photography — prints, presets, gear"

What to build

  • • Pages: Portfolio, About, Behind the Lens (blog), Print Shop, Workshops
  • • Places: shooting locations, galleries where work is exhibited
  • • Suppliers: camera brands, accessory makers, print studios
  • • Listings: prints, presets, gear bundles, workshop slots

Schema fields for gear listings

Listing type: photography_gear
Fields: category (camera/lens/bag/tripod), sensor_size, brand, condition (new/used), mount_type
destination_type: portfoliostory_mode: local_explorerSchema: photography_gearSchema: print_shop

More site ideas across the 7 verticals

Boutique hotel site

Property profile, room/suite catalog, seasonal offers, spa treatments, event spaces — full Booking.com-shape admin

Yoga studio + retreat brand

Studio location, group classes, memberships, 1:1 sessions, multi-day retreats, practitioner profiles

Local services marketplace

Cleaners, repair pros, beauty providers — with insurance/background-check badges and service-area maps

Creator economy hub

Newsletter + paid community + courses + digital products + 1:1 consultations — Patreon/Gumroad/Teachable in one

Artisan food brand

Producer story, single-origin product catalog with PDO/PGI badges, recipes, cookbook, meal-plan subscriptions

Wedding photography brand

Photographer profile, photoshoot packages with rights & deliverables, fine-art prints, destination workshops, gallery + collection sales

Wine region guide (Travel)

Wineries, tastings, terroir map, bottle shop — leveraging Travel's destination renderers

Wedding venue directory (Hotel)

Properties with event spaces, capacity matrices, catering options, accessibility info, AV equipment

Vendor portal

Every vendor (the businesses, creators, providers, properties, or chefs you add to a site) gets their own self-service portal at /vendor. Vendors sign in with real scoped sessions and manage their own slice of the site — without touching the platform admin.

Dashboard

View counts, new reservations, recent inquiries, top listings — vendor-scoped.

Listings

Create, duplicate, edit, and publish listings using the dynamic schema form for the active vertical. Bulk select to publish/unpublish.

Reservations & inquiries

Inbox of pending/confirmed reservations with one-click status workflow, email-reply CTA, internal notes, and a calendar view.

Availability calendar

Per-listing date blocking. Vendors can mark dates unavailable; the public booking widget respects the blocks.

Payouts & balance

Stripe Connect status, available + pending balance, payout history, lifetime earnings, and per-month breakdown.

Analytics

Per-listing views, requests, conversion rate, time-series chart (7d/30d/90d periods), and ranked top-listings table.

Reviews

All listing reviews with reply textarea (post / edit / cancel). Vendor replies show as &quot;Response from host&quot; on the public review card.

Profile

Vendor bio, contact info, website URL, social URLs, and Stripe Connect button to enable payouts.

To onboard a vendor: Add them via Admin → Vendors or use the per-site "Bulk-invite vendors" CSV upload. The vendor gets an email invitation with a sign-in link.

Reservations & payments

Reservations are the platform's full commerce primitive — they have check-in / check-out dates, guest counts, pricing snapshots, commission breakdown, and a payment lifecycle. The public booking widget creates a reservation, takes payment through Stripe Checkout, holds inventory until payment confirms, and releases availability if the checkout expires.

Booking flow

Customer picks dates + party size, sees a price breakdown with nightly prices, taxes, and commission. Reservation enters payment_pending status until Stripe confirms.

Stripe Connect (destination charges)

Money flows directly to the vendor&apos;s connected Stripe account on each successful charge. Platform fee is split out as application_fee. No platform balance accrual.

Real refunds

Admin &quot;Refund reservation&quot; calls stripe.Refund.create with reverse_transfer + refund_application_fee. Works for reservations and booking-request payments. Externally-issued refunds sync back via charge.refunded webhook.

Stale-hold cleanup

If a Stripe expiration webhook is missed, the admin Payments page surfaces stale payment_pending holds with a one-click expire action. For hands-off operation, point an external scheduler (cloud cron / CI schedule) at the secured POST /api/internal/run-scheduled-tasks endpoint — it releases stale holds automatically and can also settle due payouts when explicitly enabled.

How to accept a paid booking — end to end

  1. 1

    Connect the vendor to Stripe. The vendor opens /vendor → Profile → Connect Stripe. Money from their listings flows to their connected account; without this, the listing can only take inquiries.

  2. 2

    Set the platform fee. In Admin → Payments → Commission, set the percentage taken from each charge as the application fee.

  3. 3

    Make the listing bookable. The listing needs a price, an inventory unit, and calendar availability/rules so the public widget can quote and hold dates.

  4. 4

    Customer books. On the public listing they pick dates + guests, see a price breakdown (nightly + taxes + fees), and pay via Stripe Checkout. The reservation enters payment_pending and the dates are held.

  5. 5

    Payment confirms. Stripe's webhook flips the reservation to confirmed/paid; the money (minus the application fee) lands in the vendor's account via the destination charge. If checkout is abandoned, the hold expires and the dates are released (see Scheduled runners).

  6. 6

    Manage after the sale. Track it in the vendor/admin reservation inbox; issue a Refund reservation if needed (reverses the transfer + application fee).

Payments admin pages

  • Admin → Payments — platform revenue card, application fees, vendor balances, attention alerts for failed payments / Stripe account issues / failed payouts.
  • → Commission rules — set the platform fee percentage (applied to every Stripe charge as application_fee).
  • → Payout history — settlement log per reservation, scheduled vs. due, due-now counts, bulk "Settle due payouts" action.
  • → Transactions — full transaction history across all reservations + booking requests, paid / refunded / pending status filter.
Stripe Tax (optional): Set STRIPE_AUTOMATIC_TAX_ENABLED=true to enable automatic tax on Checkout sessions. Requires you to have completed Stripe Tax registration in your target jurisdictions.
Scheduled runners (hands-off maintenance)

Some upkeep is best run on a timer rather than waiting for a webhook or an admin click. Talvionex exposes a single secured endpoint, POST /api/internal/run-scheduled-tasks, that any external scheduler (cloud cron, CI schedule, or OS cron) can hit on an interval — there is no in-process scheduler, so it behaves the same on long-running and serverless hosts.

  • Stale-hold cleanup — always runs; expires unpaid payment_pending reservations past the window (RESERVATION_HOLD_EXPIRY_MINUTES, default 60) and releases the held dates.
  • Due-payout settlement — opt-in only; runs when RUNNER_AUTO_SETTLE_PAYOUTS=true, so a cron misconfiguration can never silently issue Stripe transfers.

Authenticate the call with the X-Runner-Token header matching the RUNNER_SECRET env var. The endpoint stays disabled (503) until that secret is set, so it is never left open. Add ?dry_run=trueto preview what would run without changing anything. Everything it does is also available manually from Admin → Payments.

Multilingual & translations

Any site can support multiple languages. The architecture stores translations in translations JSONB columns on pages, places, and supplier listings — meaning a single canonical record per entity, with per-field translations layered on top.

Enable languages

In Site Settings, toggle the ISO 639-1 codes (en, el, fr, de, …) you want the public site to support. The primary language is first in the array.

Auto-translate all

Site Settings → Translations panel → &quot;Auto-translate all content&quot; with a target language. Uses GPT-4o-mini to translate every page, place, and listing in one pass.

Edit a single translation

Each page/place/listing editor has a translation editor with a right-hand draft column. Edit per-language, save preserves your draft.

Public-side switching

The LanguageSwitcher in the public header reads the ?lang= URL param. All public APIs apply translation overlays. Custom field translations also work on the public side.

Tip: All public URLs (browse, search, detail pages, vendor profiles, collections, places) preserve the active locale on click — so a customer who lands in English never gets bounced back to the site's default language mid-flow.

Reviews, inquiries, subscribers & collections

Beyond listings + reservations, each site has a stack of community surfaces — independently usable depending on what your business needs.

Listing reviews

Customers leave star ratings + reviews on listing detail pages. Admins moderate (approve / reject / bulk-approve) at Admin → Reviews.

Vendors can reply directly from /vendor/reviews — replies show as a &quot;Response from host&quot; block on the public review card. Reviews carry through to listing detail pages with a rating histogram.

Contact inquiries

Separate from reservation requests. Each site has a /contact page with a form; submissions land in the Inquiries panel on the site admin with click-to-expand, auto-mark-read, and Reply-by-email CTA. Email notification fires on submission.

Newsletter subscribers

Footer signup widget (compact, GDPR-friendly) on every public site. Subscribers admin panel lists email + name + source, with CSV export. Use the list for off-platform campaigns or import to Mailchimp/ConvertKit.

Curated collections

Group listings into themed collections (e.g. &quot;Editor&apos;s Picks&quot;, &quot;Sustainable Picks&quot;, &quot;Under €50&quot;). Each collection gets a public detail page at /s/{site}/collections/{slug}, manageable from the site admin.

Saved listings

Customers can heart-toggle any listing card. Per-site localStorage shortlist with a &quot;Saved&quot; page that uses a batch fetch endpoint. No auth required — works from first visit.

Compare tool

Customers can add up to 3 listings to a compare bar (floating bottom on every public page). Compare page renders a side-by-side table of schema fields and price points.

Public site search

Live typeahead in the header (debounced ~280ms) + dedicated /search results page grouped by listings / places / pages. Vertical-aware route helpers preserve the active language.

Activity feed

Per-site admin activity feed (above the Reservations inbox) merges new booking requests, listing reviews, contact inquiries, and newsletter signups — with icon + color per event type, relative timestamps, status badges, and star ratings for reviews.

Launch checklist

Before making your site public, make sure you've completed these key steps. The site dashboard has a live Launch Checklist that tracks your progress automatically.

Homepage published
All core pages have AI-generated content
Average page quality score ≥ 75
All pages have SEO title + description
Hero image set
Logo uploaded
Favicon uploaded
Places added only when they are real reusable locations, areas, or venues
All published places, if any, have descriptions and images
At least one vendor registered
Marketplace listings/products published for each public browse page that should appear
All published listings have cover or gallery media
Vertical-appropriate listing types created (e.g. rooms for hotel, recipes for food)
Sellable listings have prices or variants; bookable listings have units, calendar, and rules
Top navigation and footer visibility/order checked separately
Vendor has connected Stripe (for paid bookings) or accepts inquiries only
Social media links configured (Instagram / Twitter / Facebook)
Google Analytics ID set
Google Search Console verification code added
Custom domain configured (preferred_domain in settings)
Site tagline filled in
At least one article or blog post published
Languages configured if multilingual (run Auto-translate all)
Contact page enabled (for inquiries) or replaced with a vendor contact route
Newsletter signup tested (footer widget submits without error)
Commission rule set in Admin → Payments → Commission (for marketplace fee)
Test reservation flow end-to-end if accepting paid bookings
Date format note: All public and admin date displays show as DD/MM/YYYY (European format). HTML <input type="date"> fields follow the browser's OS locale — the stored value is always ISO YYYY-MM-DD, so business logic is unaffected.

Ready to build your first site?

Start with the AI Builder for the fastest path from idea to published website.