Skip to Content
AWS上のシステム設計
book

AWS上のシステム設計

by Jayanth Kumar, Mandeep Singh
March 2025
Beginner to intermediate
612 pages
9h 29m
Japanese
O'Reilly Media, Inc.
Content preview from AWS上のシステム設計

第18章 ホテル予約システムの設計 ホテル予約システムを設計する

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

私たちは旅行が大好きで、、Booking.com、agoda、Airbnbのようなオンラインホテル予約システムを使って宿泊を事前に予約することが多い。この章では、ホテルの部屋(または他のタイプの宿泊施設-ここでは物件という言葉を使う)の予約システムの基本設計について深く掘り下げていく。予約システムは、特定の地域の物件をリストアップし、ユーザが特定の期間の部屋を予約できるようにする。このようなシステムを設計する場合、二重の支払いをどのように扱うか、同じ部屋を同じ時間枠で複数の人が予約できないようにするかなど、システムが遵守すべきエッジケースがたくさんあることを考慮する。そのようなシナリオをすべて把握し、全体的なシステムアーキテクチャを確定することに取り組む。

要件の明確化とシステムに対する期待から議論を始め、予約システム全体を複数のサブシステムに分割することで設計に迫り、この種のシステムをAWSクラウド上にデプロイするのに有用なAWSサービスを特定することで議論を締めくくる。

システム要件

最も重要な要件は、顧客が将来の滞在のために部屋を予約できるようにすることである。まず、いくつかの説明をしよう:

  • このシステムは、単一のホテル・チェーン、またはどのようなホテルでも、システム上にオンボーディングし、客室をリストアップする役割を担っている。このシステムにより、ホテルは客室にアメニティを追加することができる。

  • ユーザからの支払いを誰が受け入れるかを決める必要がある。システムは物件オーナーに代わって支払いを受け付けるのか、それともユーザが直接物件で支払いを行うのか。ユーザが直接物件オーナーに支払いを行う場合、システムは支払いのライフサイクルを考慮する必要がないため、これは考慮すべき重要な要件である。しかし、これは、顧客が部屋を予約しても現れない可能性があるため、不動産所有者のエクスペリエンスを損なう可能性がある。ユーザとオーナーの両方が満足できるように、システムは、支払いモードや物件特有のその他のポリシーを決定することをオーナーに任せている。

  • 予約した物件の近くにある観光スポットを訪問するための推奨事項をシステムが提供することはあるか?いや、この機能は間違いなくユーザにとって付加価値となるだろう(トリッププランナーなどの他の機能とともに)が、我々はそれをスキップし、範囲を限定しておく。システムはこのサービスを提供する外部インテグレーションを持つことができる。

  • プロパティは、複数の予約システムにリストされている可能性があるので、我々はそれが別のシステムで予約されている場合、空室状況が更新されることを保証するシステムを決定する必要がある。これは、別のシステムが私たちのシステムに更新を送信する何らかの方法で自動化することができるか、プロパティの所有者がプロパティを更新する必要がある。すべての異なる予約プラットフォームを統合することは困難である(プラットフォームが統合をサポートしていない可能性があることは言うまでもない)。このシナリオにおけるダブルブッキングのエッジケースについては、設計を進めながら検討することにしよう。

  • また、ダイナミックな価格設定についても検討する必要がある。予約率や機会、その他の要因に基づいて宿泊料金を変動させることは可能だろうか?システムアーキテクチャは、オーナーが固定価格を決定し、それを独自に管理する独立性を与えるか、最高・最低宿泊価格を提供することにより、その決定を予約システムに委ねるべきである。MLのアルゴリズムには深入りしないが、システムでダイナミックプライシングをサポートするための一般化戦略について説明する。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

ハイパフォーマンスPython

ハイパフォーマンスPython

Micha Gorelick, Ian Ozsvald, 相川 愛三
ウェブAPIの設計

ウェブAPIの設計

Brenda Jin, Saurabh Sahni, Amir Shevat
ハイパフォーマンスPython 第2版

ハイパフォーマンスPython 第2版

Micha Gorelick, Ian Ozsvald, 中山 光樹
Kubernetesで実践するクラウドネイティブDevOps

Kubernetesで実践するクラウドネイティブDevOps

John Arundel, Justin Domingus, 須田 一輝, 渡邉 了介

Publisher Resources

ISBN: 9798341634060