Apparence
Opportunity
Opportunité commerciale, c'est-à-dire une carte du Kanban (/app/pipeline). Le statut détermine la colonne dans laquelle elle apparaît.
- Path Firestore :
users/{userId}/opportunities/{opportunityId} - Source TS :
klapy-crm/src/types/index.ts
Interface
ts
interface Opportunity {
id: string;
title: string;
contact_id?: string;
amount?: number;
shoot_date?: Timestamp;
status: OpportunityStatus;
project_type?: string;
notes?: string;
created_at: Timestamp;
updated_at: Timestamp;
}Champs
| Champ | Notes |
|---|---|
title | Obligatoire |
contact_id | Référence optionnelle vers un Contact |
amount | Montant estimé en euros (TTC), sert au calcul du CA potentiel |
shoot_date | Date de tournage prévue |
status | Détermine la colonne Kanban via OPPORTUNITY_STATUS |
project_type | Texte libre (mariage, corporate, clip, etc.) |
Constante liée
OPPORTUNITY_STATUS : new, contacted, quote_sent, negotiating, won, lost
Cycle de vie
Transitions libres
Les transitions ne sont pas contraintes par les règles Firestore : un utilisateur peut faire passer une opportunité de new à won directement. Le diagramme ci-dessus est le flux nominal, pas une machine d'état stricte.
Voir aussi
ContactQuote: un devis peut être créé depuis une opportunitéTask: peut être rattachée à une opportunité viaopportunity_idCalendarEvent: idem (tournage planifié)