feat(packages): implement package-based business model
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
## Executive Summary
|
||||
|
||||
This document details the Freemium business model for the Fotospiel tenant app, combining free access with in-app purchases for event credits. The model prioritizes user acquisition through a free app download while monetizing through value-driven upgrades. Key metrics: 5-10% conversion rate, ARPU €10-15, scalable to 100k+ users.
|
||||
This document details the Package-based business model for the Fotospiel tenant app, combining free access with purchases of predefined packages. The model prioritizes user acquisition through a free test package while monetizing through value-driven upgrades. Key metrics: 5-10% conversion rate, ARPU €10-15, scalable to 100k+ users. See 15-packages-design.md for package details.
|
||||
|
||||
## Model Analysis
|
||||
|
||||
@@ -30,18 +30,13 @@ This document details the Freemium business model for the Fotospiel tenant app,
|
||||
- Complex IAP setup and testing
|
||||
- Requires strong onboarding to drive conversions
|
||||
|
||||
### Hybrid Freemium Recommendation
|
||||
**Core Strategy:** Free app with limited first event (50 photos, basic features), unlimited upgrades via IAP credits/subscriptions.
|
||||
### Package-based Recommendation
|
||||
**Core Strategy:** Free app with limited test package for first event, upgrades via package purchases (Einmalkäufe for Endkunden, Subscriptions for Reseller).
|
||||
|
||||
**Pricing Structure:**
|
||||
- **Free Tier:** 1 basic event (50 photos, standard tasks, no custom branding)
|
||||
- **Consumable Credits:**
|
||||
- Starter Pack: €4.99 for 5 events (100 photos each)
|
||||
- Pro Pack: €14.99 for 20 events (unlimited photos)
|
||||
- **Subscriptions:**
|
||||
- Pro Unlimited: €4.99/month (all features, unlimited events)
|
||||
- Agency: €19.99/month (multi-tenant, analytics, white-label)
|
||||
- **Non-Consumables:** Lifetime Unlimited: €49.99 (one-time purchase)
|
||||
**Pricing Structure:** See 15-packages-design.md for Endkunden (pro Event: Free/Test 0€, Starter 19€, etc.) and Reseller (jährlich: S 149€, etc.).
|
||||
- **Free Tier:** Test package (30 photos, 10 guests, 3 days gallery, 1 task, standard watermark)
|
||||
- **Endkunden Packages:** Einmalkäufe pro Event with increasing limits/features.
|
||||
- **Reseller Packages:** Annual subscriptions with event limits and branding options.
|
||||
|
||||
**Expected Metrics:**
|
||||
- Downloads: 50k/year
|
||||
@@ -91,38 +86,13 @@ This document details the Freemium business model for the Fotospiel tenant app,
|
||||
- **Analytics:** Firebase for funnel tracking, RevenueCat for purchase events
|
||||
|
||||
### Backend API Extensions
|
||||
- **Credit Management:** `/api/v1/tenant/credits` endpoints
|
||||
- **Purchase Validation:** Webhook receiver from RevenueCat
|
||||
- **Package Management:** `/api/v1/packages` and `/api/v1/tenant/packages` endpoints
|
||||
- **Purchase Validation:** Webhook receiver from Stripe
|
||||
- **Event Limiting:** Middleware checking credit balance before creation
|
||||
- **Subscription Sync:** Real-time updates via WebSockets (optional)
|
||||
|
||||
### Database Schema Additions
|
||||
```sql
|
||||
-- tenant_credits table
|
||||
CREATE TABLE tenant_credits (
|
||||
tenant_id VARCHAR(255) PRIMARY KEY,
|
||||
balance INTEGER DEFAULT 1, -- 1 free event
|
||||
total_purchased INTEGER DEFAULT 0,
|
||||
subscription_active BOOLEAN DEFAULT FALSE,
|
||||
subscription_tier VARCHAR(50),
|
||||
last_sync TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- purchase_history table
|
||||
CREATE TABLE purchase_history (
|
||||
id VARCHAR(255) PRIMARY KEY,
|
||||
tenant_id VARCHAR(255) NOT NULL,
|
||||
package_id VARCHAR(255) NOT NULL,
|
||||
credits_added INTEGER,
|
||||
price DECIMAL(10,2),
|
||||
currency VARCHAR(3),
|
||||
platform VARCHAR(50), -- 'ios' or 'android'
|
||||
transaction_id VARCHAR(255),
|
||||
purchased_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (tenant_id) REFERENCES tenants(id)
|
||||
);
|
||||
```
|
||||
See 15-packages-design.md for updated schema: `packages`, `event_packages`, `tenant_packages`, `package_purchases`.
|
||||
|
||||
## Risk Mitigation
|
||||
|
||||
|
||||
Reference in New Issue
Block a user