Privatstunden
Privatstunden-Lehrkraefte abrufen
GET /api/public/studio/{studioId}/private-lesson-instructors
Gibt Lehrkraefte zurueck, die mindestens ein aktives Verfuegbarkeitsfenster und einen aktiven Preiseintrag haben.
Antwort
[
{
"id": "instr_xyz",
"name": "Maria",
"lastname": "García",
"image": "https://cdn.bailaya.com/users/xyz/photo.jpg",
"bio": "{\"en\":\"10 years of salsa experience\",\"es\":\"10 años de experiencia\"}",
"availability": [
{
"id": "avail_001",
"dayOfWeek": 1,
"startTime": "09:00",
"endTime": "17:00"
}
],
"pricing": [
{ "id": "price_001", "durationMins": 60, "price": 500, "currency": "MXN" },
{ "id": "price_002", "durationMins": 90, "price": 700, "currency": "MXN" }
]
}
]
dayOfWeek folgt der JavaScript-Konvention: 0 = Sonntag, 1 = Montag ... 6 = Samstag.
Eine Privatstunde buchen
Privatstunden-Buchungen muessen ueber die gehostete Checkout-Seite erfolgen. Es gibt keinen direkten Buchungs-API-Endpoint.
Leiten Sie Schueler weiter zu:
https://www.bailaya.com/{locale}/book/private-lesson/{instructorId}
Beispiel:
https://www.bailaya.com/en/book/private-lesson/instr_xyz
https://www.bailaya.com/es/book/private-lesson/instr_xyz
Die Checkout-Seite uebernimmt die Gastregistrierung, Zeitfensterauswahl und Bestaetigung. Die Lehrkraft-ID stammt aus dem id-Feld in der Antwort der Privatstunden-Lehrkraefte.
Buchungsfragen abrufen
GET /api/public/studio/{studioId}/private-lesson-questions
Liefert die vom Studio definierten Fragen, die Schüler bei einer Privatstundenanfrage beantworten müssen. Die gehostete Checkout-Seite erfasst diese automatisch; dieser Endpoint wird nur benötigt, wenn du die Buchungsoberfläche selbst nachbaust.
Antwort
[
{
"id": "plq_abc",
"label": { "en": "Preferred lesson language", "de": "Bevorzugte Unterrichtssprache" },
"type": "DROPDOWN",
"options": [
{ "value": "en", "label": { "en": "English", "de": "Englisch" } },
{ "value": "de", "label": { "en": "German", "de": "Deutsch" } }
],
"required": true
}
]
type ist entweder FREEFORM (Freitext) oder DROPDOWN (Auswahlliste mit options). Bei DROPDOWN ist value der stabile interne Wert, der bei der Auswahl zurückgegeben wird; label ist der lokalisierte Anzeigetext.