Nevoie de sfaturi despre arhitectură: rezultatele API in PHP si MySQL
Salutări tuturor!
Dezvolt un website de turism care preia date din 8 API-uri diferite, fiecare deservind o țară, altele mai multe.
Am stocat în baza mea de date toate regiunile, orașele și hotelurile aferente.
Acum trebuie să listez prețuri pentru camerele disponibile.
Partea bună este că nu toate hotelurile vor fi active, lucru care este deja implementat în aplicația mea.
Problema este că API-urile nu pun la dispoziție rezultate implicite fără a cere parametri precum perioadă (start date - end date), nr. de persoane, nr. de copii.
Și eu am nevoie să afisez prețuri le hoteluri disponibile și când vizitatorul accesează o regiune.
Apoi, trebuie listate prețurile și când parte, sau toți parametrii sunt deja selectați de vizitator.
Problema mea este logica, arhitectura cea mai bună pentru a evita sumedenia de bucle în cronjob-uri care trebuiesc clădite.
Cel mai mult "mă încurcă" ideea de nr. nopți pentru că, după cum știți, 2 nopți începând cu o zi poate rezulta un preț, și alt preț când avem o altă zi.
La fel pentru 3, 5 ... X nopți.
Rezultă un întreg sistem de permutări care implică bucle în bucle și aș vrea să știu dacă există o metodă mai bună.
Și, ca să fie "treaba treabă", fiecare API este actualizat și de 3 ori pe zi...
O primă soluție ar fi să creez un cron pentru fiecare API care scoate prețurile pentru toate permutările posibile, pornind de la hotelurile active.
Acest cron să scrie datele într-un csv pe serverul meu, pentru ca apoi, să mai fac un cron care să facă insert/update cu acele date în tabelele mele.
Așa separ două secțiuni logice limitând numărul de interogări.
Rămâne doar cron-ul inițial care scoate răspunsurile de la API, plecând de la hotel, tipul camerei care poate fi afectat de nr de persoane/copii, la care se adaugă nr de nopți...
Voi cum ați aborda această problemă?
PS: aplicația este dezvoltată de la zero în PHP 8.2.
Mulțumesc!
Desi toti vedem acelasi cer, nu toti vedem acelasi orizont!