Apparence
CalendarEvent
Évènement du calendrier : tournage, rendez-vous, livraison. Peut être rattaché à un Contact et/ou à une Opportunity.
- Path Firestore :
users/{userId}/events/{eventId} - Source TS :
klapy-crm/src/types/index.ts
Interface
ts
interface CalendarEvent {
id: string;
title: string;
date: Timestamp;
start_time?: string;
end_time?: string;
location?: string;
type: EventType;
contact_id?: string;
opportunity_id?: string;
notes?: string;
created_at: Timestamp;
updated_at: Timestamp;
}Champs
| Champ | Notes |
|---|---|
title | Obligatoire |
date | Date du jour de l'évènement (Timestamp), sans heure |
start_time | Heure au format HH:mm (string, pas un Timestamp). Si absent, journée entière |
end_time | Idem |
location | Lieu, texte libre |
type | Voir constante ci-dessous |
contact_id | Référence optionnelle vers un Contact |
opportunity_id | Référence optionnelle vers une Opportunity |
Constante liée
EVENT_TYPE : shoot, meeting, delivery
Pourquoi string pour les heures ?
Les heures sont stockées en string HH:mm pour éviter les pièges de timezone : un tournage à 14h00 reste 14h00 quoi que fasse le navigateur du client. Le date (Timestamp) ne porte que le jour, pas l'heure.