feat(boc): Complete Business Operations Center v1.0

- Go backend API with full CRUD for all modules (CRM, Sales, Finance, HR, Legal, Marketing, Support, Purchase, Inventory, Projects, Automation, Analytics)
- Rust analytics service with parallel report generation
- C runtime with POSIX shared memory IPC
- PostgreSQL schema with 30+ tables, full migrations
- Redis cache, sessions, pub/sub
- Kafka event streaming with Zookeeper
- WebSocket hub for real-time updates
- Automation engine with cron jobs, workflows, event triggers
- JWT authentication, multi-tenant from start
- Docker Compose with all services
- Nginx reverse proxy with rate limiting
- Integration tests passing
- Feature gap analysis against Fortnox/Odoo/Visma

Refs: BOC-001
This commit is contained in:
Bernt
2026-07-12 12:41:35 +00:00
parent 4789a7fb48
commit 58ca4e68db
26666 changed files with 575891 additions and 2074516 deletions
+288 -222
View File
@@ -3,245 +3,311 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pricing — quiXzoom Field Intelligence Platform</title>
<meta name="description" content="Transparent pricing for quiXzoom. No platform fees for Zoomers. Pay-per-mission for organizations. Enterprise plans available.">
<title>Pricing — quiXzoom Field Photography</title>
<meta name="description" content="Transparent pricing for quiXzoom field photography. Per mission, per photo, or per project. No hidden fees. Get a quote in 24 hours.">
<link rel="canonical" href="https://www.quixzoom.com/pricing">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<style>
:root {
--bg-dark: #f5f5f7;
--blue: #0066FF;
--blue-dark: #0052CC;
--text-dark: #1d1d1f;
--text-body: #3a3a3a;
--text-muted: #6e6e73;
--surface: #ffffff;
--surface-2: #f5f5f7;
--border: rgba(0,0,0,0.09);
:root{
--bg-dark:#1a1a1a;--bg-white:#FFFFFF;--bg-off:#F7F7F5;
--blue:#0066FF;--blue-dark:#0052CC;--blue-pale:rgba(0,102,255,.07);
--green:#00C853;--text-dark:#1a1a1a;--text-body:#3a3a3a;--text-muted:#6B6B6B;
--radius-card:16px;--shadow-hover:0 16px 48px rgba(0,0,0,.14);
--transition:.22s cubic-bezier(.25,.46,.45,.94);
--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;
--radius-sm:8px;--radius-md:14px;--radius-lg:24px;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Helvetica Neue', sans-serif;
background: var(--bg-dark);
color: var(--text-dark);
line-height: 1.6;
-webkit-font-smoothing: antialiased;
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,'Inter','Helvetica Neue',sans-serif;font-size:1rem;line-height:1.65;color:var(--text-body);background:var(--bg-white);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;font-family:inherit}
h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:900;letter-spacing:-.05em;line-height:1}
h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;letter-spacing:-.04em;line-height:1.1}
h3{font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;line-height:1.3}
.container{width:100%;max-width:1160px;margin:0 auto;padding:0 24px}
.section-pad{padding:80px 0}
.section-header{text-align:center;margin-bottom:56px}
.section-header h2{color:var(--text-dark);margin-bottom:16px}
.section-header p{font-size:var(--text-lg);color:var(--text-muted);max-width:580px;margin:0 auto}
/* NAV */
nav{position:sticky;top:0;z-index:300;background:var(--bg-white);border-bottom:1px solid rgba(0,0,0,.08);box-shadow:0 1px 3px rgba(0,0,0,.05)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;gap:32px}
.nav-logo{font-size:1.375rem;font-weight:900;color:var(--text-dark);letter-spacing:-.04em}
.nav-logo .x{color:var(--blue)}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-links a{color:var(--text-muted);font-size:var(--text-base);font-weight:500;transition:color .15s}
.nav-links a:hover{color:var(--text-dark)}
.btn-nav{background:var(--blue);color:var(--text-dark);border:none;border-radius:var(--radius-lg);padding:10px 24px;font-size:var(--text-base);font-weight:700;transition:background .15s;white-space:nowrap}
.btn-nav:hover{background:var(--blue-dark)}
.mobile-menu{display:none}
@media(max-width:768px){
.nav-links{display:none}
.hamburger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none}
.hamburger span{display:block;width:22px;height:2px;background:var(--text-dark);border-radius:var(--radius-sm)}
.mobile-menu{display:none;position:fixed;inset:0;top:68px;background:var(--bg-white);z-index:299;padding:24px;flex-direction:column;gap:0;border-top:1px solid rgba(0,0,0,.08)}
.mobile-menu.open{display:flex}
.mobile-menu a{color:var(--text-body);font-size:1.1rem;font-weight:500;padding:18px 0;border-bottom:1px solid rgba(0,0,0,.08);display:block}
.mobile-menu .btn-mobile{display:block;margin-top:24px;background:var(--blue);color:var(--text-dark);text-align:center;border-radius:var(--radius-lg);padding:16px 24px;font-size:1rem;font-weight:700}
}
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
/* Nav */
nav {
position: sticky; top: 0; z-index: 300;
background: rgba(255,255,255,0.92);
backdrop-filter: blur(20px);
border-bottom: 1px solid var(--border);
}
.nav-inner { display: flex; align-items: center; justify-content: space-between; height: 64px; }
.nav-logo { font-size: 1.375rem; font-weight: 900; color: var(--text-dark); text-decoration: none; }
.nav-logo span { color: var(--blue); }
.nav-links { display: flex; gap: 32px; }
.nav-links a { color: var(--text-muted); text-decoration: none; font-weight: 500; transition: color 0.15s; }
.nav-links a:hover { color: var(--text-dark); }
.nav-links a.active { color: var(--blue); }
/* Hero */
.hero { padding: 80px 0 60px; text-align: center; background: var(--surface); }
.hero h1 { font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; margin-bottom: 20px; }
.hero p { font-size: 1.25rem; color: var(--text-body); max-width: 600px; margin: 0 auto; }
/* Pricing Cards */
.pricing { padding: 60px 0; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.pricing-card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius-xl);
padding: 40px 32px;
position: relative;
}
.pricing-card.featured {
border: 2px solid var(--blue);
box-shadow: 0 8px 32px rgba(0,102,255,0.12);
}
.badge {
position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
background: var(--blue); color: #fff;
padding: 6px 16px; border-radius: 100px;
font-size: 0.75rem; font-weight: 700;
}
.pricing-card h3 { font-size: 1.5rem; font-weight: 700; margin-bottom: 8px; }
.pricing-card .subtitle { font-size: 0.875rem; color: var(--text-muted); margin-bottom: 24px; }
.price { font-size: 3rem; font-weight: 800; color: var(--text-dark); margin-bottom: 8px; }
.price span { font-size: 1rem; font-weight: 500; color: var(--text-muted); }
.pricing-card ul { list-style: none; margin: 24px 0; }
.pricing-card ul li {
padding: 8px 0; font-size: 0.95rem; color: var(--text-body);
display: flex; align-items: center; gap: 8px;
}
.pricing-card ul li::before {
content: "<svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M3 8L6.5 11.5L13 4.5" stroke="#22c55e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>"; color: var(--blue); font-weight: 700;
}
.btn {
display: block; width: 100%; padding: 14px;
background: var(--blue); color: #fff;
border: none; border-radius: var(--radius-md);
font-size: 1rem; font-weight: 600;
text-align: center; text-decoration: none;
cursor: pointer; transition: background 0.2s;
}
.btn:hover { background: var(--blue-dark); }
.btn-outline {
background: transparent; color: var(--text-dark);
border: 1.5px solid var(--border);
}
.btn-outline:hover { background: rgba(0,0,0,0.04); }
/* HERO */
.hero-pricing{background:var(--bg-off);padding:80px 0 64px;text-align:center}
.hero-pricing h1{color:var(--text-dark);margin-bottom:20px}
.hero-pricing p{font-size:clamp(1.0625rem,2vw,1.25rem);color:var(--text-body);line-height:1.6;max-width:640px;margin:0 auto 32px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--blue-pale);border:1px solid rgba(0,102,255,.15);border-radius:100px;padding:8px 18px;font-size:var(--text-sm);font-weight:600;color:var(--blue);margin-bottom:28px}
/* PRICING CARDS */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.pricing-card{background:var(--bg-white);border:2px solid #E8E8E8;border-radius:var(--radius-card);padding:40px 32px;text-align:center;transition:transform var(--transition),box-shadow var(--transition)}
.pricing-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.pricing-card.featured{border-color:var(--blue);transform:scale(1.02)}
.pricing-card.featured:hover{transform:scale(1.02) translateY(-4px)}
.badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--blue);color:var(--text-dark);padding:6px 16px;border-radius:100px;font-size:.75rem;font-weight:700}
.pricing-card{position:relative}
.pricing-card h3{font-size:1.5rem;font-weight:900;margin-bottom:4px;color:var(--text-dark)}
.pricing-sub{font-size:.9rem;color:var(--text-muted);margin-bottom:24px}
.price{font-size:3rem;font-weight:900;color:var(--text-dark);letter-spacing:-.04em;margin-bottom:8px}
.price span{font-size:1rem;font-weight:500;color:var(--text-muted)}
.price-note{font-size:.875rem;color:var(--text-muted);margin-bottom:24px}
.pricing-card ul{text-align:left;margin:24px 0}
.pricing-card ul li{display:flex;align-items:flex-start;gap:10px;font-size:var(--text-base);padding:8px 0}
.pricing-card ul li::before{content:'';display:block;width:18px;height:18px;min-width:18px;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l2.5 2.5L9 1' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat center;border-radius:50%;margin-top:2px}
.btn-primary{background:var(--blue);color:var(--text-dark);border:none;border-radius:var(--radius-lg);padding:14px 32px;font-size:1rem;font-weight:700;transition:background .15s;text-decoration:none;display:inline-block;cursor:pointer}
.btn-primary:hover{background:var(--blue-dark)}
.btn-ghost{background:transparent;border:2px solid rgba(0,0,0,.15);color:var(--text-dark);border-radius:var(--radius-lg);padding:14px 32px;font-size:1rem;font-weight:700;transition:border-color .15s,background .15s;text-decoration:none;display:inline-block;cursor:pointer}
.btn-ghost:hover{border-color:var(--blue);background:var(--blue-pale)}
@media(max-width:900px){.pricing-grid{grid-template-columns:1fr}}
/* COMPARISON */
.compare-table{width:100%;border-collapse:collapse;margin-top:40px;font-size:var(--text-base)}
.compare-table th{text-align:left;padding:16px 20px;background:var(--bg-off);font-weight:700;color:var(--text-dark);border-bottom:2px solid #E8E8E8}
.compare-table td{padding:16px 20px;border-bottom:1px solid #E8E8E8;color:var(--text-body)}
.compare-table td:nth-child(2),.compare-table td:nth-child(3),.compare-table td:nth-child(4){text-align:center}
.check{color:var(--green);font-weight:700}
.dash{color:var(--text-muted)}
@media(max-width:768px){.compare-table{font-size:.875rem}.compare-table th,.compare-table td{padding:12px 8px}}
/* FAQ */
.faq { padding: 40px 0 60px; }
.faq h2 { text-align: center; font-size: 2rem; margin-bottom: 32px; }
.faq-item {
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius-md);
padding: 24px;
margin-bottom: 12px;
}
.faq-item h4 { font-size: 1rem; font-weight: 600; margin-bottom: 8px; }
.faq-item p { font-size: 0.9rem; color: var(--text-muted); }
/* Footer */
footer { background: var(--surface); border-top: 1px solid var(--border); padding: 40px 0; }
.footer-inner { display: flex; justify-content: space-between; align-items: center; }
.footer-links { display: flex; gap: 24px; }
.footer-links a { color: var(--text-muted); text-decoration: none; font-size: 0.875rem; }
.footer-links a:hover { color: var(--text-dark); }
@media (max-width: 768px) {
.nav-links { display: none; }
.pricing-grid { grid-template-columns: 1fr; }
.footer-inner { flex-direction: column; gap: 16px; text-align: center; }
}
.faq-item{background:var(--bg-white);border:1.5px solid #E8E8E8;border-radius:var(--radius-md);margin-bottom:12px;overflow:hidden}
.faq-item summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:22px 28px;font-size:1rem;font-weight:700;color:var(--text-dark);list-style:none;gap:16px;transition:background .15s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{background:var(--bg-off)}
.faq-item summary::after{content:'';display:block;width:22px;height:22px;min-width:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230066FF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") contain no-repeat;transition:transform .15s;flex-shrink:0}
.faq-item[open] summary::after{transform:rotate(180deg)}
.faq-item[open] summary{background:var(--bg-off);border-bottom:1px solid #E8E8E8}
.faq-answer{padding:20px 28px 24px;font-size:.9625rem;color:var(--text-body);line-height:1.7}
/* CTA */
.cta-box{background:var(--bg-off);border-radius:var(--radius-card);padding:48px 32px;text-align:center;margin-top:48px}
.cta-box h3{font-size:var(--text-2xl);color:var(--text-dark);margin-bottom:12px}
.cta-box p{color:var(--text-muted);margin-bottom:24px}
/* FOOTER */
footer{background:var(--bg-white);border-top:1px solid rgba(0,0,0,.08);padding:48px 0 32px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer-copy{color:rgba(10,10,10,.6);font-size:var(--text-sm)}
.footer-links{display:flex;gap:20px}
.footer-links a{color:rgba(10,10,10,.6);font-size:var(--text-sm);transition:color .15s}
.footer-links a:hover{color:var(--text-dark)}
.footer-tagline{font-size:.8rem;color:rgba(10,10,10,.55);margin-top:8px;font-style:italic}
@media(max-width:768px){.footer-inner{flex-direction:column;align-items:flex-start}}
</style>
<style>
@media (max-width: 640px) {
.hero h1 { font-size: 2rem !important; }
.hero p { font-size: 1rem !important; }
.card { padding: 1.5rem !important; }
.grid { grid-template-columns: 1fr !important; }
.btn { padding: 0.75rem 1.5rem !important; font-size: 1rem !important; }
}
</style>
</head>
<body>
<nav>
<div class="container">
<div class="nav-inner">
<a href="/" class="nav-logo">qui<span>X</span>zoom</a>
<div class="nav-links">
<a href="/">Home</a>
<a href="/about">About</a>
<a href="/pricing" class="active">Pricing</a>
<a href="/features">Features</a>
</div>
<nav>
<div class="container">
<div class="nav-inner">
<a href="/" class="nav-logo">qui<span class="x">X</span>zoom</a>
<div class="nav-links">
<a href="/order/">Order</a>
<a href="/pricing/" style="color:var(--text-dark);font-weight:600">Pricing</a>
<a href="/earn/">Earn as Zoomer</a>
<a href="/for-organisations/">For Organisations</a>
<a href="/about">About</a>
</div>
<a href="/order/" class="btn-nav">Start Order →</a>
<button class="hamburger" id="hamburger" aria-label="Menu" onclick="document.getElementById('mobile-menu').classList.toggle('open')">
<span></span><span></span><span></span>
</button>
</div>
</div>
</nav>
<div class="mobile-menu" id="mobile-menu">
<a href="/order/" onclick="document.getElementById('mobile-menu').classList.remove('open')">Order Field Photography</a>
<a href="/pricing/" onclick="document.getElementById('mobile-menu').classList.remove('open')">Pricing</a>
<a href="/earn/" onclick="document.getElementById('mobile-menu').classList.remove('open')">Earn as a Zoomer</a>
<a href="/for-organisations/" onclick="document.getElementById('mobile-menu').classList.remove('open')">For Organisations</a>
<a href="/about" onclick="document.getElementById('mobile-menu').classList.remove('open')">About</a>
<a class="btn-mobile" href="/order/" onclick="document.getElementById('mobile-menu').classList.remove('open')">Start Order →</a>
</div>
<main>
<!-- HERO -->
<section class="hero-pricing">
<div class="container">
<div class="hero-badge">For Businesses</div>
<h1>Simple, transparent pricing</h1>
<p>No hidden fees. No long-term contracts. Pay for what you use — per mission, per photo, or per project. Get a quote in 24 hours.</p>
</div>
</section>
<!-- PRICING CARDS -->
<section class="section-pad">
<div class="container">
<div class="pricing-grid">
<div class="pricing-card">
<h3>Per Mission</h3>
<p class="pricing-sub">Best for targeted tasks</p>
<div class="price">€880</div>
<p class="price-note">per mission</p>
<ul>
<li>Single location, defined shot list</li>
<li>You set the budget</li>
<li>Zoomers claim and deliver</li>
<li>Pay only on approval</li>
<li>Typical: storefronts, signs, assets</li>
</ul>
<a href="/order/" class="btn-ghost" style="width:100%;text-align:center">Get Started</a>
</div>
<div class="pricing-card featured">
<div class="badge">MOST POPULAR</div>
<h3>Per Photo</h3>
<p class="pricing-sub">Best for volume documentation</p>
<div class="price">€25</div>
<p class="price-note">per photo</p>
<ul>
<li>Large-scale photo collection</li>
<li>Consistent framing requirements</li>
<li>Bulk pricing from 100+ photos</li>
<li>Structured data delivery</li>
<li>Typical: portfolios, inventories, audits</li>
</ul>
<a href="/order/" class="btn-primary" style="width:100%;text-align:center;display:block">Get Started</a>
</div>
<div class="pricing-card">
<h3>Per Project</h3>
<p class="pricing-sub">Best for ongoing programs</p>
<div class="price">Custom</div>
<p class="price-note">volume pricing</p>
<ul>
<li>Multi-location, multi-phase</li>
<li>Dedicated account support</li>
<li>SLA and volume guarantees</li>
<li>API integration available</li>
<li>Typical: municipalities, enterprises</li>
</ul>
<a href="/order/" class="btn-ghost" style="width:100%;text-align:center">Request Quote</a>
</div>
</div>
</nav>
</div>
</section>
<section class="hero">
<div class="container">
<h1>Simple, transparent pricing</h1>
<p>No hidden fees. No long-term contracts. Pay for what you use, scale when you need.</p>
<!-- COMPARISON -->
<section class="section-pad" style="background:var(--bg-off)">
<div class="container">
<div class="section-header">
<h2>What's included</h2>
<p>Every plan includes the essentials. No surprises.</p>
</div>
</section>
<section class="pricing">
<div class="container">
<div class="pricing-grid">
<div class="pricing-card">
<h3>Starter</h3>
<div class="subtitle">For small teams and pilot projects</div>
<div class="price">€0<span>/month</span></div>
<div style="font-size:0.875rem;color:var(--text-muted);">Pay per mission only</div>
<ul>
<li>Up to 50 missions/month</li>
<li>Standard mission types</li>
<li>AI quality review</li>
<li>Basic analytics</li>
<li>Email support</li>
</ul>
<a href="/join" class="btn btn-outline">Get started</a>
</div>
<div class="pricing-card featured">
<div class="badge">MOST POPULAR</div>
<h3>Professional</h3>
<div class="subtitle">For growing organizations</div>
<div class="price">€499<span>/month</span></div>
<div style="font-size:0.875rem;color:var(--text-muted);">+ €2.50 per mission</div>
<ul>
<li>Unlimited missions</li>
<li>Custom mission types</li>
<li>Priority AI review</li>
<li>Advanced analytics</li>
<li>Priority support</li>
<li>API access</li>
<li>Team collaboration</li>
</ul>
<a href="/join" class="btn">Start free trial</a>
</div>
<div class="pricing-card">
<h3>Enterprise</h3>
<div class="subtitle">For large-scale operations</div>
<div class="price">Custom</div>
<div style="font-size:0.875rem;color:var(--text-muted);">Volume pricing</div>
<ul>
<li>Everything in Professional</li>
<li>Dedicated account manager</li>
<li>Custom integrations</li>
<li>SLA guarantees</li>
<li>On-premise deployment option</li>
<li>White-label solution</li>
<li>24/7 phone support</li>
</ul>
<a href="/enterprise" class="btn btn-outline">Contact sales</a>
</div>
</div>
<div style="overflow-x:auto">
<table class="compare-table">
<thead>
<tr>
<th>Feature</th>
<th>Per Mission</th>
<th>Per Photo</th>
<th>Per Project</th>
</tr>
</thead>
<tbody>
<tr><td>Verified field contributors</td><td class="check"></td><td class="check"></td><td class="check"></td></tr>
<tr><td>GPS-tagged photos</td><td class="check"></td><td class="check"></td><td class="check"></td></tr>
<tr><td>AI quality review</td><td class="check"></td><td class="check"></td><td class="check"></td></tr>
<tr><td>Structured data delivery</td><td class="check"></td><td class="check"></td><td class="check"></td></tr>
<tr><td>Pay only on approval</td><td class="check"></td><td class="check"></td><td class="check"></td></tr>
<tr><td>Bulk pricing</td><td class="dash"></td><td class="check"></td><td class="check"></td></tr>
<tr><td>Dedicated support</td><td class="dash"></td><td class="dash"></td><td class="check"></td></tr>
<tr><td>SLA guarantees</td><td class="dash"></td><td class="dash"></td><td class="check"></td></tr>
<tr><td>API access</td><td class="dash"></td><td class="dash"></td><td class="check"></td></tr>
</tbody>
</table>
</div>
</section>
</div>
</section>
<section class="faq">
<div class="container">
<!-- FAQ -->
<section class="section-pad">
<div class="container">
<div class="section-header">
<h2>Frequently asked questions</h2>
<div class="faq-item">
<h4>What does a mission cost?</h4>
<p>Mission costs vary by complexity and location. Simple verification missions start at €8. Complex documentation missions can range from €25-80. You set the budget when creating a mission.</p>
</div>
<div class="faq-item">
<h4>Are there any fees for Zoomers?</h4>
<p>No. Zoomers receive 100% of the mission reward. We believe in fair compensation for field work.</p>
</div>
<div class="faq-item">
<h4>Can I change plans?</h4>
<p>Yes, you can upgrade or downgrade at any time. Changes take effect at the start of the next billing cycle.</p>
</div>
<div class="faq-item">
<h4>Is there a free trial?</h4>
<p>Yes, Professional plans include a 14-day free trial with full access to all features.</p>
</div>
</div>
</section>
<div style="max-width:760px;margin:0 auto">
<details class="faq-item">
<summary>What does a mission cost?</summary>
<div class="faq-answer">Mission costs vary by complexity and location. Simple verification missions start at €8. Complex documentation missions range from €2580. You set the budget when creating a mission.</div>
</details>
<details class="faq-item">
<summary>Are there any fees for Zoomers?</summary>
<div class="faq-answer">No. Zoomers receive 100% of the mission reward. quiXzoom charges no platform fee to contributors. <a href="/earn/">Learn more about earning as a Zoomer →</a></div>
</details>
<details class="faq-item">
<summary>How quickly can I get my photos?</summary>
<div class="faq-answer">Most missions are completed within 2448 hours. For time-sensitive needs, surge missions activate multiple Zoomers simultaneously and can deliver in as little as 46 hours.</div>
</details>
<details class="faq-item">
<summary>What format is the data delivered in?</summary>
<div class="faq-answer">Raw geotagged JPEGs with embedded GPS coordinates and timestamps. Optional: CSV/JSON metadata export, organized folder structures, or API delivery for project plans.</div>
</details>
<details class="faq-item">
<summary>Do you provide analysis of the photos?</summary>
<div class="faq-answer">No — quiXzoom delivers raw visual data only. For AI-powered analysis, reporting, and decision intelligence, visit <a href="https://www.landvex.com" style="color:var(--blue);font-weight:600">landvex.com</a>.</div>
</details>
<details class="faq-item">
<summary>Can I get a custom quote?</summary>
<div class="faq-answer">Absolutely. For large or ongoing programs, <a href="/order/" style="color:var(--blue);font-weight:600">request a quote</a> and we'll respond within 24 hours with a tailored proposal.</div>
</details>
</div>
</div>
</section>
<footer>
<div class="container">
<div class="footer-inner">
<div>© 2026 quiXzoom · Operated by Landvex AB</div>
<div class="footer-links">
<a href="privacy/index.html">Privacy</a>
<a href="terms/index.html">Terms</a>
<a href="/support">Support</a>
</div>
<!-- CTA -->
<section class="section-pad" style="background:var(--bg-off);padding-top:40px">
<div class="container">
<div class="cta-box">
<h3>Ready to order?</h3>
<p>Get a quote in 24 hours. No commitment required.</p>
<a href="/order/" class="btn-primary">Start Order →</a>
</div>
<p style="text-align:center;margin-top:24px;font-size:var(--text-sm);color:var(--text-muted)">Need analysis, not just photos? → <a href="https://www.landvex.com" style="color:var(--blue);font-weight:600">landvex.com</a></p>
</div>
</section>
</main>
<footer>
<div class="container">
<div class="footer-inner">
<div>
<p class="footer-copy">© 2026 quiXzoom · Operated by Landvex AB</p>
<p class="footer-tagline">Raw data by quiXzoom. Intelligence by Landvex.</p>
</div>
<div class="footer-links">
<a href="/">Home</a>
<a href="/order/">Order</a>
<a href="/earn/">Earn</a>
<a href="/privacy/">Privacy</a>
<a href="/terms/">Terms</a>
</div>
</div>
</footer>
</div>
</footer>
</body>
</html>
</html>