CRM de courtage de yachts
Construire avec Agent IA
Backend du CRM de courtage de yachts

Modèle Backend du CRM de courtage de yachts
Flux de travail pour Courtier, Acheteur, Vaisseau, Essai en Mer et Note de Courtier

Un backend de CRM de courtage de yachts prêt pour la production sur Back4app avec les classes Courtier, Acheteur, Vaisseau, Essai en Mer et Note de Courtier. Suivez les attributions de courtiers, les préférences des acheteurs, les annonces de vaisseaux et les notes d'essais en mer avec un prompt Agent IA pour une configuration rapide.

Points clés pour la courtage

Ce modèle vous fournit un backend CRM de courtage de yachts avec Courtier, Acheteur, Vaisseau, Essai en mer, et Note de courtier pour que les courtiers puissent faire avancer les clients à travers l'examen des annonces, la planification des essais, et le suivi.

  1. Attributions dirigées par le courtierModèle Broker.username, Broker.email, Broker.role, et Buyer.assignedBroker pour que la propriété reste claire.
  2. Suivi des spécifications du vaisseauStockez Vessel.builder, Vessel.model, Vessel.year, Vessel.lengthFeet, Vessel.askingPrice, et Vessel.status pour des annonces claires.
  3. Historique des essais en merCapturez SeaTrial.buyer, SeaTrial.vessel, SeaTrial.trialDate, SeaTrial.result, et SeaTrial.nextSteps pour chaque course de quai.
  4. Notes et suivis du courtierUtilisez BrokerNote.buyer, BrokerNote.vessel, BrokerNote.noteType, BrokerNote.content et BrokerNote.followUpAt pour garder les appels et rappels liés au bon accord.

Qu'est-ce que le modèle de CRM de courtage de yacht ?

La génération de rapports en courtage de yacht doit répondre aux questions de direction sans une recherche manuelle à travers des dossiers et des fils de messages. De petits retards s'accumulent rapidement. Façonnez Broker, Buyer, Vessel, SeaTrial et BrokerNote sur Back4app pour gérer les affaires de courtage de yacht avec une propriété plus claire, moins de tâches abandonnées et un historique prêt pour le client. Le schéma couvre Broker (nom d'utilisateur, email, nom complet, rôle, numéro de téléphone), Buyer (nom complet, email, budgetMin, budgetMax, preferredLengthMin, preferredLengthMax, preferredBuilder, homePort, activeStatus, assignedBroker), Vessel (nom, constructeur, modèle, année, longueurPieds, prixDemande, devise, emplacement, statut, specSheetUrl, listingBroker), SeaTrial (acheteur, vaisseau, dateEssai, marinaDépart, nomCapitaine, notesMétéo, résultat, prochainesÉtapes, enregistréPar), et BrokerNote (acheteur, vaisseau, auteur, noteType, contenu, followUpAt). Connectez votre frontend préféré et expédiez plus rapidement.

Meilleur pour :

Équipes de courtage de yachtSuivi d'inventaire des vaisseauxGestion des préférences des acheteursCoordination des essais en merCanaux de vente dirigés par des courtiersÉquipes choisissant BaaS pour des produits CRM marins

Aperçu du backend de courtage de yachts

Du premier accueil à la validation finale, le succès du courtage de yachts dépend de tout le monde travaillant avec les mêmes faits — et non la mise à jour la plus bruyante de la pièce.

Les parties prenantes peuvent vérifier la couverture des courtiers, des acheteurs et des navires ici : noms, relations et les flux de travail qu'ils permettent.

Fonctionnalités principales de courtage

Chaque fiche technologique dans ce hub utilise le même schéma CRM de courtage de yachts avec Courtier, Acheteur, Bateau, EssaiEnMer et NoteDuCourtier.

Gestion des attributions de courtier

Le courtier stocke le nom d'utilisateur, l'email, le nom complet, le rôle et le numéro de téléphone.

Inventaire et spécifications des navires

Le navire conserve le nom, le constructeur, le modèle, l'année, la longueur en pieds, le prix demandé, le statut et le courtier de l'annonce.

Gestion du profil d'acheteur

L'acheteur capture le nom complet, l'email, le budget minimum, le budget maximum, le constructeur préféré, le port d'attache, le statut actif et le courtier assigné.

Journaux d'essai en mer

L'essai en mer enregistre l'acheteur, le bateau, la date de l'essai, le port de départ, le nom du capitaine, le résultat et les étapes suivantes.

Notes et rappels du courtier

La note du courtier relie l'acheteur, le bateau optionnel, l'auteur, le type de note, le contenu et la date de suivi.

Pourquoi construire votre backend CRM de courtage de yachts avec Back4app ?

Back4app vous offre des primitives pour le courtier, l'acheteur, le navire, l'essai en mer et les notes du courtier afin que votre équipe puisse se concentrer sur les annonces et les réunions avec les clients au lieu de connecter la base de données depuis zéro.

  • Annonces et attributions détenues par des courtiers: Broker, Buyer.assignedBroker, et Vessel.listingBroker facilitent l'attribution des annonces, le suivi des statuts et la visibilité de la propriété.
  • Correspondance des acheteurs basée sur les préférences: Buyer budgetMin, budgetMax, preferredLengthMin, preferredLengthMax, preferredBuilder, et homePort prennent en charge une logique de liste courte réaliste.
  • Flexibilité en temps réel + API pour les essais: Utilisez Live Queries pour les mises à jour de SeaTrial et BrokerNote tout en gardant REST et GraphQL disponibles pour les outils web, mobiles et internes.

Exécutez un contrat backend sur l'ensemble des fiches d'annonces, des profils d'acheteurs et des notes d'essai en mer.

Avantages de courtage

Un backend de courtage de yachts qui garde les dossiers des courtiers, les détails des navires, les ajustements des acheteurs et les notes d'essai organisés.

Prise en charge des annonces plus rapide

Commencez par des champs de navire comme constructeur, modèle, année, longueurPieds, prixDemandé, devise, et état au lieu de créer des tables d'inventaire à partir de zéro.

Qualification des acheteurs plus claire

Utilisez des champs Acheteur tels que budgetMin, budgetMax, longueurPréféréeMin, longueurPréféréeMax, constructeurPréféré, portD'attache, et statutActif pour comparer les acheteurs sérieux aux annonces.

Responsabilité des essais en mer

Conservez SeaTrial.dateEssai, marinaDépart, nomCapitaine, notesMétéo, résultat, et prochainesÉtapes dans chaque journal afin que les passations ne dépendent pas de la mémoire.

Visibilité du courtier

Broker.role, Buyer.assignedBroker, Vessel.listingBroker, et SeaTrial.loggedBy rendent évident qui possède chaque navire et chaque conversation avec les acheteurs.

Note de courtier continuité

Les préférences de type de note, de contenu et de suivi de BrokerNote conservent les appels de préférence, les remarques d'inspection et les rappels de suivi à travers l'affaire.

Lancement assisté par IA

Générez rapidement de l'infrastructure backend et des conseils d'intégration avec un seul prompt structuré.

Prêt à lancer votre application CRM de courtage de yachts ?

Laissez l'agent IA Back4app construire votre backend CRM de courtage de yachts et générer des flux de travail pour Courtier, Acheteur, Vaisseau, Essai en mer, et Note de courtier à partir d'un seul prompt.

Gratuit pour commencer — 50 prompts d'agent IA/mois, aucune carte de crédit requise

Pile technologique

Tout compris dans ce modèle de backend CRM de courtage de yachts.

Frontend
13+ technologies
Backend
Back4app
Base de données
MongoDB
Auth
Auth intégré + sessions
API
REST et GraphQL
Temps réel
Live Queries

Diagramme de relation de courtage

Modèle de relation d'entité pour le schéma backend du CRM de courtage de yacht.

Voir la source du diagramme
Mermaid
erDiagram
    Broker ||--o{ Buyer : "assignedBroker"
    Broker ||--o{ Vessel : "listingBroker"
    Broker ||--o{ SeaTrial : "loggedBy"
    Broker ||--o{ BrokerNote : "author"
    Buyer ||--o{ SeaTrial : "buyer"
    Buyer ||--o{ BrokerNote : "buyer"
    Vessel ||--o{ SeaTrial : "vessel"
    Vessel ||--o{ BrokerNote : "vessel"

    Broker {
        String objectId PK
        String username
        String email
        String password
        String fullName
        String role
        String phoneNumber
        Date createdAt
        Date updatedAt
    }

    Buyer {
        String objectId PK
        String fullName
        String email
        String phoneNumber
        Number budgetMin
        Number budgetMax
        Number preferredLengthMin
        Number preferredLengthMax
        String preferredBuilder
        String homePort
        String activeStatus
        String assignedBrokerId FK
        Date createdAt
        Date updatedAt
    }

    Vessel {
        String objectId PK
        String name
        String builder
        String model
        Number year
        Number lengthFeet
        Number askingPrice
        String currency
        String location
        String status
        String specSheetUrl
        String listingBrokerId FK
        Date createdAt
        Date updatedAt
    }

    SeaTrial {
        String objectId PK
        String buyerId FK
        String vesselId FK
        Date trialDate
        String departureMarina
        String captainName
        String weatherNotes
        String result
        String nextSteps
        String loggedById FK
        Date createdAt
        Date updatedAt
    }

    BrokerNote {
        String objectId PK
        String buyerId FK
        String vesselId FK
        String authorId FK
        String noteType
        String content
        Date followUpAt
        Date createdAt
        Date updatedAt
    }

Flux de synchronisation du courtier

Flux d'exécution typique pour la connexion, la révision de pipeline des acheteurs, la révision des listes de vaisseaux, l'enregistrement des essais en mer, et les mises à jour des notes de courtier.

Voir la source du diagramme
Mermaid
sequenceDiagram
  participant User
  participant App as Yacht Brokerage CRM App
  participant Back4app as Back4app Cloud

  User->>App: Sign in to the brokerage workspace
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  User->>App: Open buyer pipeline
  App->>Back4app: GET /classes/Buyer?include=assignedBroker&order=-updatedAt
  Back4app-->>App: Buyer list with broker pointers

  User->>App: Review vessel specs
  App->>Back4app: GET /classes/Vessel?include=listingBroker&order=-createdAt
  Back4app-->>App: Vessel listings and spec sheets

  User->>App: Log a sea trial outcome
  App->>Back4app: POST /classes/SeaTrial
  Back4app-->>App: SeaTrial objectId

  App->>Back4app: Subscribe to Buyer and SeaTrial updates
  Back4app-->>App: LiveQuery updates for status changes

Guide de terrain

Référence complète à l'échelle des champs pour chaque classe dans le schéma CRM de courtage de yachts.

ChampTypeDescriptionRequis
objectIdStringAuto-generated unique identifierAuto
usernameStringBroker login name
emailStringBroker email address
passwordStringHashed password (write-only)
fullNameStringBroker display name
roleStringBroker role such as admin, seniorBroker, or coordinator
phoneNumberStringDirect phone number for the broker
createdAtDateAuto-generated creation timestampAuto
updatedAtDateAuto-generated last-update timestampAuto

9 champs dans Broker

Accès et permissions du courtier

Comment la stratégie ACL et CLP sécurise les courtiers, les navires, les profils d'acheteurs, les journaux d'essai en mer et les notes de courtier.

Enregistrements appartenant au courtier

Seul le courtier assigné devrait mettre à jour son profil et ses annonces ouvertes, sauf si un rôle de gestionnaire est accordé.

Intégrité des annonces

Seul le personnel autorisé peut créer ou supprimer des enregistrements de Vaisseau et d'Essai en Mer ; utilisez le Cloud Code pour valider les modifications.

Accès acheteur limité

Restreindre les lectures de l'Acheteur et des Notes du Courtier à l'équipe de courtage qui gère le prospect et à l'utilisateur en contact avec le client qui possède le profil.

Schéma JSON

Définition de schéma JSON brut prête à être copiée dans Back4app ou utilisée comme référence d'implémentation.

JSON
{
  "classes": [
    {
      "className": "Broker",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "username": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "password": {
          "type": "String",
          "required": true
        },
        "fullName": {
          "type": "String",
          "required": true
        },
        "role": {
          "type": "String",
          "required": true
        },
        "phoneNumber": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Buyer",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "fullName": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "phoneNumber": {
          "type": "String",
          "required": false
        },
        "budgetMin": {
          "type": "Number",
          "required": false
        },
        "budgetMax": {
          "type": "Number",
          "required": false
        },
        "preferredLengthMin": {
          "type": "Number",
          "required": false
        },
        "preferredLengthMax": {
          "type": "Number",
          "required": false
        },
        "preferredBuilder": {
          "type": "String",
          "required": false
        },
        "homePort": {
          "type": "String",
          "required": false
        },
        "activeStatus": {
          "type": "String",
          "required": true
        },
        "assignedBroker": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Broker"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Vessel",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "name": {
          "type": "String",
          "required": true
        },
        "builder": {
          "type": "String",
          "required": true
        },
        "model": {
          "type": "String",
          "required": true
        },
        "year": {
          "type": "Number",
          "required": true
        },
        "lengthFeet": {
          "type": "Number",
          "required": true
        },
        "askingPrice": {
          "type": "Number",
          "required": true
        },
        "currency": {
          "type": "String",
          "required": true
        },
        "location": {
          "type": "String",
          "required": false
        },
        "status": {
          "type": "String",
          "required": true
        },
        "specSheetUrl": {
          "type": "String",
          "required": false
        },
        "listingBroker": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Broker"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "SeaTrial",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "buyer": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Buyer"
        },
        "vessel": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Vessel"
        },
        "trialDate": {
          "type": "Date",
          "required": true
        },
        "departureMarina": {
          "type": "String",
          "required": false
        },
        "captainName": {
          "type": "String",
          "required": false
        },
        "weatherNotes": {
          "type": "String",
          "required": false
        },
        "result": {
          "type": "String",
          "required": true
        },
        "nextSteps": {
          "type": "String",
          "required": false
        },
        "loggedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Broker"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "BrokerNote",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "buyer": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Buyer"
        },
        "vessel": {
          "type": "Pointer",
          "required": false,
          "targetClass": "Vessel"
        },
        "author": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Broker"
        },
        "noteType": {
          "type": "String",
          "required": true
        },
        "content": {
          "type": "String",
          "required": true
        },
        "followUpAt": {
          "type": "Date",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

Construire avec l'Agent IA

Utilisez l'Agent IA de Back4app pour générer une véritable application CRM de courtage de yachts à partir de ce modèle, y compris le frontend, le backend, l'authentification, et les flux de Courtier, Acheteur, Vaisseau, Essai en Mer et Note de Courtier.

Agent IA de Back4app
Prêt à construire
Créez un backend CRM sécurisé pour une courtage de yachts sur Back4app avec ce schéma et ce comportement exacts.

Schéma:
1. Courtier : nom d'utilisateur (String, requis), email (String, requis), mot de passe (String, requis), nomComplet (String, requis), rôle (String, requis), numéroDeTéléphone (String, optionnel); objectId, createdAt, updatedAt (système).
2. Acheteur : nomComplet (String, requis), email (String, requis), numéroDeTéléphone (String, optionnel), budgetMin (Number, optionnel), budgetMax (Number, optionnel), longueurPréféréeMin (Number, optionnel), longueurPréféréeMax (Number, optionnel), constructeurPréféré (String, optionnel), portDattache (String, optionnel), statutActif (String, requis), courtierAttribué (Pointeur vers Courtier, requis); objectId, createdAt, updatedAt (système).
3. Vaisseau : nom (String, requis), constructeur (String, requis), modèle (String, requis), année (Number, requis), longueurPieds (Number, requis), prixDemande (Number, requis), monnaie (String, requis), emplacement (String, optionnel), statut (String, requis), urlFicheTechnique (String, optionnel), courtierAnnonce (Pointeur vers Courtier, requis); objectId, createdAt, updatedAt (système).
4. EssaiEnMer : acheteur (Pointeur vers Acheteur, requis), vaisseau (Pointeur vers Vaisseau, requis), dateEssai (Date, requis), marinaDeDépart (String, optionnel), nomCapitaine (String, optionnel), notesMétéo (String, optionnel), résultat (String, requis), prochainesÉtapes (String, optionnel), enregistréPar (Pointeur vers Courtier, requis); objectId, createdAt, updatedAt (système).
5. NoteDuCourtier : acheteur (Pointeur vers Acheteur, requis), vaisseau (Pointeur vers Vaisseau, optionnel), auteur (Pointeur vers Courtier, requis), typeNote (String, requis), contenu (String, requis), suiviÀ (Date, optionnel); objectId, createdAt, updatedAt (système).

Sécurité:
- Les courtiers s'authentifient avec le nom d'utilisateur/email et le mot de passe.
- Les acheteurs et les annonces de vaisseaux ne doivent être modifiés que par le courtierAttribué ou le courtierAnnonce.
- Les enregistrements d'EssaiEnMer sont créés par le courtier enregistré et visibles par le courtier attribué.
- Les entrées de NoteDuCourtier sont visibles pour le courtier assigné à l'acheteur et l'auteur de la note.

Comportement:
- Parcourez les spécifications des vaisseaux, filtrez les préférences des acheteurs et enregistrez les journaux d'essai en mer.
- Gardez la correspondance acheteur-vaisseau, les notes de suivi et le statut des annonces synchronisés.
- Soutenez les flux de travail de courtage quotidiens, y compris les mises à jour de statut de disponible à sous offre ou vendu.

Livrer:
- L'application Back4app avec schéma, CLPs, ACLs, et un frontend pour les pipelines d'acheteur, les annonces de vaisseaux, la planification des essais en mer et le suivi des notes.

Appuyez sur le bouton ci-dessous pour ouvrir l'Agent avec ce prompt de modèle pré-rempli.

Ceci est le prompt de base sans suffixe technologique. Vous pouvez adapter la pile frontend générée par la suite.

Déployer en quelques minutes50 prompts gratuits / moisAucune carte de crédit requise

Testeur d'API

Essayez les points de terminaison REST et GraphQL contre le schéma CRM de courtage de yachts. Les réponses utilisent des données factices et ne nécessitent pas un compte Back4app.

Chargement du terrain de jeu…

Utilise le même schéma que ce modèle.

Choisissez votre stack

Développez chaque carte pour découvrir comment intégrer Broker, Buyer et Vessel avec votre stack choisi.

Flutter Courtage de yachts CRM Backend

React Courtage de yachts CRM Backend

React natif Courtage de yachts CRM Backend

Next.js Courtage de yachts CRM Backend

JavaScript Courtage de yachts CRM Backend

Android Courtage de yachts CRM Backend

iOS Courtage de yachts CRM Backend

Vue Courtage de yachts CRM Backend

Angular Courtage de yachts CRM Backend

GraphQL Courtage de yachts CRM Backend

REST API Courtage de yachts CRM Backend

PHP Courtage de yachts CRM Backend

.NET Courtage de yachts CRM Backend

Ce que vous obtenez avec chaque technologie

Chaque stack utilise le même schéma de backend CRM de courtage de yachts et les contrats d'API.

Structure unifiée de courtier et de bateau

Gérez Broker, Buyer, Vessel, SeaTrial et BrokerNote avec un schéma cohérent.

Flux de travail prêt pour les courtiers pour les annonces

Suivez les spécifications des navires, les préférences des acheteurs, les notes d'essai et les rappels de suivi d'une manière que les courtiers peuvent utiliser.

Historique des essais en mer sur plusieurs appareils

Gardez trialDate, captainName et nextSteps visibles sur les clients web et mobiles.

Accès basé sur les rôles pour les équipes de courtage

Définissez les autorisations des courtiers et du personnel pour les dossiers de navires, d'acheteurs et d'essais.

REST/GraphQL APIs pour les applications de courtage

Intégrez-vous avec des tableaux de bord, des outils de conciergerie et des portails d'annonces en utilisant des APIs flexibles.

Comparaison technique

Comparez la vitesse de configuration, le style SDK et le support de l'IA parmi toutes les technologies prises en charge.

FrameworkTemps de configurationAvantage de courtage de yachtType de SDKSupport AI
Environ 5 minutesBase de code unique pour les tableaux de bord des courtiers sur mobile et web.SDK tapéComplet
Moins de 5 minutesTableau de bord web rapide pour les annonces et la correspondance avec les acheteurs.SDK typéComplet
~3–7 minApplication mobile multiplateforme pour les courtiers au port.SDK typéComplet
Configuration rapide (5 min)Portail de courtage rendu par le serveur pour les annonces et les essais.SDK typéComplet
~3–5 minIntégration web légère pour les outils de courtage.SDK typéComplet
Environ 5 minApplication native Android pour les courtiers sur le terrain.SDK typéComplet
Moins de 5 minutesApplication native iOS pour les réunions avec les clients et les visites de marinas.SDK typéComplet
~3–7 minInterface utilisateur web Reactive pour les flux de travail des navires et des acheteurs.SDK typéComplet
Configuration rapide (5 min)Portail de courtage d'entreprise pour les équipes plus importantes.SDK tapéComplet
Moins de 2 minAPI flexible GraphQL pour les données de navire, d'acheteur et d'essai.API GraphQLComplet
Configuration rapide (2 min)Intégration REST API pour les systèmes de courtage.REST APIComplet
~3 minBackend __MARQUE0__ côté serveur pour les workflows de courtage.__MARQUE0__Complet
~3-7 minBackend __MARQUE0__ pour les opérations de courtage.SDK typéComplet

Le temps de configuration reflète la durée prévue depuis le démarrage du projet jusqu'à la première requête d'un navire ou d'un acheteur utilisant ce schéma de modèle.

FAQ du courtier

Questions courantes sur la construction d'un backend CRM pour une agence de yachts avec ce modèle.

Quelles métriques importent réellement pour la livraison du courtage en yachts au-delà de "occupé" ?
Comment les affaires de courtage en yachts devraient-elles connecter documents, délais et communications dans les données ?
Cette couche CRM de courtage en yachts peut-elle se développer avec de nouveaux types de matières et de canaux d'accueil ?
Comment puis-je interroger les spécifications du vaisseau dans Flutter ?
Comment puis-je organiser l'appariement des acheteurs dans Next.js ?
Est-ce que React Native peut mettre en cache les journaux d'essai en mer hors ligne ?
Comment puis-je empêcher les modifications non autorisées des listes de navires ?
Quelle est la meilleure façon de montrer l'activité de courtage sur Android ?
Comment fonctionne le flux d'enregistrement des essais en mer de bout en bout ?

Fiable pour les développeurs du monde entier

Rejoindre des équipes expédiant des produits de courtage de yachts plus rapidement avec les modèles __MARQUE0__

G2 Users Love Us Badge

Prêt à construire votre application CRM de courtage de yachts ?

Commencez votre projet CRM de courtage de yachts en quelques minutes. Aucune carte de crédit requise.

Choisissez la technologie