Erstelle eine Artist-Buchungsplattform mit Stripe Connect
Ich habe über die letzten sechs Jahre drei Marketplace-Plattformen gebaut, und der Entertainment-Booking-Bereich ist einer der interessantesten -- und kniffligsten -- Verticals zum Richtigmachen. Man muss mit zwei sehr unterschiedlichen Nutzertypen umgehen (Künstler, die Admin hassen, und Event-Planer, die Zuverlässigkeit brauchen), zeitkritische Buchungen, variable Preisgestaltung, Stornierungsdrama und die ständige Frage "wer hält das Geld?" Lassen Sie mich Sie durchgehen, wie man eine dieser Sachen tatsächlich baut.
Der Live-Entertainment-Booking-Markt ist fragmentiert. GigSalad hat über 110.000+ Entertainer. GigMasters verdient jährlich etwa 47 Millionen Dollar nur in den USA und Kanada. Gigstarter hat sich auf 8 europäische Länder ausgebreitet. Aber die meisten dieser Plattformen wurden vor Jahren mit veralteten Tech-Stacks gebaut, und es gibt echte Gelegenheiten, etwas Besseres zu bauen -- besonders wenn Sie die Zahlungsarchitektur von Tag eins an mit Stripe Connect richtig machen.

Inhaltsverzeichnis
- Das Two-Sided-Marketplace-Modell verstehen
- Wahl des Tech Stacks
- Datenmodellierung für Künstlerverzeichnisse
- Suche, Filterung und Entdeckung
- Stripe Connect: Das Zahlungs-Rückgrat
- Booking-Flow-Architektur
- Umgang mit Streitigkeiten, Stornierungen und Rückerstattungen
- Monetarisierungsmodelle, die tatsächlich funktionieren
- Vertrauen aufbauen: Bewertungen, Verifizierung und Escrow
- Performance- und Skalierungsüberlegungen
- FAQ
Das Two-Sided-Marketplace-Modell verstehen
Ein Two-Sided-Marketplace hat ein Huhn-und-Ei-Problem in seiner DNA eingebaut. Sie brauchen Künstler, um Kunden anzuziehen, und Kunden, um Künstler anzuziehen. Bevor Sie eine einzige Zeile Code schreiben, müssen Sie entscheiden, welche Seite Sie zuerst besäen werden.
Für Entertainment-Booking würde ich fast immer empfehlen, zunächst die Angebotsseite (Künstler) zu besäen. Hier ist warum: Künstler sind motiviert, überall gelistet zu sein, wo sie möglicherweise Gigs bekommen. Event-Planer hingegen werden Ihre Plattform nicht besuchen, es sei denn, es gibt bereits eine kritische Masse von Talenten zum Durchsuchen.
Die Core User Journeys
Künstlerseite:
- Anmelden und ein Profil erstellen (Bio, Fotos, Videos, Audiobeispiele)
- Verfügbarkeit, Preisgestaltung und Servicegebiete festlegen
- Buchungsanfragen erhalten oder auf Gig-Ausschreibungen antworten
- Buchungen akzeptieren und nach dem Event bezahlt werden
- Ruf durch Bewertungen aufbauen
Kundenseite:
- Nach Künstlern nach Genre, Standort, Datum und Budget suchen
- Profile anschauen, Demo-Videos ansehen, Audiobeispiele anhören
- Anfragen senden oder direkt buchen
- Durch die Plattform bezahlen (mit Geldern im Treuhand-Hintergrund)
- Nach dem Event eine Bewertung hinterlassen
Die Plattform sitzt in der Mitte und erleichtert Entdeckung, Kommunikation, Zahlungen und Vertrauen.
Wahl des Tech Stacks
Hier habe ich starke Meinungen. Für einen Marketplace wie diesen möchten Sie einen Stack, der dynamische Inhalte gut verarbeitet, Echtzeit-Features (Messaging, Verfügbarkeitsupdates) unterstützt und Ihnen die Flexibilität gibt, benutzerdefinierte Buchungslogik zu erstellen.
| Komponente | Empfohlen | Warum |
|---|---|---|
| Frontend | Next.js (App Router) | SSR für SEO auf Künstlerprofilen, React für interaktive Booking-Flows |
| Backend API | Next.js API Routes oder separater Node.js-Service | Stripe Webhooks, Buchungslogik, Auth |
| Datenbank | PostgreSQL (via Supabase oder Neon) | Relationale Daten passen perfekt zu Marketplace-Modellen |
| CMS | Sanity oder Payload CMS | Künstlerprofile brauchen strukturierte Inhalte mit Medien |
| Auth | Clerk oder NextAuth.js | Rollenbasierte Auth (Künstler vs. Kunde vs. Admin) |
| Suche | Meilisearch oder Algolia | Schnelle facettierte Suche über Genres, Standorte, Preise |
| Zahlungen | Stripe Connect | Speziell für Marketplace-Auszahlungen entwickelt |
| Dateispeicher | Cloudflare R2 oder AWS S3 | Audiobeispiele, Videos, Pressefotos |
| Hosting | Vercel oder Cloudflare Pages | Edge-Rendering für schnelle Künstlerprofilladungen |
Wenn Sie daran interessiert sind, die Next.js-Entwicklung auszuprobieren, würde ich das für die meisten Teams empfehlen. Die Kombination aus Server-Komponenten für SEO-kritische Künstlerverzeichnisseiten und Client-Komponenten für interaktive Buchungsformulare ist schwer zu schlagen.
Für Teams, die blitzschnelle statische Seiten für den Verzeichnisteil und dynamische Inseln für Buchungen wollen, ist Astro auch einen Überblick wert -- besonders wenn die Verzeichnisseite der Plattform inhaltsreich ist.

Datenmodellierung für Künstlerverzeichnisse
Die richtige Datenmodellierung früh zu erhalten spart Ihnen später Monate an Refactoring. Hier ist, was ich gut für Entertainment-Marketplaces funktioniert habe:
-- Kern-Künstlerprofil
CREATE TABLE artists (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID REFERENCES users(id),
stripe_account_id TEXT, -- Stripe Connect Konto
display_name TEXT NOT NULL,
slug TEXT UNIQUE NOT NULL,
bio TEXT,
headline TEXT,
profile_image_url TEXT,
base_price_cents INTEGER,
price_type TEXT CHECK (price_type IN ('per_hour', 'per_event', 'custom')),
travel_radius_miles INTEGER,
is_verified BOOLEAN DEFAULT FALSE,
is_featured BOOLEAN DEFAULT FALSE,
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
-- Genre/Kategorie-Tagging (viele-zu-viele)
CREATE TABLE artist_genres (
artist_id UUID REFERENCES artists(id),
genre_id UUID REFERENCES genres(id),
PRIMARY KEY (artist_id, genre_id)
);
-- Servicegebiete
CREATE TABLE artist_service_areas (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
artist_id UUID REFERENCES artists(id),
city TEXT,
state TEXT,
country TEXT,
lat DECIMAL(10, 8),
lng DECIMAL(11, 8)
);
-- Verfügbarkeitskalender
CREATE TABLE artist_availability (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
artist_id UUID REFERENCES artists(id),
date DATE NOT NULL,
status TEXT CHECK (status IN ('available', 'booked', 'blocked')),
UNIQUE (artist_id, date)
);
-- Media-Assets
CREATE TABLE artist_media (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
artist_id UUID REFERENCES artists(id),
media_type TEXT CHECK (media_type IN ('image', 'video', 'audio')),
url TEXT NOT NULL,
thumbnail_url TEXT,
title TEXT,
sort_order INTEGER DEFAULT 0
);
Beachten Sie die stripe_account_id auf der Künstlertabelle. Das ist die verbundene Konto-ID von Stripe Connect -- Sie brauchen sie für jeden Payout. Mehr dazu in Kürze.
Kategorien, die wichtig sind
Basierend auf dem, was bei Plattformen wie GigSalad, ShowBird (8.000+ Künstler über 45+ Kategorien) und StarClinch (14 Kategorien, 17.000+ Künstler) funktioniert, sind hier die Kategorien, die die meisten Buchungen generieren:
- Live-Bands (Hochzeitsbands, Cover-Bands, Jazz-Ensembles)
- Solokünstler (Gitarristen, Pianisten, Violinisten)
- DJs
- Sänger und Vokalisten
- Klassische Ensembles (Streichquartette, Orchester)
- Tribute-Acts
- Komiker
- Zauberer und Variété-Acts
- Celebrity-Auftritte
- MCs und Moderatoren
Versuchen Sie nicht, beim Start alles zu sein. Wählen Sie 3-4 Kategorien, dominieren Sie ein geografisches Gebiet, dann expandieren Sie.
Suche, Filterung und Entdeckung
Suche ist das Make-or-Break-Feature für jeden Verzeichnis-Marketplace. Wenn Kunden den richtigen Künstler nicht in unter 30 Sekunden finden können, werden sie gehen.
Wesentliche Suchfilter
- Genre/Kategorie: Multi-Select mit Unterkategorien
- Standort: Radius-basierte Geosuche ("Jazz-Bands innerhalb von 50 Meilen von Austin")
- Verfügbarkeitsdatum: Nur Künstler anzeigen, die am Ereignisdatum des Kunden verfügbar sind
- Preisbereich: Schieberegler mit min/max
- Bewertung: Mindest-Sternbewertungsfilter
- Nur verifiziert: Toggle für verifizierte Künstler
Für die Such-Engine selbst würde ich Meilisearch gegenüber Algolia für einen Neubau wählen. Es ist Open Source, selbst-gehostet und die facettierte Suche ist ausgezeichnet. Algolia funktioniert auch, wird aber schnell teuer mit wachsendem Index -- bei $1+ pro 1.000 Suchanfragen auf ihren bezahlten Plänen.
// Beispiel: Meilisearch-Abfrage für Künstlersuche
const results = await searchClient.index('artists').search(query, {
filter: [
`genres IN ["jazz", "blues"]`,
`base_price_cents >= 15000`,
`base_price_cents <= 75000`,
`_geoRadius(30.2672, -97.7431, 80467)`, // 50 Meilen von Austin
],
sort: ['rating:desc', 'booking_count:desc'],
facets: ['genres', 'price_range', 'rating'],
hitsPerPage: 20,
});
Verfügbarkeitsdatum ist der kniffligste Filter. Sie möchten keine Verfügbarkeitsdaten in Ihren Such-Index pushen und ihn synchron halten. Stattdessen holen Sie einen breiteren Satz von Meilisearch, dann filtern Sie nach Verfügbarkeit in Ihrer Anwendungsebene mit einer Datenbank-Abfrage. Es ist ein zusätzlicher Schritt, aber es hält Ihren Such-Index sauber.
Stripe Connect: Das Zahlungs-Rückgrat
Hier wird es ernst. Stripe Connect ist die richtige Wahl für einen Two-Sided Entertainment-Marketplace. Ich habe Alternativen bewertet (PayPal für Marketplaces, Adyen für Platforms, Mangopay) und Stripe Connect gewinnt bei Developer Experience, Dokumentation und globalem Coverage.
Welcher Stripe Connect-Typ?
Stripe bietet drei Connect-Kontotypen. Für eine Künstler-Booking-Plattform ist hier die Aufschlüsselung:
| Kontotyp | KYC-Belastung | Dashboard-Zugriff | Beste für |
|---|---|---|---|
| Standard | Stripe handhabt KYC | Künstler bekommt vollständiges Stripe Dashboard | Plattformen, wo Künstler Kontrolle wollen |
| Express | Stripe handhabt KYC | Begrenztes, eingebettetes Dashboard | Die meisten Marketplaces (empfohlen) |
| Custom | Sie handhaben KYC | Keine -- Sie bauen alles | White-Label-Plattformen |
Gehen Sie mit Express-Konten. Künstler werden schnell ongeboardet (Stripe handhabt die Identitätsprüfung), sie bekommen ein begrenztes Dashboard zum Anschauen ihrer Auszahlungen, und Sie behalten die Kontrolle über den Zahlungsflow. Custom-Konten sind Overkill, es sei denn, Sie bauen eine White-Label-Lösung.
Onboarding von Künstlern zu Stripe Connect
// Erstellen Sie ein Stripe Connect Express Konto für einen neuen Künstler
import Stripe from 'stripe';
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!);
export async function createConnectAccount(artistId: string, email: string) {
const account = await stripe.accounts.create({
type: 'express',
email,
capabilities: {
card_payments: { requested: true },
transfers: { requested: true },
},
business_type: 'individual',
metadata: {
artist_id: artistId,
},
});
// Speichern Sie die Konto-ID
await db.artists.update({
where: { id: artistId },
data: { stripe_account_id: account.id },
});
// Generieren Sie Onboarding-Link
const accountLink = await stripe.accountLinks.create({
account: account.id,
refresh_url: `${process.env.APP_URL}/artists/onboarding/refresh`,
return_url: `${process.env.APP_URL}/artists/onboarding/complete`,
type: 'account_onboarding',
});
return accountLink.url;
}
Verarbeitung einer Booking-Zahlung
Das Schlüsselkonzept hier sind Zielgebühren. Der Kunde zahlt Ihre Plattform, und Stripe teilt das Geld automatisch auf -- Ihre Plattformgebühr bleibt bei Ihnen, und der Rest geht zum Stripe-Konto des Künstlers.
export async function createBookingPayment(
bookingId: string,
amountCents: number,
artistStripeAccountId: string,
platformFeePercent: number = 15
) {
const platformFeeCents = Math.round(amountCents * (platformFeePercent / 100));
const paymentIntent = await stripe.paymentIntents.create({
amount: amountCents,
currency: 'usd',
application_fee_amount: platformFeeCents,
transfer_data: {
destination: artistStripeAccountId,
},
metadata: {
booking_id: bookingId,
},
// Halten Sie die Gebühr -- erfassen Sie noch nicht (Escrow-ähnliches Verhalten)
capture_method: 'manual',
});
return paymentIntent;
}
Beachten Sie capture_method: 'manual'. Das ist entscheidend für eine Booking-Plattform. Sie autorisieren die Gebühr, wenn die Buchung bestätigt wird, erfassen (nehmen das Geld tatsächlich) aber erst näher am Ereignisdatum oder nach dem Ereignis. Dies gibt Ihnen Escrow-ähnliche Funktionalität ohne tatsächlichen Escrow.
Wichtige Einschränkung: Manuelle Erfassung auf Stripe muss innerhalb von 7 Tagen nach Autorisierung erfasst werden. Für Ereignisse, die weiter entfernt sind, benötigen Sie einen anderen Ansatz -- berechnen Sie sofort eine Kaution und das Guthaben näher am Ereignis, oder nutzen Sie das separaten Gebühren und Transfers-Muster von Stripe, wo Sie den Kunden sofort berechnen, aber die Überweisung zum Künstler verzögern.
Stripe Connect Preisgestaltung (2025)
Die aktuellen Gebühren von Stripe für Connect:
- Standard-Verarbeitung: 2,9% + 0,30 $ pro Transaktion
- Connect-Gebühr: Zusätzlich 0,25% + 0,25 $ pro Auszahlung an verbundene Konten (Express/Custom)
- Sofortige Auszahlungen: 1% des Auszahlungsbetrags (optional, Künstler lieben das)
Also bei einer 2.000-Dollar-Buchung mit 15% Plattformgebühr (300 Dollar) sieht die Mathematik so aus:
- Kunde zahlt: 2.000 $
- Stripe-Verarbeitung: ~58,30 $ (2,9% + 0,30 $)
- Plattformgebühr: 300 $
- Connect-Auszahlungsgebühr: ~5,25 $ (0,25% von 1.700 $ + 0,25 $)
- Künstler erhält: ~1.636,45 $
Sie möchten transparent sein, wer die Stripe-Gebühren trägt. Die meisten Plattformen berechnen sie entweder in die Plattformgebühr ein oder geben sie als "Servicegebühr" an den Kunden weiter.
Booking-Flow-Architektur
Hier ist der Booking-Flow, der für Entertainment-Plattformen am besten funktioniert:
Kunde durchsucht → Sieht Künstlerprofil → Prüft Verfügbarkeit →
Sendet Anfrage (optional) → Sendet Buchungsanforderung →
Künstler prüft und akzeptiert → Kundenkarte wird autorisiert →
Ereignis findet statt → Plattform erfasst Zahlung → Künstler wird bezahlt
Die Anfrage vs. Sofortbuchungs-Debatte
Einige Plattformen (wie GigSalad) verwenden ein Anfrage-zuerst-Modell, bei dem Kunden eine Nachricht senden und ein benutzerdefiniertes Angebot erhalten. Andere ermöglichen Sofortbuchung zu gelisteten Preisen. Meine Empfehlung? Unterstützen Sie beide.
- Sofortbuchung: Für Künstler mit klarer, fester Preisgestaltung (z.B. "DJ für 4 Stunden: 800 $"). Höhere Konversionsrate.
- Anfrage/Angebot: Für benutzerdefinierte Ereignisse (z.B. "10er Band für einen Corporate-Gala"). Höherer durchschnittlicher Buchungswert.
Lassen Sie Künstler wählen, welches Modell sie in ihren Einstellungen bevorzugen.
State Machine für Buchungen
Buchungen brauchen klare Zustände. Ich verwende ein State-Machine-Muster:
const BOOKING_STATES = {
INQUIRY: 'inquiry', // Kunde hat eine Nachricht gesendet
QUOTED: 'quoted', // Künstler hat einen Preis gesendet
PENDING: 'pending', // Kunde hat Buchung eingereicht (wartet auf Künstler)
ACCEPTED: 'accepted', // Künstler hat akzeptiert
PAYMENT_AUTHORIZED: 'authorized', // Karte autorisiert
CONFIRMED: 'confirmed', // Beide Seiten bestätigt
IN_PROGRESS: 'in_progress', // Ereignis findet statt
COMPLETED: 'completed', // Ereignis erledigt, Zahlung erfasst
CANCELLED: 'cancelled', // Beide Seiten haben storniert
DISPUTED: 'disputed', // Kunde hat einen Streit aufgeworfen
REFUNDED: 'refunded', // Rückerstattung ausgestellt
} as const;
Jeder Zustandsübergang löst spezifische Aktionen aus: E-Mails, Stripe-Operationen, Kalenderupdates, usw.
Umgang mit Streitigkeiten, Stornierungen und Rückerstattungen
Das ist der Teil, den niemand durchdenken möchte, aber er wird Sie fressen, wenn Sie ihn nicht planen.
Stornierungsrichtlinien-Ebenen
Lassen Sie Künstler ihre eigenen Stornierungsrichtlinien aus vordefinierten Ebenen festlegen:
| Richtlinie | 30+ Tage vorher | 14-30 Tage | 7-14 Tage | Unter 7 Tagen |
|---|---|---|---|---|
| Flexibel | Volle Rückerstattung | Volle Rückerstattung | 50% Rückerstattung | Keine Rückerstattung |
| Moderat | Volle Rückerstattung | 50% Rückerstattung | 25% Rückerstattung | Keine Rückerstattung |
| Streng | 50% Rückerstattung | 25% Rückerstattung | Keine Rückerstattung | Keine Rückerstattung |
Plattformen wie GEM verwenden einen Escrow-Vault-Ansatz -- Gelder werden bis zum Ereignisabschluss aufbewahrt. Sie können dies mit den separaten Gebühren und Transfers von Stripe approximieren: Berechnen Sie den Kunden sofort, aber transferieren Sie zum Künstler erst nach dem Ereignis. Dies gibt Ihnen vollständige Kontrolle über das Rückerstattungs-Timing.
Künstler-No-Shows
Das Alptraum-Szenario. Wenn ein Künstler nicht auftaucht, müssen Sie:
- Den Kunden sofort vollständig erstatten
- Das Konto des Künstlers debitieren, falls sie bereits bezahlt wurden (Stripe Connect unterstützt Reverse Transfers)
- Das Konto des Künstlers kennzeichnen
- Möglicherweise den Kunden aus einem Plattform-Versicherungsfonds kompensieren
Bauen Sie ein Berichtssystem, in dem Kunden No-Shows innerhalb von 24 Stunden nach dem Ereignis kennzeichnen können.
Monetarisierungsmodelle, die tatsächlich funktionieren
Basierend auf dem, was die Top-Plattformen 2025 tun:
| Modell | Beispiel | Vorteile | Nachteile |
|---|---|---|---|
| Provision pro Buchung | 10-20% Plattformgebühr | Der Umsatz skaliert mit Buchungen | Künstler ärgern sich über hohe Quoten, gehen von der Plattform ab |
| Abonnement-Stufen | Gigstarter: Kostenlos / €9,99/Mo / €14,95/Mo | Vorhersehbare wiederkehrende Einnahmen | Schwerer zu verkaufen an neue Künstler |
| Lead-Gebühren | Zahlung pro erhaltener Anfrage | Geringe Reibung für Künstler | Kann sich scammy anfühlen, wenn Leads nicht konvertieren |
| Featured Listings | GigMasters: $30-40/Mo für Pro/Featured | Einfacher Upsell | Kann die Suchqualität verwässern |
| Hybrid | Kostenloses Listing + Provision + Premium-Stufen | Mehrere Einnahmequellen | Komplexität |
Ich würde mit einem Provisionsmodell (12-15% Plattformgebühr auf der Künstlerseite, 5-8% Servicegebühr auf der Kundenseite) beginnen und Abonnement-Stufen hinzufügen, sobald Sie Traction haben. Der gesamte Plattform-Take von 17-23% entspricht den Industrienormen.
Vertrauen aufbauen: Bewertungen, Verifizierung und Escrow
Vertrauen ist alles in einem Marketplace, in dem jemand $2.000+ für eine Live-Band zahlt, die er noch nie gesehen hat.
Verifikationsstufen
- E-Mail verifiziert: Grundlegend, jeder bekommt das
- Identität verifiziert: Ausweisdokument überprüft (Stripe Connect handhabt dies während des Onboardings)
- Hintergrund überprüft: Drittanbieter-Service wie Checkr
- Plattform verifiziert: Manuelle Überprüfung durch Ihr Team (StarClinch tut dies mit dediziertem Verifizierungspersonal)
Bewertungssystem
Erlauben Sie Bewertungen nur von abgeschlossenen Buchungen. Dies verhindert gefälschte Bewertungen und stellt sicher, dass jede Bewertung eine echte Transaktion darstellt. Zeigen Sie sowohl eine aggregierte Bewertung als auch einzelne Bewertungsdetails an.
// Erstellen Sie Bewertung nur, wenn Buchung abgeschlossen ist
async function submitReview(bookingId: string, rating: number, text: string) {
const booking = await db.bookings.findUnique({ where: { id: bookingId } });
if (booking.status !== 'completed') {
throw new Error('Can only review completed bookings');
}
if (booking.reviewed_at) {
throw new Error('Booking already reviewed');
}
return db.reviews.create({
data: {
booking_id: bookingId,
artist_id: booking.artist_id,
client_id: booking.client_id,
rating,
text,
},
});
}
Performance- und Skalierungsüberlegungen
Künstlerprofilseiten sind Ihre meistbesuchten Seiten und Ihre wichtigsten für SEO. Jedes Künstlerprofil ist im Wesentlichen eine Landing Page, die für Suchvorgänge wie "Jazz-Band zur Miete in Chicago" ranken sollte.
SSR + ISR-Strategie
Mit Next.js verwenden Sie Incremental Static Regeneration für Künstlerprofile:
// app/artists/[slug]/page.tsx
export async function generateStaticParams() {
const artists = await db.artists.findMany({
select: { slug: true },
where: { is_active: true },
});
return artists.map((a) => ({ slug: a.slug }));
}
export const revalidate = 3600; // Revalidieren Sie jede Stunde
Dies gibt Ihnen statische Seiten-Performance mit frischen Daten. Profilansichten, Preisgestaltung und Verfügbarkeit aktualisieren sich im nächsten Revalidierungszyklus.
Für die Such-/Verzeichnisseiten macht SSR mehr Sinn, da der Inhalt sich je nach Filtern und Standort ändert. Verwenden Sie Streaming mit Suspense, um die Seiten-Shell sofort anzuzeigen, während Suchergebnisse laden.
Wenn Sie verschiedene Frameworks für diese Art von Projekt wiegen, hat unser Team tiefe Erfahrung mit Next.js und Astro -- die richtige Wahl hängt davon ab, wie dynamisch Ihre Booking-Flows sein müssen gegenüber wie inhaltsreich Ihr Verzeichnis ist.
CDN und Media-Optimierung
Künstler laden hochauflösende Fotos und Videos hoch. Sie brauchen:
- Image-Optimierungs-Pipeline (Next.js Image-Komponente + Cloudflare Images oder imgix)
- Video-Hosting auf einem dedizierten Service (Mux, Cloudflare Stream oder Bunny Stream)
- Audio-Wellenform-Generierung und Streaming (WaveSurfer.js auf dem Frontend)
Bedienen Sie keine rohen Uploads. Verarbeiten Sie alles serverseitig in optimierte Formate.
FAQ
Wie viel kostet es, eine Künstler-Booking-Plattform zu bauen?
Ein grundlegende MVP mit Künstlerprofilen, Suche, Booking-Flow und Stripe Connect-Integration kostet normalerweise $40.000-$80.000 mit einem erfahrenen Entwicklungsteam oder 3-5 Monate Buildzeit. Eine vollständig ausgestattete Plattform mit Messaging, mobilen Apps und fortgeschrittener Suche kann $150.000+ kosten. Wenn Sie über Spezifikationen sprechen möchten, schauen Sie sich unsere Preisseite an, um zu sehen, wie wir Marketplace-Projekte umfassend abdecken.
Warum Stripe Connect verwenden, anstatt Zahlungssplits manuell zu bauen?
Stripe Connect handhabt die schwierigen Teile: KYC/Identitätsprüfung für Künstler in 40+ Ländern, 1099-Steuerberichterstattung für US-basierte Künstler, die über $600 verdienen, automatisches Auszahlungsplanning und Chargeback-Verarbeitung. Das selbst zu bauen würde ein dediziertes Team 6+ Monate kosten und setzen Sie regulatorischen Risiken aus. Die 0,25% + 0,25 $ pro Auszahlung-Gebühr ist es wert.
Wie hoch ist die typische Provisionsrate für Entertainment-Booking-Plattformen?
Die meisten Plattformen berechnen zwischen 10-20% auf der Künstlerseite und 5-10% als Kunden-Servicegebühr. GigSalad und GigMasters arbeiten in diesem Bereich. Gigstarter berechnet bemerkenswert null Provision und monetarisiert durch Abonnement-Stufen (€9,99-€14,95/Monat). Ihre ideale Rate hängt von Ihrem Markt ab -- Unterhaltung zur Hochzeit kann höhere Provisionen tragen als Bar-Gigs.
Wie handhabt man Künstler-Verfügbarkeit und verhindert doppelte Buchungen?
Implementieren Sie ein kalenderbasiertes Verfügbarkeitssystem, in dem Künstler Daten als verfügbar, gebucht oder blockiert markieren. Wenn eine Buchung bestätigt wird, blockieren Sie dieses Datum automatisch. Verwenden Sie Datenbank-Level-Unique-Constraints auf (artist_id, date), um Race Conditions zu verhindern. Für Künstler, die mehrere Ereignisse pro Tag tun (wie DJs), fügen Sie Zeitfenster zum Verfügbarkeitsmodell hinzu, anstatt ganztägiger Blöcke.
Sollte ich ein Headless-CMS-gestütztes Verzeichnis oder eine vollständig benutzerdefinierte Datenbank bauen?
Der Hybrid-Ansatz funktioniert am besten. Verwenden Sie ein Headless CMS für redaktionelle Inhalte (Blogbeiträge, Stadtführer, Kategorie-Landing-Pages, die SEO-Traffic generieren) und eine benutzerdefinierte PostgreSQL-Datenbank für transaktionale Daten (Buchungen, Zahlungen, Verfügbarkeit, Bewertungen). Die Buchungslogik durch ein CMS zu laufen, ist ein Rezept für Ärger.
Wie bekomme ich die ersten 100 Künstler auf meine Plattform?
Direkte Ansprache funktioniert. Scrapen Sie öffentliche Musikverzeichnisse, Event-Lieferant-Websites und lokale Ereignisangebote. Mailen Sie Künstlern mit einem klaren Werteversprechen -- kostenloses Listing, keine Vorauszahlung und Sie werden Buchungen zu ihnen antreiben. Bieten Sie den ersten 50 Künstlern einen "Gründungsmitglieds"-Badge und dauerhaft reduzierte Provisionsraten an. Partner mit lokalen Musikschulen und Veranstaltungsorten. Die ersten 100 sind manuelle Arbeit, Punkt.
Was ist mit internationalen Zahlungen und mehreren Währungen?
Stripe Connect unterstützt Auszahlungen in 40+ Ländern und 135+ Währungen. Wenn ein Künstler in Deutschland von einem Kunden in den USA gebucht wird, handhabt Stripe die Währungsumrechnung automatisch. Sie zahlen Stripe's FX-Gebühr (ungefähr 1% zusätzlich zur Standard-Verarbeitung), aber das ist weit billiger, als Multi-Währungs-Unterstützung selbst zu bauen. Setzen Sie Ihre Plattformgebühr in die Kundenwährung und lassen Sie Stripe die Umwandlung zur lokalen Währung des Künstlers handhaben.
Wie schütze ich mich vor Betrug auf einem Two-Sided-Marketplace?
Mehrere Ebenen: Stripe Connects eingebaute Identitätsprüfung für Künstler, Stripe Radar für Zahlungsbetrug auf der Kundenseite, manuelle Überprüfung für High-Value-Buchungen (über $5.000), Velocity Checks (Konten kennzeichnen, die schnell viele Buchungen erstellen) und eine Sperrfrist vor Künstler-Auszahlungen (3-7 Tage nach Ereignisabschluss). Die Sperrfrist ist Ihr größter Schutz -- sie gibt Kunden Zeit, Probleme zu melden, bevor Geld Ihre Plattform verlässt.