Aller au contenu principal

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

info

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.