ヨットブローカー CRM
AI エージェントで構築
ヨット仲介CRMバックエンド

ヨット仲介CRMバックエンドテンプレート
ブローカー、バイヤー、船舶、シートライアル、およびブローカーノートワークフロー

プロダクション準備が整ったヨット仲介CRMバックエンドが Back4app にあり、ブローカー、バイヤー、船舶、シートライアル、ブローカーノートクラスを使用しています。ブローカーの割り当て、バイヤーの好み、船舶のリスト、シートライアルノートをAIエージェントのプロンプトを使用して迅速にセットアップできます。

ブローカーの要点

このテンプレートでは、ブローカー、バイヤー、船舶、シートライアル、ブローカーノートを持つヨットブローカーCRMバックエンドを提供し、ブローカーがクライアントをリスト審査、トライアルスケジューリング、およびフォローアップに移動できるようにします。

  1. ブローカー主導の割り当てBroker.username、Broker.email、Broker.role、およびBuyer.assignedBrokerをモデル化することで、所有権の明確性が保たれます。
  2. 船舶仕様の追跡Vessel.builder、Vessel.model、Vessel.year、Vessel.lengthFeet、Vessel.askingPrice、及びVessel.statusを保存して、スムーズなリストを作成します。
  3. シートライアルの履歴すべてのドックランのために、SeaTrial.buyer、SeaTrial.vessel、SeaTrial.trialDate、SeaTrial.result、およびSeaTrial.nextStepsをキャプチャします。
  4. ブローカーのメモとフォローアップBrokerNote.buyer、BrokerNote.vessel、BrokerNote.noteType、BrokerNote.content、および BrokerNote.followUpAt を使用して、適切な取引に関連するコールとリマインダーを保持します。

ヨットブローカー CRM テンプレートとは何ですか?

ヨットブローカーシップの報告は、フォルダやメッセージスレッドを手動で探し回ることなく、リーダーシップの質問に答えるべきです。小さな遅延は急速に積み重なります。Back4app上でブローカー、バイヤー、艇、シートライアル、およびブローカーノートを形成して、明確なオーナーシップ、少ないタスクのドロップ、およびクライアント向けの履歴でヨットブローカーシップの問題を運営します。スキーマには、ブローカー(ユーザー名、メール、氏名、役割、電話番号)、バイヤー(氏名、メール、最低予算、最大予算、希望最長、希望最短、希望ビルダー、ホームポート、アクティブステータス、割り当てブローカー)、艇(名前、ビルダー、モデル、年、フィート単位の長さ、希望価格、通貨、場所、ステータス、仕様シートURL、リスティングブローカー)、シートライアル(バイヤー、艇、試験日、出発マリーナ、キャプテン名、天候ノート、結果、次のステップ、記録者)、およびブローカーノート(バイヤー、艇、著者、ノートタイプ、コンテンツ、フォローアップ)をカバーしています。お気に入りのフロントエンドを接続し、より早く出荷します。

最適:

ヨットブローカーシップチーム艇の在庫追跡バイヤーの好み管理海上試験の調整仲介者主導の販売パイプラインチームがBaaSを海洋CRM製品に選択

ヨット仲介のバックエンド概要

最初の取り込みから最終的なサインオフまで、ヨット仲介の成功は、同じ事実に基づいて全員が作業することに依存しています ─ その部屋で最も声が大きいアップデートではなく。

利害関係者はここで仲介者、購入者、船舶のカバレッジを確認できます: 名前、関係、およびそれらが可能にするワークフロー。

ブローカレッジのコア機能

このハブのすべてのテクノロジーカードは、Broker、Buyer、Vessel、SeaTrial、BrokerNoteを使用した同じヨット仲介CRMスキーマを利用しています。

ブローカー割り当て管理

ブローカーはユーザー名、メール、名前、役割、および電話番号を保存します。

船舶の在庫と仕様

船舶は名前、建造者、モデル、年、フィートの長さ、希望価格、ステータス、およびリスティングブローカーを保持します。

バイヤープロファイル管理

バイヤーは名前、メール、最低予算、最高予算、希望建造者、ホームポート、アクティブステータス、および割り当てられたブローカーを記録します。

海上試験ログ

SeaTrialはバイヤー、船舶、試験日、出発マリーナ、船長名、結果、次のステップを記録します。

ブローカーのメモとリマインダー

BrokerNoteはバイヤー、オプションの船舶、著者、メモタイプ、コンテンツ、フォローアップ日時をリンクします。

なぜBack4appであなたのヨット仲介CRMバックエンドを構築するのか?

Back4appは、仲介者、購入者、船舶、海上試験、仲介者ノートのプリミティブを提供し、あなたのチームがデータベースをゼロから配線するのではなく、リスティングとクライアント会議に集中できるようになります。

  • ブローカー所有のリスティングとアサインメント: Broker、Buyer.assignedBroker、およびVessel.listingBrokerは、リスティングの割り当て、ステータスの追跡、および所有権の可視化を簡単にします。
  • 好み主導によるバイヤーマッチング: Buyer budgetMin、budgetMax、preferredLengthMin、preferredLengthMax、preferredBuilder、およびhomePortは現実的なショートリストロジックをサポートします。
  • リアルタイム + API柔軟性によるトライアル: Live Queriesを使用してSeaTrialおよびBrokerNoteの更新を行いながら、RESTとGraphQLをウェブ、モバイル、内部ツール向けに利用可能にします。

リスティングシート、バイヤープロフィール、およびシートライアルノート全体で1つのバックエンド契約を実行します。

仲介の利点

仲介記録、船舶詳細、バイヤーの適合、および試運転ノートを整理するヨット仲介バックエンド。

より迅速なリスト作成

在庫テーブルを最初から構築するのではなく、ビルダー、モデル、年、フィートの長さ、希望価格、通貨、ステータスなどの船舶フィールドから始めます。

よりクリーンなバイヤーの資格確認

真剣なバイヤーをリストと比較するために、予算最小、予算最大、希望長さ最小、希望長さ最大、希望ビルダー、母港、アクティブステータスなどのバイヤーフィールドを使用します。

試運転の責任

すべてのログにSeaTrial.trialDate、departureMarina、captainName、weatherNotes、result、nextStepsを保持し、引き渡しが記憶に依存しないようにします。

仲介者の可視性

Broker.role、Buyer.assignedBroker、Vessel.listingBroker、SeaTrial.loggedByは、各船舶とバイヤーの会話の所有者が誰であるかを明確にします。

ブローカーのメモの継続性

BrokerNote.noteType、内容、followUpAtは、取引全体での優先呼び出し、検査の指摘、およびフォローアップのリマインダーを保持します。

AI支援のローンチ

構造化されたプロンプトを使用して、バックエンドの足場と統合ガイダンスを迅速に生成します。

あなたのヨット仲介CRMアプリを開始する準備はできていますか?

Back4app AIエージェントにあなたのヨット仲介CRMバックエンドの足場を作成させ、1つのプロンプトからブローカー、バイヤー、船舶、海試験、ブローカーノートのワークフローを生成させます。

始めるのは無料 - 月に50件のAIエージェントプロンプト、クレジットカードは不要

テクノロジースタック

このヨットブローカレッジCRMバックエンドテンプレートに含まれるすべての機能。

フロントエンド
13+ 技術
バックエンド
Back4app
データベース
MongoDB
認証
組み込みの認証 + セッション
API
RESTとGraphQL
リアルタイム
Live Queries

ブローカ関係図

ヨット仲介 CRM バックエンドスキーマのエンティティ関係モデル。

図のソースを見る
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
    }

ブローカー同期フロー

ログイン、バイヤーパイプラインレビュー、船舶リストレビュー、シートライアルロギング、およびブローカー ノートの更新に関する典型的な実行フロー。

図のソースを見る
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

フィールドガイド

ヨットブローカー CRM スキーマ内のすべてのクラスの完全なフィールドレベル参照。

フィールドタイプ説明必須
objectIdStringAuto-generated unique identifier自動
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 timestamp自動
updatedAtDateAuto-generated last-update timestamp自動

9 フィールド Broker において

ブローカーアクセスと権限

ACLとCLP戦略がブローカー、船舶、バイヤープロファイル、海試験ログ、およびブローカーノートをどのように保護するか。

ブローカー所有のレコード

割り当てられたブローカーのみが自分のプロフィールと公開リストを更新することができ、マネージャー役割が付与されている場合を除きます。

リスティングの整合性

認可されたスタッフのみが船舶およびシートライアルのレコードを作成または削除できます。変更を検証するためにCloud Codeを使用してください。

スコープ付きバイヤーアクセス

バイヤーおよびブローカーノートの読み取りをリードを処理するブローカーチームおよびプロフィールを所有するクライアント向けユーザーに制限します。

スキーマJSON

Back4appにコピーするための生のJSONスキーマ定義、または実装リファレンスとして使用してください。

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
        }
      }
    }
  ]
}

AIエージェントで構築

Back4app AIエージェントを使用して、このテンプレートからフロントエンド、バックエンド、認証、ブローカー、バイヤー、船舶、シートライアル、ブローカーノートのフローを含む実際のヨットブローカーCRMアプリを生成します。

Back4app AIエージェント
ビルドの準備ができました
Back4app上にこの正確なスキーマと動作で安全なヨット仲介CRMバックエンドを作成します。

スキーマ:
1. ブローカー: ユーザー名 (文字列, 必須), メール (文字列, 必須), パスワード (文字列, 必須), フルネーム (文字列, 必須), 役割 (文字列, 必須), 電話番号 (文字列, オプション); objectId, createdAt, updatedAt (システム).
2. バイヤー: フルネーム (文字列, 必須), メール (文字列, 必須), 電話番号 (文字列, オプション), 最低予算 (番号, オプション), 最高予算 (番号, オプション), 最低長さ (番号, オプション), 最高長さ (番号, オプション), 好みのビルダー (文字列, オプション), ホームポート (文字列, オプション), アクティブステータス (文字列, 必須), 割り当てられたブローカー (ブローカーへのポインター, 必須); objectId, createdAt, updatedAt (システム).
3. 船: 名前 (文字列, 必須), ビルダー (文字列, 必須), モデル (文字列, 必須), 年 (番号, 必須), フィートの長さ (番号, 必須), 要求価格 (番号, 必須), 通貨 (文字列, 必須), 位置 (文字列, オプション), ステータス (文字列, 必須), スペックシートURL (文字列, オプション), リスティングブローカー (ブローカーへのポインター, 必須); objectId, createdAt, updatedAt (システム).
4. 海試験: バイヤー (バイヤーへのポインター, 必須), 船 (船へのポインター, 必須), 試験日 (日付, 必須), 出発マリーナ (文字列, オプション), キャプテン名 (文字列, オプション), 天候ノート (文字列, オプション), 結果 (文字列, 必須), 次のステップ (文字列, オプション), 記録者 (ブローカーへのポインター, 必須); objectId, createdAt, updatedAt (システム).
5. ブローカーノート: バイヤー (バイヤーへのポインター, 必須), 船 (船へのポインター, オプション), 作者 (ブローカーへのポインター, 必須), ノートタイプ (文字列, 必須), 内容 (文字列, 必須), フォローアップ日時 (日付, オプション); objectId, createdAt, updatedAt (システム).

セキュリティ:
- ブローカーはユーザー名/メールとパスワードで認証します。
- バイヤーと船のリストは、割り当てられたブローカーまたはリスティングブローカーのみが編集できます。
- 海試験の記録は、記録者のブローカーによって作成され、割り当てられたブローカーに表示されます。
- ブローカーノートのエントリは、バイヤーに割り当てられたブローカーとノートの作者に表示されます。

動作:
- 船の仕様を閲覧し、バイヤーの好みをフィルタリングし、海試験のログを記録します。
- バイヤーと船のマッチング、フォローアップノート、およびリスティングステータスを同期します。
- 利用可能からオファー中または売却へのステータス更新を含む、日々の仲介ワークフローをサポートします。

提供:
- Back4app アプリとスキーマ、CLP、ACL、およびバイヤーパイプライン、船のリスト、海試験のスケジューリング、ノートトラッキングのフロントエンドを備えています。

以下のボタンを押して、このテンプレートプロンプトが事前に入力されたエージェントを開きます。

これはテクノロジーのサフィックスなしの基本プロンプトです。生成されたフロントエンドスタックは後で適応できます。

数分でデプロイ月あたり50の無料プロンプトクレジットカードは不要です

APIテスター

ヨット仲介CRMスキーマに対して、RESTとGraphQLエンドポイントを試してください。レスポンスはモックデータを使用しており、Back4appアカウントは必要ありません。

プレイグラウンドを読み込んでいます…

このテンプレートと同じスキーマを使用しています。

スタックを選択してください

各カードを展開して、選択したスタックでブローカー、バイヤー、船を統合する方法を確認してください。

Flutter ヤットブローカー CRM バックエンド

React ヤットブローカー CRM バックエンド

React ネイティブ ヤットブローカー CRM バックエンド

Next.js ヤットブローカー CRM バックエンド

JavaScript ヤットブローカー CRM バックエンド

Android ヤットブローカー CRM バックエンド

iOS ヤットブローカー CRM バックエンド

Vue ヤットブローカー CRM バックエンド

Angular ヤットブローカー CRM バックエンド

GraphQL ヤットブローカー CRM バックエンド

REST API ヤットブローカー CRM バックエンド

PHP ヤットブローカー CRM バックエンド

.NET ヤットブローカー CRM バックエンド

すべてのテクノロジーで得られるもの

すべてのスタックは同じヨット仲介CRMバックエンドスキーマとAPI契約を使用しています。

統一されたブローカーおよび船の構造

一貫したスキーマでブローカー、バイヤー、船、シートライアル、ブローカーノートを管理します。

リスティングのためのブローカー向けのワークフロー

ブローカーが使用できる方法で、船舶の仕様、購入者の好み、試用ノート、およびフォローアップリマインダーを追跡します。

デバイス間の海上試験履歴

webおよびモバイルクライアントでtrialDate、captainName、およびnextStepsを表示可能にします。

ブローカーチームのための役割ベースのアクセス

船舶、購入者、および試用記録のためのブローカーとスタッフの権限を定義します。

REST/GraphQL APIを使用してブローカレッジアプリ用のAPI

柔軟なAPIを使用してダッシュボード、コンシェルジュツール、およびリストポータルに統合します。

技術比較

すべてのサポートされている技術における設定速度、SDKスタイル、AIサポートを比較します。

フレームワークセットアップ時間ヨットブローカーの利点SDKタイプAIサポート
約5分モバイルとウェブのブローカーダッシュボード用の単一コードベース。タイプされたSDKフル
5分未満リストとバイヤーのマッチングのための高速ウェブダッシュボード。入力されたSDKフル
〜3〜7分ドック上のブローカー向けのクロスプラットフォームモバイルアプリ。入力されたSDKフル
迅速な(5分)セットアップリストとトライアルのためのサーバーレンダリングされたブローカー ポータル。入力されたSDKフル
〜3〜5分ブローカーツール用の軽量ウェブ統合。入力されたSDKフル
約5分フィールドブローカー用のネイティブ Android アプリ。型指定SDKフル
5分未満クライアントの会議やマリーナ訪問用のネイティブ iOS アプリ。型指定SDKフル
約3〜7分React 風のウェブUIによる船舶とバイヤーのワークフロー。型指定SDKフル
迅速な(5分)セットアップ大規模チーム向けのエンタープライズブローカー ポータル。入力されたSDKフル
2分未満船舶、バイヤー、トライアルデータのための柔軟な GraphQL API。GraphQL APIフル
迅速な(2分)セットアップブローカーシステム向けの REST API 統合。REST APIフル
約3分ブローカー業務のためのサーバーサイド PHP バックエンド。REST APIフル
約3~7分ブローカー業務のための .NET バックエンド。型付きSDKフル

セットアップ時間は、このテンプレートスキーマを使用してプロジェクトのブートストラップから最初の船舶またはバイヤーの問い合わせまでの予想される期間を反映しています。

ブローカーのよくある質問

このテンプレートを使用してヨット仲介CRMバックエンドを構築する際の一般的な質問。

「忙しい」以外のヨット仲介のデリバリーにおいて、実際に重要な指標は何ですか?
ヨット仲介の問題は、文書、期限、およびデータ内のコミュニケーションをどのように結びつけるべきですか?
このヨット仲介のCRMレイヤーは、新しい問題タイプと取り込みチャネルと共に成長できますか?
Flutterで船の仕様をクエリするにはどうすればいいですか?
どのようにしてNext.jsでバイヤーのマッチングを整理しますか?
Reactネイティブは海試験ログをオフラインでキャッシュできますか?
どのようにして船舶リストへの未許可の編集を防ぎますか?
Androidでのブローカージ活動を表示する最良の方法は何ですか?
海試験のログフローはエンドツーエンドでどのように機能しますか?

世界中の開発者に信頼されています

Back4app テンプレートを使用して、ヨットブローカー製品を迅速に出荷するチームに参加しましょう

G2 Users Love Us Badge

ヨットブローカー CRM アプリを構築する準備はできましたか?

数分であなたのヨットブローカー CRM プロジェクトを始めましょう。クレジットカードは不要です。

テクノロジーを選択