Modelul de date
Anunțuri, oferte, vehicule libere, firme — cum se leagă între ele.
Anunțul (listing)
Ce are clientul de dus: o mașină, o mutare, un colet, marfă. Publicat de un cont — niciodată de o firmă direct; firma apare doar prin cine ofertează la el.
Oferta (offer)
Prețul și data unui transportator, la un anunț. Un transportator poate reveni cu o ofertă nouă la același anunț (revizuire), dar nu poate avea două oferte active simultan pe același anunț.
Ofertele nu sunt publice: doar beneficiarul anunțului le vede pe toate; transportatorul își vede doar ofertele lui.
Vehiculul liber (vehicle)
Unde merge gol un transportator, și când. Public, ca lista de pe /vehicule-libere — fără preț, fără telefon. Cele preluate din grupuri Facebook nu apar în API.
Firma (company)
Profilul public al unui transportator cu firmă: nume, CUI, localitate, stare de verificare, rating. Fără date de administrare (facturare, membri, acte).
Cine vede ce
| Resursă | Public | Cu cheie |
|---|---|---|
| Anunțuri | Câmpurile de bază | + transportStage, dacă ești participant |
| Ofertele unui anunț | — | Doar beneficiarul |
| Ofertele tale | — | Doar cele proprii |
| Vehicule | Cele de pe platformă | + ale tale, orice stare |
| Firme | Profilul public | — |
„Cursă” nu e o resursă separată: e anunțul cu ofertă acceptată, urmărit prin transportStage (departed → loaded → en_route → delivered).
Ce nu există în API
- Alegerea unei oferte. Rămâne un gest al clientului, în site.
- Contactele. Niciun telefon, în niciun răspuns, nici după acceptare — vezi Regulile de produs.
- Un director complet de firme. Doar
GET /companies/{id}, pentru un id cunoscut.