Cours Prives
Obtenir les instructeurs de cours prives
GET /api/public/studio/{studioId}/private-lesson-instructors
Retourne les instructeurs ayant au moins un creneau de disponibilite actif et une entree de tarif active.
Reponse
[
{
"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 suit la convention JavaScript : 0 = Dimanche, 1 = Lundi ... 6 = Samedi.
Reserver un cours prive
Les reservations de cours prives doivent passer par la page de checkout hebergee. Il n'y a pas d'endpoint API pour les reservations directes.
Dirigez les eleves vers :
https://www.bailaya.com/{locale}/book/private-lesson/{instructorId}
Exemple :
https://www.bailaya.com/en/book/private-lesson/instr_xyz
https://www.bailaya.com/es/book/private-lesson/instr_xyz
La page de checkout gere l'inscription des invites, la selection du creneau et la confirmation. L'ID de l'instructeur provient du champ id dans la reponse des instructeurs de cours prives.
Obtenir les questions personnalisées de réservation
GET /api/public/studio/{studioId}/private-lesson-questions
Retourne les questions définies par le studio auxquelles les élèves doivent répondre lors d'une demande de cours privé. La page de checkout hébergée les collecte automatiquement ; cet endpoint n'est utile que si vous reproduisez l'interface de réservation.
Réponse
[
{
"id": "plq_abc",
"label": { "en": "Preferred lesson language", "fr": "Langue préférée" },
"type": "DROPDOWN",
"options": [
{ "value": "en", "label": { "en": "English", "fr": "Anglais" } },
{ "value": "fr", "label": { "en": "French", "fr": "Français" } }
],
"required": true
}
]
type vaut FREEFORM (texte libre) ou DROPDOWN (liste déroulante avec options). Pour DROPDOWN, value est la valeur interne renvoyée lors de la sélection ; label est l'étiquette traduite affichée à l'élève.