本文へ移動
Unlogical Systems

Ctrl / ⌘ + K でも開けます

    Unlogical Systems

    店舗予約管理システム(担当者の自動アサイン)

    住宅・不動産 / 店舗予約

    来店予約を受け付け、社内で利用中の外部グループウェアの予定と双方向で連携する店舗予約管理システムを開発しました。施設一覧、日付別・時間枠別の空き検索、予約確定、担当者の自動アサインAPIを実装しています。自動アサインは担当者の区分、受付可能な件数、店舗をまたぐ応援といった業務ルールを組み合わせ、独立した業務ロジック仕様書として文書化。Laravel+React+TypeScriptで構築し、OpenAPIを自動公開、LocalStackとMailpitでAWSとメールをローカル完結で検証できるようにしました。

    業務制約を組み合わせた自動アサインの独立仕様化
    担当者の区分・受付可能な件数・店舗をまたぐ応援という業務ルールを、コードとは別の業務ロジック仕様書として文書化し、ルール変更時に仕様とコードを突き合わせられるようにしています。
    外部グループウェアとの双方向同期
    予約の確定・変更をグループウェアの予定に反映し、グループウェア側の予定も空き判定に反映する双方向連携を実装しました。
    AWSとメールをローカル完結で検証
    LocalStackとMailpitを使い、ストレージやメール送信を含む一連の動作をローカル環境だけで確認できるようにしています。
    OpenAPIの自動公開
    API定義をOpenAPIとして自動公開し、フロントや連携先が常に最新の仕様を参照できるようにしています。
    空き検索と予約確定をAPIとして分離
    施設一覧、日付別・時間枠別の空き検索、予約確定、担当者の自動アサインをそれぞれ独立したAPIとして実装しました。自動アサインのルール変更が、空き検索や予約確定の処理に波及しない切り分けです。

    この種のシステムで検討する論点(想定例)

    以下は同種の案件で一般的に検討する内容の整理であり、上記事例の詳細を示すものではありません。

    想定例: 自動アサインのルールを「例外」から設計する

    担当者の自動割り当ては、通常時のルールよりも例外の扱いで難易度が決まります。担当者が休みのとき、上限に達したとき、その店舗に条件を満たす人がいないときに、誰にどの順で回すのか、あるいは人の判断に戻すのかを、現場の責任者と一緒に洗い出すことが出発点です。ルールをコードに埋め込む前に、業務側が読める仕様書として整理し、変更のたびに仕様書を更新してからコードを直す運用にすると、ルールの認識違いによる割り当てミスを防げます。

    想定例: グループウェアと二重管理にならない同期設計

    予約システムとグループウェアの予定を双方向で同期する場合、「どちらが正か」を項目ごとに決めておかないと、両側で編集された予定が上書きし合う事故が起きます。予約の枠は予約システムが正、担当者の休暇や社内会議はグループウェアが正、というように所有者を決め、逆方向は参照のみとするのが基本です。連携先のAPI障害時に予約受付を止めるのか、後から同期する前提で受け付け続けるのかも、業務への影響を踏まえて先に決めておきます。

    関連するサービス

    関連する業種

    関連する開発ガイド

    他の開発事例

    開発事例17件をすべて見る

    監修: Unlogical Systems合同会社杉並区・西荻窪)公開

    似た課題をお持ちですか?

    営業担当ではなく、実際に設計・開発を行うエンジニアが直接お答えします。ご相談・お見積りは無料、1営業日以内にご回答いたします。

    無料でご相談・お見積り

    資料の添付は、送信後に届く受付メールへの返信でお送りいただけます。

    相談・見積りは無料
    1営業日以内にご回答します

    無料で相談する