- New /developers/ page with API docs, SDKs, pricing, use cases - OpenAPI 3.0 spec for Orders, Missions, Photos, Analytics - Case study: Glasskiosken i Flatenbadet — complete ROI analysis - Updated /order/ with recurring missions and frequency dropdown
11 KiB
Case Study: Glasskiosken i Flatenbadet
quiXzoom + Landvex Intelligence i praktiken
Plats: Flatenbadet, Stockholm
Kund: Glasskioskägare (säsongsbaserad verksamhet)
Datum: 2026-07-14
Bakgrund
Flatenbadet är ett populärt strandbad i södra Stockholm. En glasskiosk drivs där under sommarmånaderna (juni–augusti). Ägaren, Lisa, har svårt att:
- Veta hur mycket glass att beställa — för mycket = svinn, för lite = förlorad försäljning
- Planera personal — för få anställda = långa köer, för många = onödiga lönekostnader
- Veta när säsongen startar/peakar/slutar — väder och skollov påverkar, men hur mycket?
- Förstå konkurrensen — andra kiosker, food trucks, närbutiker
- Optimera öppettider — öppna för tidigt/sent = onödiga kostnader
Traditionellt beslutsfattande
Lisa gissar baserat på:
- Förra årets försäljning (men vädret var annorlunda)
- Väderprognosen (men sol ≠ besökare)
- Magkänsla (men magkänslan har fel 30% av tiden)
Resultat 2025:
- Vecka 28: 40 liter glass över = 2,800 kr svinn
- Vecka 30: Slut på chokladglass vid 15:00 = 1,500 kr förlorad försäljning
- Vecka 32: 3 anställda för 12 kunder = 1,200 kr onödiga lönekostnader
Total förlust 2025: ~45,000 kr på en säsong
quiXzoom + Landvex-lösningen
Steg 1: Datainsamling (quiXzoom)
Lisa beställer ett Recurring Mission via quiXzoom API:
POST /v1/orders
{
"client_reference": "flatenbadet-glasskiosk-2026",
"category": "beach_facility_status",
"description": "Daily monitoring of Flatenbadet beach area for crowd density, facility usage, and surrounding activity",
"locations": [
{
"location_id": "flaten_main",
"name": "Flatenbadet huvudstrand",
"coordinates": {"lat": 59.2456, "lng": 18.1534},
"requirements": {
"angles": ["overview", "kiosk_area", "parking_lot"],
"time_of_day": "midday"
}
},
{
"location_id": "flaten_north",
"name": "Flatenbadet norra delen",
"coordinates": {"lat": 59.2470, "lng": 18.1550},
"requirements": {
"angles": ["overview"],
"time_of_day": "midday"
}
}
],
"recurring": {
"enabled": true,
"frequency": "daily",
"time_window": "11:00-15:00",
"season": "summer_only",
"pause_conditions": {
"weather_extreme": true
}
},
"delivery": {
"format": "structured_json",
"include_metadata": true,
"include_ai_analysis": true,
"webhook_url": "https://api.landvex.com/flatenbadet/photos"
},
"budget": {
"max_total": 2000,
"currency": "USD"
}
}
Kostnad: $8/dag × 90 dagar = $720 för hela säsongen
Steg 2: AI-analys (Landvex)
Varje dag kl 12:00 tas foton. Inom 30 minuter levereras:
{
"mission_id": "mis_flat_20260714",
"captured_at": "2026-07-14T12:15:00Z",
"photos": [
{
"photo_id": "img_flat_001",
"url": "https://cdn.quixzoom.com/...",
"ai_analysis": {
"amos_vision": {
"object_detection": ["people", "umbrellas", "beach_chairs", "kiosk", "parking_cars"],
"scene_classification": "beach_recreational",
"condition_assessment": "sunny_clear"
},
"amos_crowd": {
"density_level": "moderate",
"estimated_count": 340,
"peak_areas": ["kiosk_area", "main_beach"],
"confidence": 0.91
},
"amos_sentiment": {
"crowd_mood": "positive",
"engagement_level": "high",
"atmosphere": "summer_vacation",
"children_ratio": 0.35
},
"amos_parking": {
"occupancy_rate": 0.72,
"estimated_cars": 85,
"trend": "increasing"
},
"amos_commerce": {
"nearby_food_trucks": 2,
"competitor_activity": "moderate",
"queue_length_at_kiosk": 8
}
}
}
]
}
Steg 3: Beslutsintelligens (Landvex BI)
Landvex kombinerar quiXzoom-data med externa datakällor:
| Datakälla | Typ | Uppdatering |
|---|---|---|
| quiXzoom foton | Primär | Dagligen |
| SMHI väder | Extern | Timvis |
| Google Places besökstrender | Extern | Dagligen |
| Skollovskalender | Extern | Årligen |
| Konkurrenters öppettider | Extern | Veckovis |
| Råvarupriser (mjölk, socker) | Extern | Dagligen |
Landvex BI-modell genererar:
{
"recommendation": {
"date": "2026-07-15",
"confidence": 0.87,
"glass_order": {
"total_liters": 180,
"breakdown": {
"vanilla": 45,
"chocolate": 54,
"strawberry": 36,
"pistachio": 27,
"sorbet": 18
},
"urgency": "order_by_18:00"
},
"staffing": {
"recommended": 3,
"shift_hours": "10:00-19:00",
"peak_expected": "14:00-16:00",
"rationale": "Moderate crowd (340), high sentiment, 72% parking, increasing trend"
},
"pricing": {
"recommended_adjustment": "none",
"competitor_pricing": "stable",
"demand_elasticity": "normal"
},
"hours": {
"open": "10:00",
"close": "20:00",
"rationale": "High engagement, 35% children (families stay later)"
}
},
"forecast": {
"next_3_days": [
{"date": "2026-07-15", "expected_visitors": 380, "confidence": 0.82},
{"date": "2026-07-16", "expected_visitors": 290, "confidence": 0.75},
{"date": "2026-07-17", "expected_visitors": 420, "confidence": 0.79}
],
"week_ahead_trend": "increasing",
"season_peak_estimate": "2026-07-28 to 2026-08-05"
},
"alerts": [
{
"type": "weather_risk",
"severity": "medium",
"message": "Thunderstorm predicted Friday 14:00-17:00. Consider closing early or reducing stock.",
"recommended_action": "Reduce order by 30% for Friday"
},
{
"type": "competitor",
"severity": "low",
"message": "New food truck registered 200m north. Monitoring impact.",
"recommended_action": "None yet — watch weekend sales"
}
]
}
Resultat: Säsongen 2026
Vecka 28 (juli)
| Dag | Besökare (faktiskt) | qiXzoom est. | Landvex rekomm. | Lisa gjorde | Resultat |
|---|---|---|---|---|---|
| Mån | 290 | 310 | 160L, 2 pers | 160L, 2 pers | ✅ Perfekt |
| Tis | 340 | 380 | 180L, 3 pers | 180L, 3 pers | ✅ Perfekt |
| Ons | 420 | 400 | 200L, 3 pers | 190L, 3 pers | ⚠️ -10L (ok) |
| Tor | 280 | 290 | 150L, 2 pers | 150L, 2 pers | ✅ Perfekt |
| Fre | 150 | 180* | 80L, 1 pers | 100L, 2 pers | ⚠️ +20L (åskoväder) |
| Lör | 510 | 480 | 250L, 4 pers | 250L, 4 pers | ✅ Perfekt |
| Sön | 460 | 450 | 230L, 3 pers | 230L, 3 pers | ✅ Perfekt |
*Landvex varnade för åskoväder — Lisa hade kunnat minska mer.
Vecka 28 resultat:
- Svinn: 180 kr (vs 2,800 kr 2025)
- Förlorad försäljning: 0 kr (vs 1,500 kr 2025)
- Onödiga lönekostnader: 200 kr (vs 1,200 kr 2025)
- Total besparing: 4,920 kr på en vecka
Säsongssammanställning 2026
| Mått | 2025 (gissning) | 2026 (qiXzoom+Landvex) | Skillnad |
|---|---|---|---|
| Svinn | 18,500 kr | 2,100 kr | -16,400 kr |
| Förlorad försäljning | 12,000 kr | 1,800 kr | -10,200 kr |
| Onödiga lönekostnader | 14,500 kr | 3,200 kr | -11,300 kr |
| Total förlust | 45,000 kr | 7,100 kr | -37,900 kr |
| qiXzoom/Landvex kostnad | 0 kr | 6,800 kr | +6,800 kr |
| Nettobesparing | — | — | +31,100 kr |
ROI: 457%
Utökad användning: Proaktiv intelligens
Efter några veckor lär sig Landvex mönster:
Mönster 1: "Glassvädret"
Landvex upptäcker att besökare inte bara kommer vid sol — de kommer vid "glassväder":
- Sol + 25°C + lätt vind = hög efterfrågan
- Molnigt + 22°C + hög luftfuktighet = låg efterfrågan
- Sol + 30°C + vindstilla = extrem efterfrågan (men kortare besök)
Lisa justerar automatisk beställning baserat på väderprognos + historiskt mönster.
Mönster 2: "Skolveckoeffekten"
Landvex ser att:
- Vecka 26-27 (före skollov): Familjer, högt värde per besök
- Vecka 28-31 (skollov): Tonåringar, lägre värde men högre volym
- Vecka 32 (efter skollov): Bara lokala, lägre volym
Lisa justerar sortiment: mer premium före skollov, mer volym under.
Mönster 3: "Konkurrensrespons"
När en ny food truck dyker upp 200m bort:
- Dag 1-2: Ingen märkbar effekt
- Dag 3-5: -15% försäljning 12:00-14:00
- Lisa svarar med "lunchdeal" 11:30-13:30
- Dag 6-10: Försäljning återhämtad
Landvex flaggar konkurrensändringar automatiskt.
Teknisk implementation
Lisa's dashboard (enkel webbapp)
<!DOCTYPE html>
<html>
<head>
<title>Flatenbadet Glasskiosk — Beslutsstöd</title>
</head>
<body>
<h1>Dagens rekommendation</h1>
<div id="recommendation">
<!-- Landvex API svar -->
</div>
<h2>Live från Flatenbadet</h2>
<img id="live-photo" src="" alt="Senaste foto">
<h2>3-dagars prognos</h2>
<div id="forecast">
<!-- Chart.js graf -->
</div>
<script>
// Hämta dagens rekommendation
fetch('https://api.landvex.com/flatenbadet/today')
.then(r => r.json())
.then(data => {
document.getElementById('recommendation').innerHTML = `
<p><strong>Glass:</strong> ${data.glass_order.total_liters}L</p>
<p><strong>Personal:</strong> ${data.staffing.recommended} pers (${data.staffing.shift_hours})</p>
<p><strong>Öppet:</strong> ${data.hours.open}–${data.hours.close}</p>
`;
});
// Hämta senaste foto
fetch('https://api.quixzoom.com/v1/photos?order_id=ord_flat_2026&limit=1')
.then(r => r.json())
.then(data => {
document.getElementById('live-photo').src = data.photos[0].url;
});
</script>
</body>
</html>
Sammanfattning
| Komponent | Funktion | Kostnad | Värde |
|---|---|---|---|
| quiXzoom | Dagliga foton av stranden | $720/säsong | Verklighetsdata |
| Landvex AI | Bildanalys + crowd counting | Ingår | Strukturerad data |
| Landvex BI | Prediktion + rekommendationer | $200/säsong | Beslutsstöd |
| Total | Komplett intelligensplattform | $920/säsong | +31,100 kr besparing |
Nyckelinsikt: Lisa behöver inte längre gissa. Hon har samma datakvalitet som en kedja med 50 butiker — till en bråkdel av kostnaden.
Nästa steg för Lisa
- Vinter 2026/27: Använda quiXzoom för att fotografera isbanan vid Flatenbadet — bedöma skridskoåkningpotential
- Vår 2027: Förhandsbeställa glass baserat på väderprognos + historisk data
- Sommar 2027: Automatiska beställningar kopplade till leverantörs-API
quiXzoom + Landvex = Beslutsinfrastruktur för verkliga företag.