Modèle de membre d'équipage, de location d'équipement et de feuille d'appel Backend
Planification de l'équipage, suivi de l'équipement et livraison de feuille d'appel
Un backend CRM de l'équipe de production vidéo prêt pour la production sur Back4app avec profils de membre d'équipage, horaires de créneaux de disponibilité, inventaire d'équipement, vérifications de location d'équipement, enregistrements de feuille d'appel, livraison de distribution de feuille d'appel et suivi de projet client. Comprend un diagramme ER, un dictionnaire de données, un schéma JSON, un espace de jeu API et un prompt Agent IA pour un démarrage rapide.
Conclusions sur le CRM de l'équipe
Ce modèle vous offre un backend de CRM de l'équipe de production vidéo avec la planification des membres de l'équipe, le suivi des articles d'équipement et la livraison des fiches d'appel afin que les coordinateurs puissent organiser les journées de production.
- Disponibilité des membres de l'équipe en un coup d'œil — Suivez chaque membre de l'équipe et la fenêtre de disponibilité afin que les coordinateurs puissent confirmer qui est disponible avant le jour du tournage.
- Journaux de location d'équipement que vous pouvez auditer — Utilisez les classes d'articles d'équipement et de location d'équipement pour enregistrer le retrait, le retour et les notes de condition pour les caméras, les lumières et les kits audio.
- Distribution des fiches d'appel sans devinette — Conservez les entrées de fiches d'appel et de distribution de fiches d'appel afin que chaque département obtienne la bonne fiche au bon moment.
- Opérations d'équipe avec une propriété claire — Liez les affectations, le matériel et les fiches d'appel aux bonnes personnes grâce aux pointeurs Parse et à un accès sensible au rôle.
- Un backend pour les outils mobiles et web — Servez les planificateurs, producteurs et assistants à partir de la même API REST et GraphQL.
Aperçu : CRM de l'équipe de production vidéo
Les rapports dans l'équipe de production vidéo devraient répondre aux questions du leadership sans une recherche manuelle à travers les dossiers et les fils de discussion. La fiabilité est une caractéristique, pas une note de bas de page. Définissez CrewMember, AvailabilitySlot, GearItem, GearRental et CallSheet sur Back4app pour gérer les questions de l'équipe de production vidéo avec une propriété plus claire, moins de tâches abandonnées et un historique prêt pour le client. Le schéma couvre CrewMember (nomComplet, email, téléphone, rôle, notes), AvailabilitySlot (membreÉquipe, date, heureDébut, heureFin, statut, emplacement), GearItem (tagActif, nom, catégorie, condition, estDisponible, emplacement), GearRental (élémentMatériel, réservéPar, dateLocation, dateRetourDue, retournéÀ, statut, conditionSortie, conditionEntrée), CallSheet (nomProjet, dateTournage, heureAppel, emplacement, statut, notes, crééPar), CallSheetDistribution (fichesAppel, emailDestinataire, méthodeDeLivraison, envoyéÀ, statutLivraison, ouvertÀ) et ClientProject (nomClient, codeProjet, titre, statut, producteur, ficheAppel) avec authentification et contrôles de workflow d'équipe intégrés. Connectez votre frontend préféré et expédiez plus rapidement.
Meilleur pour :
Comment ce backend pour l'équipage de production vidéo est organisé
Les opérateurs dans l'équipage de production vidéo ressentent généralement la douleur en premier lors des passes de relais : une équipe met à jour une feuille, une autre fait confiance à un fil de discussion, et aucune n'est en accord avec ce que le client a été informé.
Ce résumé oriente les équipes autour de CrewMember, AvailabilitySlot et GearItem avant que quiconque ne plonge dans des diagrammes ER ou des exports JSON.
Fonctionnalités principales du CRM d'équipe
Chaque fiche technique dans ce hub utilise le même schéma backend de CRM d'équipe avec CrewMember, AvailabilitySlot, GearItem, GearRental, CallSheet, CallSheetDistribution, et ClientProject.
Gestion de la liste des membres de l'équipage
CrewMember stocke le nom complet, le rôle, l'email et le téléphone.
Fenêtres AvailabilitySlot
AvailabilitySlot suit le membre de l'équipage, la date, l'heure de début, l'heure de fin et le statut.
Équipement inventaire et état
Équipement enregistre assetTag, nom, catégorie, état et estDisponible.
Journal des locations d'équipement et des retours
Location d'équipement lie gearItem à checkedOutBy, rentalDate, returnDueDate et status.
Création de feuille d'appel
La feuille d'appel stocke projectName, shootDate, location, callTime, status et notes.
Suivi de la distribution des fiches d'appel
La distribution des fiches d'appel lie callSheet, recipientEmail, deliveryMethod, sentAt, et deliveryStatus.
Pourquoi construire votre backend CRM d'équipe avec Back4app ?
Back4app vous fournit des éléments pour l'équipe, l'équipement et la distribution afin que votre équipe puisse passer du temps sur les appels, et non sur la plomberie du backend.
- •Planification des équipes avec AvailabilitySlot: Les enregistrements AvailabilitySlot liés à chaque CrewMember facilitent la confirmation de qui peut prendre un tournage, un ramassage ou un appel de nuit.
- •Logs de location d'équipement avec GearRental et GearItem: Enregistrez les moments de retrait et de retour sur GearRental tout en gardant GearItem.assetTag, condition et isAvailable visibles pour des vérifications rapides des actifs.
- •Livraison de feuille d'appel avec CallSheetDistribution: Utilisez les entrées de CallSheetDistribution pour chaque CallSheet afin que les producteurs puissent voir qui a reçu la feuille, quand elle a été envoyée et si elle a été ouverte.
Construisez et ajustez rapidement les flux d'opérations de production avec un seul contrat backend pour chaque client.
Avantages du CRM d'équipe
Un backend de CRM d'équipe qui garde la planification, l'équipement, et les fiches d'appel au même endroit.
Décisions de réservation d'équipe plus rapides
Utilisez les enregistrements d'AvailabilitySlot aux côtés des profils de CrewMember pour décider qui peut prendre le prochain appel.
Effacer la responsabilité de l'équipement
Faire correspondre les lignes GearRental aux valeurs assetTag de GearItem afin que chaque location ait un propriétaire traçable et une date d'échéance.
Moins de communication manquée
Suivre la distribution des CallSheet sur chaque CallSheet afin que le personnel de production sache exactement qui a la dernière version.
Registres de journée de production plus clairs
Garder les champs shootDate, callTime et returnDueDate organisés pour un examen rapide lors de la préparation et de la clôture.
Accès sensible au rôle
Utiliser des règles ACL et CLP afin que seuls les coordinateurs autorisés puissent éditer l'équipement, les locations et les fiches d'appel.
Flux de travail de démarrage AI
Générez rapidement une structure backend et des conseils d'intégration avec une invite structurée.
Prêt à lancer votre CRM d'équipage ?
Laissez l'Agent IA de Back4app structurer le backend de votre CRM d'équipage et générer la disponibilité des membres d'équipage, les journaux de location d'équipement, et la distribution des fiches d'appel à partir d'une seule invite.
Gratuit pour commencer — 50 invites d'Agent IA/mois, pas de carte de crédit requise
Ensemble technologique de production
Tout compris dans ce modèle de backend CRM d'équipage.
Diagramme de relation d'équipage
Modèle de relation d'entité pour le schéma CRM de l'équipage de production vidéo.
Schéma couvrant les membres de l'équipage, les plages de disponibilité, les articles d'équipement, les locations de matériel, les feuilles d'appel, les enregistrements de distribution de feuilles d'appel, et les projets clients.
Voir la source du diagramme
erDiagram
CrewMember ||--o{ AvailabilitySlot : "has"
CrewMember ||--o{ GearRental : "checks out"
CrewMember ||--o{ CallSheet : "creates"
CallSheet ||--o{ CallSheetDistribution : "sent as"
GearItem ||--o{ GearRental : "rented in"
ClientProject ||--o{ CallSheet : "uses"
ClientProject }o--|| CrewMember : "producer"
ClientProject }o--o| CallSheet : "primary call sheet"
CrewMember {
String objectId PK
String fullName
String email
String phone
String role
String notes
Date createdAt
Date updatedAt
}
AvailabilitySlot {
String objectId PK
String crewMemberId FK
Date date
String startTime
String endTime
String status
String location
Date createdAt
Date updatedAt
}
GearItem {
String objectId PK
String assetTag
String name
String category
String condition
Boolean isAvailable
String location
Date createdAt
Date updatedAt
}
GearRental {
String objectId PK
String gearItemId FK
String checkedOutById FK
Date rentalDate
Date returnDueDate
Date returnedAt
String status
String conditionOut
String conditionIn
Date createdAt
Date updatedAt
}
CallSheet {
String objectId PK
String projectName
Date shootDate
String callTime
String location
String status
String notes
String createdById FK
Date createdAt
Date updatedAt
}
CallSheetDistribution {
String objectId PK
String callSheetId FK
String recipientEmail
String deliveryMethod
Date sentAt
String deliveryStatus
Date openedAt
Date createdAt
Date updatedAt
}
ClientProject {
String objectId PK
String clientName
String projectCode
String title
String status
String producerId FK
String callSheetId FK
Date createdAt
Date updatedAt
}
Flux d'intégration de production
Flux d'exécution typique pour l'authentification, vérification de la disponibilité des membres d'équipage, création de journaux de location d'équipement et distribution des enregistrements de feuille d'appel.
Voir la source du diagramme
sequenceDiagram
participant User
participant App as Video Production Crew CRM App
participant Back4app as Back4app Cloud
User->>App: Login to the crew dashboard
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Check freelancer availability
App->>Back4app: GET /classes/AvailabilitySlot?include=crewMember
Back4app-->>App: AvailabilitySlot list
User->>App: Reserve gear for the shoot
App->>Back4app: POST /classes/GearRental
Back4app-->>App: GearRental objectId
User->>App: Send the call sheet
App->>Back4app: POST /classes/CallSheetDistribution
Back4app-->>App: Delivery status
App->>Back4app: Subscribe to CallSheet updates
Back4app-->>App: Live query eventsDictionnaire de classe
Référence complète au niveau du champ pour chaque classe dans le schéma CRM de l'équipage.
| Champ | Type | Description | Requis |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Auto |
| fullName | String | Crew member display name | |
| String | Crew member email address | ||
| phone | String | Crew member contact number | — |
| role | String | Crew role such as producer, camera operator, gaffer, sound mixer, or PA | |
| notes | String | Short crew notes for scheduling or on-set needs | — |
| createdAt | Date | Auto-generated creation timestamp | Auto |
| updatedAt | Date | Auto-generated last-update timestamp | Auto |
8 champs dans CrewMember
Accès et autorisations de l'équipe
Comment la stratégie ACL et CLP sécurise les enregistrements CrewMember, GearItem, GearRental, CallSheet et CallSheetDistribution.
Contrôles du profil de l'équipe
Seuls les utilisateurs autorisés peuvent mettre à jour un profil de CrewMember ou changer les coordonnées d'un membre de l'équipe.
Intégrité de l'équipement et de la location
Seuls les coordinateurs peuvent créer ou modifier des lignes GearItem et GearRental, en gardant l'historique assetTag et rentalDate fiable.
Accès au document d'appel limité
Restreindre les lectures de CallSheet et CallSheetDistribution à l'équipe de production, aux clients et aux fournisseurs qui ont besoin du document actuel.
Schéma JSON
Définition brute du schéma JSON prête à être copiée dans Back4app ou utilisée comme référence d'implémentation.
{
"classes": [
{
"className": "CrewMember",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"fullName": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"phone": {
"type": "String",
"required": false
},
"role": {
"type": "String",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "AvailabilitySlot",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"crewMember": {
"type": "Pointer",
"required": true,
"targetClass": "CrewMember"
},
"date": {
"type": "Date",
"required": true
},
"startTime": {
"type": "String",
"required": true
},
"endTime": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"location": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "GearItem",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"assetTag": {
"type": "String",
"required": true
},
"name": {
"type": "String",
"required": true
},
"category": {
"type": "String",
"required": true
},
"condition": {
"type": "String",
"required": true
},
"isAvailable": {
"type": "Boolean",
"required": true
},
"location": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "GearRental",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"gearItem": {
"type": "Pointer",
"required": true,
"targetClass": "GearItem"
},
"checkedOutBy": {
"type": "Pointer",
"required": true,
"targetClass": "CrewMember"
},
"rentalDate": {
"type": "Date",
"required": true
},
"returnDueDate": {
"type": "Date",
"required": true
},
"returnedAt": {
"type": "Date",
"required": false
},
"status": {
"type": "String",
"required": true
},
"conditionOut": {
"type": "String",
"required": false
},
"conditionIn": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "CallSheet",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"projectName": {
"type": "String",
"required": true
},
"shootDate": {
"type": "Date",
"required": true
},
"callTime": {
"type": "String",
"required": true
},
"location": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"createdBy": {
"type": "Pointer",
"required": true,
"targetClass": "CrewMember"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "CallSheetDistribution",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"callSheet": {
"type": "Pointer",
"required": true,
"targetClass": "CallSheet"
},
"recipientEmail": {
"type": "String",
"required": true
},
"deliveryMethod": {
"type": "String",
"required": true
},
"sentAt": {
"type": "Date",
"required": true
},
"deliveryStatus": {
"type": "String",
"required": true
},
"openedAt": {
"type": "Date",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ClientProject",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"clientName": {
"type": "String",
"required": true
},
"projectCode": {
"type": "String",
"required": true
},
"title": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"producer": {
"type": "Pointer",
"required": true,
"targetClass": "CrewMember"
},
"callSheet": {
"type": "Pointer",
"required": false,
"targetClass": "CallSheet"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}Construire avec l'agent AI
Utilisez l'agent AI Back4app pour générer une application CRM d'équipe de production vidéo réelle à partir de ce modèle, comprenant le frontend, le backend, l'authentification et les flux CrewMember, GearItem et CallSheet.
Créez un backend d'application CRM d'équipe de production vidéo sur Back4app avec ce schéma et ce comportement exact. Schéma: 1. CrewMember: fullName (String, requis), email (String, requis), phone (String), role (String, requis), notes (String); objectId, createdAt, updatedAt (système). 2. AvailabilitySlot: crewMember (Pointeur vers CrewMember, requis), date (Date, requis), startTime (String, requis), endTime (String, requis), status (String, requis), location (String); objectId, createdAt, updatedAt (système). 3. GearItem: assetTag (String, requis), name (String, requis), category (String, requis), condition (String, requis), isAvailable (Boolean, requis), location (String); objectId, createdAt, updatedAt (système). 4. GearRental: gearItem (Pointeur vers GearItem, requis), checkedOutBy (Pointeur vers CrewMember, requis), rentalDate (Date, requis), returnDueDate (Date, requis), returnedAt (Date), status (String, requis), conditionOut (String), conditionIn (String); objectId, createdAt, updatedAt (système). 5. CallSheet: projectName (String, requis), shootDate (Date, requis), callTime (String, requis), location (String, requis), status (String, requis), notes (String), createdBy (Pointeur vers CrewMember, requis); objectId, createdAt, updatedAt (système). 6. CallSheetDistribution: callSheet (Pointeur vers CallSheet, requis), recipientEmail (String, requis), deliveryMethod (String, requis), sentAt (Date, requis), deliveryStatus (String, requis), openedAt (Date); objectId, createdAt, updatedAt (système). 7. ClientProject: clientName (String, requis), projectCode (String, requis), title (String, requis), status (String, requis), producer (Pointeur vers CrewMember, requis), callSheet (Pointeur vers CallSheet); objectId, createdAt, updatedAt (système). Sécurité: - Seuls les coordinateurs autorisés peuvent créer/éditer GearItem et GearRental. Utilisez le code Cloud pour les validations et les vérifications de distribution des fiches d'appel. Auth: - Inscription, connexion, déconnexion. Comportement: - Lister les membres de l'équipe, vérifier les créneaux de disponibilité, créer des journaux de location d'équipement, créer des fiches d'appel et suivre la distribution des fiches d'appel. Livrer: - Application Back4app avec schéma, ACL, CLP ; frontend pour la liste des membres de l'équipe, la disponibilité, l'équipement, les locations, les fiches d'appel et la distribution.
Appuyez sur le bouton ci-dessous pour ouvrir l'agent avec cette invite de modèle pré-remplie.
Ceci est l'invite de base sans suffixe technologique. Vous pouvez adapter la pile frontend générée par la suite.
API Playground
Essayez les points de terminaison REST et GraphQL contre le schéma CRM de l'équipe. Les réponses utilisent des données fictives et ne nécessitent pas de compte Back4app.
Utilise le même schéma que ce modèle.
Choisissez votre stack
Développez chaque carte pour voir comment intégrer CrewMember, AvailabilitySlot et GearItem avec votre pile choisie.
Flutter Équipe CRM Backend
React Équipe CRM Backend
React Natif Équipe CRM Backend
Next.js Équipe CRM Backend
JavaScript Équipe CRM Backend
Android Équipe CRM Backend
iOS Équipe CRM Backend
Vue Équipe CRM Backend
Angular Équipe CRM Backend
GraphQL Équipe CRM Backend
REST API Équipe CRM Backend
PHP Équipe CRM Backend
.NET Équipe CRM Backend
Ce que vous obtenez avec chaque technologie
Chaque stack utilise le même schéma backend CRM d'équipe et les contrats API.
Structure de données unifiée pour les opérations de production
Gérer CrewMember, AvailabilitySlot, GearItem, GearRental, CallSheet, et CallSheetDistribution avec un seul schéma.
Support de planification d'équipe
Vérifiez qui est disponible avant un appel et conservez les informations de contact au même endroit.
Suivi des équipements et des locations
Enregistrez les heures de retrait, les dates d'échéance et l'état de retour pour les équipements de production.
Flux de travail de livraison de la feuille d'appel
Suivez les reçus de distribution afin que chaque département reçoive la feuille actuelle.
REST/GraphQL API pour les équipes de production
Intégrez les outils web, mobiles et internes avec un seul contrat backend.
Comparaison de la pile de l'équipage
Comparez la vitesse de configuration, le style de SDK et le support de l'IA à travers toutes les technologies prises en charge.
| Cadre | Temps de configuration | Avantage CRM Équipe | Type de SDK | Support IA |
|---|---|---|---|---|
| Environ 5 min | Base de code unique pour la planification de l'équipe sur mobile et web. | SDK Typé | Complet | |
| Moins de 5 minutes | Tableau de bord web rapide pour la disponibilité des équipes et les locations. | SDK Typé | Complet | |
| ~3–7 min | Application mobile multiplateforme pour les assistants de production. | SDK typé | Complet | |
| Configuration rapide (5 min) | Tableau d'équipe rendu côté serveur pour les équipes de production. | SDK typé | Complet | |
| ~3–5 min | Intégration web légère pour les opérations d'équipe. | SDK typé | Complet | |
| Environ 5 min | Application native Android pour les coordinateurs de tournage. | SDK tapé | Complet | |
| Moins de 5 minutes | Application native iOS pour les producteurs en déplacement. | SDK tapé | Complet | |
| ~3–7 min | Interface web Reactive pour les workflows de fiche d'appel. | SDK tapé | Complet | |
| Configuration rapide (5 min) | Application web d'entreprise pour les opérations de production. | SDK tapé | Complet | |
| Moins de 2 min | API GraphQL flexible pour les requêtes CRM de l'équipe. | API GraphQL | Complet | |
| Configuration rapide (2 min) | Intégration REST API pour les outils de l'équipe. | REST API | Complet | |
| ~3 min | Backend PHP côté serveur pour les flux de travail de production. | REST API | Complet | |
| ~3–7 min | .NET backend pour les opérations de studio. | SDK tapé | Complet |
Le temps de configuration reflète la durée attendue depuis le démarrage du projet jusqu'à la première équipe, l'équipement ou la requête de fiche d'appel utilisant ce schéma de modèle.
FAQ de l'équipe
Questions courantes sur la création d'un backend CRM pour l'équipe de production vidéo avec ce modèle.
Prêt à construire votre CRM de production vidéo ?
Commencez votre projet de CRM de l'équipe en quelques minutes. Pas de carte de crédit requise.