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ăPublicCu cheie
AnunțuriCâmpurile de bază+ transportStage, dacă ești participant
Ofertele unui anunț—Doar beneficiarul
Ofertele tale—Doar cele proprii
VehiculeCele de pe platformă+ ale tale, orice stare
FirmeProfilul 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.