Glofox este platforma cloud de rezervări a ABC Fitness, așa că nu este nimic de cablat: TapHome Core citește rezervările sălilor din API-ul REST Glofox prin HTTPS. Configurarea pe partea studioului are trei părți — accesul la API-ul Glofox pentru studio, fiecare sală închiriată configurată ca spațiu rezervabil (facility) și Branch ID-ul și fusul orar ale studioului. Apoi șablonul se importă o dată pentru fiecare sală.
Capturile de ecran provin dintr-o locație de test Glofox Sandbox (ABC Fitness Developer Portal și dashboard-ul Glofox, octombrie 2026) și din aplicația TapHome conectată la o unitate de control de test cu rezervări simulate.
Configurare
1. Solicitați accesul la API-ul Glofox
Superadminul studioului se înregistrează în ABC Fitness Developer Portal (Account Type Customer) și face clic pe Request Integrator:
- Environment: Live (Sandbox este doar o locație de test cu date demonstrative).
- Namespace: namespace-ul Glofox al studioului.
- Intended Use Case: de exemplu „TapHome building automation reads facility bookings to prepare rooms (heating, lights, audio) before each booking. Read-only.”
ABC Fitness verifică solicitările Live și răspunde prin e-mail. Cheia API (API key) și tokenul API (API token) se solicită apoi cu Request credentials și sosesc la adresa de e-mail a contului din portal. Întrebări despre acces: [email protected].

Cheia API și tokenul API dau acces la datele Glofox ale studioului. Glofox cere ca acestea să fie folosite doar în integrări backend, niciodată în aplicații client; în TapHome își au locul doar în parametrii de import ai șablonului.
2. Configurați fiecare sală ca spațiu rezervabil
Activați mai întâi Settings → Booking → Facility Rental; comutatoarele pentru spații de mai jos apar abia după aceea. Apoi Manage → Facilities afișează lista sălilor. Fiecare sală pe care o închiriază antrenorii trebuie să fie un spațiu (facility) cu Bookable activat, cu un program de intervale (fila Schedule) și, la Price / Eligibility, cu Drop In Clients sau Clients permiși (un preț de 0 este în regulă). Fără acestea, rezervarea unui antrenor se termină cu „Membership not allowed”.


3. Găsiți Branch ID-ul și fusul orar al studioului
Cu cheia API și tokenul, o singură cerere returnează locația studioului, ID-ul ei și fusul ei orar:
| |
data[]._id este BranchId, iar data[].address.timezone_id fusul orar al studioului (de exemplu Europe/Bratislava). Fără filtru, cererea returnează toate locațiile din namespace-urile pe care integrarea le poate citi, așa că, dacă aveți mai multe studiouri, alegeți intrarea studioului ale cărui săli le urmăresc modulele.
Ceasul scripturilor din TapHome Core trebuie să fie în fusul orar al studioului: pe Core 2025.2 acesta este fusul orar de sistem al unității de control, pe Core mai nou fusul orar al locației TapHome.
4. Importați șablonul o dată pentru fiecare sală
În aplicația TapHome deschideți interfața Packet parser (adăugați-o mai întâi dacă unitatea de control nu o are), apoi Adăugați din șablon → Adăugați din fișier și alegeți șablonul descărcat. Completați ApiKey, ApiToken, BranchId, LeadMinutes și FacilityId al sălii.
Introduceți numele sălii în Prefixul numelui dispozitivului și terminați-l cu un separator, de exemplu Sala de yoga - . Prefixul se alipește la numele dispozitivelor exact așa cum a fost scris, deci fără separator un dispozitiv se numește „Sala de yogaBooked now”. Zona plasează cele trei dispozitive ale sălii în zona sălii.

Dacă Facility ID-ul nu este încă cunoscut, introduceți orice text. După prima interogare, modulul raportează o eroare care listează toate spațiile filialei (branch) cu ID-urile lor (Dispozitive → Erori și avertismente → modulul):

Copiați ID-ul corect în variabila FacilityId a modulului (sau importați din nou) și repetați pentru fiecare sală.
5. Verificați în calendarul Glofox
Rezervările unei săli apar în Calendar din Glofox (filtrul Facilities). Cu o rezervare de la 10:00 la 11:00 și LeadMinutes 60, valorile sălii sunt:
| Ora | Booked now | Minutes to next booking | Prepare room |
|---|---|---|---|
| 8:30 | Free | 90 | Idle |
| 9:00 | Free | 60 | Prepare |
| 10:30 | Booked | următoarea rezervare sau 1440 | Prepare |
| 11:00 | Free | următoarea rezervare sau 1440 | Idle |
Minutele sunt minute întregi numărate de la interogare, așa că o valoare poate diferi de tabel cu unu.

În aplicația TapHome fiecare sală afișează cele trei valori sub modulul său:

Smart rules
Prepare room (pregătirea sălii) este condiția pentru smart rules ale sălii: valoarea setată de încălzire sau răcire, scena de iluminat și cea audio cât timp este Prepare, totul oprit când revine la Idle. Booked now (sală rezervată acum) se potrivește pentru afișajele de ocupare; Minutes to next booking (minute până la următoarea rezervare) permite unei smart rule să pornească un sistem de încălzire lent mai devreme decât LeadMinutes.
