ステージ & 照明レンタル。
AIエージェントで構築。
ステージ&照明レンタルバックエンド

ステージ&照明レンタルバックエンドテンプレート
設備予約、サービスログ、および配達スケジュール

Back4app におけるステージ&照明レンタルバックエンドUserVenueEquipmentItemBookingDelivery、およびBulbLifeLogクラスを備えています。一つのバックエンドでbookingNumberassetTagwattagedeliveryCode、およびusageHoursを追跡し、ERダイアグラム、データ辞書、JSONスキーマ、APIプレイグラウンド、およびAIエージェントプロンプトを含みます。

レンタルの要点

このテンプレートは、レンタルスタッフが仕様、サービス履歴、および引き渡しのタイミングを一か所で管理できるように、<strong>ユーザー</strong>、<strong>会場</strong>、<strong>機器アイテム</strong>、<strong>予約</strong>、<strong>配送</strong>、および<strong>バルブ寿命ログ</strong>を含むステージ&照明レンタルのバックエンドを提供します。

  1. ワット数を考慮した在庫各機器アイテムの<strong>資産タグ</strong>、<strong>名前</strong>、<strong>カテゴリ</strong>、<strong>ワット数</strong>、および<strong>状態</strong>を追跡して、スタッフが適切な機器を会場に合わせることができるようにします。
  2. バルブ寿命ログ特定の機器アイテムに対してバルブ寿命ログのエントリを保存し、次の予約前に<strong>使用時間</strong>、<strong>バルブ状態</strong>、および検査ノートを記録します。
  3. 配送計画予約に結びついた配送記録を使用して、<strong>配送コード</strong>、<strong>ドライバー名</strong>、<strong>予定ピックアップ時間</strong>、および<strong>予定ドロップオフ時間</strong>を調整します。
  4. レンタルデスクコントロール予約を管理する <strong>bookingNumber</strong>、<strong>status</strong>、<strong>deliveryNeeded</strong>、および <strong>customer</strong> ポインターにより、カウンターでの予約が読みやすくなります。

ステージ & 照明レンタルバックエンドの概要

季節変動はステージ & 照明レンタルに大きな影響を与えます。履歴がなければ、需要、スタッフ、またはアイドル在庫に tied up している資本を予測することはできません。小さな遅延がすぐに合算されます。Back4app は、ステージ & 照明レンタル製品のコアエンティティを支え、対顧客フローと同期する必要があるコンフリクト、デポジット、および物流を管理します。このスキーマは、<strong>User</strong> (ユーザー名、メール、パスワード、役割、表示名、電話)、<strong>Venue</strong> (名前、住所、連絡先名、連絡先電話、アクセスノート、作成者)、<strong>EquipmentItem</strong> (資産タグ、名前、カテゴリ、ワット数、電圧、シリアル番号、状態、日割り料金、所有者)、<strong>Booking</strong> (予約番号、顧客、会場、アイテム、開始日、終了日、状態、必要な配送、小計、ノート)、<strong>Delivery</strong> (配達コード、予約、運転手名、予定ピックアップ日時、予定ドロップオフ日時、状態、ルートノート、署名URL)、および <strong>BulbLifeLog</strong> (設備アイテム、ログ記録者、使用時間、電球の状態、検査日、ノート) を含み、認証、予約、物流フローが組み込まれています。好みのフロントエンドを接続し、より迅速に出荷します。

最適な用途:

ステージレンタル業務照明在庫アプリ設備予約プラットフォームレンタル物流ダッシュボードメンテナンスおよび電球追跡ツールチームがレンタル製品のために BaaS を選択

ステージ&照明レンタルテンプレートで得られるもの

すべてのステージ&照明レンタルリーダーは、“未知の未知” を減らしたいと考えています。構造化された記録は、驚きを事前に検出できる例外に変えます。

ハブは機器在庫とワットフィルター、レンタルウィンドウを持つ予約記録、電球寿命ログを強調し、クライアントスタックを同じエンティティ、フィールド、関係に対して比較できるようにします。

レンタルコア機能をステージング

このハブのすべてのテクノロジーカードは、<strong>User</strong>、<strong>Venue</strong>、<strong>EquipmentItem</strong>、<strong>Booking</strong>、<strong>Delivery</strong>、および<strong>BulbLifeLog</strong>を使用する同じレンタルバックエンドスキーマを使用しています。

設備在庫とワット数フィルター

EquipmentItem は <strong>assetTag</strong>, <strong>name</strong>, <strong>category</strong>, <strong>wattage</strong>, <strong>voltage</strong>, <strong>condition</strong>, および <strong>dailyRate</strong> を保存します。

レンタルウィンドウを持つ予約記録

予約リンク <strong>bookingNumber</strong>, <strong>customer</strong>, <strong>venue</strong>, <strong>items</strong>, <strong>startDate</strong>, <strong>endDate</strong>, <strong>status</strong>, および <strong>deliveryNeeded</strong>。

バルブ寿命ログ

BulbLifeLog は <strong>equipmentItem</strong>, <strong>loggedBy</strong>, <strong>usageHours</strong>, <strong>bulbState</strong>, および <strong>inspectionDate</strong> を記録します。

配達とピックアップの物流

配達店舗は<strong>deliveryCode</strong>、<strong>booking</strong>、<strong>driverName</strong>、<strong>scheduledPickupAt</strong>、<strong>scheduledDropoffAt</strong>、<strong>status</strong>、および<strong>signatureUrl</strong>を含みます。

なぜ Back4app でステージ&照明レンタルバックエンドを構築するのか?

Back4app は、スタッフが配管ではなく負荷リストに時間を費やせるように、レンタル注文、在庫、および物流の基本要素を提供します。

  • 器具とランプのために構築された在庫: EquipmentItemは<strong>assetTag</strong>、<strong>name</strong>、<strong>category</strong>、<strong>wattage</strong>、<strong>voltage</strong>、<strong>condition</strong>、および<strong>dailyRate</strong>をまとめて保持し、予約が確認される前に適切な機器をフィルタリングしやすくします。
  • 重要なメンテナンス記録: BulbLifeLogは<strong>equipmentItem</strong>、<strong>loggedBy</strong>、<strong>usageHours</strong>、<strong>bulbState</strong>、および<strong>inspectionDate</strong>を保存し、ランプの交換がスプレッドシートに存在しないようにします。
  • 配達と引き取りの調整: 配達は<strong>booking</strong>を<strong>deliveryCode</strong>、<strong>driverName</strong>、<strong>scheduledPickupAt</strong>、<strong>scheduledDropoffAt</strong>、および<strong>status</strong>に結び付け、輸送作業がレンタル注文と同じバックエンドにとどまるようにします。

すべてのプラットフォームで1つのバックエンド契約を使用して、レンタルワークフローを迅速に構築し、反復します。

レンタルの利点

仕様と物流を視覚的に保ちながら、デスクの動きを速くするレンタルバックエンド。

迅速な予約確認

EquipmentItem.<strong>wattage</strong>と<strong>condition</strong>を使用して、ブッキングが承認される前に照明器具がショーに適しているかどうかを確認します。

クリーナーのメンテナンス履歴

BulbLifeLog.<strong>使用時間</strong>、<strong>ランプ状態</strong>、および <strong>検査日</strong> は、全ての器具に対して技術者が追跡可能なランプ記録を提供します。

より良いトラック計画

配送.<strong>運転手名</strong>、<strong>配送コード</strong>、および <strong>ステータス</strong> は、ディスパッチがライブの積み下ろしや返品を調整するのに役立ちます。

イベントごとに1つのレンタル記録

予約は、<strong>予約番号</strong>、<strong>会場</strong>、<strong>配送必要</strong>、および <strong>小計</strong> を一緒に保管し、スタッフがツール間で詳細を追わなくても済むようにします。

より安全な機器選択

間違った照明器具を会場に送らないように、<strong>ワット数</strong>、<strong>カテゴリ</strong>、および <strong>状態</strong> でフィルタリングします。

AI支援によるブートストラップ

1つの構造化されたプロンプトで、スキーマ、権限、およびサンプルレンタルワークフローを迅速に生成します。

ステージ&照明レンタルバックエンドを開始する準備はできましたか?

Back4app AIエージェントにあなたのレンタルバックエンドの雛形を作成させ、機材の予約、電球の記録、配送のロジスティクスを一つのプロンプトから生成させましょう。

無料で始める — 月50回のAIエージェントプロンプト、クレジットカード不要

レンタルテクノロジースタック

このステージ&照明レンタルバックエンドテンプレートに含まれているすべて。

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

エンティティマップ

ステージ&照明レンタルバックエンドスキーマのエンティティ関係モデル。

図のソースを表示
Mermaid
erDiagram
    User ||--o{ Venue : "createdBy"
    User ||--o{ EquipmentItem : "owner"
    User ||--o{ Booking : "customer"
    User ||--o{ BulbLifeLog : "loggedBy"
    Venue ||--o{ Booking : "venue"
    Booking ||--o{ Delivery : "booking"
    Booking }o--o{ EquipmentItem : "items"
    EquipmentItem ||--o{ BulbLifeLog : "equipmentItem"

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

    Venue {
        String objectId PK
        String name
        String address
        String contactName
        String contactPhone
        String accessNotes
        String createdById FK
        Date createdAt
        Date updatedAt
    }

    EquipmentItem {
        String objectId PK
        String assetTag
        String name
        String category
        Number wattage
        String voltage
        String serialNumber
        String condition
        Number dailyRate
        String ownerId FK
        Date createdAt
        Date updatedAt
    }

    Booking {
        String objectId PK
        String bookingNumber
        String customerId FK
        String venueId FK
        Array items
        Date startDate
        Date endDate
        String status
        Boolean deliveryNeeded
        Number subtotal
        String notes
        Date createdAt
        Date updatedAt
    }

    Delivery {
        String objectId PK
        String deliveryCode
        String bookingId FK
        String driverName
        Date scheduledPickupAt
        Date scheduledDropoffAt
        String status
        String routeNotes
        String signatureUrl
        Date createdAt
        Date updatedAt
    }

    BulbLifeLog {
        String objectId PK
        String equipmentItemId FK
        String loggedById FK
        Number usageHours
        String bulbState
        Date inspectionDate
        String notes
        Date createdAt
        Date updatedAt
    }

予約から配送のフロー

サインイン、EquipmentItemの照会、予約の作成、BulbLifeLogのレビュー、および配達スケジューリングの典型的な実行フロー。

ダイアグラムのソースを表示
Mermaid
sequenceDiagram
  participant User
  participant App as Stage & Lighting Rental App
  participant Back4app as Back4app Cloud

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

  User->>App: Load equipment by wattage and condition
  App->>Back4app: GET /classes/EquipmentItem?order=-updatedAt
  Back4app-->>App: EquipmentItem list

  User->>App: Create a booking for a venue
  App->>Back4app: POST /classes/Booking
  Back4app-->>App: Booking objectId

  User->>App: Add a delivery run and bulb life entry
  App->>Back4app: POST /classes/Delivery
  App->>Back4app: POST /classes/BulbLifeLog
  Back4app-->>App: Delivery and BulbLifeLog saved

  App->>Back4app: Subscribe to Booking, Delivery, and BulbLifeLog updates
  Back4app-->>App: Live query events

フィールドガイド

ステージ&照明レンタルスキーマ内のすべてのクラスの完全なフィールドレベルのリファレンス。

フィールドタイプ説明必須
objectIdStringAuto-generated unique identifier自動
usernameStringUser login name
emailStringUser email address
passwordStringHashed password (write-only)
roleStringUser role (rentalDesk, assetOwner, customer, technician)
displayNameStringPublic-facing name for the account
phoneStringPrimary contact number
createdAtDateAuto-generated creation timestamp自動
updatedAtDateAuto-generated last-update timestamp自動

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

アクセスと権限

ACL と CLP 戦略が顧客、予約記録、備品、および物流記録をどのように保護するか。

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

ユーザープロファイルの所有者または認可されたスタッフのみが、ユーザー名、メールアドレス、電話番号、および表示名フィールドを更新する必要があります。

予約と在庫の整合性

予約と EquipmentItem の書き込みは、ワット数、ステータス、およびレンタルウィンドウが正確であることを確認するために Cloud Code で検証される必要があります。

ディスパッチのためのスコープアクセス

配達および会場の可視性をレンタルデスク、ドライバー、および予約に関連付けられた顧客に制限します。

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
        },
        "phone": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Venue",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "name": {
          "type": "String",
          "required": true
        },
        "address": {
          "type": "String",
          "required": true
        },
        "contactName": {
          "type": "String",
          "required": true
        },
        "contactPhone": {
          "type": "String",
          "required": true
        },
        "accessNotes": {
          "type": "String",
          "required": false
        },
        "createdBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "EquipmentItem",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "assetTag": {
          "type": "String",
          "required": true
        },
        "name": {
          "type": "String",
          "required": true
        },
        "category": {
          "type": "String",
          "required": true
        },
        "wattage": {
          "type": "Number",
          "required": true
        },
        "voltage": {
          "type": "String",
          "required": false
        },
        "serialNumber": {
          "type": "String",
          "required": false
        },
        "condition": {
          "type": "String",
          "required": true
        },
        "dailyRate": {
          "type": "Number",
          "required": true
        },
        "owner": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Booking",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "bookingNumber": {
          "type": "String",
          "required": true
        },
        "customer": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "venue": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Venue"
        },
        "items": {
          "type": "Array",
          "required": true,
          "targetClass": "EquipmentItem"
        },
        "startDate": {
          "type": "Date",
          "required": true
        },
        "endDate": {
          "type": "Date",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "deliveryNeeded": {
          "type": "Boolean",
          "required": true
        },
        "subtotal": {
          "type": "Number",
          "required": true
        },
        "notes": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Delivery",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "deliveryCode": {
          "type": "String",
          "required": true
        },
        "booking": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Booking"
        },
        "driverName": {
          "type": "String",
          "required": true
        },
        "scheduledPickupAt": {
          "type": "Date",
          "required": true
        },
        "scheduledDropoffAt": {
          "type": "Date",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "routeNotes": {
          "type": "String",
          "required": false
        },
        "signatureUrl": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "BulbLifeLog",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "equipmentItem": {
          "type": "Pointer",
          "required": true,
          "targetClass": "EquipmentItem"
        },
        "loggedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "usageHours": {
          "type": "Number",
          "required": true
        },
        "bulbState": {
          "type": "String",
          "required": true
        },
        "inspectionDate": {
          "type": "Date",
          "required": true
        },
        "notes": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

AIエージェントと共に構築

Back4app AIエージェントを使用して、このテンプレートからフロントエンド、バックエンド、認証、予約、バルブログ、配送フローを含む実際のステージおよび照明レンタルアプリを生成します。

Back4app AIエージェント
構築の準備ができました
Back4app上でこの正確なスキーマと動作を持つステージおよび照明レンタルアプリのバックエンドを作成します。

スキーマ:
1. ユーザー(Back4appの組み込みを使用):ユーザー名、メール、パスワード、役割、表示名、電話;objectId、createdAt、updatedAt(システム)。
2. 会場:名前、住所、連絡先名、連絡先電話、アクセスノート、作成者(ユーザーへのポインタ);objectId、createdAt、updatedAt(システム)。
3. 設備アイテム:資産タグ、名前、カテゴリー、ワット数、電圧、シリアル番号、状態、日割り料金、所有者(ユーザーへのポインタ);objectId、createdAt、updatedAt(システム)。
4. 予約:予約番号、顧客(ユーザーへのポインタ)、会場(会場へのポインタ)、アイテム(EquipmentItemのポインタの配列)、開始日、終了日、ステータス、配送が必要、税抜き小計、ノート;objectId、createdAt、updatedAt(システム)。
5. 配送:配送コード、予約(予約へのポインタ)、運転手名、予定ピックアップ時刻、予定ドロップオフ時刻、ステータス、ルートノート、署名URL;objectId、createdAt、updatedAt(システム)。
6. バルブライフログ:設備アイテム(EquipmentItemへのポインタ)、記録者(ユーザーへのポインタ)、使用時間、バルブ状態、検査日、ノート;objectId、createdAt、updatedAt(システム)。

セキュリティ:
- レンタルデスクのスタッフのみが予約および配送記録を作成または変更できます。
- 資産所有者は、自分のEquipmentItem行を編集し、管理する器具のBulbLifeLogエントリーを記録できます。
- 顧客は予約を作成し、自分の予約および配送のステータスを表示し、自分の注文に関連する会場の詳細を読むことができます。
- 電話番号、配送ノート、署名URLを公共アクセスから保護します。

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

動作:
- ワット数と状態で器具をリストします。
- 会場レコード、予約、配送、バルブライフログを作成します。
- レンタルが確認される前にバルブのライフ履歴を表示します。
- ピックアップ、ドロップオフ、受領証明のための配送物流を追跡します。

配信:
- Back4appアプリにはスキーマ、ACL、CLPが含まれます。レンタルデスクのスケジューリング、資産所有、顧客予約、バルブライフ追跡、配送dispatch用のフロントエンド。

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

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

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

APIサンドボックス

ステージ&照明レンタルスキーマに対してRESTおよびGraphQLエンドポイントを試してみてください。レスポンスはモックデータを使用し、Back4appアカウントは必要ありません。

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

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

技術を選択

各カードを展開して、選択したスタックで名前、会場、電話番号を統合する方法を確認してください。

Flutter ステージ&照明レンタルバックエンド

React ステージ&照明レンタルバックエンド

React ネイティブ ステージ&照明レンタルバックエンド

Next.js ステージ&照明レンタルバックエンド

JavaScript ステージ&照明レンタルバックエンド

Android ステージ&照明レンタルバックエンド

iOS ステージ&照明レンタルバックエンド

Vue ステージ&照明レンタルバックエンド

Angular ステージ&照明レンタルバックエンド

GraphQL ステージ&照明レンタルバックエンド

REST API ステージ&照明レンタルバックエンド

PHP ステージ&照明レンタルバックエンド

.NET ステージ&照明レンタルバックエンド

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

すべてのスタックは同じステージ&ライティングレンタルのバックエンドスキーマと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完全

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

レンタルに関する質問

このテンプレートを使用してステージ&ライティングレンタルバックエンドを構築する際の一般的な質問。

ステージ&照明レンタルチームは、返却が遅れたり資産が保守に出たりする際、どのようにして可用性を正直に保つのですか?
機器在庫とワット数フィルター、予約レコードとレンタルウィンドウ、電球寿命ログを満たすための検査および返却検査をどのようにリンクするのが適切ですか?
ステージおよび照明レンタルカタログの複雑さがシーズンごとにどのように変化するか、移行はどのように見えますか?
Flutterを使って機器アイテムをクエリするにはどうすればいいですか?
Next.jsで予約を管理するにはどうすればいいですか?
React Nativeはオフラインで電球ログをキャッシュできますか?
不正な予約変更を防ぐにはどうすればいいですか?
Androidで配送を表示する最適な方法は何ですか?
レンタルフローはエンドツーエンドでどのように機能しますか?

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

Back4app のテンプレートを使用して、ステージ&照明レンタル製品をより迅速に出荷するチームに参加する

G2 Users Love Us Badge

ステージ&照明レンタルアプリを構築する準備はできましたか?

数分でステージ&照明レンタルプロジェクトを開始します。クレジットカードは不要です。

技術を選択