# Relto — starea implementării

Versiune de lucru locală, nu produs final și nu lansare comercială.

## Implementat
- Identitate vizuală pe baza Relto.png, homepage adaptat la mobil, exemple marcate explicit.
- Cereri persistente în D1, formular, filtre, vizualizări grilă/listă/hartă; zone opționale marcate manual.
- Cont autentificat pentru previzualizare prin Sites/ChatGPT, profil cu telefon privat, favorite.
- Activitate separată solicitant/ofertant, oferte, acceptare/refuz, chat permis numai după acceptare.
- Debitare tranzacțională a creditelor pentru oferte și cereri urgente; sold inițial zero.
- Ștergere a descrierilor ofertelor refuzate/arhivate, înregistrare minimală pentru istoric și blocarea retrimiterii.
- Expirare pe baza datei, cu curățare la accesarea API; nu este încă un job programat.
- Notificări în cont pentru oferte/decizii și preferințe persistente.
- Administrare inițială a tarifelor și duratelor, vizualizare conturi/cereri/oferte/registru credite; acces prin allowlist ADMIN_USER_IDS, implicit refuzat.
- Titluri și descriere de bază, TypeScript, migrații și teste pentru fluxurile principale.

## Mai trebuie implementat și validat înainte de lansare
- Autentificare publică proprie, verificare telefon/email, recuperare acces, ștergere cont și fluxurile mobile. Autentificarea Sites actuală nu este soluția finală pentru marketplace-ul public.
- Încărcarea și stocarea imaginilor cu acces privat pentru oferte, limite, procesare și ștergere efectivă a fișierelor.
- Date specifice complete pentru fiecare proprietate, perioade hotelier, filtre complete și paginare server.
- Promovare cereri contra cost, pachete editabile, NETOPIA cu confirmări verificate, idempotency, refund și reconciliere.
- Gestionare bannere cu inventar, dimensiuni, rezervare fără suprapuneri, plată și aprobare.
- Job programat pentru expirare și notificări la 7 zile, 3 zile și 24 ore; email și push, retries și deduplicare.
- Moderare, editare completă în admin, roluri, jurnal de audit, raportare și blocarea utilizatorilor.
- SEO de producție: pagini SSR pentru fiecare cerere, metadate individuale, sitemap, canonical, indexare controlată, schema.org adecvată, articole reale.
- Traduceri pentru cele 24 limbi oficiale UE + chineză, arabă și ebraică, RTL și verificarea textelor.
- Aplicații native iOS/Android, autentificare comună, push, plăți conforme politicilor magazinelor, testare pe dispozitive și livrare către magazine.
- Politici și informații comerciale reale, accesibilitate, anti-abuz, backup și restaurare, monitorizare și teste concurente end-to-end.

## Decizii și acces
- Durata implicită: 30 zile, provizorie din cauza contradicției 30/60 zile; configurabilă. Schimbarea setării afectează cererile noi.
- Refuzul păstrează un minim de date, deci spațiul ocupat nu este zero.
- Promovarea reprezintă vizibilitate plătită și nu dovedește seriozitatea unui ofertant.
- Utilizatorul are acces la relto.ro; nu are încă Apple Developer sau Google Play Console. Statutul NETOPIA nu este confirmat.
- Domeniul nu a fost modificat. Nu au fost efectuate plăți reale sau publicări în magazine.
- Site rezervat în Sites, încă nepublicat. Nu publica această versiune drept platformă finală.

## Verificări efectuate
- Build de producție și verificare TypeScript.
- Migrații locale aplicate și inspectate.
- Teste locale API: autentificare, publicare, telefon absent din răspuns public, favorite, sold insuficient, acces chat și activare/dezactivare.
- Teste SQLite: debit fără sold negativ, unicitate ofertă pe solicitant/ofertant, ștergerea payload-ului și blocarea retrimiterii.
- Testarea WebMCP nu a fost posibilă într-un context compatibil; instrumentul este opțional și nevalidat.
- Nu s-a efectuat QA vizual în browser sau testare multi-utilizator pe găzduire.

## Surse
- Imagine ilustrativă: Daniel Deiev, Unsplash, https://unsplash.com/photos/NR8BWWHbf2k (clădire din Polonia, nu anunț românesc real).
- Hărți: Leaflet și OpenStreetMap, atribuire afișată în hartă.
- Apple: https://developer.apple.com/app-store/review/guidelines/
- Google: https://support.google.com/googleplay/android-developer/answer/9858738?hl=en
- NETOPIA: https://doc.netopia-payments.com/

## Configurarea administratorului local
- Acces activat pentru identitatea de test Sites `local_seedy` în fișierul local ignorat `.env`, prin `ADMIN_USER_IDS`.
- `/admin` oferă autentificare când vizitatorul nu este conectat. API-ul verifică în continuare allowlist-ul pe server.
- Verificat: API admin 200 pentru sesiunea locală de test, 403 fără autentificare; build reușit.
- Această identitate este exclusiv pentru dezvoltare. Administratorul real pentru relto.ro trebuie desemnat și configurat în găzduire înainte de lansare; nu reutiliza identitatea locală în producție.
