| Modèle | Zone | Compétences | Durée/job (h) | Semaine | Fin de sem. | Férié | |
|---|---|---|---|---|---|---|---|
| Aucune ligne — clique « Ajouter ». | |||||||
Ressource |
{{ d.dow }} {{ d.dnum }}
{{ estLoad(d.iso) }}/{{ visStat(d.iso).hours }}h
{{ skillFilter.length ? ('compétence(s) : ' + skillFilter.join(', ')) : 'ressources affichées' }} ({{ visibleTechs.length }} tech) {{ tk.h }}
{{ j.est_min ? fmtMin(j.est_min) : ((j.duration_h || 1) + 'h') }}{{ j.subject || j.service_type || j.name }}
📍 {{ j.address }} 🧩 {{ j.required_skill }} 🔒 en attente d'une étape — non assignable +{{ (unassignedByDay[d.iso] || []).length - 8 }} de plus — ouvrir la liste
—
|
|---|---|
|
Autres compétences |
{{ b.legacy ? (b.legacy_dept || b.dept || 'Ticket') : (b.skill || 'Job') }} · ≈{{ Math.round((b.e - b.s) * 10) / 10 }}h ⚠ Dispatché OPS — pas publié dans F clic = détails du jour (carte + trajet) · clic droit = renvoyer au pool +{{ dropPreview.addH }}h → {{ projPct(t.id, d.iso) }}%
{{ overWhy(t.id, d.iso) }} |
| Aucun technicien (filtre ?). |
| Nom | Début | Fin | Heures | Couleur | 🛡️ Garde | |
|---|---|---|---|---|---|---|
| {{ (t.template_name||'?')[0].toUpperCase() }} {{ t.template_name }} | {{ calcHours(t.start, t.end) }} h |
| Technicien | Compétences | Efficacité % | Salaire/h | Charges % | Autres/h | Coût chargé/h |
|---|---|---|---|---|---|---|
| {{ t.name }}{{ t.group }} | {{ loadedCost(t) }} $ |
ticket.assign_to au technicien dans osTicket (selon l'assignation Ops).{{ m.sms }}
| Catégorie | Libellé | Min | ×Qté | Mots-clés (auto-détection) | |
|---|---|---|---|---|---|