パーティーレンタル在庫
AIエージェントで構築
パーティレンタル在庫バックエンド

InventoryItem、CleaningLog、EventSetup、Bookingのためのパーティレンタル在庫アプリ
InventoryItemのカウント、CleaningLogのエントリ、およびEventSetupの追跡

パーティレンタル在庫バックエンド on Back4appで、InventoryItemのカウント、CleaningLogの記録、EventSetupの計画、Bookingのワークフローを提供します。エンティティダイアグラム、フィールド辞書、スキーマJSON、APIサンドボックス、および迅速な立ち上げのためのAIエージェントプロンプトが含まれています。

パーティレンタルのポイント

このテンプレートは、User、InventoryItem、CleaningLog、EventSetup、Bookingを使用したパーティレンタルの在庫バックエンドを提供し、チームが予約、クリーニング、および倉庫準備を通じて整理された状態を保つことができます。

  1. InventoryItem 数椅子、テーブル、リネン、テントの在庫を totalCount、availableCount、condition、および storageLocation でモデル化します。
  2. CleaningLog の履歴item、cleanedBy、cleaningStatus、cleanedAt、detergentUsed のための CleaningLog のエントリを追跡します。
  3. EventSetup の計画EventSetup のレコードを使用して、eventName、eventDate、venueAddress、setupStartTime、および chairCount を計画します。
  4. 予約の可視性スタッフが倉庫から出発したものといつ戻るかを見ることができるように、Booking.customerとBooking.eventSetupを接続します。
  5. ウェブおよびモバイルバックエンドスタッフのダッシュボードと顧客予約画面を1つのRESTおよびGraphQL APIを通じて提供します。

パーティレンタル在庫アプリテンプレートとは何ですか?

パーティレンタルの料金ルールは一律ではなく、週末、最小数、および追加オプションには政策を忠実にエンコードできるバックエンドが必要です。費用はコールバックやクレジットに現れます。このテンプレートは、Back4app上のInventoryItem、CleaningLog、EventSetup、およびBookingをモデリングしており、ゼロから予約ロジックを再構築することなく、機能するパーティレンタルプラットフォームを立ち上げることができます。スキーマはUser(ユーザー名、メール、パスワード、役割、表示名、電話番号)、InventoryItem(アイテムタイプ、SKU、名前、総数、利用可能数、状態)、CleaningLog(アイテム、クリーニング担当者、クリーニング状況、クリーニング日時、使用した洗剤)、EventSetup(イベント名、イベント日、会場住所、セットアップ開始時間、状態、リードスタッフ、椅子数、テーブル数、リネン数)、Booking(顧客、イベントセットアップ、予約状況、受取日、合計金額、預金額)をカバーしています。好みのフロントエンドを接続し、レンタルの管理を迅速に始めてください。

ベスト:

パーティレンタルビジネス椅子とテーブルの追跡アプリ清掃と準備ログイベント設定調整ツール予約と配送ダッシュボードBaaSをレンタル業務のために選ぶチーム

パーティレンタル:バックエンドのスナップショット

顧客はあなたの内部ツールに関心を持っていません; 彼らが関心を持っているのは、パーティレンタルの約束が時間通りに、適切な資産と適切な書類で現れるかどうかです。

この要約は、誰もがERダイアグラムやJSONエクスポートに飛び込む前に、チームをInventoryItem、CleaningLog、EventSetupの周りに整列させます。

パーティーレンタルのコア機能

このハブのすべてのテクノロジーカードは、ユーザー、在庫アイテム、クリーニングログ、イベントセットアップ、および予約を使用した同じパーティレンタルバックエンドスキーマを利用しています。

ユーザーアカウントとロール

ユーザーは、各スタッフまたは顧客のユーザー名、メール、ロール、表示名、電話番号を保存します。

在庫アイテム数

在庫アイテムは、itemType、sku、totalCount、availableCount を追跡します。

クリーニングログのエントリ

クリーニングログにはアイテム、清掃者、清掃状況、清掃日時、および使用された洗剤が保存されます。

イベントセットアップの計画

イベントセットアップはリードスタッフユーザーをイベント名、セットアップ開始時刻、椅子数、およびテーブル数にリンクします。

なぜBack4appでパーティーレンタルインベントリバックエンドを構築するのか?

Back4appは、レンタルデスクに必要なインベントリ、予約、および清掃の基本要素を提供するため、チームはバックエンドの配線ではなく、履行に時間を費やすことができます。

  • InventoryItemとBookingは同期しています: 予約が確認されると、InventoryItem.availableCountはイベントのために予約された椅子、テーブル、またはリネンを反映します。
  • 清掃ログは監査が簡単です: CleaningLogは、アイテム、cleanedBy、cleanedAt、cleaningStatus、およびdetergentUsedを1か所に保管し、明確なターンアラウンドトラッキングを可能にします。
  • セットアップワークフローは見えるままです: EventSetupレコードは、eventName、setupStartTime、venueAddress、およびleadStaffを正しいBookingに結びつけ、配達日調整を行います。

ウェブとモバイルクライアント全体でInventoryItemのカウント、CleaningLogの記録、およびEventSetupの計画のために1つのバックエンド契約で迅速に開始します。

パーティレンタルのコアメリット

カウント、清掃、およびセットアップを追加のスキーマ作業なしで可視化するレンタルバックエンド。

在庫ミスの削減

InventoryItem.totalCount と InventoryItem.availableCount は、スタッフが椅子やテーブルの重複予約を避けるのに役立ちます。

清掃状態の明確化

CleaningLog.cleaningStatus と CleaningLog.cleanedAt により、どのアイテムが再循環できるかが明確になります。

イベント準備の迅速化

EventSetup.setupStartTime、EventSetup.chairCount、および EventSetup.tableCount は、倉庫チームにシンプルな当日のチェックリストを提供します。

予約の可視性

Booking.bookingStatus、Booking.pickupDate、および Booking.subtotalAmount により、顧客の予約や返却タイミングの確認が容易になります。

スタッフ間のクリーンな引き継ぎ

User、Booking、EventSetup、および CleaningLog の記録はリンクされたままで、レンタルデスクと設営チームが同じ詳細情報を元に作業します。

AIブートストラップワークフロー

1つの構造化されたプロンプトでバックエンドのスキャフォールディングと統合ガイドを迅速に生成します。

パーティレンタル在庫アプリを起動する準備はできていますか?

Back4app AIエージェントにパーティレンタルバックエンドをスキャフォールドさせ、InventoryItemのカウント、CleaningLogのエントリ、およびEventSetupフローを1つのプロンプトから生成させます。

無料でスタート — 50 AIエージェントプロンプト/月、クレジットカード不要

パーティレンタル技術スタック

このパーティレンタルバックエンドテンプレートに含まれているすべて。

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

パーティーレンタルエンティティ図

パーティーレンタルバックエンドスキーマのためのエンティティリレーションシップモデル。

図のソースを表示
Mermaid
erDiagram
    User ||--o{ CleaningLog : "cleanedBy"
    User ||--o{ EventSetup : "leadStaff"
    User ||--o{ Booking : "customer"
    InventoryItem ||--o{ CleaningLog : "item"
    EventSetup ||--o{ Booking : "eventSetup"

    User {
        String objectId PK
        String username
        String email
        String password
        String role
        String displayName
        String phoneNumber
        Date createdAt
        Date updatedAt
    }

    InventoryItem {
        String objectId PK
        String itemType
        String sku
        String name
        Number totalCount
        Number availableCount
        String condition
        String storageLocation
        Date lastCleanedAt
        String notes
        Date createdAt
        Date updatedAt
    }

    CleaningLog {
        String objectId PK
        String itemId FK
        String cleanedById FK
        String cleaningStatus
        Date cleanedAt
        String detergentUsed
        String remarks
        Date createdAt
        Date updatedAt
    }

    EventSetup {
        String objectId PK
        String eventName
        Date eventDate
        String venueAddress
        Date setupStartTime
        String status
        String leadStaffId FK
        Number chairCount
        Number tableCount
        Number linenCount
        String specialInstructions
        Date createdAt
        Date updatedAt
    }

    Booking {
        String objectId PK
        String customerId FK
        String eventSetupId FK
        String bookingStatus
        Date pickupDate
        Number subtotalAmount
        Number depositAmount
        String notes
        Date createdAt
        Date updatedAt
    }

パーティーレンタルデータフロー

ログイン、InventoryItemカウント、CleaningLogエントリ、およびEventSetup調整の典型的なランタイムフロー。

図のソースを表示
Mermaid
sequenceDiagram
  participant User
  participant PartyRentalApp as Party Rental Inventory App App
  participant Back4app as Back4app Cloud

  User->>PartyRentalApp: Sign in to open the rental desk
  PartyRentalApp->>Back4app: POST /login
  Back4app-->>PartyRentalApp: Session token

  User->>PartyRentalApp: View chair, table, and linen counts
  PartyRentalApp->>Back4app: GET /classes/InventoryItem?order=itemType,sku
  Back4app-->>PartyRentalApp: InventoryItem rows with totalCount and availableCount

  User->>PartyRentalApp: Record a linen cleaning
  PartyRentalApp->>Back4app: POST /classes/CleaningLog
  Back4app-->>PartyRentalApp: CleaningLog objectId

  User->>PartyRentalApp: Save an event setup with chairCount and tableCount
  PartyRentalApp->>Back4app: POST /classes/EventSetup
  Back4app-->>PartyRentalApp: EventSetup objectId

  PartyRentalApp->>Back4app: Subscribe to live updates for Booking and EventSetup
  Back4app-->>PartyRentalApp: Updated counts and setup status

フィールド辞書

パーティーレンタルスキーマ内のすべてのクラスに対する完全なフィールドレベルのリファレンス。

フィールドタイプ説明必須
objectIdStringAuto-generated unique identifier自動
usernameStringAccount login name
emailStringContact email address
passwordStringHashed password (write-only)
roleStringUser role such as deskStaff, owner, or customer
displayNameStringName shown in rental workflows
phoneNumberStringPrimary contact number
createdAtDateAuto-generated creation timestamp自動
updatedAtDateAuto-generated last-update timestamp自動

9 フィールドが User にあります

パーティレンタルの権限

ACL と CLP の戦略が顧客、在庫数、掃除ログ、設定記録をどのように保護するか。

役割ベースのレンタルデスクアクセス

在庫アイテムの数、掃除ログの記録、予約状況、およびイベント設定のフィールドを更新するのはスタッフの役割のみです。

掃除ログの整合性

CleaningLog のエントリは、権限のあるスタッフによって作成され、アイテムの在庫が利用可能な状態に戻る前にレビューされる必要があります。

予約による顧客プライバシー

ユーザーおよび予約の読み取りを、指定されたスタッフ、アカウント所有者、または承認されたクルーメンバーに制限します。

スキーマJSON

コピーしてBack4appに貼り付けるか、実装の参考として使用するための生JSONスキーマ定義。

JSON
{
  "classes": [
    {
      "className": "User",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "username": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "password": {
          "type": "String",
          "required": true
        },
        "role": {
          "type": "String",
          "required": true
        },
        "displayName": {
          "type": "String",
          "required": true
        },
        "phoneNumber": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "InventoryItem",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "itemType": {
          "type": "String",
          "required": true
        },
        "sku": {
          "type": "String",
          "required": true
        },
        "name": {
          "type": "String",
          "required": true
        },
        "totalCount": {
          "type": "Number",
          "required": true
        },
        "availableCount": {
          "type": "Number",
          "required": true
        },
        "condition": {
          "type": "String",
          "required": true
        },
        "storageLocation": {
          "type": "String",
          "required": false
        },
        "lastCleanedAt": {
          "type": "Date",
          "required": false
        },
        "notes": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "CleaningLog",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "item": {
          "type": "Pointer",
          "required": true,
          "targetClass": "InventoryItem"
        },
        "cleanedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "cleaningStatus": {
          "type": "String",
          "required": true
        },
        "cleanedAt": {
          "type": "Date",
          "required": true
        },
        "detergentUsed": {
          "type": "String",
          "required": false
        },
        "remarks": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "EventSetup",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "eventName": {
          "type": "String",
          "required": true
        },
        "eventDate": {
          "type": "Date",
          "required": true
        },
        "venueAddress": {
          "type": "String",
          "required": true
        },
        "setupStartTime": {
          "type": "Date",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "leadStaff": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "chairCount": {
          "type": "Number",
          "required": true
        },
        "tableCount": {
          "type": "Number",
          "required": true
        },
        "linenCount": {
          "type": "Number",
          "required": false
        },
        "specialInstructions": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Booking",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "customer": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "eventSetup": {
          "type": "Pointer",
          "required": true,
          "targetClass": "EventSetup"
        },
        "bookingStatus": {
          "type": "String",
          "required": true
        },
        "pickupDate": {
          "type": "Date",
          "required": false
        },
        "subtotalAmount": {
          "type": "Number",
          "required": true
        },
        "depositAmount": {
          "type": "Number",
          "required": false
        },
        "notes": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

AIエージェントで構築

このテンプレートから、フロントエンド、バックエンド、認証、在庫、清掃、および設定フローを含む実際のパーティーレンタル在庫アプリを生成するためにBack4app AIエージェントを使用します。

Back4app AIエージェント
構築の準備が整いました
Back4appでこの正確なスキーマと動作を持つパーティレンタル在庫アプリのバックエンドを作成します。

スキーマ:
1. ユーザー (使用 Back4app 内蔵): objectId (文字列、自動), ユーザー名 (文字列、必須), メール (文字列、必須), パスワード (文字列、必須), 役割 (文字列、必須), 表示名 (文字列、必須), 電話番号 (文字列), 作成日時 (日付、自動), 更新日時 (日付、自動).
2. InventoryItem: objectId (文字列、自動), itemType (文字列、必須), sku (文字列、必須), 名称 (文字列、必須), 合計数量 (数値、必須), 利用可能数量 (数値、必須), 状態 (文字列、必須), 保管場所 (文字列), 最終清掃日時 (日付), 注記 (文字列), 作成日時 (日付、自動), 更新日時 (日付、自動).
3. CleaningLog: objectId (文字列、自動), item (InventoryItemへのポインタ、必須), cleanedBy (ユーザーへのポインタ、必須), cleaningStatus (文字列、必須), cleanedAt (日付、必須), detergentUsed (文字列), remarks (文字列), 作成日時 (日付、自動), 更新日時 (日付、自動).
4. EventSetup: objectId (文字列、自動), eventName (文字列、必須), eventDate (日付、必須), venueAddress (文字列、必須), setupStartTime (日付、必須), status (文字列、必須), leadStaff (ユーザーへのポインタ、必須), chairCount (数値、必須), tableCount (数値、必須), linenCount (数値), specialInstructions (文字列), 作成日時 (日付、自動), 更新日時 (日付、自動).
5. 予約状況: objectId (文字列、自動), customer (ユーザーへのポインタ、必須), eventSetup (EventSetupへのポインタ、必須), bookingStatus (文字列、必須), pickupDate (日付), subtotalAmount (数値、必須), depositAmount (数値), notes (文字列), 作成日時 (日付、自動), 更新日時 (日付、自動).

セキュリティ:
- スタッフ役割のみがInventoryItemの数量、予約状況、およびEventSetupレコードを更新できます。顧客は自分の予約詳細を表示できます。検証にはCloud Codeを使用してください。

認証:
- サインアップ、ログイン、ログアウト。

動作:
- InventoryItemから椅子、テーブル、リネンの数量をリストします。
- cleanedAt、cleaningStatus、detergentUsedを持つCleaningLog行を記録します。
- chairCount、tableCount、およびleadStaffを持つEventSetupプランを作成します。
- EventSetupに関連付けられた予約記録を作成および管理します。

提供:
- スキーマ、ACL、CLPを持つ Back4app アプリ; 在庫数量、清掃ログ、予約詳細、およびセットアップスケジューリング用のフロントエンド。

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

これは技術的なサフィックスのない基本プロンプトです。生成されたフロントエンドスタックを後で適応させることができます。

数分で展開月あたり50回の無料プロンプトクレジットカード不要

APIサンドボックス

GraphQLエンドポイントをパーティレンタルスキーマに対して試してみてください。応答はモックデータを使用し、Back4appアカウントは不要です。

プレイグラウンドを読み込み中…

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

テクノロジーを選択してください

各カードを展開して、選択したスタックとInventoryItem、CleaningLog、EventSetupを統合する方法を確認してください。

Flutter パーティレンタル在庫バックエンド

React パーティレンタル在庫バックエンド

React ネイティブ パーティレンタル在庫バックエンド

Next.js パーティレンタル在庫バックエンド

JavaScript パーティレンタル在庫バックエンド

Android パーティレンタル在庫バックエンド

iOS パーティレンタル在庫バックエンド

Vue パーティレンタル在庫バックエンド

Angular パーティレンタル在庫バックエンド

GraphQL パーティレンタル在庫バックエンド

REST API パーティレンタル在庫バックエンド

PHP パーティレンタル在庫バックエンド

.NET パーティレンタル在庫バックエンド

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

すべてのスタックは同じパーティーレンタルバックエンドスキーマとAPI契約を使用しています。

統一されたレンタルデータ構造

一貫したスキーマでユーザー、在庫アイテム、クリーニングログ、イベントセットアップ、予約を簡単に管理できます。

レンタルデスク用の椅子、テーブル、リネンクウント

データモデルを再構築することなく、totalCount、availableCount、クリーニングステータスを追跡します。

忙しい配達日用のイベントセットアップ追跡

setupStartTime、specialInstructions、およびleadStaffをディスパッチおよび倉庫スタッフに表示させておきます。

パーティーレンタルチームのための役割ベースのアクセス

スタッフと顧客にBookingおよびInventoryItemデータの異なるビューを提供します。

GraphQL APIはすべてのレンタルワークフローのためのものです。

1つのバックエンドからウェブ、モバイル、オペレーションダッシュボードを提供します。

レンタルオペレーションのための拡張可能なアーキテクチャ

コアスキーマを置き換えることなく、後から支払い、損傷報告、または配送ルートを追加します。

パーティーレンタル技術比較

すべてのサポートされている技術にわたって、セットアップ速度、SDKスタイル、およびAIサポートを比較します。

フレームワークセットアップ時間パーティーレンタルの利点SDKタイプAIサポート
約5分レンタルデスクとスタッフタブレット用の単一コードベース。タイプされたSDKフル
5分未満椅子の数と予約のための高速ウェブダッシュボード。タイプされたSDKフル
~3~7分倉庫およびイベントクルー向けのクロスプラットフォームモバイルアプリ。Typed SDKフル
迅速な(5分)セットアップレンタルとセットアップ計画のためのサーバーレンダリングオペレーションポータル。Typed SDKフル
~3~5分レンタル在庫用の軽量ウェブ統合。Typed 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フル

セットアップ時間は、プロジェクトのブートストラップからこのテンプレートスキーマを使用した最初のインベントリまたは予約クエリまでの期待される期間を反映しています。

パーティーレンタルのFAQ

このテンプレートでパーティーレンタルの在庫バックエンドを構築する際のよくある質問。

構造化された予約データがない場合、どのパーティレンタルポリシーが最も施行が難しいですか?
ユーザーアカウントと役割、在庫アイテムの数、清掃ログのエントリを履行および返品検査にリンクする正しい方法は何ですか?
同じスキーマ内でパーティレンタルのウェイトリスト、ホールド、優先顧客をサポートできますか?
Flutterで椅子とテーブルの数をどのように表示しますか?
Next.js Server Actionsでセットアップデータを管理するにはどうすればよいですか?
React Nativeはオフラインで予約記録を保存できますか?
不正な在庫編集を止めるにはどうすればよいですか?
Androidでクリーニングログを表示する最適な方法は何ですか?

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

Back4app テンプレートを使用して、レンタルオペレーション製品を迅速に出荷するチームに参加しましょう

G2 Users Love Us Badge

あなたのパーティーレンタル在庫アプリを作る準備はできましたか?

数分でパーティーレンタルプロジェクトを始めましょう。クレジットカードは不要です。

技術を選択