ZDGNS Počitnikovanje
Rezervacijski portal za člane, zgrajen za Zvezo društev gluhih in naglušnih Slovenije — hrbtenica v Dynamics 365 CRM, plačila preko PayPala, večjezičen vmesnik in rezervacijska pravila, prilagojena 12 različnim kategorijam članstva.
Pregled
ZDGNS — Zveza društev gluhih in naglušnih Slovenije izvaja program počitnikovanja in zdravstvene rehabilitacije za svoje člane. Pred tem portalom so rezervacije obravnavali ročno. Pripeljali so me, da iz nič zgradim samopostrežni rezervacijski sistem, ki bo članom omogočal prijavo, pregled počitniških objektov, preverjanje razpoložljivosti v realnem času in potrditev rezervacij — vse tesno integrirano v obstoječi Dynamics 365 CRM organizacije.
Portal pokriva celoten življenjski cikel: registracijo članov (z dvojno potjo za obstoječe imetnike kartic in nove prijavitelje), 3-stopenjskega rezervacijskega čarovnika, plačilni tok preko PayPala, sprožen z e-poštnimi povezavami iz CRM-a, in osebno nadzorno ploščo s pregledom prihodnjih in preteklih bivanj. Ker uporabniško bazo sestavljajo gluhi, naglušni, gluhoslepi in osebe s polževim vsadkom, je vmesnik zasnovan za jasnost in vizualno komunikacijo skozi celoto.
Sistem je od lansiranja v neprekinjeni produkcijski uporabi in aktivnem razvoju — z več kot 22 verzijskimi izdajami, ki pokrivajo nove funkcionalnosti, varnostne popravke in nadgradnje CRM sheme do leta 2026.
Arhitektura
Kako brati diagram: React portal za člane in javni PayPal tok komunicirata izključno s PHP proxy plastjo — CRM access token nikoli ne pride do brskalnika. Proxy posreduje OData v9.2 poizvedbe v Dynamics 365, upravlja stanje sej in premosti PayPal blagajno brez stanja tako, da vgradi GUID naročila v PayPalovo lastno polje invoice. Azure AD OAuth poverilnice ostanejo ves čas na strežniški strani.
Pravi omejitev nista bila React ali PHP — bil je Dynamics 365 kot edini vir resnice. Vsako rezervacijsko pravilo, cenovni nivo in zapis člana živi v CRM-u. Inženiring portala je pomenil naučiti se razmišljati v OData.
Šest stvari dostavljenih,
tri težke rešene.
Ključni prispevki
- Zasnoval celotno full-stack arhitekturo — React SPA spredaj, PHP proxy plast zadaj, Dynamics 365 kot avtoritativni vir podatkov.
- Izdelal 3-stopenjskega rezervacijskega čarovnika: iskanje po datumskem razponu → potrditev razpoložljivosti → blagajna s seznamom gostov, z rezervacijskimi pravili za 12 različnih kategorij članstva.
- Integriral PayPal Express Checkout preko PHP proxyja brez stanja — seje niso potrebne; GUID naročila je vgrajen v PayPalovo polje invoice in tako preživi preusmeritev.
- Portal dvosmerno povezal s Dynamics 365 CRM: bere lokacije, enote, prodajne naloge in zapise članov; nazaj piše status plačila in rezervacijske podatke.
- Implementiral dvotirno registracijo: obstoječi člani se registrirajo s številko članske izkaznice in validacijo rojstnega datuma; novi kontakti se ustvarijo preko namenske CRM končne točke.
- Lansiral dvojezični vmesnik (slovenščina primarna, angleščina sekundarna) z i18next in zaznavo jezika brskalnika.
- Poštne številke, lokacije in sezname enot predpomnil na strani klienta z večnivojskimi TTL-ji (5 min / 30 min / 24 h), da ostanemo znotraj omejitev API klicev.
Rešeni izzivi
- Dynamics 365 kot backend — vsak entitet (lokacija, enota, prodajni nalog, član) živi v CRM-u; vse poizvedbe so OData v9.2, kar zahteva skrbno kodiranje filtrov in tuning batch-zahtev.
- PayPal tok brez stanja — CRM pošlje plačilno povezavo po e-pošti; uporabnik pristane neavtenticiran; GUID mora preživeti PayPalovo preusmeritev brez strežniških sej.
- 12 kategorij članstva z različnimi cenovnimi nivoji in okni za vnaprejšnje rezervacije — gluhi in naglušni člani imajo 3-mesečno prednost; ostali 1 mesec.
- ModSecurity na shared cPanel gostovanju je blokiral dolge OData query stringe — rešeno tako, da smo vse branje zavili v POST telesa preko PHP releja.
Stranka
Z Numenom delamo že leta — od rezervacijskega portala do muzejske aplikacije in orodij za dostopnost. Davor resnično razume potrebe skupnosti gluhih in naglušnih.
Stranka
Že leta uporabljamo rezervacijski portal, ki ga je za naš program počitnikovanja razvil Numen. Sistem nam je močno olajšal delo z obravnavo prijav in razporejanjem gostov v naše objekte. Davor in ekipa znajo prisluhniti našim specifičnim potrebam — tako tehničnim kot dostopnostnim — in se na naša vprašanja vedno hitro odzovejo. Z delom smo zelo zadovoljni in jih toplo priporočamo.
Kaj poganja stvari.
Pripravljeni popraviti, zgraditi
ali skalirati?
30 minut, z mano osebno. Preberem vaš sistem kot dnevniško datoteko in povem, kaj bi naredil najprej. Brez prezentacij, brez prodajnega lijaka.
— Davor Majc, ustanovitelj, Numen