JP7470735B2 - An application programming interface for structuring distributed systems. - Google Patents

An application programming interface for structuring distributed systems. Download PDF

Info

Publication number
JP7470735B2
JP7470735B2 JP2022077137A JP2022077137A JP7470735B2 JP 7470735 B2 JP7470735 B2 JP 7470735B2 JP 2022077137 A JP2022077137 A JP 2022077137A JP 2022077137 A JP2022077137 A JP 2022077137A JP 7470735 B2 JP7470735 B2 JP 7470735B2
Authority
JP
Japan
Prior art keywords
merchant
service
delivery
customer
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022077137A
Other languages
Japanese (ja)
Other versions
JP2022110048A (en
Inventor
ブルース ベル,
ケヴィン イエン,
カール ウェスターマン,
Original Assignee
ブロック, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/858,100 external-priority patent/US11010739B2/en
Priority claimed from US15/858,164 external-priority patent/US11164172B2/en
Priority claimed from US15/858,000 external-priority patent/US20190205834A1/en
Application filed by ブロック, インコーポレイテッド filed Critical ブロック, インコーポレイテッド
Publication of JP2022110048A publication Critical patent/JP2022110048A/en
Application granted granted Critical
Publication of JP7470735B2 publication Critical patent/JP7470735B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0835Relationships between shipper or supplier and carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels or restaurants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Logic Circuits (AREA)

Description

優先権
本出願は、米国特許出願番号15/858,164、15/858,000および15/858,100に対する優先権を主張し、それら全ては2017年12月29日に出願されたものであり、それらの全てはその全体が参照により本明細書に組み込まれる。
PRIORITY This application claims priority to U.S. Patent Application Nos. 15/858,164, 15/858,000 and 15/858,100, all of which were filed on December 29, 2017, all of which are incorporated by reference in their entireties.

買い手はしばしば、ウェブサイトおよび他の技術を使用して、買い手への配送のために商人からアイテムを購入する。場合によっては、配送システムまたはサービスが、商人によって提供される商品(グッズ)およびサービスの配送を容易にすることができる。例えば、配送サービスは、配送のために利用可能な複数の商人からのアイテム(品目、商品)を識別するオンラインサイトを提供することができる。買い手は、オンラインサイトに移動し、商人からアイテムを選択し、配送のための住所を指定し、買い手の住所への配送のためにアイテムを購入することができる。配送サービスは、買い手(購入者)へのアイテムの配送を達成するために様々な技術を利用することができる。特に、配送サービスは、アイテムを配送するために、商人に関連付けられた電子デバイスおよび/または顧客に関連付けられた電子デバイスと通信することができる。また、顧客は例えば、アイテムを購入するための予約を行うか、さもなければ、自分の時間またはサービスを予約するために、商人と対話するための技術を使用する。同様に、予約サービスは、特定のサービスに対する商人の位置の予約を容易にすることができる。しかし、商人がこれらの配送、予約、および他の第三者サービスのいくつかに関連付けられている場合、商人は異なる接続されていないソースからの情報注入を手動で制御および調整しなければならず、最終的には、第三者サービスによって約束される動作の単純さが役に立たなくなる。さらに、商人のインタフェースと第三者サービスとの関連付けは、商人が自身のビジネスを実行するために採用する他の技術を混乱させる可能性がある。 Buyers often use websites and other technologies to purchase items from merchants for delivery to the buyer. In some cases, a delivery system or service can facilitate the delivery of goods and services offered by the merchant. For example, a delivery service can provide an online site that identifies items from multiple merchants available for delivery. A buyer can navigate to the online site, select an item from a merchant, specify an address for delivery, and purchase the item for delivery to the buyer's address. A delivery service can utilize various technologies to accomplish the delivery of the item to a buyer. In particular, the delivery service can communicate with electronic devices associated with the merchant and/or electronic devices associated with the customer to deliver the item. The customer also uses technology to interact with the merchant, for example, to make a reservation to purchase an item or otherwise reserve their time or a service. Similarly, a reservation service can facilitate the reservation of a merchant's location for a particular service. However, when a merchant is associated with several of these delivery, reservation, and other third-party services, the merchant must manually control and coordinate the injection of information from different, unconnected sources, ultimately defeating the simplicity of operation promised by the third-party services. Additionally, the association of a merchant's interface with a third-party service may disrupt other technologies that a merchant employs to conduct its business.

詳細な説明は、添付の図面を参照して記載され、その中において、参照番号の左端の数字は、参照番号が最初に現れる図面を識別する同じまたは異なる図面における同じ参照番号の使用は、類似または同一のアイテムまたは特徴を示す。 The detailed description is described with reference to the accompanying drawings, in which the leftmost digit(s) of a reference number identifies the drawing in which the reference number first appears. Use of the same reference number in the same or different drawings indicates similar or identical items or features.

図1は、本明細書で説明する技術を実施することができる例示的なアーキテクチャを示す。FIG. 1 illustrates an example architecture in which the techniques described herein may be implemented.

図2は、複数のサービスおよび商人ポータルとの通信およびそれらの間の通信を容易にするサービスプロバイダの例示的な詳細を示す。FIG. 2 illustrates example details of a service provider that facilitates communication with and between multiple services and merchant portals.

図3は、サービスプロバイダを介して複数の異なる分散サービスからデータを受信する商人デバイスの例示的な詳細を示す。FIG. 3 illustrates exemplary details of a merchant device receiving data from multiple different distributed services via a service provider.

図4は、一部の実装において、ウェブまたはネイティブの第三者サービスをホストまたはアクセスする、ユーザまたは消費者デバイスの例の詳細を示す。FIG. 4 details an example user or consumer device that, in some implementations, hosts or accesses web or native third party services.

図5は、サービスプロバイダによって提供される配送サービスをエンティティが使用することを可能にするために、1つ以上のAPIを公開するための例示的な処理を示す。FIG. 5 illustrates an exemplary process for exposing one or more APIs to enable entities to use delivery services offered by a service provider.

図6は、サービスプロバイダによって提供される配送サービスを使用するために、1つ以上のAPIを介してサービスプロバイダと通信するための例示的な処理を示す。FIG. 6 illustrates an exemplary process for communicating with a service provider via one or more APIs to use delivery services offered by the service provider.

図7は、アイテムの配送に関する第三者サービスに通知するための例示的な処理を示す。FIG. 7 illustrates an exemplary process for notifying a third party service regarding the delivery of an item.

図8は、注文に関するステータス更新を提供するために、サービスプロバイダによって公開される1つ以上のAPIを介して通信する例示的な処理を示す。FIG. 8 illustrates an exemplary process for communicating via one or more APIs exposed by a service provider to provide status updates regarding an order.

図9は、第三者サービスにわたってメニューアイテムを調和させる処理、およびコンテキストデータに基づいてユーザインタフェースのアイコンを動的に修正する処理、および異なるサービスにわたってメニューアイテムを調和させる処理を示す例示的なデータフロー図を示す。FIG. 9 illustrates an exemplary data flow diagram illustrating a process for coordinating menu items across third party services and dynamically modifying user interface icons based on context data and a process for coordinating menu items across different services.

図10は、予約を調和させ、複数の第三者サービスから発信される未了予約または重複予約を割り当てる処理を示す例示的なデータフロー図を示す。FIG. 10 illustrates an exemplary data flow diagram illustrating a process for reconciling reservations and allocating missing or overlapping reservations originating from multiple third party services.

本明細書で説明される技術は、エンティティがエンティティのソースコードに対する複雑なコーディングまたは修正なしに異なるサービスと通信することができるように、エンティティがサービスプロバイダを介して、配送サービスのためのアプリケーション、予約サービスのためのアプリケーション、第三者サービスのためのアプリケーションなど、異なる第三者サービスを構成することを可能にするシステムおよび環境を提供する。いくつかの例では、サービスプロバイダが、サービスプロバイダによって提供される1つ以上のアプリケーションプログラミングインタフェース(API)を使用して、商人、買い手、および/または他の者に関連付けられたコンピューティングデバイスにコンセンサスサービスを公開する。また、サービスプロバイダは、APIを使用して第三者アプリケーションのユーザ、消費者、または開発者に関連付けられたコンピューティングデバイスにコンセンサスサービスを公開する。いくつかの例では、サービスプロバイダは、商人、買い手、および/または他の者から遠隔的に、および/または独立して動作する第三者であってもよい。1つ以上のAPIは、商人および/または他者が、商人および/または他者によって使用される技術にコンセンサスサービスを自動的に統合することを可能にして、商人による取得のために提供されるアイテムの配送、インダイニング(食事)またはピックアップの両方のためのレストランの予約、メニューの生成など、いくつかのタスクを容易にすることができる。例えば、コンセンサスサービスへの1つ以上のAPIは、エンティティが、複数の配送サービスによるアイテムの配送に関する情報(例えば、配送人コスト、推定配送時間など)に自動的にアクセスし、配送サービスによるアイテムの配送を容易にし、アイテムの準備を注文すること、キッチンからの配送および準備をスケジュールすること、予約をスケジュールすること、および第三者サービスとの間で行き来するコンテンツを管理することなど、コンセンサスサービスを介してサービスプロバイダによって提供される様々な他の機能を使用することを可能にすることができる。 The technology described herein provides a system and environment that allows an entity to compose different third-party services, such as an application for a delivery service, an application for a reservation service, and an application for a third-party service, through a service provider, such that the entity can communicate with the different services without complex coding or modifications to the entity's source code. In some examples, the service provider exposes the consensus service to computing devices associated with the merchant, the buyer, and/or other parties using one or more application programming interfaces (APIs) provided by the service provider. The service provider also exposes the consensus service to computing devices associated with users, consumers, or developers of the third-party applications using the APIs. In some examples, the service provider may be a third party operating remotely and/or independently from the merchant, the buyer, and/or other parties. The one or more APIs may enable the merchant and/or other parties to automatically integrate the consensus service into the technology used by the merchant and/or other parties to facilitate several tasks, such as delivery of items offered for acquisition by the merchant, restaurant reservations for both in-dining or pick-up, generating menus, etc. For example, one or more APIs to the consensus service may enable an entity to automatically access information regarding delivery of an item by multiple delivery services (e.g., delivery labor costs, estimated delivery times, etc.), facilitate delivery of the item by the delivery services, order preparation of the item, schedule delivery and preparation from the kitchen, schedule appointments, and use various other functions offered by the service provider through the consensus service, such as managing content to and from third-party services.

最初に、配送サービスまたは第三者サービスを参照して、実装について説明する。多くの例では、サービスプロバイダが買い手および他者にアイテムを配送するために第三者サービスデバイスのネットワークを動作させることができる。第三者サービスデバイスの各々は、全地球測位システム(GPS)受信機または他の位置センサを実装して、位置情報をサービスプロバイダに提供することができる。サービスプロバイダは、第三者サービスデバイスの位置を追跡して、配送のための第三者サービスデバイスを選択し、アイテムの配送に関する更新を送信し、または他の方法で第三者サービスによるアイテムの配送を容易にすることができる。加えて、または代替として、サービスプロバイダは、複数の商人デバイスと協働して動作することができる。各商人デバイスは、全地球測位システム(GPS)受信機または他の位置センサを実装して、位置情報をサービスプロバイダに提供することができる。サービスプロバイダは、商人デバイスの位置を使用して、商人によって取得のために提供されるアイテムの配送を容易にし、他の機能を実行することができる。さらに、または代替として、サービスプロバイダは、複数の第三者サービスと通信することもでき、第三者サービスロジックおよびシステムを実装して、商人によって提供される商品およびサービスに対する顧客からの注文を受信することができる。上述のように、商人、顧客、および第三者のサービスおよびシステムは、サービスプロバイダのコンセンサスシステムのAPIを介して互いに対話することができる。 The implementation will be described first with reference to a delivery service or third-party service. In many examples, a service provider may operate a network of third-party service devices to deliver items to buyers and others. Each of the third-party service devices may implement a global positioning system (GPS) receiver or other location sensor to provide location information to the service provider. The service provider may track the location of the third-party service devices to select the third-party service device for delivery, send updates regarding delivery of the item, or otherwise facilitate delivery of the item by the third-party service. Additionally or alternatively, the service provider may operate in cooperation with multiple merchant devices. Each of the merchant devices may implement a global positioning system (GPS) receiver or other location sensor to provide location information to the service provider. The service provider may use the location of the merchant devices to facilitate delivery of items offered for acquisition by the merchant and perform other functions. Additionally or alternatively, the service provider may also communicate with multiple third-party services and may implement third-party service logic and systems to receive orders from customers for goods and services offered by the merchants. As described above, merchant, customer, and third party services and systems can interact with each other through the service provider's consensus system API.

次いで、コンセンサスシステムは販売時点管理システムにおける中央注文のために、第三者の食品注文、配送、または準備サービスを統合するためのAPIを公開するためのハブ、例えば、注文ハブとして機能する。コンセンサスシステムは、準備時間、配送時間、準備の注文などの新しい注文分析を自動的に計算するために、到来する複数のサービスにわたって準備時間または配送時間を更新することができる。コンセンサスシステムは、一実施形態では、APIを活用して、在庫情報を管理し、注文情報を提供することができる。本明細書で説明する技術の一例として、商人が第三者配送サービスから10個のハンバーガーの注文を受け取り、第2の第三者配送サービスから5個のハンバーガーの別の注文を受け取った場合、コンセンサスシステムは、第1の第三者配送サービスおよび第2の第三者配送サービスならびに任意の他の第三者配送サービスについて、アイテムの利用可能性、準備、および配送時間をリアルタイムで更新することができる。コンセンサスシステムはまた、商人が様々なサービスからの過去の注文に基づいて適切なスタッフおよび在庫を有するように、注文されたアイテムに対する従業員のスタッフ配置を予測および予期することができる。コンセンサスシステムはまた、複数の第三者サービスを介して入ってくる注文のステータスに基づいて、在庫/材料の自動補充、またはベンダからの自動再注文を指示することができる。 The consensus system then acts as a hub, e.g., an order hub, to expose APIs for integrating third-party food ordering, delivery, or preparation services for central ordering in the point of sale system. The consensus system can update preparation or delivery times across multiple incoming services to automatically calculate new order analytics such as preparation time, delivery time, and preparation orders. The consensus system, in one embodiment, can leverage APIs to manage inventory information and provide order information. As an example of the technology described herein, if a merchant receives an order for 10 burgers from a third-party delivery service and another order for 5 burgers from a second third-party delivery service, the consensus system can update item availability, preparation, and delivery times in real time for the first and second third-party delivery services as well as any other third-party delivery services. The consensus system can also predict and anticipate employee staffing for ordered items so that the merchant has the appropriate staff and inventory based on past orders from various services. The consensus system can also direct automatic replenishment of inventory/ingredients or automatic reordering from vendors based on the status of incoming orders via multiple third-party services.

コンセンサスシステムは、第三者予約サービスの統合、集中予約、待機リスト、スケジューリング管理のための1つ以上のAPIを利用することによって、予約のハブとして機能することもできる。コンセンサスシステムは、他の第三者予約サービスと通信して、中央予約システムと、テーブルおよび好ましい座席の動的な割当て/再割当てとを提供することができ、さらには、ダイニングインが利用可能でない場合にピックアップを提供することもできる。コンセンサスシステムは、座席時間の需要を監視し、分析し、それに応じて、特定の予約または所望のメニューアイテムのための好ましい給仕人/シェフで食事者をサポートするために、スタッフ配置および材料を最適化する。アイテム数や、シフト中に許可されるカスタマイズされた予約の数などに対して、特定の閾値が設定される場合がある。さらに、コンセンサスシステムは、使用メトリックに基づいて各サービスに任意の座席割当数を割り当て、ユーザが他のサービスに加入しているかどうかにかかわらず、1つのサービスがユーザの要求を供給できない場合に予約を行うために、APIを介して1つのサービスから別のサービスにユーザを転送することができる。さらに、コンセンサスシステムは、予約された座席の割り当てのためのハブ、および顧客プロファイルおよび商人仕様にマッピングする方法での座席の配置のためのハブとすることができる。例えば、頻繁に訪れる顧客は、レストランの最良の領域に座ることができる。コンセンサスシステムはまた、サービスプロバイダによってサポートされる他のバーティカル(vertical)と統合する。例えば、コンセンサスシステムは、新しい顧客がレストランで予約するときに、コンセンサスシステムが顧客プロファイルを作成して、顧客のプロファイルに最も適した多くの第三者サービスのうちの1つを提供することができるように、オンボーディングコンポーネントと統合される。コンセンサスシステムはまた、各第三者サービスの重みまたは関連性などによって、すべてのサービスからの集約されたレビューに基づいてレストランを推奨することができる。 The consensus system can also act as a hub for reservations by utilizing one or more APIs for third party reservation service integration, centralized reservations, wait lists, and scheduling management. The consensus system can communicate with other third party reservation services to provide a central reservation system and dynamic allocation/reallocation of tables and preferred seats, and even offer pick-up when dine-in is not available. The consensus system monitors and analyzes seating demand and optimizes staffing and ingredients accordingly to support diners with preferred servers/chefs for specific reservations or desired menu items. Certain thresholds may be set for number of items, number of customized reservations allowed during a shift, etc. Additionally, the consensus system can assign any seating allocation to each service based on usage metrics and transfer users from one service to another via APIs to make reservations when one service cannot supply the user's request, regardless of whether the user subscribes to the other service. Additionally, the consensus system can be a hub for the allocation of reserved seats, and for the placement of seats in a manner that maps to customer profiles and merchant specifications. For example, frequent customers can be seated in the best areas of a restaurant. The consensus system also integrates with other verticals supported by the service provider. For example, the consensus system is integrated with an onboarding component so that when a new customer makes a reservation at a restaurant, the consensus system can create a customer profile and offer one of many third-party services that best fit the customer's profile. The consensus system can also recommend restaurants based on aggregated reviews from all services, such as by the weight or relevance of each third-party service.

コンセンサスシステムは、コンテンツの集約および解析のためのメニューハブなどのハブであってもよい。そのような実施形態では、コンセンサスシステムは、ユーザが第三者サービスから異なるメニュー上でどのように注文し、それに応じて売上(セールス)を最適化するかに基づいて、動的に価格設定するための統一マネージャである。コンセンサスシステムはすべての第三者サービスに適用できる単一のメニュー更新を推進し、そのようなサービス上のコンテンツを調和させることができる。コンセンサスシステムは、複数の更新またはサービス固有の更新を推進して、第三者サービス全体の使用メトリックを考慮することもできる。たとえば、メニューコンテンツの注文は、すべての第三者サービス、特定のサービス、さらにはサービス内の特定の領域内の使用状況全体にわたるユーザの人気または使用状況に応じて設定できる。たとえば、支払サービスは、注文の人気や、異なる配送サービス間でのユーザの行動に基づいて、メニューの注文を変更することができる。例えば、支払サービスが第三者サービスからのカートレベル情報にアクセスできない場合、支払サービスは、注文がキッチンに出されると、そのような情報を捕捉することができる。このようにして、支払サービスは、公開されたAPIを利用して、ユーザが第三者のサービスメニューをどのように移動するか、およびどのようなアイテムをユーザが追加する傾向があるがチェックアウトを行わない傾向があるかを確認し、それに応じて商人用のグローバルメニュー(または商人と第三者サービス用の特定のメニュー)を調整することができる。 The consensus system may be a hub, such as a menu hub, for content aggregation and analytics. In such an embodiment, the consensus system is a unified manager for dynamic pricing based on how users order on different menus from third-party services and optimize sales accordingly. The consensus system can drive a single menu update that is applicable to all third-party services, harmonizing the content on such services. The consensus system can also drive multiple updates or service-specific updates to account for usage metrics across third-party services. For example, the ordering of menu content can be set according to user popularity or usage across all third-party services, specific services, or even usage within specific areas within a service. For example, the payment service can modify the ordering of menus based on the popularity of the order or the user's behavior across different delivery services. For example, if the payment service does not have access to cart-level information from the third-party service, the payment service can capture such information as the order is placed in the kitchen. In this way, the payment service can leverage the exposed APIs to see how users navigate the third-party service menus and what items users tend to add but not check out, and adjust the global menu for the merchant (or specific menus for the merchant and the third-party service) accordingly.

本明細書で説明する技術の一例として、アプリケーションは、商人、買い手、および/または他のものに関連付けられたコンピューティングデバイス上で実行することができる。アプリケーションは、個人(例えば、商人、買い手など)がアクションを実行すること、例えば、商人によって取得のために提供されたアイテムの注文を行うこと、レストランの席を予約すること、コンテンツを表示すること、第三者サービスの更新を提供することなどを可能にするためのユーザインタフェースを提供することができる。例えば、配送サービスの場合、ユーザインタフェースを介して、個人は、取得するアイテムを選択し、アイテムが配送されることを要求することができる。例えば、個人は、購入のために電子ショッピングカートにアイテムを入れ、アイテムを配送させることに関心を示すことができる。場合によっては、個人は、配送の場所、ピックアップの場所、ピックアップの要求された時間、取得されているアイテムの数、アイテムのサイズ、アイテムが所定のカテゴリに関連付けられているかどうか、アイテムの重量などを指定することができる。他の例では、このような情報は、ユーザプロファイルまたは商人プロファイルから自動的に判定されたり、取得されたりする。 As one example of the technology described herein, an application may run on a computing device associated with a merchant, a buyer, and/or others. The application may provide a user interface to enable an individual (e.g., a merchant, a buyer, etc.) to perform an action, such as placing an order for an item offered for acquisition by the merchant, reserving a table at a restaurant, viewing content, providing updates for a third party service, etc. For example, in the case of a delivery service, through the user interface, an individual may select an item to acquire and request that the item be delivered. For example, an individual may place an item in an electronic shopping cart for purchase and indicate an interest in having the item delivered. In some cases, an individual may specify a location for delivery, a location for pickup, a requested time for pickup, a number of items being acquired, a size of the item, whether the item is associated with a given category, a weight of the item, etc. In other examples, such information is automatically determined or obtained from a user profile or a merchant profile.

個人がアイテムを配送させることに関心があると判定すると、第三者配送サービスなどのためのアプリケーションは、サービスプロバイダに関連付けられたコンセンサスサービスを介してアイテムの配送を容易にするために、サービスプロバイダによって提供されるAPIを使用して第三者サービスプロバイダと通信することができる。例えば、アプリケーションは、アイテムの配送のコスト、アイテムの配送時間の推定量などの要求を送信することができる。第三者サービスは、関連する配送サービスを使用して、アイテムを買い手の位置に配送するための、例えば、コンセンサスサービスのためのAPIを介してサービスプロバイダに配送するための配送提案を生成することができる。配送提案は、配送コスト、配送時間の推定量および/またはアイテムの配送に関するその他の情報を含んでもよい。サービスプロバイダは、コンセンサスサービスを介して、配送提案を、受諾または拒否のためのアプリケーションに送信することができる。いくつかの例では、アプリケーションは、ユーザインタフェースと対話する個人に情報を提示し、個人は提案を受諾するか、または拒否するための入力を提供することができる。他の例では、アプリケーションは、1つ以上の基準に従って動作して、配送提案を自動的に受諾するか、または拒否することができる(たとえば、コストが閾値未満である場合に受諾する、推定配送時間が閾値時間量未満である場合に受諾するなど)。いずれにしても、アプリケーションは、APIを使用して、配送提案の受諾または拒否のインジケーション(指標、指示)を第三者サービスに送信することができる。 Once an individual has determined that they are interested in having an item delivered, an application for a third-party delivery service, etc., can communicate with the third-party service provider using an API provided by the service provider to facilitate delivery of the item via a consensus service associated with the service provider. For example, the application can send a request for the cost of delivery of the item, an estimated amount of delivery time for the item, etc. The third-party service can generate a delivery proposal for delivery to the service provider, e.g., via an API for the consensus service, for delivery of the item to the buyer's location using the associated delivery service. The delivery proposal may include the delivery cost, an estimated amount of delivery time, and/or other information regarding the delivery of the item. The service provider can send the delivery proposal via the consensus service to the application for acceptance or rejection. In some examples, the application presents information to an individual who interacts with a user interface, and the individual can provide input to accept or reject the proposal. In other examples, the application can operate according to one or more criteria to automatically accept or reject the delivery proposal (e.g., accept if the cost is below a threshold amount, accept if the estimated delivery time is below a threshold amount of time, etc.). In either case, the application can use the API to send an indication to the third-party service of accepting or rejecting the delivery offer.

サービスプロバイダは、配送提案の受諾について第三者のサービスが通知された場合、配送のための配送人を選択する処理を行うことができる。例えば、サービスプロバイダは、経時的に複数の配送人デバイスの位置を追跡し、ピックアップ位置まで特定の距離内にあること、配送を行うために利用可能であること、アイテムを移送することができる移送車両に関連付けられていることなど、1つ以上の基準を満たす配送人を選択することができる。場合によっては、サービスプロバイダは、配送人(クーリエ)プロファイル、ユーザプロファイル、商人プロファイル、または他の情報を使用して配送人を選択することができる。次いで、サービスプロバイダは、配送人に、配送人が商人の施設からアイテムを入手し、そのアイテムを配送場所に移送することを要求する通信を送信することができる。アイテムの配送中、サービスプロバイダは、配送人および/または商人から情報(例えば、位置情報、配送がピックアップされたことの確認など)を受信し、配送のステータスを判定することができる。サービスプロバイダは、アプリケーション、商人デバイス、買い手デバイス、および/または他のものに配送のステータスを送信することができ、その結果、個人に、配送の現在の状態を通知することができる。 The service provider may process the selection of a courier for delivery when the third party service is notified of the acceptance of the delivery offer. For example, the service provider may track the location of multiple courier devices over time and select a courier that meets one or more criteria, such as being within a certain distance to a pick-up location, being available to make the delivery, being associated with a transport vehicle capable of transporting the item, etc. In some cases, the service provider may select a courier using a courier profile, a user profile, a merchant profile, or other information. The service provider may then send a communication to the courier requesting that the courier pick up the item from the merchant's facility and transport the item to a delivery location. During delivery of the item, the service provider may receive information from the courier and/or merchant (e.g., location information, confirmation that the delivery has been picked up, etc.) and determine the status of the delivery. The service provider may send the status of the delivery to an application, a merchant device, a buyer device, and/or others, so that individuals may be notified of the current state of the delivery.

多くの場合、本明細書で説明する技術および環境は、サービスプロバイダによって提供されるコンセンサスサービスにアクセスし、配送サービス、予約サービス、およびコンテンツサービスをサポートするために、1つ以上のAPIを提供する。すなわち、1つ以上のAPIは、エンティティの技術に様々な第三者サービスを統合するための柔軟な構造をエンティティに提供することができる。一例として、商人は、第三者サービスを実施するための追加のコンポーネントを作成することなく、商人によって動作されるウェブサイトまたはアプリケーションに第三者サービスを統合することができる。そうすることによって、ウェブサイトまたはアプリケーションは、そのような特徴をウェブサイトまたはアプリケーションに直接組み込むウェブサイトまたはアプリケーションと比較して、より薄い実装(例えば、より少ない構成要素で)に従って動作することができる。これにより、ウェブサイトやアプリケーションの実装が比較的高速になる可能性がある。さらに、技術および環境は、第三者サービスの統合が多種多様な文脈(たとえば、デバイス、プラットフォームなど)にわたって実施されることを可能にし得る。さらに、技術および環境は、第三者サービスを実装するためにサービスプロバイダによって使用される、基礎となる技術、たとえばコンセンサスサービスを修正するための柔軟な構造を提供する。言い換えれば、商人プラットフォームの基礎となる技術は、商人、買い手、および/または他の者によって実施される技術の更新を必要とせずに、統一されたおよび/または単純化された方法で更新されてもよい。さらに、技術および環境は、サービスプロバイダによって使用される基礎技術(例えば、アルゴリズム、コストスキームなどを含む)が、安全な環境において維持されることを可能にしてもよい。また、複数の第三者サービスによって共有されるデータは、商人に公開される必要はなく、さらに、サービスプロバイダは、第三者サービス、環境、位置、時刻などに基づいて、データ制御およびデータカプセル化を作成することができ、これは、第三者サービスに特有であるか、または端末、アプリケーション、キッチンディスプレイシステム、支払アプリケーションなどの第三者サービスと商人プラットフォームとの間の関係に特有であってもよい。 In many cases, the technologies and environments described herein provide one or more APIs to access the consensus services provided by the service provider and to support delivery services, reservation services, and content services. That is, the one or more APIs can provide the entity with a flexible structure for integrating various third-party services into the entity's technology. As an example, a merchant can integrate a third-party service into a website or application operated by the merchant without creating additional components to implement the third-party service. By doing so, the website or application can operate according to a thinner implementation (e.g., with fewer components) compared to a website or application that incorporates such features directly into the website or application. This can result in relatively fast implementation of the website or application. Furthermore, the technologies and environments can enable the integration of third-party services to be implemented across a wide variety of contexts (e.g., devices, platforms, etc.). Furthermore, the technologies and environments provide a flexible structure for modifying the underlying technology, e.g., the consensus service, used by the service provider to implement the third-party service. In other words, the underlying technology of the merchant platform may be updated in a uniform and/or simplified manner without requiring updates to the technology implemented by the merchant, the buyer, and/or others. Additionally, the technology and environment may enable the underlying technology used by the service provider (including, for example, algorithms, cost schemes, etc.) to be maintained in a secure environment. Also, data shared by multiple third party services need not be exposed to the merchant, and further, the service provider may create data controls and data encapsulation based on third party services, environment, location, time, etc., which may be specific to the third party service or specific to the relationship between the third party service and the merchant platform, such as a terminal, application, kitchen display system, payment application, etc.

中央注文システムの利点には、注文のより良好な管理、注文のスケジューリング、および各第三者サービスの注文をリストする壁の周りにぶら下がる複数のタブレットの排除が含まれる。本明細書に記載される技術を用いて、商人は、異なるソースから来る注文を追跡し、注文、在庫、および注文のタイミングをリアルタイムまたはほぼリアルタイムに管理することができる単一のキッチンディスプレイシステムをインストールすることができる。 The benefits of a central ordering system include better management of orders, scheduling of orders, and elimination of multiple tablets hanging around the walls listing orders for each third party service. Using the technology described herein, merchants can install a single kitchen display system that can track orders coming from different sources and manage orders, inventory, and order timing in real time or near real time.

中央レストランシステムの利点には、予約のより良い管理、複数のソースからのレストランのレビューの追跡、およびレストランの予約中または過剰予約中のダブルブッキングの排除が含まれる。説明は例示的なユースケースとしてレストランについて言及するが、説明はサロン、病院、ヨガスタジオなどの予約およびアポイントのための他のユースケースに拡張できることが理解されるのであろう。本明細書で説明する技術を用いて、予約を最適化することができ、座席割り当てを、例えば、充填容量(キャパシティ)に基づいて、リアルタイムで第三者予約サービスに割り当てることができる。 Advantages of a central restaurant system include better management of reservations, tracking restaurant reviews from multiple sources, and eliminating double bookings while reserving or overbooking a restaurant. While the description refers to a restaurant as an example use case, it will be understood that the description can be extended to other use cases for reservations and appointments such as salons, hospitals, yoga studios, etc. Using the techniques described herein, reservations can be optimized and seating allocations can be assigned in real time to third party reservation services based on, for example, filling capacity.

中央コンテンツコンセンサスシステムの利点はメニュー、価格、動作時間などのコンテンツのより良好な管理を含み、すべての第三者サービスは、商人から同時に同じ更新を得る。本明細書で説明される技術を用いて、コンテンツは、価格、ブランド、および商人のルックアンドフィールが一貫して維持されるように、異なる第三者サービスにわたって調和させることができる。コンセンサスシステムは、動的な価格設定のための統一されたマネージャとすることができ、ユーザが異なるメニュー上で何をどのくらい注文しているかなどの注文データを追跡することによって、販売(セールス)を最適化することができる。あるいは、異なる種類の視聴者をターゲットにするために、すなわち、利用可能性/人気に基づいてすべてのメニューにわたってメニュー価格を調整するために、異なる更新をリアルタイムまたはほぼリアルタイムで第三者サービスにプッシュすることができる。例えば、第1の第三者サービスで注文する顧客が早朝にファストフードを注文すると判定することによって、メニューは例えば、準備時間または人気の順に、リスト上にファストフードアイテムを提示するように構成されてもよい。それに加えて、またはその代わりに、アイテムの価格設定は、データ分析にマッピングするように構成されてもよい。いくつかの実装形態では、商人がアイテムを修正すると、支払フローが修正され得る。例えば、商人が自分のメニューからアイテムを取り除くこと(削除アイテムと呼ばれることもある)を決定したものの、他のアイテムに加えてそのアイテムについて既に注文がなされている場合、コンセンサスシステムは、顧客がそのアイテムについて返金されるか、または決して課金されないように、拒絶アイテムを除外するように準備および支払フローを修正することができる。いくつかの実装形態では、拒絶アイテムは、別のアイテム、例えば、類似アイテム、類似コストのアイテム、新しいオファー、割引(ディスカウント)、顧客への通知などで置き換えられてもよい。 Advantages of a central content consensus system include better management of content such as menus, prices, operating hours, etc., and all third-party services get the same updates from the merchant at the same time. With the techniques described herein, content can be harmonized across different third-party services so that prices, brand, and merchant look and feel are maintained consistently. The consensus system can be a unified manager for dynamic pricing and can optimize sales by tracking order data such as what and how much users are ordering on different menus. Alternatively, different updates can be pushed to the third-party services in real-time or near real-time to target different types of audiences, i.e., adjust menu prices across all menus based on availability/popularity. For example, by determining that a customer ordering at a first third-party service orders fast food early in the morning, the menu may be configured to present fast food items on the list, for example, in order of preparation time or popularity. Additionally or alternatively, pricing of items may be configured to map to data analytics. In some implementations, payment flows may be modified as the merchant modifies the items. For example, if a merchant decides to remove an item from their menu (sometimes called a removed item), but an order has already been placed for that item in addition to other items, the consensus system can modify the preparation and payment flow to exclude the rejected item so that the customer is either refunded or never charged for the item. In some implementations, the rejected item may be replaced with another item, e.g., a similar item, an item of similar cost, a new offer, a discount, a notification to the customer, etc.

さらに、本明細書の技術は、APIを通じたコンセンサスシステムがそのソースコードに変更を加えることなく、またはほとんど変更を加えずに、命令およびデータを移植することによって、様々なハードウェアおよびソフトウェアプラットフォームとインタフェースすることができるので、任意の第三者サービスをオンボード化し、商人から買い手へのアイテムの配送のために統合すること、または商人との任意の構成または終了関係なしに任意の他のサービスを提供することを可能にすることができる。コンピューティングデバイス、モバイルデバイス、およびセンサの対話を通じて、本明細書の実装形態は、商人、買い手、サービス領域、第三者サービス、ハードウェアおよびソフトウェアプラットフォーム、ならびに第三者サービス自体の常に変化する状況および条件に対応するために、多数のエンティティが参加することができる予測不可能な共有エコシステムを管理することができる。 Furthermore, the technology herein can enable any third-party service to be onboarded and integrated for delivery of items from a merchant to a buyer, or to provide any other service without any configuration or termination relationship with the merchant, since the consensus system through APIs can interface with various hardware and software platforms by porting instructions and data with no or little modification to its source code. Through the interaction of computing devices, mobile devices, and sensors, the implementations herein can manage an unpredictable shared ecosystem in which multiple entities can participate to accommodate the ever-changing circumstances and conditions of merchants, buyers, service areas, third-party services, hardware and software platforms, and the third-party services themselves.

様々な実装において、コンセンサスシステムは、中央サーバ、またはサーバのグループとして機能し、APIを介して様々なソースからデータを取り込み、命令およびデータを様々なサービスによって理解されるフォーマットに移植し、データをフィルタリングして様々な商人およびサービスとの関連性を判定し、分析を使用して、配送、予約、コンテンツ集約、またはコンテンツ表示などの様々な商人タスクを構造化または再構造化することができる。 In various implementations, the consensus system may act as a central server, or group of servers, ingesting data from various sources via APIs, porting instructions and data into formats understood by various services, filtering the data to determine relevance to various merchants and services, and using analytics to structure or restructure various merchant tasks such as delivery, booking, content aggregation, or content display.

本明細書のいくつかの実装形態は、双方向APIまたはプッシュプルAPIを記載し、それらは、情報が両方向に移動すること、及び、APIエンドポイントが、通信を行う両方のアプリケーションに関連付けられることを意味する。しかしながら、いくつかの実装は、アプリケーションが情報をプッシュするか、要求されたときに情報をプルするだけでよいように、単一方向APIを実行することができる。 Some implementations in this specification describe bidirectional or push-pull APIs, meaning that information moves in both directions and that API endpoints are associated with both communicating applications. However, some implementations may implement unidirectional APIs, so that applications only need to push information or pull information when requested.

この簡単な導入は、読者の便宜のために提供され、特許請求の範囲を限定することを意図しない。さらに、上記および下記の技術は、いくつかの方法およびいくつかの文脈で実施することができる。以下に詳細に説明するように、以下の図を参照して、いくつかの例の実装と文脈が提供されている。しかし、以下の実装と文脈は多くのうちの数個である。 This brief introduction is provided for the convenience of the reader and is not intended to limit the scope of the claims. Moreover, the techniques described above and below can be implemented in several ways and in several contexts. As described in more detail below and with reference to the following figures, several example implementations and contexts are provided. However, the following implementations and contexts are just a few of many.

図1は、本明細書で説明する技術を実施することができる例示的なアーキテクチャ100を示す。アーキテクチャ100は、コンセンサスサービス、商人位置における買い手、第三者サービス等のアプリケーションの1つ以上のユーザ104(以下、「ユーザ104」)、1つ以上の商人106(以下、「商人106」)、1つ以上の第三者サービス108(以下、文脈に応じて「配送サービス108」、「配送人サービス」、「予約サービス108」、「コンテンツサービス」、および、まとめて第三者サービスと称される)、1つ以上のカード支払ネットワークコンピューティングデバイス110、および/または、様々な処理を実行するために1つ以上の銀行コンピューティングデバイス112と通信する、コンセンサスシステムまたはアプリケーション(以下、「コンセンサスサービス」とも称される)に関連付けられたサービスプロバイダ102を含む。第三者サービスはまた、サービスプロバイダによって提供される、例えば、配送、予約、またはコンテンツの集約および管理のためのサービスを含むことができる。多くの場合、サービスプロバイダ102は、ユーザ104および/または商人106がサービスプロバイダ102によって提供されるコンセンサスサービスにアクセスすることを可能にするために、1つ以上のアプリケーションプログラミングインタフェース(API)114を提供することができる。API は、プッシュAPI、プルAPI、またはその両方の組み合わせとして実装できる。したがって、各アプリケーションは、更新を受信または送信するための、あるいはその両方のためのAPIエンドポイントを作成または共有できる。例えば、プッシュAPIは、プッシュメッセージをウェブアプリケーションに、時には非同期で、プッシュサービスを送信することを可能にする。アプリケーションサーバは、ウェブアプリケーションまたはユーザエージェントが非アクティブな場合でも、いつでもプッシュメッセージを送信することができる。プッシュサービスは、ユーザエージェントへの確実かつ効率的な配信を保証する。プッシュメッセージは、ウェブアプリケーションの発信元で動作するサービスワーカに配信され、サービスワーカはメッセージ内の情報を使用して、ローカル状態を更新するか、またはユーザに通知を表示することができる。プルAPIは、例えば、ある間隔で実行するように設定されたスケジュールされたジョブに基づいて、データを抽出するように動作する。システムは、特定の条件が満たされるまでソースのポーリングを継続する。 FIG. 1 illustrates an exemplary architecture 100 in which the techniques described herein may be implemented. The architecture 100 includes a service provider 102 associated with a consensus system or application (hereinafter also referred to as a "consensus service") that communicates with one or more users 104 (hereinafter "users 104") of an application, such as a consensus service, a buyer at a merchant location, a third party service, etc., one or more merchants 106 (hereinafter "merchants 106"), one or more third party services 108 (hereinafter referred to as a "delivery service 108", a "delivery person service", a "reservation service 108", a "content service", and collectively, third party services, depending on the context), one or more card payment network computing devices 110, and/or one or more bank computing devices 112 to perform various operations. The third party services may also include services provided by the service provider, such as for delivery, reservations, or content aggregation and management. In many cases, the service provider 102 may provide one or more application programming interfaces (APIs) 114 to allow the users 104 and/or merchants 106 to access the consensus service provided by the service provider 102. The APIs may be implemented as push APIs, pull APIs, or a combination of both. Thus, each application may create or share API endpoints for receiving or sending updates, or both. For example, a push API allows a push service to send push messages to web applications, sometimes asynchronously. An application server may send push messages at any time, even if the web application or user agent is inactive. A push service ensures reliable and efficient delivery to the user agent. The push message is delivered to a service worker running at the origin of the web application, which may use the information in the message to update local state or display notifications to the user. A pull API operates to extract data, for example, based on a scheduled job set to run at an interval. The system continues to poll the source until a certain condition is met.

さらに、多くの場合、サービスプロバイダ102は、買い手(第1のユーザ)と売り手(第2のユーザ)との間の取引を容易にすることができ、この取引は、1つ以上のカード支払ネットワークコンピューティングデバイス110および/または1つ以上の銀行コンピューティングデバイス112と通信することを含むことができる。ユーザ104、商人106、および/または第三者サービス108のそれぞれは、コンピューティングデバイスに関連付けることができる。例えば、第三者サービスは、ユーザ104または商人デバイス106に関連付けられたユーザデバイス上で実行されてもよい。さらに、いくつかの例では、環境100は、さらに詳細に後述するように、アイテムの取得を容易にするために、ユーザ104および/または商人106と通信するための追加のサービスプロバイダ(サービスプロバイダ116)を含む。図示されるように、アーキテクチャ100のいずれかのコンピューティングデバイスは、1つ以上のネットワーク118を介して互いに通信することができる。 Additionally, in many cases, the service provider 102 can facilitate a transaction between a buyer (first user) and a seller (second user), which can include communicating with one or more card payment network computing devices 110 and/or one or more bank computing devices 112. Each of the user 104, the merchant 106, and/or the third party service 108 can be associated with a computing device. For example, the third party service may run on a user device associated with the user 104 or the merchant device 106. Additionally, in some examples, the environment 100 includes an additional service provider (service provider 116) for communicating with the user 104 and/or the merchant 106 to facilitate the acquisition of an item, as described in more detail below. As illustrated, any computing device of the architecture 100 can communicate with each other via one or more networks 118.

商人は、買い手から受け取った対価と引き換えに、買い手による取得のための商品またはサービスの提供に従事する任意の企業またはエンティティを含むことができる。商人に起因するアクションは、商人の従業員または他のエージェントによって実行されるアクションを含むことができ、したがって、本明細書では、特に論じない限り、商人とその従業員との間の区別は行われない。さらに、買い手は、購入、レンタル、リース、借用、ライセンス供与などによって、商人から商品またはサービスを取得する任意のエンティティを含むことができる。以下、商品及び/又はサービスをアイテムと呼ぶことがある。アイテムは、完成品、部分完成品、原材料などを含むことができる。したがって、商人および買い手は、互いに対話して、買い手が商人から1つ以上のアイテムを取得し、その代わりに、買い手が支払いを商人に提供する取引を行うことができる。 A merchant may include any business or entity engaged in providing goods or services for acquisition by a buyer in exchange for consideration received from the buyer. Actions attributable to a merchant may include actions performed by employees or other agents of the merchant, and thus, no distinction is made herein between a merchant and its employees, unless otherwise discussed. Additionally, a buyer may include any entity that acquires goods or services from a merchant, by purchasing, renting, leasing, borrowing, licensing, and the like. Hereinafter, goods and/or services may be referred to as items. Items may include finished goods, partially finished goods, raw materials, and the like. Thus, a merchant and a buyer may interact with each other to conduct a transaction in which a buyer acquires one or more items from a merchant and, in return, the buyer provides payment to the merchant.

配送サービスなどの第三者サービスは、アイテムの配送に従事するエンティティを含むことができる。第三者サービスは、配送ピックアップ位置(例えば、商人の位置)からアイテムを取得し、そのアイテムを配送ドロップオフ位置(例えば、買い手の位置)に移送することができる。本明細書のいくつかの実装形態は、異なる配送ポータル108から入ってくる配送要求(注文とも呼ばれる)を商人が調和させることを可能にする技術革新を提供する。このような技術を用いて、商人は、在庫、発注時間、顧客のロイヤリティ格付けなどに関して注文を調整し、同期させることができる。 A third party service, such as a delivery service, may include an entity engaged in the delivery of items. The third party service may retrieve items from a delivery pick-up location (e.g., a merchant's location) and transport the items to a delivery drop-off location (e.g., a buyer's location). Some implementations herein provide technology innovations that allow a merchant to reconcile delivery requests (also called orders) coming in from different delivery portals 108. With such technology, a merchant may coordinate and synchronize orders with respect to inventory, order time, customer loyalty ratings, etc.

レストラン管理サービスのような第三者サービスは、オンライン予約または本人予約のような、それらの位置での予約を可能にする任意のエンティティを含むことができる。また、予約という用語は、アポイントメント、本人のダイニング、ピックアップなどを含むことを意図している。第三者サービスは、商人位置で予約を行うための要求を受信することができる。本明細書のいくつかの実装形態は、異なる予約ポータル108から入ってくる予約要求(予約とも呼ばれる)を商人が調和させることを可能にする技術革新を提供する。そのような技術を用いて、商人は、座席の利用可能性、食事者の好み、時間、位置、およびメニュー上で利用可能なアイテムなどに関して注文を調整し、同期させることができる。 Third party services, such as restaurant management services, can include any entity that enables reservations at their locations, such as online reservations or in-person reservations. Additionally, the term reservation is intended to include appointments, in-person dining, pick-up, and the like. The third party service can receive requests to make reservations at merchant locations. Some implementations herein provide technology innovations that allow merchants to reconcile reservation requests (also referred to as reservations) that come in from different reservation portals 108. With such technology, merchants can coordinate and synchronize orders with respect to seating availability, diner preferences, time, location, items available on the menu, and the like.

コンテンツ集約サービスなどの第三者サービスは、アイテムを配送することに従事する任意のエンティティを含むことができる。第三者サービスは、他の第三者サービスがどのようなものを実施しているかを何ら考えることなく、また、特に商人のストアに関して、自分の顧客がどのようなものを見たいかを知ることなく、コンテンツを表示することができる。本明細書でのいくつかの実装は、異なる第三者サービス108にわたって、メニューのようなコンテンツを商人が調和させることを可能にする技術革新を提供する。そのような技術を用いて、商人は、第三者サービスのプロファイル、時刻、位置、および他のそのような仕様に関して、メニューおよび他のコンテンツを調整し、同期させることができる。メニューまたはメニューの更新は、すべての第三者サービス上で同時に単一の更新または通知としてプッシュすることができる。代替的に又は追加的に、メニュー及び他のそのようなコンテンツ、例えば、コンテンツのディスプレイ、アイテムの注文等は、第三者サービスと商人との関係、アイテムの利用可能性、時刻、及び他のそのような要因に従って構成することができる。 A third-party service, such as a content aggregation service, may include any entity engaged in delivering items. A third-party service may display content without any consideration of what other third-party services are doing, and without knowing what its customers want to see, particularly with respect to the merchant's store. Some implementations herein provide innovations that allow merchants to harmonize content, such as menus, across different third-party services 108. With such techniques, merchants may coordinate and synchronize menus and other content with respect to the third-party service's profile, time of day, location, and other such specifications. Menus or menu updates may be pushed as a single update or notification on all third-party services simultaneously. Alternatively or additionally, menus and other such content, such as display of content, ordering of items, etc., may be configured according to the relationship between the third-party service and the merchant, availability of items, time of day, and other such factors.

上述のように、サービスプロバイダ102は、コンセンサスサービスの1つ以上のAPI114を公開して、ユーザ104および/または商人106に関連付けられたコンピューティングデバイスが、サービスプロバイダ102によって提供される第三者サービスにアクセスし、調和し、正規化し、リファクタリングし、調整し、および/またはインタフェースすることを可能にし、その結果、商人またはユーザプロセスが最適な方法で構造化される。説明の簡単化のため、図1の例では、ユーザ104及び/又は商人106に関連付けられたコンピューティングデバイスは、「取得デバイス」と呼ばれる。図1の例では、取得デバイスは、アイテムの配送、座席予約、メニューの更新等のアクションを容易にするために、1つ以上のAPI114を通じてサービスプロバイダ102と通信する。取得デバイスは、アイテム取得インタフェース120を介して、サービスプロバイダ102から受信したアイテムの配送に関する様々な情報を表示する。この例では、取得デバイスがピザなどのアイテムの配送のための配送サービス108-1を実行し、一方、飲料などのアイテムの配送のための配送サービス108-2を実行する。場合によっては、取得デバイスは異なっていてもよく、商人は、異なる第三者サービスから2つの別個の配送要求を受信してもよい。要求を出している間、サービスプロバイダは、コンセンサスサービス132を使用して、受信された注文および注文のタイミングを判定することができる。コンセンサスサービス132は例えば、機械学習モデルを使用して、注文をいつ行うべきか、どのアイテムを準備のために集めることができるか、等を判定する。コンセンサスサービス132は、商人に関連付けられたキッチンディスプレイシステム(図示せず)の注文をスケジュールする。このように、商人は、異なるソースから来る注文に対応する複数のタブレットを維持する必要がない。単一のタブレットは例えば、注文のタイミング、ソース、位置、準備の時間などに基づいて、注文のソース、タイミング、配送の推定時間、および準備の新しい順序を示す。同様に、予約要求に対して、コンセンサスサービス132は、予約の単一のリストと、ユーザおよび商人の間で座席および予約を分配(分散)する方法とを作成する。さらに、コンセンサスサービスは、リアルタイムまたはほぼリアルタイムで要求の進行を通信するために当事者とインタフェースすることができる。 As described above, the service provider 102 exposes one or more APIs 114 of the consensus service to enable computing devices associated with the user 104 and/or the merchant 106 to access, harmonize, normalize, refactor, adjust, and/or interface with third-party services provided by the service provider 102, so that the merchant or user process is structured in an optimal manner. For ease of explanation, in the example of FIG. 1, the computing devices associated with the user 104 and/or the merchant 106 are referred to as "acquisition devices." In the example of FIG. 1, the acquisition devices communicate with the service provider 102 through one or more APIs 114 to facilitate actions such as delivery of items, seat reservations, menu updates, etc. The acquisition devices display various information regarding delivery of items received from the service provider 102 via the item acquisition interface 120. In this example, the acquisition devices perform a delivery service 108-1 for delivery of items such as pizza, while performing a delivery service 108-2 for delivery of items such as beverages. In some cases, the acquisition devices may be different and the merchant may receive two separate delivery requests from different third-party services. While making the request, the service provider may use the consensus service 132 to determine the received order and the timing of the order. The consensus service 132 may, for example, use machine learning models to determine when the order should be placed, which items can be collected for preparation, etc. The consensus service 132 schedules the order for a kitchen display system (not shown) associated with the merchant. In this way, the merchant does not need to maintain multiple tablets corresponding to the orders coming from different sources. A single tablet may, for example, indicate the source, timing, estimated time of delivery, and new order of preparation of the order based on the timing, source, location, time of preparation, etc. Similarly, for a reservation request, the consensus service 132 creates a single list of reservations and a method of distributing (distributing) the seats and reservations among users and merchants. Additionally, the consensus service may interface with the parties to communicate the progress of the request in real time or near real time.

例えば、取得デバイスは、商人106と注文を行いつつ、1つ以上のAPI114を通じてサービスプロバイダ102を介して商人と通信してもよい。特に、個人(ユーザ104および/または商人106)は、購入のためにオンラインショッピングカートにアイテムを入れ、そのアイテムを配送させることに関心を示すことができる。これに応答して、取得デバイスは、配送、予約、またはコンテンツ管理に関する情報を求める要求を、1つ以上のAPI114を介してサービスプロバイダ102に送信することができる。サービスプロバイダ102は、商人または商人在庫データベース(ローカルまたはリモートで)と通信して、サービスプロバイダ102に関連付けられた配送サービスによるアイテムの配送に関する配送提案を生成し、API呼び出し134を通じて、その配送提案を取得デバイスに送信することができる。取得デバイスは、受諾または拒否のために、アイテム取得インタフェース120(a)を介して配送提案の情報を表示することができる。図1に示すように、アイテムを配送するための推定時間量および配送コストが、取得インタフェース120(a)における122において提示される。個人は、配送提案を受諾し、ボタン124を選択することによって注文を行うことができる。 For example, the acquisition device may communicate with the merchant via the service provider 102 through one or more APIs 114 while placing an order with the merchant 106. In particular, an individual (user 104 and/or merchant 106) may place an item in an online shopping cart for purchase and indicate an interest in having the item delivered. In response, the acquisition device may send a request to the service provider 102 via one or more APIs 114 for information regarding delivery, reservations, or content management. The service provider 102 may communicate with the merchant or a merchant inventory database (locally or remotely) to generate a delivery offer for delivery of the item by a delivery service associated with the service provider 102 and send the delivery offer to the acquisition device via an API call 134. The acquisition device may display the information of the delivery offer via the item acquisition interface 120(a) for acceptance or rejection. As shown in FIG. 1, an estimated amount of time and delivery cost for delivering the item are presented at 122 in the acquisition interface 120(a). The individual may accept the delivery offer and place the order by selecting a button 124.

さらに、取得デバイスは、1つ以上のAPI114を介してサービスプロバイダ102と通信して、別の第三者サービスまたは別のユーザによって注文されたアイテムの配送に関するステータス更新を取得することができる。このような場合、サービスプロバイダ102は、アイテムを配送するために割り当てられた配送人(例えば、第三者サービス108)の位置を監視し、または、配送人に関連付けられた第三者サービスからこのような情報を取得し、アイテムを販売している商人(例えば、商人106)から情報を取得し、および/または、他の情報を取得することができる。サービスプロバイダ102は、アイテムの配送のステータスを判定し、配送のステータスを取得デバイスに送信することができる。配送のステータスは、アイテム取得インタフェース120(b)を介して表示されてもよい。ステータスは、取得デバイスからの要求に応じて(例えば、1つ以上のAPI114を介して送信されるメッセージに応答して)、定期的に、および/または別のイベントの発生に応じて、判定され、および/または取得デバイスに提供され得る。図1に示されるように、アイテム取得インタフェース120(b)は、選択されたときに、割り当てられた第三者サービスデバイスの現在の位置、割り当てられた第三者サービスデバイスによって移動される経路、アイテムをピックアップ又は配送するために割り当てられた第三者サービスデバイスによってさらに取られるのであろう経路等を示す地図を表示するボタン126を含むことができる。 Additionally, the acquisition device may communicate with the service provider 102 via one or more APIs 114 to obtain status updates regarding the delivery of an item ordered by another third party service or another user. In such a case, the service provider 102 may monitor the location of a courier (e.g., third party service 108) assigned to deliver the item or obtain such information from a third party service associated with the courier, obtain information from a merchant (e.g., merchant 106) selling the item, and/or obtain other information. The service provider 102 may determine the status of the delivery of the item and send the status of the delivery to the acquisition device. The status of the delivery may be displayed via the item acquisition interface 120(b). The status may be determined and/or provided to the acquisition device upon request from the acquisition device (e.g., in response to a message sent via one or more APIs 114), periodically, and/or upon the occurrence of another event. As shown in FIG. 1, the item acquisition interface 120(b) may include a button 126 that, when selected, displays a map showing the current location of the assigned third-party service device, the route traveled by the assigned third-party service device, the route that will be further taken by the assigned third-party service device to pick up or deliver the item, etc.

図1の例では、配送サービス情報要求128は、取得デバイスによって1つ以上のAPI114を介してサービスプロバイダ102に送信される通信を表し、一方、配送サービス情報130は、注文がどのように順序付けられるか、同時注文要求がどのように処理されるか、不正要求、配送時間、座席表、および商人が動作をスケジュールして編成するための他の情報、を示すためのコンセンサスコールなどの、サービスプロバイダ102から取得デバイスに送り返される通信を表す。配送サービス情報要求128は、アイテムの配送に関する情報(例えば、コスト見積り、配送時間見積り等)、配送提案の受諾/拒否のインジケーション(指標、表示)、配送ステータスに関する情報の要求等を含むことができる。配送サービス情報130は、配送提案、アイテムの配送ステータスに関する情報などを含むことができる。 In the example of FIG. 1, the delivery service information request 128 represents a communication sent by the acquisition device to the service provider 102 via one or more APIs 114, while the delivery service information 130 represents a communication sent back to the acquisition device from the service provider 102, such as a consensus call to indicate how orders are sequenced, how concurrent order requests are handled, fraudulent requests, delivery times, seating charts, and other information for the merchant to schedule and organize operations. The delivery service information request 128 can include information regarding the delivery of the item (e.g., cost estimate, delivery time estimate, etc.), an indication of acceptance/rejection of the delivery offer, a request for information regarding the delivery status, etc. The delivery service information 130 can include the delivery offer, information regarding the delivery status of the item, etc.

場合によっては、取得デバイスは、サービスプロバイダ116と協働して動作することができる。サービスプロバイダ116、およびコンセンサスサービスなどの関連するアプリケーションは、取得デバイスおよび/またはサービスプロバイダ102から遠隔でおよび/または独立して動作するリソースを提供することができる。一例では、サービスプロバイダ116は、購入、在庫を管理し、および/または他の処理を実行するために、商人106に関連付けられてもよい。サービスプロバイダ116は、オンラインサイトを提供したり、取得デバイス上のローカルアプリケーション(例えば、デスクトップアプリケーション、モバイルアプリケーションなど)と協働して動作したりすることができる。例示すると、サービスプロバイダ116は、顧客(および/またはピザ商人)がピザ商人とピザの注文を行うことができるように、ピザレストランおよび顧客が注文することができるすべての配送サービスのためのオンラインウェブサイトを提供することができる。このように、取得デバイスによってサービスプロバイダ102との間で送信および/または受信される通信は、サービスプロバイダ116を介してルーティングされてもよい。言い換えると、サービスプロバイダ116は、取得デバイスとサービスプロバイダ102との間、および商人と第三者サービスとの間の仲介として動作することができる。この種のアーキテクチャは、当事者に関連するデータのみが明らかにされるように、データが当事者間で選択的に秘密に共有されることを可能にする。サービスプロバイダ116は、1つ以上のAPI114を介してサービスプロバイダ102と通信することができる。これは、サービスプロバイダ102によって提供される配送サービスの、商人106に関連する技術へのシームレスな統合を提供することができる。上記のピザレストランの例に戻ると、ピザレストランのウェブサイトは、1つ以上のAPI114を介してサービスプロバイダ102と通信することによって、サービスプロバイダ102の配送サービスを統合することができる。場合によっては、これは、ピザレストランがそのような配送サービスを使用していることを顧客が知ることなく(例えば、配送が商人106によって提供されているように見えるように)起こり得る。他の例では、配送サービスがサービスプロバイダ102によって提供されていることを示す情報(例えば、ピザがX社によって配送されることを示すポップアップウィンドウ)を顧客に通信することができる。多くの機能がサービスプロバイダ116によって実行されるものとして記述されているが、これらの機能のいずれかは、サービスプロバイダ102によって実行されてもよい。 In some cases, the acquisition device may operate in cooperation with the service provider 116. The service provider 116 and associated applications, such as a consensus service, may provide resources that operate remotely and/or independently from the acquisition device and/or the service provider 102. In one example, the service provider 116 may be associated with the merchant 106 to manage purchases, inventory, and/or perform other processes. The service provider 116 may provide an online site or operate in cooperation with local applications (e.g., desktop applications, mobile applications, etc.) on the acquisition device. By way of example, the service provider 116 may provide an online website for a pizza restaurant and all delivery services that customers can order, so that customers (and/or the pizza merchant) can place pizza orders with the pizza merchant. In this manner, communications sent to and/or received by the acquisition device from the service provider 102 may be routed through the service provider 116. In other words, the service provider 116 may operate as an intermediary between the acquisition device and the service provider 102, and between the merchant and the third-party services. This type of architecture allows data to be selectively shared privately between parties such that only data relevant to the parties is revealed. The service provider 116 can communicate with the service provider 102 via one or more APIs 114. This can provide a seamless integration of the delivery services provided by the service provider 102 into the technology associated with the merchant 106. Returning to the pizza restaurant example above, the pizza restaurant's website can integrate the delivery services of the service provider 102 by communicating with the service provider 102 via one or more APIs 114. In some cases, this can occur without the customer knowing that the pizza restaurant is using such a delivery service (e.g., so that the delivery appears to be provided by the merchant 106). In other examples, information can be communicated to the customer indicating that the delivery service is provided by the service provider 102 (e.g., a pop-up window indicating that the pizza is delivered by Company X). Although many functions are described as being performed by the service provider 116, any of these functions may be performed by the service provider 102.

サービスプロバイダ102は追加的に、または代替的に、第三者サービスを管理するための処理を実行することができる。例えば、サービスプロバイダ102は、第三者サービス108と通信して、第三者サービス108の位置を追跡し、アイテムの配送を要求し、配送に関するステータス情報(例えば、アイテムがピックアップまたはドロップオフされたという第三者サービスからの確認)を受信し、等々することができる。例示的な環境100では、サービスプロバイダ102は、取得デバイスから配送提案または推奨提案の受諾のインジケーション(指標、指示)を受信し、アイテムを配送するために第三者サービスを選択する。サービスプロバイダ102は、複数の第三者サービスの位置を識別し、第三者サービス(この場合、第三者サービス108)を選択して、アイテムを配送位置に移送することができる。次いで、サービスプロバイダ102は、アイテムの配送を要求する第三者サービス108に配送要求134を送信することができ、その返答として、第三者サービス108は、配送要求の受諾または拒否のインジケーション(指標、表示)を送信することができる。 The service provider 102 may additionally or alternatively perform processes to manage the third-party service. For example, the service provider 102 may communicate with the third-party service 108 to track the location of the third-party service 108, request delivery of the item, receive status information regarding the delivery (e.g., confirmation from the third-party service that the item has been picked up or dropped off), and so on. In the exemplary environment 100, the service provider 102 may receive an indication of acceptance of the delivery offer or recommendation offer from the acquisition device and select a third-party service to deliver the item. The service provider 102 may identify the locations of multiple third-party services and select a third-party service (in this case, the third-party service 108) to transport the item to the delivery location. The service provider 102 may then send a delivery request 134 to the third-party service 108 requesting delivery of the item, and in return, the third-party service 108 may send an indication of acceptance or rejection of the delivery request.

場合によっては、サービスプロバイダ102は、環境100内の任意の当事者に支払いを行わせることができる。例えば、サービスプロバイダ102は、ユーザ104に関連付けられた口座からの資金を、アイテムに対する支払いとして商人106に関連付けられた口座に転送させることができる。さらに、資金は、サービスプロバイダ102、商人106、および/またはユーザ104に関連付けられた口座から、アイテムを配送するための第三者サービス108に関連付けられた口座に転送され得る。取引を容易にするために、サービスプロバイダ102への支払いをさらに行うことができる。 In some cases, the service provider 102 may cause a payment to be made to any party within the environment 100. For example, the service provider 102 may cause funds from an account associated with the user 104 to be transferred to an account associated with the merchant 106 as payment for an item. Additionally, funds may be transferred from accounts associated with the service provider 102, the merchant 106, and/or the user 104 to an account associated with a third-party service 108 for delivery of the item. Payment may further be made to the service provider 102 to facilitate the transaction.

上述のように、サービスプロバイダ102は、取引を電子的に行うために、1つ以上のカード支払ネットワークコンピューティングデバイス110と通信することができる。1つ以上のカード支払ネットワークコンピューティングデバイス110は、カード支払ネットワーク(例えば、MasterCard(登録商標)、VISA(登録商標)など)に関連付けることができる。サービスプロバイダ102はまた、1つ以上の銀行の1つ以上の銀行コンピューティングデバイス112と通信することができる。例えば、サービスプロバイダ102は、加盟店銀行(acquiring bank)、カード発行銀行(issuing bank)、および/または電子支払いのためのユーザ口座を維持する銀行と通信することができる。 As described above, the service provider 102 can communicate with one or more card payment network computing devices 110 to conduct transactions electronically. The one or more card payment network computing devices 110 can be associated with a card payment network (e.g., MasterCard®, VISA®, etc.). The service provider 102 can also communicate with one or more bank computing devices 112 of one or more banks. For example, the service provider 102 can communicate with an acquiring bank, a card issuing bank, and/or a bank that maintains a user account for electronic payments.

加盟店銀行は、カード協会の登録された会員(例えば、Visa(登録商標)、MasterCard(登録商標)など)であってもよく、カード支払ネットワークの一部であってもよい。カード発行銀行は、ユーザに支払カードを発行することができ、カード発行銀行が支払カードを発行したカード所有者によって行われた購入に対して、加盟店銀行に支払いを行うことができる。したがって、いくつかの例では、加盟店銀行のコンピューティングデバイスは、カード支払ネットワークに含まれてもよく、支払いを得るためにカード発行銀行のコンピューティングデバイスと通信してもよい。さらに、いくつかの例では、ユーザは、クレジットカードの代わりにデビットカードを使用することができ、その場合、デビットカードに対応する銀行の銀行コンピューティングデバイスは、ユーザが参加している取引に関する通信を受信することができる。さらに、いくつかのタイプの取引または代替システムアーキテクチャに関与する他の金融機関のコンピューティングデバイスが存在してもよく、したがって、上記は、議論の目的のためのいくつかの例にすぎない。 The acquiring bank may be a registered member of a card association (e.g., Visa®, MasterCard®, etc.) and may be part of a card payment network. The card issuing bank may issue a payment card to a user and may make payments to the acquiring bank for purchases made by the cardholder to whom the card issuing bank issued the payment card. Thus, in some examples, the computing device of the acquiring bank may be included in the card payment network and may communicate with the computing device of the card issuing bank to obtain payment. Additionally, in some examples, the user may use a debit card instead of a credit card, in which case the bank computing device of the bank corresponding to the debit card may receive communications regarding transactions in which the user is participating. Additionally, there may be computing devices of other financial institutions involved in several types of transactions or alternative system architectures, and thus the above are merely some examples for purposes of discussion.

1つ以上のカード支払ネットワークコンピューティングデバイス110および/または1つ以上の銀行コンピューティングデバイス112は、サーバ、ラップトップコンピュータ、デスクトップコンピュータなどの1つ以上のコンピューティングデバイスとして実装されてもよい。1つ以上のコンピューティングデバイスは、クラスタ、ファーム、データセンタ、クラウドコンピューティング環境、またはそれらの組合せで構成することができる。一例では、1つ以上のコンピューティングデバイスは、計算リソース、記憶リソースなどを含むクラウドコンピューティングリソースを提供する。 The one or more card payment network computing devices 110 and/or the one or more bank computing devices 112 may be implemented as one or more computing devices, such as a server, a laptop computer, a desktop computer, etc. The one or more computing devices may be configured in a cluster, a farm, a data center, a cloud computing environment, or combinations thereof. In one example, the one or more computing devices provide cloud computing resources including computational resources, storage resources, etc.

上述したように、アーキテクチャ100のコンピューティングデバイスは、1つ以上のネットワーク118を介して通信してもよい。1つ以上のネットワーク118は、ローカルエリアネットワークまたはインターネットなどのワイドエリアネットワークなどの任意のタイプのネットワークとすることができ、セルラネットワークなどのワイヤレスネットワーク、Wi-Fiなどのローカルワイヤレスネットワーク、および/またはBluetooth(登録商標)およびBluetooth(登録商標)ローエナジーなどの近距離無線通信、有線ネットワーク、または任意の他のそのようなネットワーク、またはそれらの任意の組合せを含むことができる。したがって、1つ以上のネットワーク118は、有線または光ファイバ技術だけでなく、Bluetooth(登録商標)、Bluetooth(登録商標)ローエナジー、Wi-Fi、およびセルラ通信技術を含む、有線および/または無線通信技術の両方を含むことができる。そのような通信に使用される構成要素は、ネットワークのタイプ、選択された環境、またはその両方に少なくとも部分的に依存することができる。その結果、アーキテクチャ100の1つ以上のコンピューティングデバイスは、有線または無線接続などの任意の方法で、1つ以上のネットワーク118に通信可能に接続することができる。 As described above, the computing devices of the architecture 100 may communicate via one or more networks 118. The one or more networks 118 may be any type of network, such as a local area network or a wide area network such as the Internet, and may include a wireless network, such as a cellular network, a local wireless network, such as Wi-Fi, and/or a short-range wireless communication, such as Bluetooth® and Bluetooth® Low Energy, a wired network, or any other such network, or any combination thereof. Thus, the one or more networks 118 may include both wired and/or wireless communication technologies, including Bluetooth®, Bluetooth® Low Energy, Wi-Fi, and cellular communication technologies, as well as wired or optical fiber technologies. The components used for such communication may depend, at least in part, on the type of network, the selected environment, or both. As a result, the one or more computing devices of the architecture 100 may be communicatively connected to the one or more networks 118 in any manner, such as a wired or wireless connection.

本明細書で説明される技術は、様々なコンテキストで、および/または様々な方式で実装され得る。一例として、本技術は、商人対面コンポーネント(例えば、商人用に設計されたアプリケーション、オンラインサイト、インタフェースなど)を用いて実装され得る。この例では、商人106が顧客のために注文することができる。具体的には、顧客は、商人106の施設に入り、商人106と電話し、商人106に通知(例えば、電子メール、テキストメッセージ、ソーシャルメディアポストなど)を送信し、またはそうでなければ商人106と通信することができる。商人106は、商人対面コンポーネント(例えば、商人が使用するように設計されたアイテム取得インタフェース120)と対話して、顧客によって識別されたアイテムを選択し、かつ/または顧客によって提供された他の情報(例えば、配送先住所など)を入力することができる。配送提案がサービスプロバイダ102から受信されると、商人106は、配送提案の情報を顧客に通信することができる(例えば、配送コストを伴う画面を表示する、アイテム取得インタフェース120から顧客への配送コストを読み取る、通知を送信するなど)。あるいは、商人106は、配送提案の情報を顧客に提供することを控えることができる。例えば、商人106は、顧客に無料で配送を提供すること、注文の総コストに配送コストを含めること(例えば、項目別にすることなく)などを決定することができる。いずれにしても、商人106は、顧客からの通信に基づいて、配送提案を受諾または拒否し、かつ/またはアイテムを注文することができる。 The techniques described herein may be implemented in a variety of contexts and/or in a variety of manners. As an example, the techniques may be implemented with a merchant-facing component (e.g., an application, online site, interface, etc. designed for a merchant). In this example, a merchant 106 may place an order for a customer. Specifically, the customer may enter the merchant's 106 premises, call the merchant 106, send a notice (e.g., email, text message, social media post, etc.) to the merchant 106, or otherwise communicate with the merchant 106. The merchant 106 may interact with a merchant-facing component (e.g., an item acquisition interface 120 designed for use by the merchant) to select an item identified by the customer and/or enter other information provided by the customer (e.g., a shipping address, etc.). Once a shipping proposal is received from the service provider 102, the merchant 106 may communicate the shipping proposal information to the customer (e.g., display a screen with shipping costs, read the shipping costs to the customer from the item acquisition interface 120, send a notification, etc.). Alternatively, the merchant 106 may refrain from providing the shipping offer information to the customer. For example, the merchant 106 may decide to offer free shipping to the customer, include the shipping cost in the total cost of the order (e.g., without itemizing), etc. In any case, the merchant 106 may accept or reject the shipping offer and/or order the item based on the communication from the customer.

別の例として、本技術は、顧客対面コンポーネント(例えば、顧客用に設計されたアプリケーション、オンラインサイト、インタフェースなど)を用いて実装され得る。この例では、顧客が商人106に直接注文することができる。具体的には、顧客は、商人106に関連付けられたオンラインサイトに移動し、商人106に関連付けられたアプリケーション(例えば、デスクトップアプリケーション、モバイルアプリケーションなど)を開いて、商人106に注文を行うことができる。いくつかの例では、顧客は、処理中に配送情報(例えば、配送コスト、配送のための推定時間量など)を見ることができ、一方、他の例では、情報は、顧客に示されないか、または他の情報(例えば、注文の総コスト)内に含まれないことがある。さらに、顧客は、顧客対面コンポーネントを介して配送のステータス更新を見ることができる。 As another example, the techniques may be implemented with a customer-facing component (e.g., an application, online site, interface, etc. designed for a customer). In this example, a customer may place an order directly with a merchant 106. Specifically, the customer may navigate to an online site associated with the merchant 106, open an application associated with the merchant 106 (e.g., a desktop application, a mobile application, etc.) and place an order with the merchant 106. In some examples, the customer may view shipping information (e.g., shipping cost, estimated amount of time for delivery, etc.) during the process, while in other examples, the information may not be shown to the customer or included within other information (e.g., the total cost of the order). Additionally, the customer may view status updates of the delivery via the customer-facing component.

さらに別の例として、本技術は、ユーザ入力なしに自動的に実施されてもよい。この例では、情報は、表示されないか、そうでなければ個人に伝達されない。例えば、1つ以上の基準を満たした場合に配送提案が自動的に受諾/拒否されるように、配送提案の受諾/拒否のための1つ以上の基準を設定することができる。例示すると、配送提案は、配送コストが閾値コストを下回る(または上回る)場合、配送の推定時間量が閾値時間量を下回る(または上回る)場合、配送の推定ピックアップ時間が特定の時間の前(または後)である場合、配送の推定ドロップオフ時間が特定の時間の前(または後)である場合などに、受諾(または拒否)されてもよい。このように、場合によっては、配送に関する情報は、アイテム取得インタフェース120を介して表示されないことがある。 As yet another example, the technique may be performed automatically without user input. In this example, no information is displayed or otherwise communicated to the individual. For example, one or more criteria for accepting/rejecting a delivery offer may be set such that the delivery offer is automatically accepted/rejected if one or more criteria are met. By way of example, a delivery offer may be accepted (or rejected) if the cost of the delivery is below (or above) a threshold cost, if the estimated amount of time for the delivery is below (or above) a threshold amount of time, if the estimated pick-up time for the delivery is before (or after) a particular time, if the estimated drop-off time for the delivery is before (or after) a particular time, etc. Thus, in some cases, information regarding the delivery may not be displayed via the item acquisition interface 120.

同様に、予約の場合、予約要求は、API呼び出しを介して、商人デバイスを介して商人によって、顧客デバイスを介して顧客によって、商人または顧客によって行われた設定を通じて第三者デバイスによって、または、商人と顧客との間の取引の機械学習に基づいてコンセンサスサービスを通じて自動的に、開始されてもよい。コンテンツの集約および分析のために、カスタマイズされたメニューを押すこと、または異なるサービスにわたってメニューを調和させることなどのコンテンツ調和要求、API呼出しを介したコンテンツ要求は、商人デバイスを通じて商人によって、顧客デバイスを通じて顧客によって、商人または顧客によって行われた設定を通じて第三者デバイスによって、または、商人と顧客との間の取引の機械学習に基づいてコンセンサスサービスを通じて自動的に、開始されてもよい。 Similarly, for reservations, reservation requests may be initiated by the merchant via a merchant device, by the customer via a customer device, by a third party device through settings made by the merchant or customer, or automatically through a consensus service based on machine learning of transactions between the merchant and customer. For content aggregation and analysis, content requests such as pushing a customized menu or reconciling menus across different services, content requests via API calls may be initiated by the merchant via a merchant device, by the customer via a customer device, by a third party device through settings made by the merchant or customer, or automatically through a consensus service based on machine learning of transactions between the merchant and customer.

図2は、図1のサービスプロバイダ102(または場合によってはサービスプロバイダ116)の例示的な詳細を示す。サービスプロバイダ102は、サーバ、ラップトップコンピュータ、デスクトップコンピュータなどの1つ以上のコンピューティングデバイスとして実装することができる。1つ以上のコンピューティングデバイスは、クラスタ、ファーム、データセンタ、クラウドコンピューティング環境、またはそれらの組合せで構成することができる。一例では、1つ以上のコンピューティングデバイスは、計算リソース、記憶リソースなどを含むクラウドコンピューティングリソースを提供する。サービスプロバイダ102の1つ以上のコンピューティングデバイスは、1つ以上のプロセッサ202、メモリ204、および1つ以上のネットワークインタフェース206を含んでもよい。1つ以上のプロセッサ202は、中央演算処理装置(CPU)、グラフィックス処理装置(GPU)、マイクロプロセッサ、デジタル信号プロセッサなどを含むことができる。 2 illustrates exemplary details of the service provider 102 (or possibly the service provider 116) of FIG. 1. The service provider 102 may be implemented as one or more computing devices, such as a server, a laptop computer, a desktop computer, etc. The one or more computing devices may be configured in a cluster, a farm, a data center, a cloud computing environment, or combinations thereof. In one example, the one or more computing devices provide cloud computing resources, including computational resources, storage resources, etc. The one or more computing devices of the service provider 102 may include one or more processors 202, memory 204, and one or more network interfaces 206. The one or more processors 202 may include a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor, a digital signal processor, etc.

メモリ204は、1つ以上の「モジュール」として構成されたソフトウェア機能を含むことができる。用語「モジュール」は、議論のためにソフトウェアの例示的な分割を表すことを意図しており、任意のタイプの要件または必要な方法、やり方、または必要な編成を表すことを意図していない。したがって、様々な「モジュール」または構成要素が議論されているが、それらの機能および/または同様の機能は異なるように配置することができる(たとえば、より少ない数のモジュールに組み合わされ、より多くのモジュールに分割されるなど)。さらに、特定の機能はここではプロセッサによって実行されるように構成されたソフトウェアモジュールとして実装されるものとして説明されるが、他の実施形態では、機能のいずれかまたはすべてが、ハードウェア論理コンポーネントによって全体的または部分的に実装されてもよい(例えば、実行されてもよい)。例えば、限定はしないが、使用することができる例示的なタイプのハードウェア論理構成要素には、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、プログラム固有標準製品(ASSP)、システムオンチップシステム(SOC)、複合プログラマブル論理デバイス(CPLD)などが含まれる。図示のように、メモリ204は、コンセンサスサービス207、推奨モジュール208、コンテンツ集約モジュール210、第三者サービスモジュール212、及び支払取引モジュール214を含むことができる。 The memory 204 may include software functions organized as one or more "modules." The term "module" is intended to represent an exemplary division of software for discussion purposes, and is not intended to represent any type of requirement or required method, manner, or organization. Thus, while various "modules" or components are discussed, their functions and/or similar functions may be arranged differently (e.g., combined into fewer modules, divided into more modules, etc.). Furthermore, while certain functions are described herein as being implemented as software modules configured to be executed by a processor, in other embodiments, any or all of the functions may be implemented in whole or in part (e.g., performed) by hardware logic components. For example, but not limited to, exemplary types of hardware logic components that may be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), program specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like. As shown, the memory 204 can include a consensus service 207, a recommendation module 208, a content aggregation module 210, a third party service module 212, and a payment transaction module 214.

コンセンサスサービス207は、APIエンドポイントを介して、第三者サービス、および商人および/またはユーザデバイス上で実行される他のアプリケーションとインタフェースすることができる。コンセンサスサービス207は、第三者サービスおよび商人に関連するデータベースとインタフェースするように構成することもできる。一実装形態では、コンセンサスサービス207は、プッシュ機構/プル機構/またはプッシュプル機構を介して、第三者サービス108および/または商人もしくはユーザデバイスから情報を受信し、インテリジェントな方法で要求をスケジュールし、様々なルールおよびフィルタを異なるソースから入ってくる要求に適用することによって、統合された方法で商人に注文を表示する。コンセンサスサービスは、ヒューリスティック(発見的)モデルまたは機械学習モデルに基づいて、特定の第三者サービスに要求を委任することもできる。 The consensus service 207 can interface with third party services and other applications running on merchants and/or user devices via API endpoints. The consensus service 207 can also be configured to interface with databases associated with third party services and merchants. In one implementation, the consensus service 207 receives information from third party services 108 and/or merchants or user devices via push/pull/or push-pull mechanisms, schedules requests in an intelligent manner, and displays orders to merchants in an integrated manner by applying various rules and filters to requests coming from different sources. The consensus service can also delegate requests to specific third party services based on heuristic or machine learning models.

推奨モジュール208は、サービスプロバイダ102に関連付けられた配送サービスによるアイテムの配送に関する配送提案などの提案を生成するための処理を実行することができる。別の種類の提案は、レストランでのユーザの予約に関する予約を示す予約提案、またはいくつかのユーザ予約要求に関連する座席表であってもよい。さらに別の種類の提案は、例えば、商人のキッチンディスプレイシステムからトリガされて、第三者サービスにプッシュするメニュー更新であってもよい。この場合、情報130は、商人デバイスから第三者サービスに流れ、例えばユーザデバイス104上で実行される。多くの場合、サービスプロバイダ102は、1つ以上のアプリケーションプログラミングインタフェース(API)216を介して配送提案の要求を受信し、それに応答して、配送提案を生成し、その配送提案を要求エンティティに送信することができる。配送提案の要求に含まれる情報については、図3を参照して以下でさらに詳細に説明する。推奨モジュール208は、配送提案の要求に含まれる情報、商人の現在または過去の注文の状況、準備時間、および第三者サービス情報データストア218または他の場所に格納された第三者サービスに関する情報(例えば、第三者サービスの現在位置、第三者サービスプロファイル情報、処理された注文に関連する第三者データ、注文タイミング、注文ラグなど)、商人データストア220または他の場所に格納された商人に関する情報(例えば、商人の現在位置、商人プロファイル情報など)、ユーザに関する情報(例えば、ユーザの現在位置、ユーザプロファイルなど)などに基づいて、配送提案を生成することができる。 The recommendation module 208 can perform processing to generate suggestions, such as delivery suggestions for delivery of an item by a delivery service associated with the service provider 102. Another type of suggestion may be a reservation suggestion indicating a reservation for a user's reservation at a restaurant, or a seating plan associated with some user reservation request. Yet another type of suggestion may be, for example, a menu update triggered from a merchant's kitchen display system and pushed to a third party service. In this case, the information 130 flows from the merchant device to the third party service, e.g., executed on the user device 104. In many cases, the service provider 102 can receive a request for a delivery suggestion via one or more application programming interfaces (APIs) 216 and, in response, generate a delivery suggestion and send the delivery suggestion to the requesting entity. The information included in a request for a delivery suggestion is described in more detail below with reference to FIG. 3. The recommendation module 208 may generate delivery suggestions based on information included in the request for delivery suggestions, the merchant's current or past order status, preparation times, and information about the third party service stored in the third party service information data store 218 or elsewhere (e.g., the third party service's current location, third party service profile information, third party data related to processed orders, order timing, order lag, etc.), information about the merchant stored in the merchant data store 220 or elsewhere (e.g., the merchant's current location, merchant profile information, etc.), information about the user (e.g., the user's current location, user profile, etc.), etc.

第三者サービスプロファイル情報には、(i)第三者サービスが配送を行うための平均時間(例えば、マイル当たりの平均時間、全平均移動時間等)を示す第三者サービスの配送履歴情報、(ii)第三者サービスが配送ピックアップおよび/またはドロップオフについて時間通りであるか否かを示す情報、(iii)第三者サービスがアイテムを移送するために使用する車両または車両の種類を示す車両情報(例えば、バイク、自動車、バン、トラック等)、(iv)第三者サービスが一般的にどこに位置するかを示す履歴位置情報(例えば、ホームの住所、第三者サービスが特定の時間以上位置する施設等)等が含まれる。 Third-party service profile information may include (i) delivery history information of the third-party service indicating the average time it takes the third-party service to make a delivery (e.g., average time per mile, overall average travel time, etc.); (ii) information indicating whether the third-party service is on time for delivery pickup and/or drop-off; (iii) vehicle information indicating the vehicle or type of vehicle used by the third-party service to transport items (e.g., motorcycle, car, van, truck, etc.); and (iv) historical location information indicating where the third-party service is generally located (e.g., home address, facilities where the third-party service is located for a particular period of time, etc.).

商人プロファイル情報には、(i)ピックアップのためのアイテムまたはアイテムの種類を準備する(例えば、アイテムを調理する、アイテムを製造する等)ための時間量(例えば、正確、平均、推定等)を示すアイテム準備情報、(ii)商人が取得のために提供するアイテムに関するアイテム情報(例えば、アイテム識別子、アイテムコスト/重量/体積/サイズ/カテゴリに関する情報等)、(iii)アイテムを移送するために商人が使用するパッケージに関する情報(例えば、配送ボックスのサイズ、形状、重量、体積等)等が含まれる。 Merchant profile information includes (i) item preparation information indicating the amount of time (e.g., exact, average, estimated, etc.) to prepare an item or type of item for pickup (e.g., cook the item, manufacture the item, etc.), (ii) item information regarding the item the merchant offers for acquisition (e.g., item identifier, information regarding item cost/weight/volume/size/category, etc.), (iii) information regarding the packaging the merchant uses to transport the item (e.g., shipping box size, shape, weight, volume, etc.), etc.

配送提案の一部であってもよい例示的な情報は以下を含む:
●アイテムの配送コスト-アイテムを配送するためにサービスプロバイダ102の配送サービスを使用するための価格(例えば、レストランから食べ物をピックアップし、それを顧客の位置に配送するための第三者サービスに対する6ドルの料金)。配送コストは、アイテムの特性、例えば、アイテムのサイズ、形状、重量、体積、タイプ等(例えば、より大きい又はより重いアイテムはより多くのコストがかかり得る、奇妙な形状のアイテム(所定の形状を有するアイテム)はより多くのコストがかかり得る、脆弱な(壊れやすい)アイテムは非脆弱なアイテムよりもコストがかかり得る)、第三者サービスに関する情報(例えば、コストは第三者サービスからピックアップ位置までの距離で増加し得る、利用可能な第三者サービスの数が減少することにつれてコストが増加し得る)、商人によるアイテムの準備時間に関する情報(例えば、準備時間が減少(又は増加)するにつれてコストが増加(又は減少)し得る)、ピックアップの位置(例えば、特定のポイントからピックアップ位置までの距離が増加するにつれてコストが増加し得る)、ドロップオフの位置(例えば、コストは特定のポイントからドロップオフ位置までの距離が増加するにつれて増加し得る)、時刻(例えば、コストは、夕方などのピーク配送時間中は増加し得る)などの要因に基づいて変化し得る。
●アイテムの配送のための時間量(例えば、推定時間量-配送には20~30分を要する)。時間量は一般に、第三者サービスがアイテムを取得してそのアイテムをドロップオフ位置に移送する時間であってもよい。しかしながら、いくつかの例では、時間量は、商人によってアイテムを準備する時間を含むことができる(例えば、時間量は、アイテムを注文してからそれが顧客の位置に到着するまでの合計時間を含むことができる)。配送のための時間量は、アイテムの特性、例えば、アイテムのサイズ、形状、重量、体積、タイプ等(例えば、より大きい又はより重いアイテムは配送するためにより多くの時間を要し得る、奇抜な形状のアイテム(所定の形状を有するアイテムは配送するためにより多くの時間を要し得る、脆弱な(壊れやすい)アイテムは非脆弱なアイテムよりも多くの時間を要し得る)、第三者サービスに関する情報(例えば、第三者サービスからピックアップ位置までの距離が増加するにつれて配送のための時間量が増加し得る、利用可能な第三者サービスの数が減少するにつれて配送のための時間量が増加し得る、等)、時刻(例えば、ラッシュアワーの間のようなピーク移動時間の間に時間量が増加し得る)などの要因に基づいて変化し得る。
●アイテムの配送のためのピックアップ時間(例えば、第三者サービスがアイテムをピックアップする推定日時、週、月、年等)。ピックアップ時間は、アイテムが顧客への配送のために商人の位置からピックアップされるときであってもよい。場合によっては、ピックアップ時間は、時間ウィンドウ(例えば、2~2:30PM)である。さらに、場合によっては、配送提案は、第三者サービスがアイテムをピックアップする最新の時間に関する期限を含むことができる。ピックアップ時間は、第三者サービスに関する情報(例えば、ピックアップ時間は、第三者サービスからピックアップ位置までの距離が増加するにつれてより遠くに移動することができ、ピックアップ時間は、利用可能な第三者サービスの数が減少するにつれてより遠くに移動するなど)、時刻(例えば、ピックアップ時間は、ラッシュアワーなどのピーク配送時間中により遠くに移動するなど)などの要因に基づいて変化し得る。
●アイテムの配送のためのドロップオフ時間(例えば、第三者サービスがアイテムをドロップオフする推定日時、週、月、年等)。ドロップオフ時間は、アイテムが顧客の位置でドロップオフされるときであってもよい。場合によっては、ドロップオフ時間は、時間ウィンドウ(例えば、3~4PM)である。ドロップオフ時間は、アイテムの特性、例えば、アイテムのサイズ、形状、重量、体積、タイプなど(例えば、より大きいまたはより重いアイテムは配送により多くの時間を要し得る、奇抜な形状のアイテム(所定の形状を有するアイテム)は配送により多くの時間を要し得る、脆弱な(壊れやすい)アイテムは非脆弱なアイテムより多くの時間を要し得る)、第三者サービスに関する情報(例えば、ドロップオフ時間は、第三者サービスからピックアップ位置までの距離が増加するにつれて、より遠くに移動し得る、ドロップオフ時間は、利用可能な第三者サービスの数が減少するにつれて、より遠くに移動し得る)、時刻(例えば、ドロップオフ時間は、ラッシュアワー中などのピーク配送時間中により遠くに移動する)などの要因に基づいて変化し得る。
●配送提案が期限切れとなる時期。場合によっては、配送提案は、特定の時間(例えば、時刻、曜日、月、年など)までに受諾されない場合、期限切れになることがある。したがって、配送提案は、期限切れの時間(例えば、明日の午後2時、配送提案の受信から2時間など)に関連付けられてもよい。
●例えば、注文が行われた第三者サービスが配送人または他の技術的困難性のために不可能である場合に、発注を提供することができる第三者サービス。
●キッチンディスプレイシステムのためのアイテムのシーケンス。アイテムは、異なるソースからの注文のために単一のタブレットを商人が保持できるようにするために、注文IDまたはアイテム準備時間のいずれかによって配列される。
●キッチンディスプレイシステムが、注文の更新を第三者サービスに示すための準備タイムラインまたは配送タイムライン。
Exemplary information that may be part of the shipping offer includes:
● Delivery cost of the item - the price for using the delivery service of the service provider 102 to deliver the item (e.g., a $6 fee for a third party service to pick up food from a restaurant and deliver it to a customer's location). The delivery cost may vary based on factors such as the characteristics of the item, e.g., the size, shape, weight, volume, type, etc. of the item (e.g., larger or heavier items may cost more, oddly shaped items (items having a predetermined shape) may cost more, fragile (breakable) items may cost more than non-fragile items), information about the third party service (e.g., cost may increase with distance from the third party service to the pick-up location, cost may increase as the number of available third party services decreases), information about the preparation time of the item by the merchant (e.g., cost may increase (or decrease) as preparation time decreases (or increases)), location of pick-up (e.g., cost may increase as the distance from a particular point to the pick-up location increases), location of drop-off (e.g., cost may increase as the distance from a particular point to the drop-off location increases), time of day (e.g., cost may increase during peak delivery times such as the evening).
● The amount of time for delivery of the item (e.g., an estimated amount of time - delivery takes 20-30 minutes). The amount of time may generally be the time for the third party service to obtain the item and transport the item to a drop-off location. However, in some examples, the amount of time may include the time for the item to be prepared by the merchant (e.g., the amount of time may include the total time from ordering the item to it arriving at the customer's location). The amount of time for delivery may vary based on factors such as the characteristics of the item, e.g., the size, shape, weight, volume, type, etc. of the item (e.g., larger or heavier items may take more time to deliver, oddly shaped items (items having a certain shape may take more time to deliver, fragile (fragile) items may take more time than non-fragile items), information about the third party service (e.g., the amount of time for delivery may increase as the distance from the third party service to the pick-up location increases, the amount of time for delivery may increase as the number of available third party services decreases, etc.), time of day (e.g., the amount of time may increase during peak travel times such as during rush hour).
● A pick-up time for delivery of the item (e.g., an estimated date, time, week, month, year, etc. that the third party service will pick up the item). The pick-up time may be when the item is picked up from the merchant's location for delivery to the customer. In some cases, the pick-up time is a time window (e.g., 2-2:30 PM). Additionally, in some cases, the delivery offer may include a deadline as to the latest time the third party service will pick up the item. The pick-up time may vary based on factors such as information about the third party service (e.g., the pick-up time may move further away as the distance from the third party service to the pick-up location increases, the pick-up time moves further away as the number of available third party services decreases, etc.), the time of day (e.g., the pick-up time moves further away during peak delivery times such as rush hour, etc.).
● A drop-off time for delivery of the item (e.g., an estimated date, week, month, year, etc. that the third party service will drop off the item). The drop-off time may be when the item is dropped off at the customer's location. In some cases, the drop-off time is a time window (e.g., 3-4 PM). The drop-off time may vary based on factors such as the characteristics of the item, e.g., the size, shape, weight, volume, type of item, etc. (e.g., larger or heavier items may take more time to deliver, oddly shaped items (items having a certain shape) may take more time to deliver, fragile (fragile) items may take more time than non-fragile items), information about the third party service (e.g., the drop-off time may move further away as the distance from the third party service to the pickup location increases, the drop-off time may move further away as the number of available third party services decreases), time of day (e.g., the drop-off time moves further away during peak delivery times, such as during rush hour).
When a shipping offer expires: In some cases, a shipping offer may expire if it is not accepted by a particular time (e.g., time of day, day of the week, month, year, etc.). Thus, a shipping offer may be associated with an expiration time (e.g., tomorrow at 2pm, 2 hours from receipt of the shipping offer, etc.).
• Third party services that can fulfil your order if, for example, the third party service through which the order is placed is not possible due to delivery personnel or other technical difficulties.
- Sequencing of items for kitchen display systems. Items are sequenced either by order ID or item preparation time to allow a merchant to maintain a single tablet for orders from different sources.
● Preparation or delivery timelines for the kitchen display system to show order updates to third party services.

コンテンツ集約モジュール210は、メニュー更新、配送の進行に関する配送情報、予約リストなど、集約されたデータに基づいて分析情報を提供することができる。例えば、コンテンツ集約モジュール210は、1つ以上のAPI216を介して、配送ステータス更新の要求を受信し、その応答として、配送ステータスに関する情報を生成し、その情報を要求エンティティに送信することができる。他の例では、配送のステータスに関するそのような情報は、自動的に、および/または別のイベントの発生時に生成され、送信され得る。コンテンツ集約モジュール210は、第三者サービスの位置、商人の位置におけるアイテムのピックアップの確認および/または顧客の位置におけるドロップオフに関する第三者サービスからのインジケーション(指標、指示)、ピックアップの確認を示す商人からの通信、アイテムを準備するステータスに関する商人からの通信(例えば、料理を調理するために残された時間量)など、様々な情報に基づいて配送のステータスに関する情報を生成することができる。したがって、コンテンツ集約モジュール210は、配送人に関する位置情報を受信するために、第三者サービスモジュール212と通信してもよい。 The content aggregation module 210 can provide analytical information based on aggregated data, such as menu updates, delivery information regarding the progress of a delivery, and reservation lists. For example, the content aggregation module 210 can receive a request for a delivery status update via one or more APIs 216 and, in response, generate information regarding the delivery status and transmit the information to the requesting entity. In other examples, such information regarding the status of a delivery can be generated and transmitted automatically and/or upon the occurrence of another event. The content aggregation module 210 can generate information regarding the status of a delivery based on various information, such as the location of the third party service, an indication from the third party service regarding confirmation of pick-up of the item at the merchant's location and/or drop-off at the customer's location, a communication from the merchant indicating confirmation of pick-up, a communication from the merchant regarding the status of preparing the item (e.g., the amount of time left to cook a dish), and the like. Thus, the content aggregation module 210 may communicate with the third party service module 212 to receive location information regarding the delivery person.

第三者サービスモジュール212は、第三者サービスを管理することができる。例えば、第三者サービスモジュール212は(配送前、配送中、および/または配送後の)第三者サービスに関連付けられた配送人の位置を追跡し、配送のために第三者サービスを選択し、配送を容易にするために第三者サービスと通信し、配送ステータスに関する更新を提供し、様々な時刻および/または曜日の様々な配送位置への第三者サービスの移動時間を予測することなどができる。そうするために、第三者サービスモジュール212は、配送提案の要求に含まれる情報、配送ステータス更新の要求に含まれる情報、第三者サービス情報データストア218または他の場所に格納された第三者サービスに関する情報(例えば、第三者サービスの現在位置、第三者サービスプロファイル情報など)、商人データストア220または他の場所に格納された商人に関する情報(例えば、商人の現在位置、商人プロファイル情報など)、買い手に関する情報(例えば、買い手の現在位置、ユーザプロファイルなど)などの様々な情報を分析することができる。いくつかの例では、第三者サービスモジュール212は、アクティブ化、移動、ポジショニング、および/または非アクティブ化を通じて、たとえばAPIを通じて、第三者サービスを管理することができる。 The third party service module 212 can manage third party services. For example, the third party service module 212 can track the location of a courier associated with the third party service (before, during, and/or after delivery), select a third party service for delivery, communicate with the third party service to facilitate delivery, provide updates on delivery status, predict travel times for the third party service to various delivery locations at various times and/or days of the week, etc. To do so, the third party service module 212 can analyze various information, such as information included in a request for a delivery offer, information included in a request for a delivery status update, information about the third party service stored in the third party service information data store 218 or elsewhere (e.g., the third party service's current location, third party service profile information, etc.), information about the merchant stored in the merchant data store 220 or elsewhere (e.g., the merchant's current location, merchant profile information, etc.), information about the buyer (e.g., the buyer's current location, user profile, etc.), etc. In some examples, the third party service module 212 can manage the third party services through activation, movement, positioning, and/or deactivation, for example, through an API.

一例として、第三者サービスモジュール212は、第三者サービスを選択して、その配送人がアイテムを商人から買い手に移送するのを容易にすることができる。場合によっては、第三者サービスは、1つ以上のAPI216を介して配送提案の受諾を受信することに応答して選択される。他の例では、配送は他のイベントの発生に応じてアレンジされる。第三者サービスモジュール212は、商人の位置に対する第三者サービスの位置(例えば、ピックアップ位置に最も近い第三者サービスを選択する)、第三者サービスの利用可能性(例えば、利用可能な第三者サービスを選択する)、アイテムを移送するために第三者サービスによって使用される車両のタイプ(例えば、配送されるそのタイプのアイテムを移送することができる第三者サービスを選択する)、配送されるアイテムに関する情報(例えば、サイズ、形状、体積、タイプなど)などのような、第三者サービスを選択するために様々な情報を使用することができる。次いで、第三者サービスモジュール212は、選択された第三者サービスと通信して、配送を手配(アレンジ)することができる。サービスプロバイダ102は、移送するアイテムの数、商人(または複数のアイテムが配送される場合には複数の商人)の位置、要求されたピックアップ時間および/またはドロップオフ時間などに関する情報を提供することができる。配送のために複数の移動が必要であると判定された場合(例えば、配送されるアイテムの数、配送されるアイテムのサイズ、第三者サービスの移送能力(キャパシティ)などに起因して)、第三者サービスモジュール212は、第三者サービスに複数の移動を通知し、かつ/または複数の第三者サービスに命令を送信して、配送を行うことができる。さらに、第三者サービスモジュール212は、緊急ではなく、第三者サービスのために閾値数未満の配送がスケジュールされるダウンタイム期間中に実行され得る配送を第三者サービスに対して通知する。第三者サービスモジュール212は、第三者サービスに期間を通知することができ(例えば、「今週のいつでも午後8時から午後10時の間に配送を実行する」)、または第三者サービスは、1日、1週間などを通して時間が空いているので、配送を行うことができる。多くの場合、第三者サービスモジュール212は、エンティティに配送サービスを公開するために使用される1つ以上のAPI216よりも、非APIチャネルおよび/または別個のチャネルを通じて第三者サービスと通信する。 As an example, the third party service module 212 can select a third party service to facilitate its courier to transport the items from the merchant to the buyer. In some cases, the third party service is selected in response to receiving an acceptance of the delivery offer via one or more APIs 216. In other examples, the delivery is arranged in response to the occurrence of other events. The third party service module 212 can use various information to select the third party service, such as the location of the third party service relative to the merchant's location (e.g., selecting the third party service closest to the pick-up location), the availability of the third party service (e.g., selecting an available third party service), the type of vehicle used by the third party service to transport the items (e.g., selecting a third party service that can transport the type of item being delivered), information about the item being delivered (e.g., size, shape, volume, type, etc.), etc. The third party service module 212 can then communicate with the selected third party service to arrange the delivery. The service provider 102 can provide information regarding the number of items to be transported, the location of the merchant (or multiple merchants if multiple items are being delivered), the requested pick-up and/or drop-off time, etc. If it is determined that multiple moves are required for delivery (e.g., due to the number of items being delivered, the size of the items being delivered, the transport capabilities (capacity) of the third party service, etc.), the third party service module 212 can notify the third party service of the multiple moves and/or send instructions to the third party service to make the delivery. Additionally, the third party service module 212 notifies the third party service of deliveries that are not urgent and may be performed during a downtime period in which less than a threshold number of deliveries are scheduled for the third party service. The third party service module 212 can notify the third party service of a time period (e.g., "Perform delivery between 8:00 PM and 10:00 PM any time this week") or the third party service can make the delivery as it is available throughout the day, week, etc. Often, the third party service module 212 communicates with the third party service through a non-API channel and/or a separate channel than the one or more APIs 216 used to expose the delivery service to the entity.

支払取引モジュール214は、商人、ユーザ、および/または第三者サービスの間の支払取引を容易にすることができる。例えば、取引モジュール214は、取引に関する注文を受信し、取引を処理し、取引に関する取引情報を生成および/または格納することなどができる。取引中、ユーザ(例えば、顧客)は、購入、レンタル、リース、借用、ライセンス供与などによって、商人からアイテムを取得することができる。アイテムは、商人によって提供される商品および/またはサービスを指すことができる。取引に対して支払うとき、ユーザは、商人に支払われるべき支払額を提供することができる。場合によっては、取引は、ユーザに関連付けられた金融口座から商人に関連付けられた金融口座に資金を電子的に転送することによって処理されてもよい。いくつかの例では、取引モジュール214は、安全な電子金融取引を実行するように構成された1つ以上のコンピューティングデバイスによって実装され得る。 The payment transaction module 214 can facilitate payment transactions between merchants, users, and/or third party services. For example, the transaction module 214 can receive orders for a transaction, process the transaction, generate and/or store transaction information for the transaction, etc. During a transaction, a user (e.g., a customer) can acquire an item from a merchant by purchasing, renting, leasing, borrowing, licensing, etc. An item can refer to goods and/or services provided by a merchant. When paying for a transaction, a user can provide a payment amount to be paid to the merchant. In some cases, a transaction may be processed by electronically transferring funds from a financial account associated with the user to a financial account associated with the merchant. In some examples, the transaction module 214 can be implemented by one or more computing devices configured to perform secure electronic financial transactions.

支払取引モジュール214は、様々なチャネルを介して開始される支払取引を容易にすることができる。一例として、ユーザは、商人に注文を行うためにユーザデバイスと対話することができる。ここで、サービスプロバイダ102は、注文を履行するために商人と通信することができる(例えば、注文が出されたことを商人に通知し、注文を履行するよう商人に要求するなど)。別の例として、商人は、商人デバイスと対話して、ユーザに代わって注文を行うことができる。ここで、ユーザは電話、本人、通知(例えば、テキストメッセージ、電子メール、ソーシャルメディアなど)などを介して商人と通信して、商人に注文を行うことを望むことを示すことができる。これらの例のいずれにおいても、ユーザは注文時、アイテムが配送されている間、ドロップオフ時(例えば、第三者サービスデバイスと対話する)など、いつでも支払いを提供することができる。 The payment transaction module 214 can facilitate payment transactions initiated through various channels. As one example, a user can interact with a user device to place an order with a merchant. Here, the service provider 102 can communicate with the merchant to fulfill the order (e.g., notifying the merchant that an order has been placed and requesting the merchant to fulfill the order, etc.). As another example, a merchant can interact with a merchant device to place an order on behalf of a user. Here, the user can communicate with the merchant via phone, in person, notification (e.g., text message, email, social media, etc.) to indicate a desire to place an order with the merchant. In any of these examples, the user can provide payment at any time, such as when placing the order, while the item is being delivered, at drop-off (e.g., interacting with a third-party service device), etc.

ユーザは、現金、小切手、支払カード、近距離無線通信(NFC)、Bluetooth(登録商標)、口座、電子支払いなどの様々な方法を介して支払いを提供することができる。いくつかの例では、支払取引モジュール214は、ユーザとユーザデバイスとの対話、および商人と商人デバイスとの対話に基づいて、ユーザと商人との間の取引のためのカードレス支払いを可能にする。したがって、いくつかの例では、カードレス支払い取引は、POS位置で行われる取引を含むことができ、その間に、ユーザの電子支払口座は、ユーザがPOS位置で商人に支払カードを物理的に提示する必要なしに課金される。その結果、商人は、処理される取引のためにユーザの金融口座に関する詳細を受け取る必要がない。一例として、電子支払いは、電子支払口座についてサービスプロバイダ102にサインアップするときにユーザが提供したクレジットカード発行者またはクレジットカード番号に課金されてもよい。別の例として、ユーザは、電子支払いを行う際に使用するために維持される口座に前払いされた金額を有することができる。他の変形も当業者には明らかであろう。 A user may provide payment via a variety of methods, such as cash, check, payment card, Near Field Communication (NFC), Bluetooth, account, electronic payment, etc. In some examples, the payment transaction module 214 enables cardless payment for a transaction between a user and a merchant based on the user's interaction with a user device and the merchant's interaction with a merchant device. Thus, in some examples, a cardless payment transaction may include a transaction conducted at a POS location during which the user's electronic payment account is charged without the user having to physically present a payment card to the merchant at the POS location. As a result, the merchant does not have to receive details regarding the user's financial account for the transaction to be processed. As an example, the electronic payment may be charged to a credit card issuer or credit card number provided by the user when signing up with the service provider 102 for an electronic payment account. As another example, the user may have an amount pre-paid in an account maintained for use in making electronic payments. Other variations will be apparent to those skilled in the art.

場合によっては、支払取引モジュール214は、取引情報データストア222に取引情報を格納することができる。取引情報は、商人デバイス、買い手デバイス、第三者サービスデバイスから受信され、および/またはサービスプロバイダ102によって生成されてもよい。取引情報は、取引の時間、場所、および/または量に関する情報、取得されたアイテムに関連する情報(例えば、販売されたアイテムを識別する情報)、使用されている支払いのタイプ(例えば、現金、小切手、支払カード、電子支払いなど)、ならびに買い手情報などの追加情報を含むことができる。例えば、支払カードが使用される場合、取引情報は、支払カードに記憶されたデータ(例えば、トラック1のデータ(カード所持者名、カード番号および他のカード情報))を含むことができる。さらに、取引を完了するとき、買い手は、時には電子メールを介してレシートを受け取るためのレシート電子メールアドレスを提供することができる。取り込むことができる取引情報の他の例には、アイテム情報(例えば、取得されているアイテムの項目別リスト、各アイテムについて支払われている価格、アイテムの記述(サイズ、風味、色など))、特定の取引の地理的POS(Point of Sale)位置を示す地理的位置データ、オンライン/オフラインカードデータ、商人を記述するデータ(例えば、商人識別子、商人カテゴリコード(MCC)など)、配送提案の要求に含まれる情報、配送提案に含まれる情報、買い手のソーシャルネットワークへの認証時に受信される任意のタイプのデータ、および/または様々な他のタイプの情報が含まれる。いくつかの例では、取引情報は、商人データストア220に商人に関する情報を格納するために使用されてもよい(例えば、商人によって提供されるアイテムのコストは、商人の施設での取引に関する取引情報から取得されてもよい)。 In some cases, the payment transaction module 214 can store transaction information in the transaction information data store 222. The transaction information may be received from a merchant device, a buyer device, a third party service device, and/or generated by the service provider 102. The transaction information can include additional information such as information regarding the time, location, and/or amount of the transaction, information related to the item acquired (e.g., information identifying the item sold), the type of payment being used (e.g., cash, check, payment card, electronic payment, etc.), and buyer information. For example, if a payment card is used, the transaction information can include data stored on the payment card (e.g., track 1 data (cardholder name, card number, and other card information)). Additionally, when completing a transaction, the buyer can provide a receipt email address for receiving a receipt, sometimes via email. Other examples of transaction information that may be captured include item information (e.g., an itemized list of items being retrieved, the price being paid for each item, item descriptions (size, flavor, color, etc.)), geographic location data indicating the geographic Point of Sale (POS) location of a particular transaction, online/offline card data, data describing the merchant (e.g., merchant identifier, merchant category code (MCC), etc.), information included in a request for a shipping offer, information included in a shipping offer, any type of data received upon authentication to a buyer's social network, and/or various other types of information. In some examples, the transaction information may be used to store information about a merchant in the merchant data store 220 (e.g., the cost of an item offered by a merchant may be obtained from transaction information relating to a transaction at the merchant's facility).

図2は、サービスプロバイダ102の構成要素およびデータが単一の場所に存在するものとして示しているが、これらの構成要素およびデータは代替的に、任意の方法で異なるコンピューティングデバイスおよび/または異なる位置にわたって分散させることができる。その結果、機能は、1つ以上のコンピューティングデバイスによって実現されてもよく、説明されている様々な機能は様々なコンピューティングデバイスにわたって様々な方法で分散される。複数のコンピューティングデバイスは、一緒にまたは別々に配置され、例えば、仮想サーバ、サーババンク、および/またはサーバファームとして編成されてもよい。説明される機能は、単一のエンティティまたは企業のサーバによって提供されてもよく、または複数の異なる買い手または企業のサーバおよび/またはサービスによって提供されてもよい。 2 depicts the components and data of the service provider 102 as residing in a single location, these components and data may alternatively be distributed in any manner across different computing devices and/or different locations. As a result, functionality may be realized by one or more computing devices, and the various functions described may be distributed in various ways across the various computing devices. Multiple computing devices may be located together or separately and organized, for example, as virtual servers, server banks, and/or server farms. The functions described may be provided by the servers of a single entity or company, or may be provided by the servers and/or services of multiple different buyers or companies.

図3は、商人デバイス300の例示的な詳細を示す。例えば、商人デバイス300は、図1の商人106によって使用されてもよい。商人デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、サーバ、スマートフォン、電子リーダデバイス、モバイルハンドセット、携帯情報端末(PDA)、ポータブルナビゲーションデバイス、ポータブルゲームデバイス、タブレットコンピュータ、ウェアラブルコンピュータ(例えば、スマートウォッチ、光学ヘッドマウントディスプレイ(OHMD)など)、ポータブルメディアプレーヤ、テレビ、セットトップボックス、自動車内のコンピュータシステム、機器、カメラ、ロボット、ホログラムシステム、セキュリティシステム、ホームベースのコンピュータシステム(例えば、インターコムシステム、ホームメディアシステムなど)、プロジェクタ、現金自動預け払い機(ATM)などとして実装され得る。いくつかの実施態様では、商人デバイス300は、配送サービス、予約サービス、メニューサービス、レビューサービスなどの第三者サービスを実行することができる。商人デバイス300は、一実施形態では、1つ以上のコンセンサスサービス207を介して第三者サービスおよび他のサービスとインタフェースすることができる。一例では、サービスプロバイダは、第三者サービスおよび商人デバイス300と通信するためのAPIエンドポイントを提供し、APIエンドポイントは、サービスプロバイダがアクセスするためのAPIエンドポイント114を提供してもよいし、しなくてもよい。従って、サービスプロバイダのコンセンサスサービス207は、外部サービスからデータをプルし、プッシュし、またはプッシュおよびプルすることができるかもしれない。 FIG. 3 illustrates exemplary details of a merchant device 300. For example, the merchant device 300 may be used by the merchant 106 of FIG. 1. The merchant device 300 may be implemented as a laptop computer, a desktop computer, a server, a smart phone, an electronic reader device, a mobile handset, a personal digital assistant (PDA), a portable navigation device, a portable gaming device, a tablet computer, a wearable computer (e.g., a smart watch, an optical head mounted display (OHMD), etc.), a portable media player, a television, a set-top box, a computer system in an automobile, an appliance, a camera, a robot, a hologram system, a security system, a home-based computer system (e.g., an intercom system, a home media system, etc.), a projector, an automated teller machine (ATM), etc. In some implementations, the merchant device 300 may perform third party services, such as delivery services, reservation services, menu services, review services, etc. The merchant device 300 may interface with third party services and other services via one or more consensus services 207 in one embodiment. In one example, a service provider may provide an API endpoint for communicating with a third party service and a merchant device 300, which may or may not provide an API endpoint 114 for the service provider to access. Thus, the service provider's consensus service 207 may be able to pull, push, or push and pull data from an external service.

商人デバイス300はまた、入ってくる注文、予約、アポイントメント、通知、更新、警告などを管理するために、追加のデバイスに関連付けられてもよい。例えば、商人デバイス300は、キッチンディスプレイシステムに接続された、またはキッチンディスプレイシステムを含む、1つ以上のタブレットに関連付けられてもよい。典型的には、キッチンディスプレイシステムは、様々な第三者サービスから入ってくる注文を自分自身のタブレット上に表示するように構成される。しかしながら、本明細書に記載される実施態様を使用して、ソースに関係なくすべての注文が同期され、単一のタブレット上に提示されて取り扱われるように構造化されるように、タブレットは1つに統合されてもよい。同様に、予約のために、商人デバイス300は、占有性/利用可能性に関する物理的空間を追跡するオンサイト予約システムに関連付けられてもよい。 The merchant device 300 may also be associated with additional devices to manage incoming orders, reservations, appointments, notifications, updates, alerts, and the like. For example, the merchant device 300 may be associated with one or more tablets connected to or including a kitchen display system. Typically, a kitchen display system is configured to display incoming orders from various third party services on its own tablets. However, using the implementations described herein, the tablets may be integrated into one such that all orders, regardless of source, are synchronized and structured to be presented and handled on a single tablet. Similarly, for reservations, the merchant device 300 may be associated with an on-site reservation system that tracks the physical space for occupancy/availability.

商人デバイス300は、1つ以上のプロセッサ302、メモリ304、1つ以上のネットワークインタフェース306、および1つ以上のディスプレイ308を含み得る。1つ以上のプロセッサ302は、中央演算処理装置(CPU)、グラフィックス処理装置(GPU)、マイクロプロセッサ、デジタル信号プロセッサなどを含むことができる。1つ以上のディスプレイ308は、タッチスクリーン、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、有機LEDディスプレイ、プラズマディスプレイ、電子ペーパーディスプレイ、または任意の他のタイプの技術を含むことができる。図示されていないが、商人デバイス300は、カメラ、マイクロフォン、スピーカ、プロジェクタ、プリンタ、および/またはセンサなどの他の構成要素を含むか、またはそれらに関連付けられてもよい。1つ以上のカメラは、前面カメラおよび/または後面カメラを含むことができる。1つ以上のセンサは加速度計、コンパス、ジャイロスコープ、磁力計、全地球測位システム(GPS)、嗅覚センサ(例えば、におい用)、または別のセンサを含んでもよい。商人デバイス300は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスさらに含むか、またはそれらに関連付けられてもよい。メモリ304は、商人モジュール310および位置モジュール312を含むことができる。 The merchant device 300 may include one or more processors 302, memory 304, one or more network interfaces 306, and one or more displays 308. The one or more processors 302 may include a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor, a digital signal processor, or the like. The one or more displays 308 may include a touch screen, a liquid crystal display (LCD), a light emitting diode (LED) display, an organic LED display, a plasma display, an electronic paper display, or any other type of technology. Although not shown, the merchant device 300 may include or be associated with other components such as a camera, a microphone, a speaker, a projector, a printer, and/or sensors. The one or more cameras may include a front-facing camera and/or a rear-facing camera. The one or more sensors may include an accelerometer, a compass, a gyroscope, a magnetometer, a global positioning system (GPS), an olfactory sensor (e.g., for smell), or another sensor. The merchant device 300 may further include or be associated with a keyboard, a mouse, a pen, a voice input device, a touch input device. The memory 304 may include a merchant module 310 and a location module 312.

商人モジュール310(および/または位置モジュール312)は、一般に商人によって使用され得る商人対面コンポーネントを表し得る。いくつかの例では、顧客は、(例えば、支払いを確認し、配送情報を提供し、または他の入力を提供するために)商人対面コンポーネントと対話することができる。商人モジュール310は、商人が顧客との取引を容易にすること、配送を管理すること、在庫を管理することなどを支援するために、種々の処理を実行することができる。商人モジュール310は、様々なインタフェースおよび/またはダッシュボードを提供することができる。場合によっては、商人モジュール310は、配送注文、予約注文、およびメニュー更新/選好のための取得アプリケーションなどのアプリケーションと呼ばれてもよい。 The merchant module 310 (and/or location module 312) may represent merchant-facing components that may be used by a merchant generally. In some examples, a customer may interact with the merchant-facing components (e.g., to verify payment, provide delivery information, or provide other input). The merchant module 310 may perform various processes to assist the merchant in facilitating transactions with customers, managing deliveries, managing inventory, etc. The merchant module 310 may provide various interfaces and/or dashboards. In some cases, the merchant module 310 may be referred to as an application, such as an application for delivery orders, pre-orders, and retrieval applications for menu updates/preferences.

商人モジュール310は、サービスプロバイダ102と通信して、サービスプロバイダ102によって提供される配送サービスを使用することができる。一例として、商人は、商人モジュール310によって提供されるアイテム取得インタフェース(例えば、アイテム取得インタフェース120)と対話して、顧客のために注文を行うことができる。商人モジュール310が配送が要求され得ると判定した場合(例えば、注文が配送されることを望むことを示す顧客に基づく自動判定など)、商人モジュール310は、配送提案の要求を生成し、サービスプロバイダ102によって推奨される配送サービスの使用に関する情報を要求するために、1つ以上のAPIを介してサービスプロバイダ102に要求を送信することができる。要求の情報は、顧客または商人によって提供されたり、データソース(例えば、ユーザプロファイル、商人プロファイルなど)から取得されたりしてもよい。配送提案の要求の一部であり得る例示的な情報は、以下を含む:
●アイテムのピックアップ位置-顧客への配送のために商人からアイテムが取得される位置。ピックアップ位置は、一般に、商人の位置(例えば、施設)であってもよいが、倉庫、住宅、POボックス、街角などの任意の位置が使用されてもよい。ピックアップ位置は、(例えば、移動する商人の場合には)静止していても移動していてもよい。
●ドロップオフ位置(配送位置とも呼ばれる)-アイテムが顧客に配送される位置。ドロップオフ位置は、一般に、住宅、POボックス、街角、顧客が現在位置する施設などの顧客の位置とすることができる。ドロップオフ位置は、(例えば、移動する顧客の場合には)静止していても移動していてもよい。
●要求されたピックアップ時間-配送のために商人からアイテムを取得するための時間、週、月、年など。ピックアップの要求された時間は、特定の時間、時間のウィンドウなどであってもよい。場合によっては、要求されたピックアップ時間は、(例えば、アイテムがすでに作成されている場合、または他の状況において)できるだけ早くてもよい。配送提案の要求においてピックアップ時間が指定されていない場合、サービスプロバイダ102は、例えば、ピックアップ時間ができるだけ早いと仮定することができる。
●取得されるアイテムの量(数)-商人から購入されるアイテムの量。場合によっては、サービスプロバイダ102は、この情報を使用して、注文のサイズ(例えば、注文を移送するために必要なスペースの量)を判定することができる。
●取得されるアイテムを識別するアイテム識別子。場合によっては、サービスプロバイダ102は、この情報を使用して、注文を移送するためにどれだけのスペースが必要であるか、アイテムを移送するために必要な車両のタイプ、アイテムのタイプ(例えば、脆弱対非脆弱、腐敗対非腐敗など)などを判定するために、アイテムに関する情報をルックアップすることができる。
●取得されるアイテムの特性(例えば、サイズ、形状、重量、ボリューム、タイプ、カテゴリなど)。場合によっては、サービスプロバイダ102がこの情報を使用して、アイテムを移送するために必要な空間の量を判定することができる。
●取得されるアイテムに関連付けられたタグ(例:特定のカテゴリを示すタグ)。例えば、アイテムは、配送のために特別な取扱いを必要とする食品のカテゴリに関連付けられた所定のラベルでタグ付けされてもよい(例えば、暖かく及び/又は直立した状態に保つ必要があるピザ又はスープ、特別な取扱いを必要とするトレイ上の食品などの仕出し料理、注意深く取り扱われる必要があるテレビなど)。いくつかの例では、サービスプロバイダ102は、この情報を使用して、注文を移送するためにどれだけのスペースが必要であるか、アイテムを移送するために必要な車両のタイプ、アイテムのタイプ(例えば、脆弱対非脆弱、腐敗対非腐敗など)などを判定することができる。
●注文の価格(例えば、アイテムまたは注文のコスト)。
●アイテムに関するピックアップ命令。例えば、商人は、自転車が店舗の後部で配送のためにピックアップされることを指定することができる。
●アイテムに関する配送指示。例えば、顧客は、特定の時間ウィンドウの間に、顧客のプロパティに関する特定のスポットで、特定のタイプの車両で、特定の第三者サービスなどによって、アイテムが配送されることを要求することができる。
●顧客連絡先情報(例えば、電話番号、電子メールアドレス、顧客の地理的位置など)。一例として、顧客連絡先情報は、顧客の住所を含むことができる。
The merchant module 310 may communicate with the service provider 102 to use delivery services provided by the service provider 102. As an example, a merchant may interact with an item acquisition interface (e.g., item acquisition interface 120) provided by the merchant module 310 to place an order for a customer. If the merchant module 310 determines that delivery may be requested (e.g., an automatic determination based on a customer indicating that the order would like to be delivered, etc.), the merchant module 310 may generate a request for delivery suggestions and send a request to the service provider 102 via one or more APIs to request information regarding the use of delivery services recommended by the service provider 102. The information in the request may be provided by the customer or merchant or obtained from a data source (e.g., a user profile, a merchant profile, etc.). Exemplary information that may be part of the request for delivery suggestions includes the following:
● Item Pickup Location - the location where an item is obtained from the merchant for delivery to the customer. The pickup location may generally be the merchant's location (e.g., a facility), although any location may be used, such as a warehouse, residence, PO box, street corner, etc. The pickup location may be stationary or mobile (e.g., in the case of a mobile merchant).
● Drop-off location (also called delivery location) - the location where the item is delivered to the customer. A drop-off location can generally be the customer's location, such as a residence, a PO box, a street corner, a facility where the customer is currently located, etc. A drop-off location can be stationary or mobile (e.g., for mobile customers).
● Requested pickup time - the hour, week, month, year, etc., for obtaining the item from the merchant for delivery. The requested time of pickup may be a specific time, a window of time, etc. In some cases, the requested pickup time may be as early as possible (e.g., if the item has already been created, or in other circumstances). If no pickup time is specified in the request for a delivery offer, the service provider 102 may, for example, assume that the pickup time is as early as possible.
● Quantity (number) of items acquired—the amount of items purchased from the merchant. In some cases, the service provider 102 can use this information to determine the size of the order (e.g., the amount of space required to transport the order).
An item identifier that identifies the item being retrieved. In some cases, the service provider 102 can use this information to look up information about the item to determine how much space is needed to transport the order, the type of vehicle needed to transport the item, the type of item (e.g., fragile vs. non-fragile, perishable vs. non-perishable, etc.), etc.
Characteristics of the item being captured (e.g., size, shape, weight, volume, type, category, etc.) In some cases, this information can be used by the service provider 102 to determine the amount of space required to transport the item.
Tags associated with the items being retrieved (e.g., tags indicating a particular category). For example, items may be tagged with a predefined label associated with a category of food that requires special handling for delivery (e.g., pizza or soup that needs to be kept warm and/or upright, catered meals such as food on a tray that requires special handling, televisions that need to be handled with care, etc.). In some examples, the service provider 102 can use this information to determine how much space is needed to transport the order, the type of vehicle needed to transport the items, the type of item (e.g., fragile vs. non-fragile, perishable vs. non-perishable, etc.), etc.
● The price of the order (e.g. cost of an item or order).
- Pick-up instructions for the item. For example, a merchant may specify that a bike will be picked up for delivery at the rear of the store.
● Delivery instructions for the item. For example, a customer may request that an item be delivered during a particular time window, at a particular spot on the customer's property, in a particular type of vehicle, by a particular third party service, etc.
Customer contact information (e.g., phone number, email address, geographic location of the customer, etc.) As an example, customer contact information may include the customer's address.

商人モジュール310は、配送提案の要求に含まれる情報を提供するものとして説明されるが、場合によっては、情報は、サービスプロバイダ102において(少なくとも部分的に)判定されてもよい(例えば、サービスプロバイダ102は、アイテム識別子を受信し、アイテムサイズ、従量などを調べてもよい)。 Although the merchant module 310 is described as providing the information included in the request for delivery offers, in some cases the information may be determined (at least in part) at the service provider 102 (e.g., the service provider 102 may receive an item identifier, look up item size, quantity, etc.).

配送提案の要求をサービスプロバイダ102に提出した後、商人モジュール310は、サービスプロバイダ102から配送提案を受信することができる。場合によっては、配送提案からの情報は、顧客に伝達される。例えば、商人は、配送コスト、推定配送時間、および/または任意の他の情報を顧客に通知することができる。他の例では、配送提案からの情報は、顧客に提示されなくてもよい。例えば、商人は、配送提案の情報を見ることができ、および/または注文の総コストにそのコストを含めることができる。したがって、場合によっては、顧客には、配送が商人によって処理されているように見えることがある。いずれにしても、商人モジュール310は、1つ以上のAPIを介して、配送提案の受諾または拒否のインジケーション(指標、指示)をサービスプロバイダ102に送信することができる。 After submitting a request for a shipping proposal to the service provider 102, the merchant module 310 can receive the shipping proposal from the service provider 102. In some cases, information from the shipping proposal is communicated to the customer. For example, the merchant can inform the customer of the shipping cost, the estimated delivery time, and/or any other information. In other examples, the information from the shipping proposal may not be presented to the customer. For example, the merchant can view the shipping proposal information and/or include the cost in the total cost of the order. Thus, in some cases, it may appear to the customer that the shipping is being handled by the merchant. In any case, the merchant module 310 can send an indication of acceptance or rejection of the shipping proposal to the service provider 102 via one or more APIs.

その後、商人モジュール310は、1つ以上のAPIを介してサービスプロバイダ102と通信し、取引のステータスに関する情報を提供および/または受信することができる。例えば、商人モジュール310は、アイテムが準備処理のどこにあるか(例えば、ほぼ完了したか、完了したか、オーブンに入ったか、袋詰めされたか、ピックアップの準備ができたかなど)を示す情報を送信する。別の例では、商人モジュール310は、配送サービスによる配送のステータス(例えば、第三者サービスの配送人の特定の位置、第三者サービスがどれだけ離れているか、アイテムがドロップオフされているかどうか、第三者サービスに関連付けられた配送人が、ピックアップ位置に移送中であるかなど)に関する情報をサービスプロバイダから受信することができる。 The merchant module 310 can then communicate with the service provider 102 via one or more APIs to provide and/or receive information regarding the status of the transaction. For example, the merchant module 310 can send information indicating where the item is in the preparation process (e.g., nearly done, done, in the oven, bagged, ready for pickup, etc.). In another example, the merchant module 310 can receive information from the service provider regarding the status of a delivery by a delivery service (e.g., the specific location of a courier for the third party service, how far away the third party service is, whether the item has been dropped off, whether a courier associated with the third party service is in transit to a pick-up location, etc.).

商人モジュール310は、様々なチャネルを介して注文を受け取ることができる。例えば、商人モジュール310は、商人と顧客との間の電話会話に基づく顧客の代わりに商人によって発注される第1の注文と、顧客アプリケーション上で別の顧客によって発注される第2の注文とを受信することができる。第2の注文は、サービスプロバイダ102および/または商人に関連付けられたサービスプロバイダなどの別の当事者から受信され得る。いずれにせよ、注文は、サービスプロバイダのAPIを介して同じ商人モジュール310によって管理されてもよい。すなわち、商人モジュール310は、注文の準備、注文の準備の進行に関する情報の提示、注文の配送ステータスに関する情報の提示などを監視することができる。多くの場合、注文に関する情報は、注文を異なるチャネルから発信されたものとして指定する情報とのインタフェースを通じて提示される。 The merchant module 310 may receive orders through various channels. For example, the merchant module 310 may receive a first order placed by the merchant on behalf of a customer based on a telephone conversation between the merchant and the customer, and a second order placed by another customer on a customer application. The second order may be received from another party, such as the service provider 102 and/or a service provider associated with the merchant. In either case, the orders may be managed by the same merchant module 310 through the service provider's API. That is, the merchant module 310 may monitor the preparation of the order, present information regarding the progress of the preparation of the order, present information regarding the delivery status of the order, etc. Often, information regarding the order is presented through an interface with information designating the order as originating from a different channel.

商人モジュール310は、サービスプロバイダ102によって使用される配送サービスに対する支払いを提供するために、1つ以上のスキームを適用することができる。一例として、サービスプロバイダ102の配送サービスを使用するための配送コストは、顧客に請求されてもよい(例えば、アイテムごとに直接、月ごとになど)。別の例として、商人は、各事例において、または、例えば、閾値数を超えるアイテムを有する注文、閾値量を超える量を有する注文、顧客が特定のステータスに関連付けられている(例えば、顧客が配送サービスのための月次加入料を支払ったか、または経時的に特定の数のアイテムを購入した)などの1つ以上の基準が満たされた場合などに、配送コストの支払いを提供することを決定し得る(例えば、顧客に課金しない)。 The merchant module 310 can apply one or more schemes to provide payment for the delivery services used by the service provider 102. As an example, the delivery costs for using the delivery services of the service provider 102 may be charged to the customer (e.g., directly per item, per month, etc.). As another example, the merchant may decide to provide payment for the delivery costs (e.g., not charge the customer) in each case or when one or more criteria are met, such as, for example, an order with more than a threshold number of items, an order with a quantity above a threshold amount, the customer is associated with a certain status (e.g., the customer has paid a monthly subscription fee for the delivery service or has purchased a certain number of items over time), etc.

商人は、毎月、アイテムごとになどの様々な方法で、いくつかの配送サービスを接続するコンセンサスサービスの使用のためにサービスプロバイダ102によって請求されることができ、サービスプロバイダ102によって商人に支払われるべき量のバランスをとる(例えば、サービスプロバイダ102が商人に支払うべき量から配送サービスのコストを差し引く)。 The merchant can be billed by the service provider 102 for the use of the consensus service connecting several delivery services in various ways, such as monthly, per item, etc., and balances the amount due to the merchant by the service provider 102 (e.g., deducting the cost of the delivery service from the amount due to the service provider 102 to the merchant).

商人モジュール310は、追加的に、または代替的に、他の処理を実行してもよい。一例では、商人モジュール310は、(例えば、カードリーダ、顧客デバイスへのNFC接続、顧客デバイスへのBluetooth(登録商標)接続などを介して)顧客からの支払いを受け入れること、アイテムの領収書を提供すること(領収書を印刷することを含む)、(例えば、確認、クレジットカードの署名などの)顧客によって取得されるアイテムのための顧客からの入力を受信することなどによって、顧客との取引を容易にすることができる。別の例では、商人モジュール310は、商人に在庫レベル(例えば、現在在庫中のアイテムの数)を通知すること、追加の在庫を注文すること、在庫に関するサービスプロバイダ102からの通知を閲覧すること、他者に取得のための在庫を提供すること、在庫のための資金調達を求めることなどによって、商人が在庫を管理することを可能にすることができる。さらに別の例では、商人モジュール310は、販売、在庫、または他の情報のためのデータ分析を提供することができる。 The merchant module 310 may additionally or alternatively perform other processing. In one example, the merchant module 310 may facilitate transactions with customers by accepting payments from customers (e.g., via a card reader, an NFC connection to the customer device, a Bluetooth connection to the customer device, etc.), providing receipts for items (including printing receipts), receiving input from customers for items acquired by the customer (e.g., confirmations, credit card signatures, etc.), and the like. In another example, the merchant module 310 may enable a merchant to manage inventory by notifying the merchant of inventory levels (e.g., the number of items currently in stock), ordering additional inventory, viewing notifications from the service provider 102 regarding inventory, offering inventory to others for acquisition, seeking financing for inventory, and the like. In yet another example, the merchant module 310 may provide data analytics for sales, inventory, or other information.

商人モジュール310の機能は、単一の構成要素に含まれるものとして説明されるが、機能は任意の数の構成要素に分割されてもよい。場合によっては、機能は、別々のアプリケーションに分割され、それらは互いにリンクされることがある(例えば、別のアプリケーション内のリンクを選択することによって1つのアプリケーションにアクセスする)。 Although the functionality of the merchant module 310 is described as being contained in a single component, the functionality may be divided into any number of components. In some cases, the functionality may be divided into separate applications that are linked together (e.g., accessing one application by selecting a link in another application).

位置モジュール312は、商人デバイス300の位置を判定することができる。場合によっては、位置は、サービスプロバイダ102に提供されるか、またはローカルで使用されて、商人の位置の判定、顧客が商人デバイス300の特定の近傍内に位置する場合の取引の処理など、様々な機能を容易にする。位置モジュール312は、地理位置決め技術(例えば、衛星ベースのシステム-全地球測位システム(GPS))、セルタワー位置データ、ワイヤレスアクセスポイント位置データ、無線ビーコン位置など)から、商人デバイス300の地理的位置を判定することができる。したがって、位置モジュール312は、商人デバイス300の地理的位置を(例えば、セルタワーまたはワイヤレスアクセスポイントから)判定することができるGPS受信機または通信インタフェースなど、商人デバイス300の位置センサからのデータを利用することができる。 The location module 312 can determine the location of the merchant device 300. In some cases, the location is provided to the service provider 102 or used locally to facilitate various functions, such as determining the location of the merchant, processing transactions when a customer is located within a particular vicinity of the merchant device 300, etc. The location module 312 can determine the geographic location of the merchant device 300 from geo-positioning technology (e.g., satellite-based systems - Global Positioning System (GPS)), cell tower location data, wireless access point location data, radio beacon location, etc.). Thus, the location module 312 can utilize data from a location sensor of the merchant device 300, such as a GPS receiver or communication interface, that can determine the geographic location of the merchant device 300 (e.g., from a cell tower or wireless access point).

いくつかのタイプのビジネスでは、商人デバイス300は、商人の店または他のビジネス位置に関連付けられてもよく、したがって、通常、日々変化しない固定位置であってもよい。しかしながら、他のタイプのビジネスでは、商人デバイス300は、商人がフードトラックを運営する場合、ストリートベンダー、キャブドライバーなどである場合、またはそうでなければモバイルビジネスを有する場合(例えば、買い手の家、ビジネス位置などでアイテムを販売する商人の場合)など、位置を時々移動することができる。 In some types of businesses, the merchant device 300 may be associated with the merchant's store or other business location and thus may be a fixed location that does not typically change from day to day. However, in other types of businesses, the merchant device 300 may move location from time to time, such as when the merchant operates a food truck, is a street vendor, cab driver, etc., or otherwise has a mobile business (e.g., in the case of a merchant who sells items at a buyer's home, business location, etc.).

図4は、ユーザデバイス400の例示的な詳細を示す。例えば、ユーザデバイス400は、図1のユーザ104によって使用されてもよい。ユーザデバイス400は、ラップトップコンピュータ、デスクトップコンピュータ、サーバ、スマートフォン、電子リーダデバイス、モバイルハンドセット、パーソナルデジタルアシスタント(PDA)、ポータブルナビゲーションデバイス、ポータブルゲームデバイス、タブレットコンピュータ、ウェアラブルコンピュータ(例えば、スマートウォッチ、光学ヘッドマウントディスプレイ(OHMD)など)、ポータブルメディアプレーヤ、テレビ、セットトップボックス、自動車内のコンピュータシステム、機器、カメラ、ロボット、ホログラムシステム、セキュリティシステム、ホームベースのコンピュータシステム(例えば、インターコムシステム、ホームメディアシステムなど)、プロジェクタ、現金自動預け払い機(ATM)などとして実装され得る。いくつかの例では、商人デバイス300は、モバイルデバイスであってもよい。一実装形態では、ユーザデバイス400は、配送サービス、予約サービス、メニューサービス、レビューサービスなどの第三者サービスを実行することができる。一実施形態では、ユーザデバイス400は、1つ以上のコンセンサスサービス207を介して、商人デバイス300などの商人サービスとインタフェースすることができる。一例では、サービスプロバイダは、第三者サービスおよび商人デバイス300と通信するためのAPIエンドポイント114を提供し、APIエンドポイント114は、サービスプロバイダがアクセスするためのAPIエンドポイントを提供してもよいし、しなくてもよい。従って、サービスプロバイダのコンセンサスサービス207は、ユーザデバイスからデータをプル、プッシュ、またはプッシュおよびプルすることができるかもしれない。第三者サービスは、たとえばサービスプロバイダと同様に、第三者サーバ上でホストすることができる。 FIG. 4 illustrates exemplary details of a user device 400. For example, the user device 400 may be used by the user 104 of FIG. 1. The user device 400 may be implemented as a laptop computer, a desktop computer, a server, a smart phone, an electronic reader device, a mobile handset, a personal digital assistant (PDA), a portable navigation device, a portable gaming device, a tablet computer, a wearable computer (e.g., a smart watch, an optical head mounted display (OHMD), etc.), a portable media player, a television, a set-top box, a computer system in an automobile, an appliance, a camera, a robot, a hologram system, a security system, a home-based computer system (e.g., an intercom system, a home media system, etc.), a projector, an automated teller machine (ATM), etc. In some examples, the merchant device 300 may be a mobile device. In one implementation, the user device 400 may perform third party services, such as a delivery service, a reservation service, a menu service, a review service, etc. In one embodiment, the user device 400 may interface with a merchant service, such as the merchant device 300, via one or more consensus services 207. In one example, the service provider provides an API endpoint 114 for communicating with the third party service and the merchant device 300, which may or may not provide an API endpoint for the service provider to access. Thus, the service provider's consensus service 207 may be able to pull, push, or push and pull data from the user device. The third party service may be hosted on a third party server, e.g., as well as the service provider.

ユーザデバイス400は、1つ以上のプロセッサ402、メモリ404、1つ以上のネットワークインタフェース406、および1つ以上のディスプレイ408を含み得る。1つ以上のプロセッサ402は、中央演算処理装置(CPU)、グラフィックス処理装置(GPU)、マイクロプロセッサ、デジタル信号プロセッサなどを含むことができる。1つ以上のディスプレイ408は、タッチスクリーン、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、有機LEDディスプレイ、プラズマディスプレイ、電子ペーパーディスプレイ、または任意の他のタイプの技術を含むことができる。図示されていないが、ユーザデバイス400はまた、カメラ、マイクロフォン、スピーカ、プロジェクタ、プリンタ、および/またはセンサなどの他の構成要素を含んでもよく、またはそれらに関連付けられてもよい。1つ以上のカメラは、前面カメラおよび/または後面カメラを含むことができる。1つ以上のセンサは、加速度計、コンパス、ジャイロスコープ、磁力計、全地球測位システム(GPS)、嗅覚センサ(例えば、におい用)、または別のセンサを含んでもよい。ユーザデバイス400は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスさらに含むか、またはそれらに関連付けられてもよい。メモリ404は、顧客モジュール410および位置モジュール412を含むことができる。 The user device 400 may include one or more processors 402, memory 404, one or more network interfaces 406, and one or more displays 408. The one or more processors 402 may include a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor, a digital signal processor, or the like. The one or more displays 408 may include a touch screen, a liquid crystal display (LCD), a light emitting diode (LED) display, an organic LED display, a plasma display, an electronic paper display, or any other type of technology. Although not shown, the user device 400 may also include or be associated with other components such as a camera, a microphone, a speaker, a projector, a printer, and/or a sensor. The one or more cameras may include a front camera and/or a rear camera. The one or more sensors may include an accelerometer, a compass, a gyroscope, a magnetometer, a global positioning system (GPS), an olfactory sensor (e.g., for smell), or another sensor. The user device 400 may further include or be associated with a keyboard, a mouse, a pen, a voice input device, a touch input device. The memory 404 may include a customer module 410 and a location module 412.

顧客モジュール410(および/または位置モジュール412)は、一般に顧客によって使用され得る顧客対面コンポーネントを表すことができる。いくつかの例では、商人が(例えば、支払いを確認し、配送情報を提供し、または他の入力を提供するために)顧客対面コンポーネントと対話することができる。顧客モジュール410は、顧客が商人との取引を容易にするのを支援するために、種々の処理を実行することができる。そのようにする場合、顧客モジュール410は、様々なインタフェースおよび/またはダッシュボードを提供することができる。いくつかの例では、顧客モジュール410は、アイテム取得アプリケーションなどのアプリケーションと呼ばれることがある。さらに、いくつかの例では、顧客モジュール410は、ピザ商人からピザを注文するために、配送サービスなどの第三者アプリケーション407など、商人に関連付けられたサービスプロバイダと協働して動作するローカルアプリケーションを備えることができる。 The customer module 410 (and/or location module 412) may represent customer-facing components that may be used by a customer generally. In some examples, a merchant may interact with the customer-facing components (e.g., to verify a payment, provide delivery information, or provide other input). The customer module 410 may perform various processes to assist the customer in facilitating a transaction with the merchant. In doing so, the customer module 410 may provide various interfaces and/or dashboards. In some examples, the customer module 410 may be referred to as an application, such as an item acquisition application. Additionally, in some examples, the customer module 410 may comprise a local application that works in conjunction with a service provider associated with the merchant, such as a third party application 407, such as a delivery service, to order a pizza from a pizza merchant.

顧客モジュール410は、サービスプロバイダ102と通信して、サービスプロバイダ102に関連付けられた配送サービスを使用することができる。一例として、顧客は、顧客モジュール410によって提供されるアイテム取得インタフェース(例えば、アイテム取得インタフェース120)と対話して、商人に注文を行うことができる。顧客モジュール410が配送が要求され得ると判定した場合(例えば、ユーザプロファイルの設定または以前の購入に基づく自動判定、注文を配送させたい旨を示す顧客入力に基づく判定など)、顧客モジュール410は、配送提案の要求を生成し、サービスプロバイダ102によって提供される配送サービスの使用に関する情報を要求するために、1つ以上のAPIを介してサービスプロバイダ102に要求を送信することができる。要求の情報は、顧客によって提供されてもよく、データソース(例えば、ユーザプロファイルなど)から取得されてもよい。多くの場合、顧客モジュール410は、配送提案の要求に含まれる情報を提供するが、場合によっては、情報は、サービスプロバイダ102において(少なくとも部分的に)判定されてもよい(例えば、サービスプロバイダ102は、アイテム識別子を受信し、アイテムサイズ/従量を調査してもよく、サービスプロバイダ102は、顧客を識別し、顧客の好みを調査してもよい、など)。 The customer module 410 can communicate with the service provider 102 to use a delivery service associated with the service provider 102. As an example, a customer can interact with an item acquisition interface (e.g., item acquisition interface 120) provided by the customer module 410 to place an order with a merchant. If the customer module 410 determines that delivery may be requested (e.g., automatically based on a user profile setting or previous purchases, based on customer input indicating a desire to have the order delivered, etc.), the customer module 410 can generate a request for a delivery offer and send a request to the service provider 102 via one or more APIs to request information regarding the use of the delivery service provided by the service provider 102. The information in the request may be provided by the customer or may be obtained from a data source (e.g., a user profile, etc.). In many cases, the customer module 410 provides the information included in the request for delivery offers, but in some cases, the information may be determined (at least in part) at the service provider 102 (e.g., the service provider 102 may receive an item identifier and review item size/volume, the service provider 102 may identify the customer and review customer preferences, etc.).

配送提案の要求をサービスプロバイダ102に提出した後、顧客モジュール410は、サービスプロバイダ102から配送提案を受信することができる。場合によっては、配送提案からの情報は、顧客に伝達される。例えば、アイテム取得インタフェースは、配送コスト、推定配送時間、および/または任意の他の情報を表示することができる。他の例では、配送提案からの情報が顧客に提示されなくてもよい。例えば、アイテム取得インタフェースは、配送コストを項目化された要素として表示せず、注文の総コストに配送コストを含めることができる。したがって、場合によっては、顧客には、配送が商人によって処理されているように見えることがある。いずれにしても、顧客モジュール410は、1つ以上のAPIを介して、配送提案の受諾または拒否のインジケーション(指標、指示)をサービスプロバイダ102に送信することができる。 After submitting a request for a shipping proposal to the service provider 102, the customer module 410 can receive the shipping proposal from the service provider 102. In some cases, information from the shipping proposal is communicated to the customer. For example, the item retrieval interface can display the shipping cost, the estimated delivery time, and/or any other information. In other examples, information from the shipping proposal may not be presented to the customer. For example, the item retrieval interface can include the shipping cost in the total cost of the order, rather than displaying the shipping cost as an itemized element. Thus, in some cases, it may appear to the customer that the shipping is being handled by the merchant. In any case, the customer module 410 can send an indication of acceptance or rejection of the shipping proposal to the service provider 102 via one or more APIs.

顧客モジュール410は、取引のステータスに関する情報を要求および/または受信するために、1つ以上のAPIを介してサービスプロバイダ102と通信することもできる。例えば、顧客モジュール410は、アイテムの準備のステータス(例えば、ほぼ完了した、完了した、オーブンに入った、袋詰めされた、ピックアップの準備ができた等)、配送サービスによる配送のステータス(例えば、配送人の特定の位置、配送人がどれだけ離れているか、アイテムがドロップオフされたかどうか、配送人がピックアップ位置に輸送中であるかどうか等)等に関する情報を受信することができる。このような情報は、顧客に提示することができる。一例では、配送人の位置を示すアイコンまたは他の要素と共に顧客に地図が表示される。これに加えて、またはこれに代えて、広告を表示することができる。例示すると、顧客モジュール410は、商人のためのアイテムを配送することに関連するオンラインサイトの広告を表示することができる。広告は、商人に直接注文する代わりに、将来注文するためにオンラインサイトを使用することを顧客に奨励することができる。他の図では、任意の種類の広告を表示することができる。 The customer module 410 may also communicate with the service provider 102 via one or more APIs to request and/or receive information regarding the status of a transaction. For example, the customer module 410 may receive information regarding the status of an item's preparation (e.g., nearly done, done, in the oven, bagged, ready for pickup, etc.), the status of delivery by a delivery service (e.g., the specific location of the courier, how far away the courier is, whether the item has been dropped off, whether the courier is in transit to a pick-up location, etc.), and the like. Such information may be presented to the customer. In one example, a map is displayed to the customer along with an icon or other element indicating the location of the courier. Additionally or alternatively, advertisements may be displayed. By way of example, the customer module 410 may display advertisements for online sites related to delivering items for the merchant. The advertisements may encourage the customer to use the online site to place future orders instead of ordering directly from the merchant. In other illustrations, any type of advertisement may be displayed.

顧客モジュール410は、追加的に、または代替的に、他の処理を実行することができる。一例として、顧客モジュール410は、ユーザに対して所定の近接範囲内にある商人に関する情報をインタフェースを介して提供することができる。ユーザは、商人を選択し、商人と共に商品を注文することができる。加えて、または代替として、顧客モジュール410は、ユーザが(例えば、カードリーダ、商人デバイスへのNFC接続、商人デバイスへのBluetooth(登録商標)接続などを介して)アイテムの支払いを提供し、アイテムの領収書を受信することなどを可能にすることができる。さらに、顧客モジュール410は、ユーザがカードレス支払取引を実行するために商人にチェックインすることを可能にすることができる。 The customer module 410 may additionally or alternatively perform other processing. As an example, the customer module 410 may provide the user with information about merchants within a given proximity range via an interface. The user may select a merchant and order an item with the merchant. Additionally or alternatively, the customer module 410 may enable the user to provide payment for items (e.g., via a card reader, an NFC connection to the merchant device, a Bluetooth connection to the merchant device, etc.), receive receipts for items, etc. Furthermore, the customer module 410 may enable the user to check in with a merchant to perform a cardless payment transaction.

位置モジュール412は、ユーザデバイス400の位置を判定することができる。いくつかの例では、位置は、サービスプロバイダ102に提供されるか、またはローカルで使用されて、商人デバイスの特定の近傍内に顧客が位置するときの取引の処理など、様々な機能を容易にする。位置モジュール412は、地理的位置決め技術(例えば、衛星ベースのシステム-全地球測位システム(GPS))、セルタワー位置データ、ワイヤレスアクセスポイント位置データ、無線ビーコン位置など)から、ユーザデバイス400の地理的位置を判定することができる。したがって、位置モジュール412は、ユーザデバイス400の地理的位置を(たとえば、セルタワーまたはワイヤレスアクセスポイントから)判定することができるGPS受信機または通信インタフェースなど、ユーザデバイス400の位置センサからのデータを利用することができる。 The location module 412 can determine the location of the user device 400. In some examples, the location is provided to the service provider 102 or used locally to facilitate various functions, such as processing transactions when a customer is located within a particular vicinity of the merchant device. The location module 412 can determine the geographic location of the user device 400 from geographic positioning technologies (e.g., satellite-based systems--Global Positioning System (GPS)), cell tower location data, wireless access point location data, radio beacon location, etc.). Thus, the location module 412 can utilize data from a location sensor of the user device 400, such as a GPS receiver or communication interface, that can determine the geographic location of the user device 400 (e.g., from a cell tower or wireless access point).

一部の実装では、ユーザデバイス400は、ユーザデバイス400、商人デバイス300を介して、または例えばサービスプロバイダを介して自動的にトリガされた予約要求に応答して予約提案を受信するようにも構成される。ユーザデバイス400のユーザは、予約提案を受諾又は拒否することができる。ユーザデバイス400はまた、現在の予約または将来の予約のいずれかのためにユーザが好む座席の種類の好みを提供することができる。好みはまた、シェフ、アイテム、商人の位置、時刻、代替商人、選択の料理などを含むことができ、その結果、サービスプロバイダは、例えば、好みの予約が利用可能でない場合、または異なるソースからの別の予約と競合する場合に、ユーザのための代替物を生成することができる。 In some implementations, the user device 400 is also configured to receive reservation suggestions in response to a reservation request triggered via the user device 400, the merchant device 300, or automatically, for example, via the service provider. The user of the user device 400 can accept or reject the reservation suggestion. The user device 400 can also provide preferences for the type of seating the user prefers for either the current reservation or a future reservation. Preferences can also include chefs, items, merchant locations, time of day, alternative merchants, cuisine of choice, etc., so that the service provider can generate alternatives for the user, for example, if the preferred reservation is not available or conflicts with another reservation from a different source.

図5~図7は、本明細書で説明する技術を使用するための例示的な処理500、600、および700を示す。例示を容易にするために、処理500、600、および700は、サービスプロバイダ102、商人デバイス300、ユーザデバイス400、および/またはユーザデバイスとすることができる第三者サービスデバイスなど、本明細書で説明するコンピューティングデバイスによって実行されるものとして説明することができる。しかしながら、処理500、600、および700は、他のデバイスによって実行されてもよい。さらに、デバイスは、他の処理を実行するために使用されてもよい。 5-7 show example processes 500, 600, and 700 for using the techniques described herein. For ease of illustration, the processes 500, 600, and 700 may be described as being performed by a computing device described herein, such as a service provider 102, a merchant device 300, a user device 400, and/or a third party service device, which may be a user device. However, the processes 500, 600, and 700 may be performed by other devices. Additionally, the devices may be used to perform other processes.

処理500、600、および700(ならびに本明細書で説明される各処理)は論理フローグラフとして示され、その各動作は、ハードウェア、ソフトウェア、またはそれらの組合せで実装され得る動作のシーケンスを表す。ソフトウェアの文脈では、動作は、1つ以上のプロセッサによって実行されるときに、その動作を実行する1つ以上のコンピュータ可読記憶媒体上に記憶されたコンピュータ可読命令を表す。一般に、コンピュータ可読命令は、特定の機能を実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作が説明される順序は限定として解釈されることを意図されておらず、説明される動作の任意の数は処理を実施するために任意の順序および/または並列に組み合わせることができる。さらに、説明された動作の任意の数は省略されてもよい。いくつかの例では、デバイスまたはサービスプロバイダによって実行されるものとして、処理500、600、および/または700で説明される動作は、デバイスまたはサービスプロバイダ上で実行されるアプリケーションによって実行され得る。 Processes 500, 600, and 700 (as well as each process described herein) are illustrated as a logical flow graph, each operation of which represents a sequence of operations that may be implemented in hardware, software, or a combination thereof. In the context of software, an operation represents computer-readable instructions stored on one or more computer-readable storage media that, when executed by one or more processors, perform the operation. Generally, computer-readable instructions include routines, programs, objects, components, data structures, etc. that perform a particular function or implement a particular abstract data type. The order in which the operations are described is not intended to be construed as limiting, and any number of the described operations can be combined in any order and/or in parallel to perform the process. Furthermore, any number of the described operations may be omitted. In some examples, the operations described in processes 500, 600, and/or 700 as being performed by a device or service provider may be performed by an application running on the device or service provider.

図5は、サービスプロバイダ102によって提供される他のサービスに関連する第三者のサービスをエンティティが使用できるようにするために、1つ以上のAPIを公開する例示処理500を説明している。 FIG. 5 illustrates an example process 500 for exposing one or more APIs to enable an entity to use a third-party service that is related to other services provided by the service provider 102.

502において、サービスプロバイダ102は、サービスプロバイダ102のコンセンサスサービス207とインタフェースする配送サービスの配送リソースへのアクセスをコンピューティングデバイスに提供するために、1つ以上のAPIを公開することができる。例えば、サービスプロバイダ102は、複数の配送プラットフォームによって商人によって提供されるアイテムの配送を容易にするために、商人および/または顧客に関連付けられたコンピューティングデバイスに1つ以上のAPIを公開することができる。 At 502, the service provider 102 can expose one or more APIs to provide computing devices with access to delivery resources of a delivery service that interfaces with the consensus service 207 of the service provider 102. For example, the service provider 102 can expose one or more APIs to computing devices associated with merchants and/or customers to facilitate delivery of items offered by the merchants through multiple delivery platforms.

504において、サービスプロバイダ102は、1つ以上のAPIを介して、アイテムの配送に関する要求を受信することができる。要求は、商人または顧客に関連するコンピューティングデバイスから受信されてもよい。要求は、配送の位置、ピックアップの位置、ピックアップの要求された時間、取得されるアイテムの数、アイテムのサイズ、アイテムが所定のカテゴリに関連付けられているかどうか、アイテムの重量などを示すことができる。場合によっては、要求は、商人または顧客に関連付けられたコンピューティングデバイス上で実行可能なアプリケーションから受信される。要求は、任意のタイプのアイテムの配送に対するものであってもよい。一例では、アイテムは、顧客とのアイテムの取得を容易にする商人アプリケーション(例えば、一般大衆が利用できない可能性がある独自の商人アプリケーション)で構成されたコンピューティングデバイス(例えば、タブレットなど)とすることができる。ここで、要求は、サービスプロバイダによって提供される購入リソースを使用するために、商人をサービスプロバイダにオンボードする(例えば、登録する)ために、商人にアイテムを配送することを求めることができる。購入リソースは、商人が配送されたコンピューティングデバイスと対話するときに使用されてもよい。他の例では、アイテムは、他のタイプのアイテムであってもよい。 At 504, the service provider 102 may receive a request for delivery of an item via one or more APIs. The request may be received from a computing device associated with the merchant or customer. The request may indicate a location of delivery, a location of pickup, a requested time of pickup, a number of items to be retrieved, a size of the items, whether the items are associated with a given category, the weight of the items, etc. In some cases, the request is received from an application executable on a computing device associated with the merchant or customer. The request may be for delivery of any type of item. In one example, the item may be a computing device (e.g., a tablet, etc.) configured with a merchant application (e.g., a proprietary merchant application that may not be available to the general public) that facilitates the retrieval of the item with the customer. Here, the request may ask the merchant to deliver the item in order to onboard (e.g., register) the merchant with the service provider to use purchasing resources provided by the service provider. The purchasing resources may be used when the merchant interacts with the delivered computing device. In other examples, the item may be other types of items.

506において、サービスプロバイダ102は、複数の第三者サービスから複数の注文が受信された場合、アイテムの配送また注文のスケジューリングに関する配送提案を生成することができる。配送提案は、サービスプロバイダ102に関連付けられた配送サービスによるアイテムの配送のためのコスト、配送サービスによるアイテムの配送のための推定時間量、アイテムの配送のための推定ピックアップ時間、アイテムの配送のための推定ドロップオフ時間などを含むことができる。場合によっては、サービスプロバイダ102は、第三者サービスの現在の位置、アイテムのピックアップ位置、アイテムのドロップオフ位置、アイテムに関連付けられた商人によるアイテムの推定準備時間などに基づいて、アイテム(または配送提案内の任意の他の情報)の配送コストを判定することができる。配送提案はまた、キッチンディスプレイシステムのための一連の注文を含むことができ、その結果、商人は、それに応じて注文準備を調整することができる。 At 506, the service provider 102 may generate a delivery proposal for delivery of the item or scheduling of the order if multiple orders are received from multiple third party services. The delivery proposal may include a cost for delivery of the item by a delivery service associated with the service provider 102, an estimated amount of time for delivery of the item by the delivery service, an estimated pick-up time for delivery of the item, an estimated drop-off time for delivery of the item, etc. In some cases, the service provider 102 may determine the cost of delivery of the item (or any other information in the delivery proposal) based on the current location of the third party service, the pick-up location of the item, the drop-off location of the item, an estimated preparation time of the item by the merchant associated with the item, etc. The delivery proposal may also include a series of orders for the kitchen display system so that the merchant can adjust order preparation accordingly.

508において、サービスプロバイダ102は、商人またはユーザに関連付けられたコンピューティングデバイスなどのコンピューティングデバイスに配送提案を送信することができる。 At 508, the service provider 102 may send the delivery offer to a computing device, such as a computing device associated with a merchant or user.

510において、サービスプロバイダ102は、1つ以上のAPIを介して、配送提案の受諾または拒否のインジケーション(指標、指示)を受信することができる。受諾または拒否のインジケーションは、商人またはユーザに関連付けられたコンピューティングデバイスから受信され得る。 At 510, the service provider 102 can receive an indication of acceptance or rejection of the delivery offer via one or more APIs. The indication of acceptance or rejection can be received from a computing device associated with the merchant or user.

512において、サービスプロバイダ102は、第三者サービスデバイスから配送人の位置情報を受信することができる。位置情報は、商人または顧客と通信するために使用されるAPIとは異なるAPIを介して、非APIチャネルを介してなど、任意の時間に受信することができる。位置情報は、第三者サービスデバイスの現在の位置を識別することができる。 At 512, the service provider 102 can receive the courier location information from the third-party service device. The location information can be received at any time, such as through an API different from the API used to communicate with the merchant or customer, through a non-API channel, etc. The location information can identify the current location of the third-party service device.

514において、サービスプロバイダ102は、アイテムを移送するために、いくつかの第三者サービスの中から第三者サービスを識別することができる。多くの場合、そのような識別は、配送提案の受諾のインジケーション(指標、指示)を受信することに応答して実行され得る。第三者サービスデバイスは、位置情報において識別された第三者サービスデバイスの位置などの様々な情報に基づいて識別され得る。 At 514, the service provider 102 may identify a third party service from among several third party services to transport the item. Often, such identification may be performed in response to receiving an indication of acceptance of the delivery offer. The third party service device may be identified based on various information, such as the location of the third party service device identified in the location information.

516において、サービスプロバイダ102は、アイテムを移送するために第三者サービスデバイスに通信を送信することができる。通信は、関連する第三者サービスがピックアップ位置からアイテムを取得し、そのアイテムを配送の位置に移送することを要求することができる。通信は、配送提案の要求の中の情報、配送提案の中の情報など、配送に関する様々な情報を含むことができる。通信は、商人または顧客との通信に使用されるものとは異なるAPI を介して、非API チャネルなどを介して送信される場合がある。いくつかの例では、サービスプロバイダ102は、第三者サービスがアイテムを配送することを示す第三者サービスデバイス指示から受諾のインジケーション(指標、指示)を受信することができる。 At 516, the service provider 102 can send a communication to the third party service device to transport the item. The communication can request that the associated third party service retrieve the item from the pickup location and transport the item to a location for delivery. The communication can include various information regarding the delivery, such as information in a request for delivery offer, information in a delivery offer, etc. The communication may be sent via a different API than that used to communicate with the merchant or customer, via a non-API channel, etc. In some examples, the service provider 102 can receive an indication of acceptance from the third party service device indicating that the third party service will deliver the item.

518において、サービスプロバイダ102は、位置情報および/または配送情報を受信することができる。位置情報および/または配送情報は、第三者サービスデバイスおよび/または商人デバイスから受信され得る。多くの場合、そのような情報は、配送が開始された後に受信され得る。位置情報は一般に、第三者サービスの位置を示すことができる。配送情報は、例えば、第三者サービスの位置を示す第三者サービスからの入力、アイテムがピックアップされたことを示す第三者サービスまたは商人からの情報などを含むことができる。 At 518, the service provider 102 may receive location information and/or delivery information. The location information and/or delivery information may be received from a third party service device and/or a merchant device. Often, such information may be received after delivery has been initiated. The location information may generally indicate the location of the third party service. The delivery information may include, for example, input from the third party service indicating the location of the third party service, information from the third party service or merchant indicating that the item has been picked up, etc.

520において、サービスプロバイダ102は、配送されているアイテムの配送のステータスを判定することができる。配送のステータスは、822で受信された位置情報および/または配送情報に基づくことができる。 At 520, the service provider 102 can determine the status of the delivery of the item being delivered. The status of the delivery can be based on the location information and/or the delivery information received at 822.

522において、サービスプロバイダ102は、商人または顧客に関連するコンピューティングデバイスに配送ステータスを送信することができる。コンピューティングデバイスは、商人または顧客への配送ステータスを表示することができる。 At 522, the service provider 102 can transmit the delivery status to a computing device associated with the merchant or customer. The computing device can display the delivery status to the merchant or customer.

場合によっては、サービスプロバイダ102は、複数のチャネル、または第三者サービスのような複数のソースを介して注文を受信することができる。注文が非商人チャネルを介して(例えば、顧客から直接)受信される場合、サービスプロバイダ102は、商人と通信して、商人が注文を履行することを要求することができる。商人によって受諾された場合、商人は受諾のインジケーション(指標、指示)を送信することができ、サービスプロバイダ102は、第三者サービスによる配送を容易にすることを進めることができる。さらに、配送のステータスは、進行中の任意の数の配送について判定されてもよい。場合によっては、単一の商人または顧客を伴う複数のアイテムに対する複数のステータスが判定され、商人デバイスまたは顧客デバイスに送信されてもよい。 In some cases, the service provider 102 may receive an order through multiple channels, or multiple sources, such as a third-party service. If the order is received through a non-merchant channel (e.g., directly from a customer), the service provider 102 may communicate with the merchant to request that the merchant fulfill the order. If accepted by the merchant, the merchant may send an indication of acceptance, and the service provider 102 may proceed to facilitate delivery by the third-party service. Additionally, the status of a delivery may be determined for any number of deliveries in progress. In some cases, multiple statuses for multiple items with a single merchant or customer may be determined and transmitted to a merchant device or customer device.

図6は、1つ以上のAPIを介してサービスプロバイダ102と通信し、サービスプロバイダ102と統合された第三者サービスを使用してコンセンサスサービスを使用したアクションを調整するための例の処理600を示す。処理600は、商人または顧客に関連付けられたコンピューティングデバイスなどの取得デバイスによって実行されるという文脈で説明される。 FIG. 6 illustrates an example process 600 for coordinating actions using a consensus service with a third party service that communicates with a service provider 102 via one or more APIs and is integrated with the service provider 102. The process 600 is described in the context of being performed by an acquisition device, such as a computing device associated with a merchant or a customer.

602において、取得デバイスは、図1のアイテム取得インタフェース120などのインタフェースを提供することができる。これには、ディスプレイを介してアイテム取得インタフェースを表示することが含まれる。インタフェースは、ユーザがアイテムの注文を行うことを可能にしてもよい。インタフェースはまた、商人が注文を見ることを可能にするキッチンディスプレイシステムであってもよく、注文はそれらが準備されるべき順序で、アイテムごとに分類され、その結果、同様のアイテムが、内部キッチン目的のために新しいチケットを作成するために集められてもよく、もはや利用可能でないアイテムのためのフローを変更するなどであってもよい。インタフェースは、どの予約が予約され、どのソースから予約されているかを示す、空いているおよび利用不可能な予約のインタフェースにもなり得る。インタフェースはまた、商人において現在利用可能なアイテムのインタフェースであってもよく、商人は、利用可能性、人気、商人の位置などに基づいて、リアルタイムでメニューを変更することができる。 At 602, the acquisition device can provide an interface, such as item acquisition interface 120 of FIG. 1. This includes displaying the item acquisition interface via a display. The interface may allow the user to place an order for items. The interface may also be a kitchen display system that allows the merchant to view orders, sorted by item, in the order in which they should be prepared, so that similar items may be collected to create new tickets for internal kitchen purposes, change flows for items that are no longer available, etc. The interface may also be an interface of available and unavailable reservations, showing which reservations are booked and from which source. The interface may also be an interface of items currently available at the merchant, allowing the merchant to modify the menu in real time based on availability, popularity, merchant location, etc.

604において、取得デバイスは、取得のためのアイテムの選択を受信することができる。例えば、ユーザ(例えば、商人、顧客等)は、商品を電子ショッピングカートに入れて、商人からアイテムを購入する意図を示すことができる。場合によっては、ユーザが配送の場所、ピックアップの位置、ピックアップの要求時間、取得されるアイテムの数、アイテムのサイズ、アイテムが所定のカテゴリに関連付けられているかどうか、アイテムの重量などの他の情報を提供することもできる。他の例では、そのような情報は、自動的に判定されてもよい。要求される他の種類の情報は、注文照合の要求、注文順序付けの要求、または商人によってトリガされるか又はサーバによって自動的にトリガされる注文コンセンサスの要求であってもよい。 At 604, the acquisition device may receive a selection of items for acquisition. For example, a user (e.g., a merchant, a customer, etc.) may place items in an electronic shopping cart to indicate intent to purchase items from a merchant. In some cases, the user may also provide other information, such as a location of delivery, a location of pickup, a requested time of pickup, the number of items to be acquired, the size of the items, whether the items are associated with a given category, the weight of the items, etc. In other examples, such information may be determined automatically. Other types of information requested may be a request for order matching, a request for order sequencing, or a request for order consensus triggered by the merchant or automatically triggered by the server.

606において、取得デバイスは、アイテムの配送に関する情報が要求されていることを決定することができる。これは、アイテムを配送させることへの関心を示す入力をユーザから受信すること、顧客の位置と商人の位置との間の距離を識別すること(例えば、距離が閾値よりも大きい場合、配送が要求されていると判定すること)などを含むことができる。いくつかの例では、配送情報は、各注文に対して要求されていることが自動的に判定されてもよい。 At 606, the capture device can determine that information regarding delivery of the items is requested. This can include receiving input from a user indicating an interest in having the items delivered, identifying a distance between the customer's location and the merchant's location (e.g., determining that delivery is requested if the distance is greater than a threshold), etc. In some examples, delivery information may be automatically determined to be requested for each order.

608において、取得デバイスは、サービスプロバイダ102に関連付けられた1つ以上のAPIを介して、サービスプロバイダ102に、アイテムの配送に関する要求を送信することができる。当該要求は、配送提案を要求することができる。場合によっては、要求は、配送の位置、ピックアップの位置、ピックアップの要求された時間、取得されるアイテムの数、アイテムのサイズ、アイテムが所定のカテゴリに関連付けられているかどうか、アイテムの重量などを示すことができる。配送提案はまた、予約提案、第三者サービス間で予約割当数をどのように分配するか、第三者サービス間で注文の受諾または配送をどのように分配するか、第三者サービスから受信した注文をどのように順序付けるか、およびメニュー更新、注文更新などの注文に対する更新をどのように送信または受信するかを含む。 At 608, the acquisition device can send a request to the service provider 102 via one or more APIs associated with the service provider 102 for delivery of the items. The request can request delivery suggestions. In some cases, the request can indicate a delivery location, a pickup location, a requested time of pickup, the number of items to be picked up, the size of the items, whether the items are associated with a given category, the weight of the items, etc. The delivery suggestions can also include reservation suggestions, how to distribute reservation quotas among third party services, how to distribute order acceptance or delivery among third party services, how to sequence orders received from third party services, and how to send or receive updates to orders, such as menu updates, order updates, etc.

610において、取得デバイスは、サービスプロバイダ102から配送提案を受信することができる。配送提案は、サービスプロバイダ102に関連付けられた配送サービスによるアイテムの配送のためのコスト、アイテムの配送のための推定時間量、アイテムの配送のための推定ピックアップ時間、アイテムの配送のための推定ドロップオフ時間などを示すことができる。 At 610, the acquisition device can receive a delivery offer from the service provider 102. The delivery offer can indicate a cost for delivery of the item by a delivery service associated with the service provider 102, an estimated amount of time for delivery of the item, an estimated pick-up time for delivery of the item, an estimated drop-off time for delivery of the item, etc.

612において、取得デバイスは、配送提案が受諾されるか、または拒否されるかを判定し得る。いくつかの例では、取得デバイスは、配送提案内に含まれる情報(例えば、アイテムの配送のためのコスト、アイテムの配送のための推定時間量など)を表示し、配送提案の受諾に関するユーザ入力を受信することができる。他の例では、取得デバイスは、1つ以上の基準が満たされたときに、配送提案を受諾するか、または拒否するかを自動的に判定することができる。したがって、取得デバイスは、場合によっては、配送提案の情報を表示することを控えることができる。 At 612, the acquiring device may determine whether the delivery offer is accepted or rejected. In some examples, the acquiring device may display information contained within the delivery offer (e.g., the cost for delivery of the items, the estimated amount of time for delivery of the items, etc.) and receive user input regarding acceptance of the delivery offer. In other examples, the acquiring device may automatically determine whether to accept or reject the delivery offer when one or more criteria are met. Thus, the acquiring device may, in some cases, refrain from displaying information in the delivery offer.

614において、取得デバイスは、サービスプロバイダ102に関連付けられた1つ以上のAPIを介して、配送提案の受諾または拒否のインジケーション(指標、指示)をサービスプロバイダ102に送信することができる。これにより、サービスプロバイダ102は、アイテムの配送を容易にすることができる。いくつかの例では、顧客が配送に対して課金されてもよく、他の例では、商人または他の商人が課金されてもよい。 At 614, the acquisition device can send an indication of acceptance or rejection of the delivery offer to the service provider 102 via one or more APIs associated with the service provider 102. This allows the service provider 102 to facilitate delivery of the item. In some examples, the customer may be charged for the delivery, and in other examples, the merchant or another merchant may be charged.

616において、取得デバイスは、配送ステータス処理を実行することができる。例えば、取得デバイスは、サービスプロバイダ102に関連する1つ以上のAPIを介して、アイテムの配送ステータスの要求を送信することができる。その後、取得デバイスは、サービスコンピューティングデバイス102から、アイテムの配送のステータスを受信し、配送のステータスを表示することができる。他の例では、配送のステータスは、(例えば、第三者サービスがアイテムをピックアップしたことを知ることに基づいて)商人デバイスにおいて判定されてもよく、配送のステータスは、顧客デバイスに送信されてもよい。 At 616, the acquiring device can perform delivery status processing. For example, the acquiring device can send a request for the delivery status of the item via one or more APIs associated with the service provider 102. The acquiring device can then receive the status of the delivery of the item from the service computing device 102 and display the status of the delivery. In other examples, the status of the delivery may be determined at the merchant device (e.g., based on knowing that a third-party service has picked up the item) and the status of the delivery may be sent to the customer device.

図7は、アイテムの配送、空いている/競合する座席の予約、メニュー更新などに関して第三者サービスまたは商人デバイスに通知するための例示的な処理700を示す。 Figure 7 shows an example process 700 for notifying third party services or merchant devices regarding item delivery, available/conflicting seat reservations, menu updates, etc.

702において、第三者サービスデバイスは、ユーザデバイスなどの第三者サービスデバイスの地理的位置を判定することができる。地理的位置は、衛星ベースのセンサ(例えば、全地球測位システム(GPS)、セルタワー無線、ワイヤレスアクセスポイント無線、無線ビーコン位置センサなど)などの、第三者サービスデバイスの位置センサからのデータに基づいて判定されてもよい。 At 702, the third party service device can determine a geographic location of the third party service device, such as a user device. The geographic location may be determined based on data from a location sensor of the third party service device, such as a satellite-based sensor (e.g., Global Positioning System (GPS), cell tower radio, wireless access point radio, radio beacon location sensor, etc.).

704において、第三者サービスデバイスは、サービスコンピューティングデバイス102に位置情報を提供することができる。位置情報は、第三者サービスデバイスの地理的位置を示すことができる。位置情報は、定期的に、特定の時間に、要求に応じて、等々で提供されてもよい。 At 704, the third party service device can provide location information to the service computing device 102. The location information can indicate a geographic location of the third party service device. The location information may be provided periodically, at specific times, on demand, etc.

706において、第三者サービスデバイスは、アイテムの配送に関する通信をサービスプロバイダ102から受信することができる。例えば、通信は、第三者サービスデバイス500に関連付けられた第三者サービスが商人からアイテムを取得し、そのアイテムを顧客に移送することを求める要求を含むことができる。要求は、配送のための時間枠(例えば、配送時間)、配送すべきアイテムの数、配送のルート、商人の位置、または配送を行う際に有用であり得る任意の他の情報を指定し得る。 At 706, the third party service device may receive a communication from the service provider 102 regarding the delivery of the item. For example, the communication may include a request for a third party service associated with the third party service device 500 to obtain the item from a merchant and transport the item to the customer. The request may specify a time frame for the delivery (e.g., delivery time), the number of items to be delivered, the route for the delivery, the location of the merchant, or any other information that may be useful in making the delivery.

708において、第三者サービスデバイスは、アイテムが配送されることを要求する通知を提示することができる(例えば、商人の施設から取得され、配送位置に移送される)。通知は、ディスプレイ、スピーカなどを介して提示されてもよい。場合によっては、情報が、アイテムの配送を容易にする第三者サービスインタフェース(例えば、第三者サービスが配送を受諾すること、配送が行われたことを確認すること、追加の配送を要求することなどを可能にするインタフェース)を介して表示される。第三者サービスデバイス500は、1006で受信される通信に含まれる任意の情報を提示することができる。 At 708, the third party service device can present a notification requesting that the item be delivered (e.g., retrieved from the merchant's facility and transported to a delivery location). The notification may be presented via a display, speaker, etc. In some cases, information is displayed via a third party service interface that facilitates delivery of the item (e.g., an interface that allows the third party service to accept the delivery, confirm that the delivery has occurred, request additional deliveries, etc.). The third party service device 500 can present any information included in the communication received at 1006.

710において、第三者サービスデバイスは、第三者サービスからの入力を受信し、および/またはアイテムの配送に関する受諾または拒否を送信することができる。例えば、第三者サービスが顧客にアイテムを配送するタスクを受諾することを入力が示す場合、第三者サービスデバイス500は、そのようなタスクが受諾されたことを示す通信をサービスプロバイダ102に送信することができる。 At 710, the third party service device can receive input from the third party service and/or transmit an acceptance or rejection regarding delivery of the item. For example, if the input indicates that the third party service accepts the task of delivering the item to the customer, the third party service device 500 can transmit a communication to the service provider 102 indicating that such task has been accepted.

図8は、注文に関するステータス更新を提供するために、サービスプロバイダによって公開される1つ以上のAPIを介して通信する例示的な処理800を示す。図8では、図8の下部(1つ以上のサービスプロバイダAPI802によって確立された線の下)に示された要素は、サービスプロバイダ102などのサービスプロバイダによって実行される動作を表すことができる。 FIG. 8 illustrates an example process 800 for communicating via one or more APIs exposed by a service provider to provide status updates regarding an order. In FIG. 8, the elements illustrated at the bottom of FIG. 8 (below the line established by one or more service provider APIs 802) may represent operations performed by a service provider, such as service provider 102.

図8の例では、複数の第三者サービスを実行するユーザに関連するコンピューティングデバイス801は、商人デバイス106と関連する商人に発注された注文の生成または作成を可能にし、第三者サービスに関連するコンピューティングデバイス804は、商人デバイス106と関連する商人に発注された注文の生成または作成を可能にするユーザインタフェース806を実装する。810に示すように、サービスプロバイダから情報を要求することによって、入って来る注文またはユーザインタフェース806の左側にリストされた注文を取得することができる。812において、サービスプロバイダは、履行情報を取得し、かつ商人(会社A)の注文のそれぞれに割り当てられた第三者サービスの位置を判定することによって、注文のステータスを判定することができる。814において、サービスプロバイダは、ステータスに関する詳細を生成し、その詳細をユーザインタフェース1206の左側を介して表示するためにコンピューティングデバイス804に送信することができる。 In the example of FIG. 8, a computing device 801 associated with a user performing multiple third-party services enables the generation or creation of orders placed with a merchant associated with the merchant device 106, and a computing device 804 associated with the third-party services implements a user interface 806 that enables the generation or creation of orders placed with a merchant associated with the merchant device 106. As shown at 810, the incoming orders or orders listed on the left side of the user interface 806 can be obtained by requesting information from a service provider. At 812, the service provider can determine the status of the orders by obtaining fulfillment information and determining the location of the third-party services assigned to each of the merchant's (Company A) orders. At 814, the service provider can generate details regarding the status and send the details to the computing device 804 for display via the left side of the user interface 1206.

顧客は、コンピューティングデバイス801を使用して注文または注文要求を生成することができる。したがって、コンピューティングデバイス801上で実行される第三者サービス108を使用して、そのような注文をトリガすることができる。第三者アプリケーション108のような第三者アプリケーションは、ステータス更新エンドポイント、またはAPIエンドポイント819を配信することにより、サービスプロバイダ102とインタフェースして、注文826の詳細、注文がどこからでも受信された順のリスト内でどのようにスケジュールされるか、準備および配送824のステータスなどを取得する。また、サービスプロバイダは、例えば、ユーザが別の配送会社に属する配送人に近接していることに基づいて、注文ために使用されたものとは異なる会社によって配送される注文をスケジュールすることもできる。 A customer can generate an order or order request using a computing device 801. Thus, such an order can be triggered using a third party service 108 running on the computing device 801. A third party application, such as the third party application 108, can interface with the service provider 102 by delivering a status update endpoint, or API endpoint 819, to get details of the order 826, how the order is scheduled in the list in the order in which it was received from, the status of preparation and delivery 824, etc. The service provider can also schedule the order to be delivered by a different company than the one used for the order, for example, based on the user's proximity to a courier belonging to another delivery company.

商人に関連するコンピューティングデバイス802も示されている。ユーザインタフェース806の左側は、注文が出されるチャネル(例えば、電話、顧客アプリケーション、ウェブサイトなど)にかかわらず、商人に出されたすべての注文(または特定の数の注文)の比較的高レベルの情報を表示することができる。一方、ユーザインタフェースの右側には、選択された1つ以上の注文に関するより詳細な情報が表示されてもよい。ユーザインタフェース806の左側と右側は、線808によって分離されている。ユーザインタフェース806は、サービスプロバイダが複数のソースから受信された注文からリアルタイムで通知または更新をプッシュするキッチンディスプレイシステムのインタフェースであってもよい。インタフェース806はまた、サービスプロバイダ102によってスケジュールされるように、注文をリストし、ユーザの好み、利用可能性、および他のそのような要因による注文の管理を支援する。 A computing device 802 associated with the merchant is also shown. The left side of the user interface 806 may display relatively high level information of all orders (or a certain number of orders) placed with the merchant regardless of the channel through which the order is placed (e.g., telephone, customer application, website, etc.), while the right side of the user interface may display more detailed information regarding one or more selected orders. The left and right sides of the user interface 806 are separated by a line 808. The user interface 806 may be an interface for a kitchen display system where the service provider pushes notifications or updates in real time from orders received from multiple sources. The interface 806 also lists orders as they are scheduled by the service provider 102 and assists in managing orders according to user preferences, availability, and other such factors.

図示されるように、アイテムの配送に関するステータス情報は、1つ以上のサービスプロバイダAPI802を介してサービスプロバイダと通信することによって取得することができる。例えば、810に示されているように、ユーザインタフェース806の左側にリストされている注文のステータス情報は、サービスプロバイダに情報を要求することによって取得することができる。812において、サービスプロバイダは、履行情報を取得し、商人(会社A)の注文のそれぞれに割り当てられた第三者サービスの位置を判定することによって、注文のステータスを判定することができる。814において、サービスプロバイダは、ステータスに関する詳細を生成し、その詳細をユーザインタフェース806の左側を介して表示するためにコンピューティングデバイス804に送信することができる。 As shown, status information regarding the delivery of items can be obtained by communicating with a service provider via one or more service provider APIs 802. For example, as shown at 810, status information for orders listed on the left side of user interface 806 can be obtained by requesting the information from a service provider. At 812, the service provider can determine the status of the orders by obtaining fulfillment information and determining the location of third party services assigned to each of the merchant's (Company A) orders. At 814, the service provider can generate details regarding the status and send the details to the computing device 804 for display via the left side of user interface 806.

商人が、注文816のようなユーザインタフェース806の左側の特定の注文を選択する場合、その注文に特有のより詳細な情報がユーザインタフェース806の右側に表示されてもよい。特に、818に示すように、コンピューティングデバイス804は、選択された注文816に関する追加のステータス情報を要求してもよい。820において、サービスプロバイダは、履歴情報を取得し、選択された注文に割り当てられた第三者サービスの位置を判定することによって、選択された注文のステータスを判定することができる。822において、サービスプロバイダは、ステータスに関する詳細を生成し、その詳細をユーザインタフェース1206の右側を介して表示するためにコンピューティングデバイス804に送信することができる。場合によっては、右側に表示される詳細が左側に表示される詳細よりも具体的であってもよい。このように、商人は、様々なタイプのチャネルを介して発注された注文のステータス情報を多く見る。 When a merchant selects a particular order on the left side of the user interface 806, such as orders 816, more detailed information specific to that order may be displayed on the right side of the user interface 806. In particular, as shown at 818, the computing device 804 may request additional status information regarding the selected order 816. At 820, the service provider may determine the status of the selected order by retrieving historical information and determining the location of a third party service assigned to the selected order. At 822, the service provider may generate details regarding the status and send the details to the computing device 804 for display via the right side of the user interface 1206. In some cases, the details displayed on the right side may be more specific than the details displayed on the left side. In this manner, the merchant has more visibility into the status information of orders placed through various types of channels.

いくつかの例では、ボックス810は、サービスプロバイダの配送サービスによって現在配送されている商人のすべての注文(または特定の数の注文)に関するステータス情報を取得するためのAPIを表す。一方、ボックス818は、サービスプロバイダの配送サービスによって現在配送されている商人の特定の注文のステータス情報を取得するためのAPIを表してもよい。 In some examples, box 810 represents an API for obtaining status information regarding all orders (or a particular number of orders) of a merchant currently being delivered by the service provider's delivery service, while box 818 may represent an API for obtaining status information for a particular order of a merchant currently being delivered by the service provider's delivery service.

いくつかの例では、本出願は、最適化された注文スケジューリングを提供するためのシステムを開示し、このシステムは、1つ以上のプロセッサと、1つ以上のプロセッサによって実行可能な命令を記憶する1つ以上の非一時的なコンピュータ可読媒体とを含み、命令は、商人に関連付けられた販売時点管理デバイス上で実行される注文スケジューリングアプリケーションによって、第1の顧客対面注文アプリケーションから第1の注文を受信することであってと、第1の注文は、第1の顧客対面注文アプリケーションによって提供される住所に配送するために商人によって準備される1つ以上のメニューアイテムを含む、受信することと、第1の配送アプリケーションによって、商人のコンピューティングデバイスに、第1の配送アプリケーションが第1の注文をピックアップするための配送人または顧客の到着を推定する時間を示す推定ピックアップ時間を送信することと、第1の顧客対面アプリケーションに関わる過去の注文に基づいて、配送人または顧客が第1の注文をピックアップする可能性があるときの推定時間を示す予測ピックアップ時間を判定することと、第2の顧客対面注文アプリケーションから第2の注文を受信することであって、第2の注文は商人によって準備される1つ以上のメニューを含む、受信することと、第1の配送アプリケーションによって、商人のコンピューティングデバイスに、第2の配送アプリケーションが第2の注文をピックアップするために配送人または他の顧客の到着を推定する時間を示す推定ピックアップ時間を送信することと、第2の配送アプリケーションに関わる過去の注文に基づいて、配送人または顧客が第2の注文をピックアップする可能性がある時間を示す予測ピックアップ時間を判定することと、注文スケジューリングアプリケーションによって、第1の注文および第2の注文の予測ピックアップ時間に少なくとも部分的に基づいて注文の順序付きリストを生成することと、順序付きリストに従って注文を準備するために注文の順序付きリストをキッチンディスプレイシステムに送信することと、を含む動作を実行するように1つ以上のプロセッサをプログラムする。 In some examples, the present application discloses a system for providing optimized order scheduling, the system including one or more processors and one or more non-transitory computer-readable media storing instructions executable by the one or more processors, the instructions including receiving, by an order scheduling application executing on a point of sale device associated with a merchant, a first order from a first customer-facing ordering application, the first order including one or more menu items to be prepared by the merchant for delivery to an address provided by the first customer-facing ordering application; transmitting, by a first delivery application, to a computing device of the merchant, an estimated pick-up time indicating a time when the first delivery application estimates the arrival of a delivery person or customer to pick up the first order; and determining, based on past orders involving the first customer-facing application, when the delivery person or customer is likely to pick up the first order. The one or more processors are programmed to perform operations including: determining a predicted pickup time indicating an estimated time; receiving a second order from a second customer-facing ordering application, the second order including one or more menu items prepared by a merchant; transmitting, by the first delivery application to a computing device of the merchant, an estimated pickup time indicating a time when the second delivery application estimates the arrival of a delivery person or other customer to pick up the second order; determining a predicted pickup time indicating a time when the delivery person or customer is likely to pick up the second order based on past orders involving the second delivery application; generating, by the order scheduling application, an ordered list of orders based at least in part on the predicted pickup times of the first order and the second order; and transmitting the ordered list of orders to a kitchen display system for preparing the orders according to the ordered list.

図9は、サービスコンピューティングデバイス102またはコンセンサスサービスなどの関連するアプリケーションなどのサービスプロバイダの一例の例示的な処理を示し、コンテキストデータに基づいて、ユーザインタフェースなどのユーザインタフェース904のアイコン902を動的に修正(変更)する。たとえば、メニュー更新は、第三者サービスと商人との関係、アイテムの利用可能性または人気、およびその他のコンテキストデータに基づいて、第三者サービスに送信することができる。コンテキストデータは、サービスコンピューティングデバイス900の位置、時間、曜日、年の時間(例えば、季節)、天気、商人の在庫、商人の好み、顧客の好み、アップセルアイテムと見なされるアイテム、クロスセルアイテムと見なされるアイテム、商人によって提供される販売および/または特売、ならびにサービスコンピューティングデバイス900の使用に対応する様々な他のコンテキスト要因を含むことができる。コンテキストデータは、商人デバイスで、アプリケーションを介して、またはサーバレベルでの現在または履歴などのデータ分析を介して自動的に生成することができる。コンテキスト情報は、カートレベル情報である完全または不完全な注文要求を第三者アプリケーションから追跡することによって得ることができる。 9 illustrates an exemplary process of one example of a service provider, such as the service computing device 102 or an associated application, such as a consensus service, dynamically modifying (changing) icons 902 of a user interface, such as a user interface 904, based on contextual data. For example, menu updates can be sent to the third party service based on the third party service's relationship with the merchant, item availability or popularity, and other contextual data. The contextual data can include the location of the service computing device 900, the time, the day of the week, the time of year (e.g., season), the weather, the merchant's inventory, the merchant's preferences, the customer's preferences, items considered to be upsell items, items considered to be cross-sell items, sales and/or specials offered by the merchant, and various other contextual factors corresponding to the use of the service computing device 900. The contextual data can be generated automatically at the merchant device, via an application, or via data analysis, such as current or historical, at the server level. The contextual information can be obtained by tracking complete or incomplete order requests from the third party application, which is cart-level information.

906において、サービスコンピューティングデバイス900は、第1のコンテキストデータを判定し、コンテキストデータに基づいて第1のアイコン902(1)を表示する。第1のコンテキストデータは、サービスコンピューティングデバイス900の使用に対応する1つ以上の要因の分析に基づいて判定することができる。例示的な実施例では、分析は、時刻が朝食メニューに対応するという判定を含むことができる。この判定に基づいて、サービスコンピューティングデバイス900は、食事メニューに対応するアイコン902(1)の第1の設定を表示することができる。いくつかの例では、分析は、顧客の好みの分析と、朝食メニューなどの特定のメニューアイテムを顧客が好むという判定とを含むことができる。 At 906, the service computing device 900 determines first context data and displays a first icon 902(1) based on the context data. The first context data may be determined based on an analysis of one or more factors corresponding to a use of the service computing device 900. In an exemplary example, the analysis may include a determination that a time of day corresponds to a breakfast menu. Based on this determination, the service computing device 900 may display a first setting of the icon 902(1) corresponding to the meal menu. In some examples, the analysis may include an analysis of customer preferences and a determination that the customer prefers a particular menu item, such as a breakfast menu.

様々な例では、分析は、1つ以上のアイテムを強調するための判定を含むことができる。強調は、アイコン902のサイズ、形状、色および/または色相を増加させることによって、アイコン902の配置を変更することによって、またはアイコン902をディスプレイ上で目立たせるためのその他の調整によって提示することができる。強調は、商人の在庫、現在の天候、アイテムをアップセルしようとする試み、アイテムをクロスセルしようとする試み、商人によって提供される販売および/または特売、商人の取引履歴(例えば、ある時間に販売された既知の人気のあるアイテム、曜日、年の時間(例えば、季節)、販売されたアイテムの既知の人気のある組合せなど)に基づくことができる。 In various examples, the analysis may include a determination to highlight one or more items. The highlighting may be presented by increasing the size, shape, color, and/or hue of the icon 902, by changing the placement of the icon 902, or by other adjustments to make the icon 902 stand out on the display. The highlighting may be based on the merchant's inventory, the current weather, attempts to upsell the item, attempts to cross-sell the item, sales and/or specials offered by the merchant, the merchant's transaction history (e.g., known popular items sold at a time, days of the week, times of the year (e.g., seasons), known popular combinations of items sold, etc.).

[3] いくつかの例では、分析は、1つ以上のアイテムを強調解除する判定を含むことができる。アイテムの強調解除は、商人の在庫、現在の天気、クロスセルの試み、および/または商人が特定のアイテムの販売を思いとどまらせることができる他の要因に基づくことができる。強調解除は、表示ページから1つ以上のアイテムに対応するアイコン902を除去することによって提示することができる。様々な例において、ユーザインタフェース904は、複数の表示ページを含むことができる。いくつかの例では、強調解除は、メイン表示ページ以外の表示ページ上の1つ以上のアイテムに対応するアイコンを含めることによって提示することができる。たとえば、強調解除には、複数の表示ページの最後のページにアイコンを提示することを含めることができる。 [3] In some examples, the analysis may include a determination to de-highlight one or more items. De-highlighting of the items may be based on the merchant's inventory, current weather, cross-selling attempts, and/or other factors that may discourage the merchant from selling a particular item. The de-highlighting may be presented by removing the icon 902 corresponding to the one or more items from the display page. In various examples, the user interface 904 may include multiple display pages. In some examples, the de-highlighting may be presented by including an icon corresponding to the one or more items on a display page other than the main display page. For example, the de-highlighting may include presenting the icon on a last page of the multiple display pages.

様々な例において、サービスコンピューティングデバイス900は、コンテキスト要因に基づいて、1つ以上のアイテムを強調および/または強調解除するように動的に判定することができる。例えば、顧客が最後のマフィンを注文した場合、サービスコンピューティングデバイス900は、ユーザインタフェースからマフィンアイコンを除去することによってユーザインタフェース904を動的に修正し、それをペーストリーアイコンに置き換えることができる。 In various examples, the service computing device 900 can dynamically determine to highlight and/or de-highlight one or more items based on contextual factors. For example, if a customer orders a final muffin, the service computing device 900 can dynamically modify the user interface 904 by removing the muffin icon from the user interface and replacing it with a pastry icon.

908において、サービスコンピューティングデバイス900は、第2のコンテキストデータを判定し、コンテキストデータに基づいて第2のアイコン902(2)を表示する。様々な例において、第2のコンテキストデータは、午前メニューに対応する時間からランチメニューに対応する時間への時刻の変化を含むことができる。いくつかの例では、第2のコンテキストデータは、商人の位置に近いイベントの判定を含むことができ、あるいは商人の位置の画面に表示され、これは顧客によって注文される可能性が最も高いメニューアイテムに影響を与える可能性がある。そのような例では、サービスコンピューティングデバイス900は、アイコン902(1)をアイコン902(2)の第2の設定に動的に修正して、顧客の好みまたは外部環境(例えば、寒い/暑い日に熱い/冷たい飲料アイテムが推奨される)に対応することができる。例えば、商人は、通常、朝食から昼食メニューに午前11時に調整することができる。しかしながら、サービスコンピューティングデバイス900は、フットボールゲームが午前10時に開始し、フットボールゲーム中に、顧客がランチメニュー上のアイテムを消費することを好むと判定することができる。したがって、サービスコンピューティングデバイス900は、アイコン902の1つ以上をランチメニューアイテムに対応するものに調整してもよい。 At 908, the service computing device 900 determines second context data and displays a second icon 902(2) based on the context data. In various examples, the second context data may include a change in time of day from a time corresponding to a morning menu to a time corresponding to a lunch menu. In some examples, the second context data may include a determination of an event proximate to the merchant's location or displayed on a screen at the merchant's location that may affect the menu items most likely to be ordered by the customer. In such examples, the service computing device 900 may dynamically modify the icon 902(1) to a second setting of the icon 902(2) to accommodate a customer's preference or an external environment (e.g., hot/cold beverage items are recommended on a cold/hot day). For example, a merchant may normally adjust from a breakfast to a lunch menu at 11:00 a.m. However, the service computing device 900 may determine that a football game starts at 10:00 a.m. and that during the football game, customers prefer to consume items on the lunch menu. Thus, the service computing device 900 may adjust one or more of the icons 902 to those corresponding to lunch menu items.

いくつかの例では、サービスコンピューティングデバイス900がイベントが商人の近くで行われているか、または商人位置のディスプレイ画面上に提示されることになると判定することができ、イベントに基づいて1つ以上の販売および/または特売(たとえば、割引など)を生成することができる。このような例では、サービスコンピューティングデバイス900は、1つ以上の特売に対応するアイコン902を強調することができる。例えば、商人は、イベント中にハンバーガー及びアルコール飲料を特別に提供することができる。したがって、サービスコンピューティングデバイス900は、ハンバーガーおよびアルコール飲料に対応するアイコンを目立たせるように修正することができる。さらに、または代替として、サービスコンピューティングデバイスは、購入をさらに奨励するために、特定のアイテムが割引価格で提供されるという通知910を表示することができる。 In some examples, the service computing device 900 may determine that an event is occurring near a merchant or will be presented on a display screen at the merchant location, and may generate one or more sales and/or special offers (e.g., discounts, etc.) based on the event. In such examples, the service computing device 900 may highlight icons 902 corresponding to one or more special offers. For example, a merchant may be offering hamburgers and alcoholic beverages on special during an event. Thus, the service computing device 900 may modify the icons corresponding to the hamburgers and alcoholic beverages to make them more prominent. Additionally or alternatively, the service computing device may display a notification 910 that a particular item is offered at a discounted price to further encourage a purchase.

代替として、または追加として、アイコン902(1)を有する第1のインタフェースは、第1の第三者サービスに対応することができ、902(2)を有する第2のインタフェースは、第2の第三者サービスに対応することができ、商人は、メニューインタフェースに異なる更新を送信する。別の実施態様では、1つの第三者サービスと別の第三者サービスとの両方のためのインタフェースは同じであり、それは、同じ内容が第三者サービスに提示されることを意味する。メニューの基礎となるコンテキスト情報は、第三者サービスに関連するメニューで顧客の行動に結びついている可能性がある(すなわち、商人のためのサービスAのメニューは、同じ商人のためのサービスBのメニューとは異なるように編成されてもよい)。支払サービスのAPI は、その第三者サービスアプリケーション内で顧客とのやり取り/行動(メニュースクロールアクティビティ、ナビゲーション設定、注文履歴など) を収集するために使用することができる。注文履歴を見ると、支払サービスは、例えば、支払サービスまたはAPIがサービスAの顧客が典型的には前菜(アペタイザ)を注文し、サービスBの顧客が特定の商人からデザートを注文する傾向があると判定した場合、その情報を使用してメニューを再編成することができる。したがって、一実施形態では、支払サービスは、例えば、コンセンサスサービスが特定の期間中に追跡する注文アクティビティに基づいて(例えば、「第三者アプリケーションの大部分からの顧客が現在ステーキを注文しているか」というクエリに基づいて)、コンテンツ/メニューの更新をすべての第三者注文アプリケーションにプッシュアップすることができる。さらに、または代替として、支払サービスは、コンセンサスサービスが顧客の注文行動について学習するものに基づいて各第三者アプリケーションにカスタマイズされる固有のメニューを生成するように、メニューレイアウトを再編成するコンテンツ更新をプッシュアウトすることもできる。したがって、コンセンサスサービスは、配送サービスがアクセスできない現在のデータおよび履歴データから、収集、分析、比較、および学習を行う。さらに、コンセンサスサービスは、そうでなければ通信しない別個のサービスが、コンセンサスサービスによって作成された間接チャネルを介して通信することを可能にする。説明は、APIをチャネルの1つの形成であると説明するが、説明は、サービス間のチャネルの他の形成を、直接に、または支払サービスのような仲介サービスを介して、カバーするように拡張することができることを理解されたい。 Alternatively or additionally, a first interface with icon 902(1) can correspond to a first third party service and a second interface with icon 902(2) can correspond to a second third party service, with the merchant sending different updates to the menu interface. In another embodiment, the interface for both one third party service and another third party service is the same, meaning that the same content is presented to the third party service. The contextual information underlying the menus may be tied to customer actions in the menus associated with the third party services (i.e., a menu for service A for a merchant may be organized differently than a menu for service B for the same merchant). The API of the payment service can be used to collect customer interactions/behaviors (menu scroll activity, navigation preferences, order history, etc.) within its third party service application. Looking at order history, the payment service can use that information to reorganize the menus, for example, if the payment service or API determines that service A customers typically order appetizers and service B customers tend to order desserts from a particular merchant. Thus, in one embodiment, the payment service can push up content/menu updates to all third-party ordering applications based on, for example, the ordering activity that the consensus service tracks during a particular time period (e.g., based on the query, "are customers from most of the third-party applications currently ordering steaks?"). Additionally or alternatively, the payment service can also push out content updates that reorganize menu layouts to generate unique menus that are customized for each third-party application based on what the consensus service learns about customer ordering behavior. Thus, the consensus service collects, analyzes, compares, and learns from current and historical data that the delivery service does not have access to. Additionally, the consensus service allows separate services that would not otherwise communicate to communicate through an indirect channel created by the consensus service. While the description describes an API as one form of channel, it should be understood that the description can be extended to cover other forms of channels between services, either directly or through an intermediary service such as a payment service.

一部の実装において、最適化されたコンテンツ管理を提供するためのサーバシステムであって、前記システムは、1つ以上のプロセッサと、当該1つ以上のプロセッサによって実行可能な命令を記憶する1つ以上の非一時的なコンピュータ読み取り可能な媒体と、を備え、当該命令は、第1のサービスアプリケーションおよび第2のサービスアプリケーションのためのコンテンツ構造を受信することであって、コンテンツ構造は例えば、メニューがレイアウトされるまたはアイテムが価格設定される方法を含む、受信することと、商人に関連付けられた販売時点管理デバイス上で実行されるコンテンツ管理アプリケーションによって、コンテンツ更新が新しいメニューアイテム、削除されたメニューアイテムを含む第1の商人アプリケーションのための第1のコンテンツ更新又はレビューを受信することであって、第1のコンテンツ更新は第1のサービスアプリケーションのためのメニューなどのコンテンツになされた更新を含む、受信することと、コンテンツ更新を第1のサービスアプリケーションに送信することと、第2のサービスアプリケーションに、第1のサービスアプリケーションのコンテンツ更新に類似したコンテンツ更新を送信することと、等を含む処理ステップを実行する。 In some implementations, a server system for providing optimized content management includes one or more processors and one or more non-transitory computer-readable media storing instructions executable by the one or more processors, the instructions performing processing steps including receiving a content structure for a first service application and a second service application, the content structure including, for example, how menus are laid out or items are priced; receiving, by a content management application executing on a point of sale device associated with the merchant, a first content update or review for the first merchant application, the content update including new menu items, deleted menu items, the first content update including updates made to content such as menus for the first service application; sending the content update to the first service application; and sending a content update similar to the content update of the first service application to the second service application.

あるいは、サービスプロバイダは、コンテンツ管理アプリケーションによって、サービスアプリケーションおよび商人に基づいてコンテンツの構成された構造を生成することを含む。例えば、第1のサービスアプリケーションのためのアイテムの特定の注文および価格設定を有する第1のメニュー、および第2のサービスアプリケーションのためのアイテムの別の注文および価格設定を有する第2のメニューである。さらに、異なるアイテムは、異なる位置およびサービスアプリケーションで提供されてもよい。 Alternatively, the service provider may generate, via a content management application, a structured structure of content based on the service application and the merchant. For example, a first menu with a particular ordering and pricing of items for a first service application, and a second menu with a different ordering and pricing of items for a second service application. Furthermore, different items may be offered at different locations and service applications.

図10は、コンセンサスサービスを実行するサービスプロバイダ102または商人デバイス1008におけるコンセンサスサービス132上の予約の例示的なインタフェース1000である。図に示すように、予約は、リアルタイムで管理することができ、予約は、Yelp(著作権)、OpenTable(著作権)、Resy(著作権)などの予約サービスなどの複数のソースから受信される。 Figure 10 is an example interface 1000 of a reservation on the consensus service 132 at a service provider 102 or merchant device 1008 running the consensus service. As shown, reservations can be managed in real time and are received from multiple sources such as reservation services such as Yelp (Copyright), OpenTable (Copyright), Resy (Copyright), etc.

一部の実装では、サービスプロバイダ102は、商人デバイス1002のために受信した予約を割り当て、この予約は、API(図示せず)を介して、第1の予約アプリケーション1004-1および第2の予約アプリケーション1004-2を含む複数の予約アプリケーションから予約を受信するように構成される。APIは、例えば、様々な予約アプリケーションからのデータを集約するアグリゲータとして、支払サービスを容易にするために使用されてもよく、これらの第三者アプリケーションは、公開されたAPIを使用して商人に予約情報を送信する。例えば、コンセンサスサービスは、データを収集し、それに応じて予約を順序付けることができる。コンセンサスサービスはまた、サービスが各予約アプリケーションについて学習し、サービスが学習したことに基づいて、例えば機械学習モデルを介して、座席の一部を割り当てる履歴予約情報を活用することができる。例えば、キャンセルの頻度、そのアプリケーションを使用する顧客の平均到着時間、注文サイズなどの要因に基づいて、支払サービスは、座席を割り当てることができる。サービスプロバイダ102は、複数の予約を受信し、コンセンサスサービス132を実行して、入って来る予約を処理し、データベース1006に記憶された顧客プロファイルおよび/または商人プロファイルに基づいて、商人のためにそれらをスケジュールする。データベース1006は、顧客および商人の好みを格納し、予約がどのようにしてそれらの好みに最も一致するように構成され得るかを示す。例えば、コンセンサスサービス132は、利用可能性または顧客によって行われた過去の予約に応じて、予約1004-3を6:30から7PMに移動させることができる。同様に、予約1004-4は、特定の座席またはアイテムの利用可能性に応じて、8PMに割り当てることができる。例えば、いくつかのレストランは回転メニューを維持し、そのようなものとして、サービスプロバイダは、ユーザの同意によって、ユーザの食事の好みへのアクセスを提供されてもよい。したがって、予約は、ユーザまたは商人の介入なしに、より好ましいスポットに移動することができる。この本出願は、サービスプロバイダのような支払サービスによって、および第1の予約アプリケーションから、ある期間にわたって第1の予約アプリケーションを使用して行われた平均予約数に関連付けられた第1のデータを受信する;、支払サービスによって、および第2の予約アプリケーションから、ある期間にわたって第2の予約アプリケーションを使用して行われた平均予約数に関連付けられた第2のデータを受信する;、支払サービスによって、レストランにおける利用可能な座席に関するデータを受信する;、利用可能な座席から座席の第1の部分を、少なくとも第1のデータに基づいて、第1の予約アプリケーションに割り当てることであって、第1の予約アプリケーションの1つ以上のユーザは座席の第1の部分以下の座席を予約することができる、前記割り当てる;、利用可能な座席の第2の部分を、少なくとも第2のデータに基づいて、第2の予約アプリケーションに割り当てることであって、第2の予約アプリケーションの1以上ユーザが座席の他の部分以下の座席を予約することができる、前記割り当てる;、予約中に、少なくとも1以上のユーザは第1の予約アプリケーションを使用して座席を予約することができないことに応じて、第2の予約アプリケーション上で何れかの座席が利用可能であるかどうかを判定する;、第1の予約アプリケーションのインタフェースから第2の予約アプリケーションに顧客デバイスを移行させるための命令を提供する;、第2の予約アプリケーションを使用してレストラン内の座席の予約を示す入力を1以上のユーザから受信する;方法を開示している。 In some implementations, the service provider 102 allocates the received reservations for the merchant device 1002, which is configured to receive reservations from multiple reservation applications, including a first reservation application 1004-1 and a second reservation application 1004-2, via an API (not shown). The API may be used to facilitate a payment service, for example, as an aggregator that aggregates data from the various reservation applications, and these third-party applications send reservation information to the merchant using the exposed API. For example, a consensus service can collect data and order reservations accordingly. The consensus service can also leverage historical reservation information, where the service learns about each reservation application and allocates a portion of the seats based on what the service has learned, for example, via machine learning models. For example, the payment service can allocate seats based on factors such as frequency of cancellations, average arrival time for customers using that application, order size, etc. The service provider 102 receives multiple reservations and runs a consensus service 132 to process the incoming reservations and schedule them for merchants based on customer and/or merchant profiles stored in the database 1006. The database 1006 stores customer and merchant preferences and indicates how reservations can be configured to best match those preferences. For example, the consensus service 132 can move reservation 1004-3 from 6:30 to 7 PM, depending on availability or past reservations made by the customer. Similarly, reservation 1004-4 can be assigned to 8 PM, depending on availability of specific seats or items. For example, some restaurants maintain rotating menus, and as such, the service provider may be provided with access to the user's dining preferences, with the user's consent. Thus, the reservation can be moved to a more preferred spot without user or merchant intervention. The present application relates to a method for providing a method for booking a restaurant using a payment service, such as a service provider, comprising: receiving, by a payment service, such as a service provider, and from a first reservation application, first data associated with an average number of reservations made using the first reservation application over a period of time; receiving, by the payment service, and from a second reservation application, second data associated with an average number of reservations made using the second reservation application over a period of time; receiving, by the payment service, data regarding available seats at the restaurant; allocating a first portion of seats from the available seats to the first reservation application based on at least the first data, wherein one or more users of the first reservation application are able to reserve seats less than the first portion of seats. the allocating; allocating a second portion of the available seats to a second reservation application based on at least the second data, where one or more users of the second reservation application can reserve seats less than another portion of the seats; determining whether any seats are available on the second reservation application in response to at least one or more users being unable to reserve seats using the first reservation application during the reservation; providing instructions to transition a customer device from an interface of the first reservation application to the second reservation application; receiving input from one or more users indicating a reservation of seats in the restaurant using the second reservation application; a method is disclosed.

いくつかの実装形態では、最適化されたレストラン予約スケジューリングを提供するサーバシステムは、1つ以上のプロセッサと、1つ以上のプロセッサによって実行可能な命令を格納する1つ以上の非一時的なコンピュータ可読媒体とを備え、命令は、商人に関連付けられた販売時点管理デバイスを実行する予約スケジューリングアプリケーションによって、第1の顧客対面予約アプリケーションから第1の予約を受信することであって、第1の予約は、第1の顧客対面予約アプリケーションによって提供される住所に配送するための、商人によって準備される1つ以上のメニューアイテムを含む、受信することと、第1の配送アプリケーションによって、商人のコンピューティングデバイスに、第1の配送アプリケーションが第1の予約をピックアップするための配送人または顧客の到着を推定する時間を示す推定ピックアップ時間を送信することと、第1の顧客対面アプリケーションに関わる過去の予約に基づいて、配送人または顧客が第1の予約をピックアップする可能性があるときを示す予測ピックアップ時間を判定することと、予約スケジューリングアプリケーションによって、別の顧客から、第2の顧客対面予約アプリケーションから第2の予約を受信することであって、第2の予約は商人によって準備される1つ以上のメニューを含む、受信することと、第1の配送アプリケーションによって、商人のコンピューティングデバイスに、第2の配送アプリケーションが第2の予約をピックアップするために配送人または他の顧客の到着を推定する時間を示す推定ピックアップ時間を送信することと、第2の配送アプリケーションに関わる過去の予約に基づいて、配送人または顧客が第2の予約をピックアップする可能性がある時間を示す予測ピックアップ時間を判定することと、予約スケジューリングアプリケーションによって、第1の予約および第2の予約の予測ピックアップ時間に少なくとも部分的に基づいて、予約の順序リストを生成することと、順序リストに従って、予約の準備のために、キッチンディスプレイシステムに予約の順序リストを送信することと、を含む動作を実行するように1以上のプロセッサをプログラムする。 In some implementations, a server system that provides optimized restaurant reservation scheduling includes one or more processors and one or more non-transitory computer-readable media storing instructions executable by the one or more processors, the instructions including: receiving, by a reservation scheduling application executing on a point of sale device associated with a merchant, a first reservation from a first customer-facing reservation application, the first reservation including one or more menu items to be prepared by the merchant for delivery to an address provided by the first customer-facing reservation application; transmitting, by the first delivery application, to the merchant's computing device, an estimated pick-up time indicating a time when the first delivery application estimates the arrival of a delivery person or customer to pick up the first reservation; and determining, based on past reservations involving the first customer-facing application, a predicted pick-up time indicating when the delivery person or customer is likely to pick up the first reservation. receiving, by the appointment scheduling application, a second appointment from a second customer-facing appointment application from another customer, the second appointment including one or more menus prepared by the merchant; transmitting, by the first delivery application, to the merchant's computing device, an estimated pick-up time indicating a time when the second delivery application estimates the arrival of a delivery person or other customer to pick up the second appointment; determining, based on past appointments involving the second delivery application, a predicted pick-up time indicating a time when the delivery person or customer is likely to pick up the second appointment; generating, by the appointment scheduling application, an ordered list of appointments based at least in part on the predicted pick-up times of the first appointment and the second appointment; and transmitting, in accordance with the ordered list, the ordered list of appointments to a kitchen display system for preparation of the appointment.

実施形態は構造的特徴および/または方法論的動作に特有の言語で説明されてきたが、本開示は説明された特定の特徴または動作に必ずしも限定されないことを理解されたい。むしろ、特定の特徴および動作は、実施形態を実施する例示的な形態として本明細書に開示される。
Although the embodiments have been described in language specific to structural features and/or methodological acts, it is to be understood that the disclosure is not necessarily limited to the particular features or acts described. Rather, the specific features and acts are disclosed herein as exemplary forms of implementing the embodiments.
section

A.最適化された注文スケジューリングを提供するためのシステムであって、1つ以上のプロセッサと、前記1つ以上のプロセッサによって実行可能な命令を記憶する1つ以上の非一時的なコンピュータ可読媒体とを備え、前記命令は、第1の顧客対面注文アプリケーションからの第1の注文を、商人に関連付けられた販売地点(POS)デバイス上で実行する注文スケジューリングアプリケーションによって受信することであって、前記第1の注文は前記第1の顧客対面注文アプリケーションによって提供される住所への配送のために前記商人によって準備される1つ以上のメニューアイテムを含む、前記受信することと、サービスコンピューティングデバイスによって、前記第1の顧客対面アプリケーションを含む過去の注文に基づいて、配送人または前記顧客が前記第1の注文をピックアップする可能性が高い推定時間を示す予測ピックアップ時間を判定することと、前記注文スケジューリングアプリケーションによって、別の顧客から、第2の顧客対面注文アプリケーションから第2の注文を受信することであって、前記第2の注文は前記商人によって準備される1つ以上のメニューアイテムを含む、前記受信することと、サービスコンピューティングデバイスによって、前記第2の顧客対面注文アプリケーションを含む過去の注文に基づいて、前記配送人または前記顧客が前記第2の注文をピックアップする可能性が高い時間を示す予測ピックアップ時間を判定することと、前記サービスコンピューティングデバイスによって、前記第1の注文および前記第2の注文の前記予測ピックアップ時間に少なくとも部分的に基づいて、注文の順序付けられたリストを生成することと、前記注文スケジューリングアプリケーションに関連付けられたキッチンディスプレイシステムに、前記順序付けられたリストに従って前記注文を準備するための前記注文の前記順序付けられたリストを送信することと、を含む動作を実行するように前記1つ以上のプロセッサをプログラムする、システム。 A. A system for providing optimized order scheduling, comprising: one or more processors; and one or more non-transitory computer-readable media storing instructions executable by the one or more processors, the instructions including: receiving, by an order scheduling application executing on a point of sale (POS) device associated with a merchant, a first order from a first customer-facing ordering application, the first order including one or more menu items to be prepared by the merchant for delivery to an address provided by the first customer-facing ordering application; determining, by a service computing device, a predicted pickup time indicating an estimated time when a delivery person or the customer will likely pick up the first order based on past orders with the first customer-facing ordering application; and receiving, by the order scheduling application, a second order from another customer. A system that programs the one or more processors to perform operations including: receiving a second order from a customer-facing ordering application, the second order including one or more menu items to be prepared by the merchant; determining, by a service computing device, a predicted pick-up time indicating a time when the delivery person or the customer will likely pick up the second order based on past orders involving the second customer-facing ordering application; generating, by the service computing device, an ordered list of orders based at least in part on the predicted pick-up times of the first order and the second order; and transmitting the ordered list of orders to a kitchen display system associated with the order scheduling application for preparing the orders according to the ordered list.

B.コンピューティングデバイスに関連付けられたディスプレイを介して、前記顧客または前記商人のうちの少なくとも1つにインタフェースを提供し、前記インタフェースを介して、配送場所、ピックアップの場所、ピックアップの要求時間、取得されるアイテムの数、前記アイテムのサイズ、前記アイテムが所定のカテゴリに関連付けられているかどうか、または、前記アイテムの重量のうちの1つに基づいて注文の前記順序付けられたリストを受信し、前記アイテムの配送に関する情報が要求されていることを判定し、前記1つ以上のAPIを介して前記サービスコンピューティングデバイスに、前記アイテムの配送に関する要求を送信し、前記サービスコンピューティングデバイスから配送提案を受信し、配送提案が受諾されたことを判定し、前記アイテムの配送を容易にするために、前記1つ以上のAPIを介して前記配送提案の受諾の指標を送信するための、第三者サービスまたは前記商人のうちの少なくとも1つに関連付けられている前記コンピューティングデバイスの1つ以上のプロセッサによって実行可能なアプリケーションをさらに含む、節Aに記載のシステム。 B. The system of clause A further comprising an application executable by one or more processors of the computing device associated with at least one of a third party service or the merchant to provide an interface to at least one of the customer or the merchant via a display associated with a computing device, receive via the interface the ordered list of orders based on one of a delivery location, a pickup location, a requested time for pickup, a number of items to be retrieved, a size of the items, whether the items are associated with a predefined category, or a weight of the items, determine that information regarding delivery of the items is requested, transmit a request for delivery of the items to the service computing device via the one or more APIs, receive a delivery offer from the service computing device, determine that the delivery offer has been accepted, and transmit an indication of acceptance of the delivery offer via the one or more APIs to facilitate delivery of the items.

C.前記注文スケジューリングアプリケーションは、前記マーチャント商人に関連する付けられた前記コンピューティングデバイス、前記第三者サービスに関連付けられた前記コンピューティングデバイス、前記顧客に関連付けられたコンピューティングデバイスとインターフェースインタフェースするアプリケーションプログラムインターフェースインタフェース(API)を提供するようにさらに構成される、節A又はBに記載のシステム。 C. The system of clauses A or B, wherein the order scheduling application is further configured to provide an application program interface (API) for interfacing with the computing devices associated with the merchant, the computing devices associated with the third party service, and the computing devices associated with the customer.

D.前記サービスコンピューティングデバイス上でホストされるコンセンサスアプリケーションをさらに含み、前記コンセンサスアプリケーションは、前記第1の顧客対面注文アプリケーションおよび前記第2の顧客対面注文アプリケーションからそれぞれ前記第1の注文および前記第2の注文を受信し、前記コンセンサスアプリケーションは、前記キッチンディスプレイシステム上に表示するために前記第1の注文および前記第2の注文をスケジュールする、節A乃至Cの何れかに記載のシステム。 D. The system of any of clauses A-C, further comprising a consensus application hosted on the service computing device, the consensus application receiving the first order and the second order from the first customer-facing ordering application and the second customer-facing ordering application, respectively, and the consensus application scheduling the first order and the second order for display on the kitchen display system.

E.前記サービスコンピューティングデバイスは、前記第三者サービスに関連付けられた配送人のさらなる位置情報を受信し、前記配送人の位置情報に基づいて前記第1の注文または前記第2の注文を生成するために使用された前記第三者サービスとは異なる第三者サービスのうちの1つを識別し、前記識別された第三者サービスに前記アイテムの配送を割り当てる、ようにさらに構成される、節Bに記載のシステム。 E. The system of clause B, wherein the service computing device is further configured to: receive additional location information of a courier associated with the third party service; identify one of the third party services different from the third party service used to generate the first order or the second order based on the location information of the courier; and assign delivery of the item to the identified third party service.

F.サービスコンピューティングデバイスプロセッサと、前記サービスコンピューティングデバイスプロセッサと通信可能に接続されたサービスコンピューティングデバイス通信インタフェースとを備えるシステムであって、前記サービスコンピューティングデバイス通信インタフェースは、複数の第三者のサービスデバイスと1つ以上のネットワークを介して通信し、且つ、顧客または商人の少なくとも1つと関連付けられたコンピューティングデバイスと、1つ以上のアプリケーションプログラミングインタフェース(API)を介して前記1つ以上のネットワークを通じてさらに通信し、前記サービスコンピューティングデバイスは、前記サービスコンピューティングデバイスによって提供される前記1つ以上のAPIを介して、商人から取得されることを顧客によって指定されたアイテムの配送に関する要求を受信することであって、前記要求は、配送の位置、ピックアップの位置、ピックアップの要求された時間、取得されるアイテムの数、前記アイテムのサイズ、前記アイテムが所定のカテゴリに関連付けられているかどうか、または前記アイテムの重量のうちの少なくとも1つを示し、前記要求は、前記顧客又は前記商人の少なくとも1つと関連付けられた前記コンピューティングデバイス上で実行可能であるアプリケーションから前記1つ以上のAPIを介して受信される、前記受信することと、前記商人について、前記アイテムを準備して配送の前記位置に配送する配送提案を生成することであって、前記配送提案は、(a)前記第三者サービスデバイスに関連付けられた複数の前記第三者配送サービスの中からの好適な配送サービスであって、前記複数の第三者配送サービスは、前記サービスコンピューティングデバイスの前記1つ以上のAPIを介して前記商人と通信する、前記好適な配送サービスと、(b)前記商人が準備のために使用する前記要求を含む要求のシーケンスと、(c)前記配送サービスによる前記アイテムの配送の推定時間量、を含む、前記生成することと、前記1つ以上のAPIを使用して、前記好適な配送サービスと関連付けられている前記第三者サービスに、前記好適な配送サービスが前記商人の施設から前記アイテムを取得して前記アイテムを配送の前記位置に移送することを要求する通信を送信することと、をするように構成されるシステム。 F. A system comprising a service computing device processor and a service computing device communication interface communicatively connected to the service computing device processor, the service computing device communication interface communicating with a plurality of third party service devices over one or more networks and further communicating with a computing device associated with at least one of a customer or a merchant over the one or more networks via one or more application programming interfaces (APIs), the service computing device receiving a request for delivery of an item designated by a customer to be retrieved from a merchant via the one or more APIs provided by the service computing device, the request indicating at least one of a delivery location, a pickup location, a requested time of pickup, a number of items to be retrieved, a size of the items, whether the items are associated with a predetermined category, or a weight of the items, The system is configured to: receive the request via the one or more APIs from an application executable on the computing device associated with at least one of the customer or the merchant; generate a delivery proposal for the merchant to prepare and deliver the item to the location for delivery, the delivery proposal including (a) a preferred delivery service from among a plurality of third-party delivery services associated with the third-party service device, the plurality of third-party delivery services communicating with the merchant via the one or more APIs of the service computing device; (b) a sequence of requests including the request used by the merchant to prepare; and (c) an estimated amount of time for delivery of the item by the delivery service; and use the one or more APIs to send a communication to the third-party service associated with the preferred delivery service requesting that the preferred delivery service retrieve the item from the merchant's facility and transport the item to the location for delivery.

G.要求の前記シーケンスは、前記商人が前記要求を処理するシーケンスを含み、前記シーケンスは、時間、前記商人の位置、前記顧客の位置、前記配送を行うことができる配送人の位置、前記注文が受信された時間、商人プロファイル、顧客プロファイル、要求された前記アイテムの準備時間、および前記アイテムの利用可能性のうちの少なくとも1つに基づくものである、節Fに記載のシステム。 G. The system of claim F, wherein the sequence of requests includes a sequence in which the merchant processes the requests, the sequence being based on at least one of time, a location of the merchant, a location of the customer, a location of a courier capable of making the delivery, a time the order was received, a merchant profile, a customer profile, a preparation time for the requested item, and availability of the item.

H.1つ以上のプロセッサにより実行される場合に、前記1以上のプロセッサに、サービスコンピューティングデバイスに関連付けられた1つ以上の商人へのアクセスをコンピューティングデバイスに提供するために、前記サービスコンピューティングデバイスによって1つ以上のアプリケーションプログラミングインタフェース(API)を公開することと、前記商人に関連付けられた1つ以上のアクションを容易にすることができる1つ以上の第三者サービスへのアクセスをコンピューティングデバイスに提供するために、前記サービスコンピューティングデバイスによって、前記1つ以上のアプリケーションプログラミングインタフェースインタフェース(API)を公開することと、前記1つ以上のAPIを介して、前記商人および前記第三者サービスのコンピューティングデバイスから、前記商人に関連付けられた前記アクションを処理するための要求を受信することと、前記商人に関連付けられた前記アクションを容易にするためのアクション提案を生成することであって、前記アクション提案は、前記アクション内のステップが実行されるシーケンスを含む、前記生成することと、前記第三者サービスまたは前記商人に関連付けられた前記コンピューティングデバイスに前記アクション提案を送信することと、前記サービスプロバイダによって、前記1つ以上のAPIを介して、前記アクション提案に基づく支払いフローを構成することであって、前記支払いフローは、前記第三者サービスと前記商人との間のサブアクションの分配に基づくものである、前記構成することと、を含む動作を実行させる実行可能命令を記憶する1つ以上の非一時的なコンピュータ可読媒体。 H. One or more non-transitory computer-readable media storing executable instructions that, when executed by one or more processors, cause the one or more processors to perform operations including: exposing one or more application programming interfaces (APIs) by the service computing device to provide a computing device with access to one or more merchants associated with the service computing device; exposing the one or more application programming interfaces (APIs) by the service computing device to provide a computing device with access to one or more third party services that can facilitate one or more actions associated with the merchant; receiving requests from computing devices of the merchants and the third party services via the one or more APIs to process the actions associated with the merchants; generating action proposals to facilitate the actions associated with the merchants, the action proposals including a sequence in which steps within the actions are to be performed; transmitting the action proposals to the computing devices associated with the third party services or the merchants; and configuring, by the service provider via the one or more APIs, a payment flow based on the action proposals, the payment flow being based on a distribution of sub-actions between the third party services and the merchants.

I.1つ以上のアクションは、アイテムの配送、前記アイテムの準備、前記アイテムのキャンセル、注文の配送、前記注文の準備、前記注文のキャンセル、注文のマージ、前記注文の分割、顧客のための予約、顧客のためのアポイントメント、第三者サービスにわたるコンテンツの更新、前記アイテムの更新、前記注文の更新を含む、節Hに記載の1つ以上の非一時的なコンピュータ可読媒体。 I. One or more non-transitory computer readable media as described in clause H, wherein the one or more actions include delivering an item, preparing the item, canceling the item, delivering an order, preparing the order, canceling the order, merging orders, splitting the order, reserving for a customer, making an appointment for a customer, updating content across third party services, updating the item, and updating the order.

J.前記アクション提案は、前記アイテムの配送のための推定時間量、前記アイテムの配送のための推定ピックアップ時間、または前記アイテムの配送のための推定ドロップオフ時間のうちの少なくとも1つを示す配送提案である、節HまたはIのいずれかに記載の1つ以上の非一時的なコンピュータ可読媒体。 J. The one or more non-transitory computer-readable media of any of clauses H or I, wherein the action suggestion is a delivery suggestion indicating at least one of an estimated amount of time for delivery of the item, an estimated pick-up time for delivery of the item, or an estimated drop-off time for delivery of the item.

K.前記1つ以上のAPIを公開することは、前記1つ以上のAPIを商人に関連付けられたコンピューティングデバイスに公開して、前記商人が、前記商人による取得のために提供されるアイテムの配送を容易にすることを可能にすることを含む、節Hに記載の1つ以上の非一時的コンピュータ可読媒体。 K. One or more non-transitory computer-readable media as described in clause H, wherein exposing the one or more APIs includes exposing the one or more APIs to a computing device associated with a merchant to enable the merchant to facilitate delivery of an item offered for acquisition by the merchant.

L.前記動作は、前記1つ以上のAPIを介して、前記コンピューティングデバイスから、前記アイテムの配送ステータスの要求を受信することと、前記第三者サービスデバイスの位置情報を受信することと、前記第三者サービスによる前記アイテムの配送のステータスを判定することと、前記アイテムの配送の前記ステータスを前記コンピューティングデバイスに送信することと、をさらに含む、節Kに記載の1つ以上の非一時的なコンピュータ可読媒体。 L. The one or more non-transitory computer-readable media of clause K, wherein the operations further include receiving a request for a delivery status of the item from the computing device via the one or more APIs, receiving location information of the third party service device, determining a status of the delivery of the item by the third party service, and transmitting the status of the delivery of the item to the computing device.

M.前記動作は、前記1つ以上のAPIを介して、前記アイテムの取得を容易にするサービスに商人を登録するために他のアイテムを前記商人に配送するための他の要求を受信することとであって、前記他のアイテムは、顧客とのアイテムの取得を容易にする商人アプリケーションで構成され、前記他の要求は、前記他のアイテムの配送の位置を示す、前記受信することと、他の第三者サービスの位置に少なくとも部分的に基づいて前記他のアイテムを移送するために前記他の第三者サービスを識別することと、前記他の第三者サービスが前記他のアイテムの配送の前記位置に前記他のアイテムを配送することを要求する通信を、前記他の第三者サービスに関連付けられている他の第三者サービスデバイスへ送信することと、をさらに含む、節K又はLに記載の1つ以上の非一時的コンピュータ可読媒体。 M. One or more non-transitory computer-readable media as described in clauses K or L, wherein the operations further include receiving, via the one or more APIs, a further request to deliver another item to the merchant to enroll the merchant in a service that facilitates acquisition of the item, the other item being configured with a merchant application that facilitates acquisition of the item with a customer, the other request indicating a location for delivery of the other item; identifying the other third party service to transfer the other item based at least in part on the location of the other third party service; and sending a communication to a other third party service device associated with the other third party service requesting that the other third party service deliver the other item to the location for delivery of the other item.

N.前記動作は、前記商人および前記第三者サービスによって実行された現在および過去のアクションに関する訓練データを取得することと、前記アクション提案を生成するために、前記訓練データに基づいて機械学習モデルを訓練することと、をさらに含む、節H-Mの何れかに記載の1つ以上の非一時的なコンピュータ可読媒体。 N. One or more non-transitory computer-readable media as described in any of paragraphs H-M, wherein the operations further include obtaining training data regarding current and past actions performed by the merchant and the third-party service, and training a machine learning model based on the training data to generate the action suggestions.

O.インタフェースを表示するように構成されたディスプレイと、前記ディスプレイに通信可能に接続された1つ以上のプロセッサと、前記1つ以上のプロセッサに通信可能に接続され、前記1つ以上のプロセッサによって実行される場合に、前記1つ以上のプロセッサに、ディスプレイ上で、商人によって準備され、かつ第1の配送サービスの第1の配送人によって第1の顧客に配送するためにピックアップするための、第1の注文を受信することと、前記ディスプレイ上で、前記商人によって準備され、かつ第2の配送サービスの第2の配送人によって第2の顧客に配送するためにピックアップするための、第2の注文を受信することと、前記商人が前記第1の注文および前記第2の注文を準備すべきシーケンスを含む配送提案を、前記ディスプレイ上で受信することであって、前記シーケンスは、1つ以上のアプリケーションプログラムインタフェース(API)を介して、前記ディスプレイを有する前記システム、前記第1の配送サービス、および前記第2の配送サービスとインタフェースされたサービスコンピューティングデバイスによって生成される、前記受信することと、前記第1の注文または前記第2の注文におけるアイテムの利用可能性に基づいて、前記ディスプレイを通じて前記シーケンスを修正することと、前記サービスプロバイダへのAPI呼び出しを開始することによって、前記修正に基づいて支払いフローを生じさせることと、を含む動作を実行させる実行可能な命令を記憶するメモリと、を備えるシステム。 O. A display configured to display an interface; one or more processors communicatively connected to the display; and a method, when communicatively connected to the one or more processors and executed by the one or more processors, for receiving, on the display, a first order to be prepared by a merchant and picked up for delivery by a first courier of a first delivery service to a first customer; receiving, on the display, a second order to be prepared by the merchant and picked up for delivery by a second courier of a second delivery service to a second customer; and a sequence in which the merchant should prepare the first order and the second order. A system comprising: a memory storing executable instructions to perform operations including receiving a delivery offer on the display, the sequence being generated by a service computing device interfaced with the system having the display, the first delivery service, and the second delivery service via one or more application program interfaces (APIs); modifying the sequence through the display based on availability of items in the first order or the second order; and generating a payment flow based on the modification by initiating an API call to the service provider.

P.前記動作は、前記1つ以上のAPIを介して、前記サービスコンピューティングデバイスに、前記アイテムの配送ステータスを前記第1の配送サービスまたは前記第2の配送サービスに提供するためのトリガを送信することと、前記サービスコンピューティングデバイスから、前記アイテムの配送のステータスを受信することと、配送の前記ステータスを、前記第1の配送サービスまたは前記第2の配送サービスに送信することと、をさらに含む、節Oに記載のシステム。 P. The system of clause O, wherein the operations further include sending a trigger to the service computing device via the one or more APIs to provide a delivery status of the item to the first delivery service or the second delivery service, receiving a status of the delivery of the item from the service computing device, and sending the status of the delivery to the first delivery service or the second delivery service.

Q.前記システムは商人デバイスを備え、前記動作は、前記サービスコンピューティングデバイスから、他のアイテムの取得のための注文を受信することであって、前記他のアイテムは、前記第1の配送サービスの顧客デバイスを通じて取得のために選択されている、前記受信することと、前記注文の受諾を示すユーザ入力を受信することと、前記サービスコンピューティングデバイスへ前記注文の受諾の指標を送信することと、前記アイテムの配送の第1のステータスおよび前記他のアイテムの配送の第2のステータスを受信することと、配送の前記第1のステータスおよび配送の前記第2のステータスを、前記インタフェースを介して表示することと、をさらに含む、節O又はPに記載のシステム。 Q. The system of clause O or P, wherein the system includes a merchant device, and the operations further include receiving from the service computing device an order for acquisition of another item, the other item being selected for acquisition through a customer device of the first delivery service; receiving user input indicating acceptance of the order; sending an indication of acceptance of the order to the service computing device; receiving a first status of delivery of the item and a second status of delivery of the other item; and displaying the first status of delivery and the second status of delivery via the interface.

R.前記配送提案は、前記サービスコンピューティングデバイスとインタフェースされた配送サービスによる前記アイテムの配送のためのコスト、前記アイテムの配送のための推定時間量、前記アイテムの配送のための推定ピックアップ時間、または前記アイテムの配送のための推定ドロップオフ時間のうちの少なくとも1つを示す、節O-Qの何れかに記載のシステム。 R. The system of any of paragraphs O-Q, wherein the delivery proposal indicates at least one of a cost for delivery of the item by a delivery service interfaced with the service computing device, an estimated amount of time for delivery of the item, an estimated pick-up time for delivery of the item, or an estimated drop-off time for delivery of the item.

S.前記配送提案は、前記サービスコンピューティングデバイスに関連付けられた配送サービスによる前記アイテムの配送のためのコストのうちの少なくとも1つを示し、前記動作は、1つの注文においてアイテムのグループからアイテムを除去することであって、前記除去は、利用可能性、人気、腐敗、および時刻に基づくものである、前記除去することと、前記アイテムの配送のコストを前記インタフェースを介して表示させることと、前記アイテムの取得に関連付けられた顧客に、前記アイテムを除去した後の前記注文の配送のコストを請求することとを含む、節O-Rの何れかに記載のシステム。 S. The system of any of paragraphs O-R, wherein the delivery suggestion indicates at least one of a cost for delivery of the item by a delivery service associated with the service computing device, and the action includes removing an item from a group of items in an order, the removal being based on availability, popularity, spoilage, and time of day, causing the removal and the cost of delivery of the item to be displayed via the interface, and charging a customer associated with acquiring the item the cost of delivery of the order after removing the item.

T.前記動作は、前記第1の注文および前記第2の注文が実質的に同時に行われる場合にコンセンサスを提供することをさらに含む、節O-Sのいずれかに記載のシステム。 T. The system of any of paragraphs O-S, wherein the operations further include providing a consensus when the first order and the second order are placed substantially simultaneously.

U.最適化された予約スケジューリングを提供するためのシステムであって、1つ以上のプロセッサと、前記1つ以上のプロセッサによって実行可能な命令を記憶する1つ以上の非一時的なコンピュータ可読媒体とを備え、前記命令は、商人に関連付けられた販売時点管理デバイス上で実行される予約スケジューリングアプリケーションによって、顧客から、第1の顧客対面予約アプリケーションからの第1の予約要求を受信することであって、前記第1の予約要求は商人位置における予約の好適な時間を含む、前記受信することと、前記第1の顧客対面予約アプリケーションに関わる過去の注文に基づいて、サービスコンピューティングデバイスによって、前記顧客が前記第1の予約要求を好む可能性が高いと予測される座席を判定することと、前記予約スケジューリングアプリケーションによって、他の顧客から、第2の顧客対面予約アプリケーションからの第2の予約要求を受信することであって、前記第2の予約要求は前記商人位置における予約の他の好適な時間を含む、前記受信することと、前記第2の顧客対面予約アプリケーションに関わる過去の注文に基づいて、サービスコンピューティングデバイスによって、前記他の顧客が前記第2の予約要求を好む可能性が高いと予測される座席を判定することと、前記サービスコンピューティングデバイスによって、前記第1の予約要求および前記第2の予約要求に対応する前記予測される座席に少なくとも部分的に基づいて座席表を生成することと、前記予約スケジューリングアプリケーションに関連付けられたキッチンディスプレイシステムに、前記商人位置のテーブルレイアウトを前記座席表に従って構成させるための前記座席表を送信することと、を含む動作を実行するように前記1つ以上のプロセッサをプログラムする、システム。 U. A system for providing optimized appointment scheduling, comprising one or more processors and one or more non-transitory computer-readable media storing instructions executable by the one or more processors, the instructions including: receiving, by an appointment scheduling application executing on a point of sale device associated with a merchant, a first appointment request from a customer from a first customer-facing appointment application, the first appointment request including a preferred time for the appointment at a merchant location; determining, by a service computing device based on past orders involving the first customer-facing appointment application, a seat that is predicted to be likely to favor the first appointment request by the customer; and receiving, by the appointment scheduling application, a second customer-facing appointment request from another customer from a second customer-facing appointment application. receiving a second reservation request from a customer facing reservation application, the second reservation request including another preferred time for a reservation at the merchant location; determining, by a service computing device, seats that are predicted to be likely to be preferred by the other customer for the second reservation request based on past orders involving the second customer facing reservation application; generating, by the service computing device, a seating chart based at least in part on the predicted seats corresponding to the first reservation request and the second reservation request; and transmitting the seating chart to a kitchen display system associated with the reservation scheduling application to configure a table layout at the merchant location according to the seating chart.

V.第三者サービスまたは前記商人のうちの少なくとも1つに関連付けられたコンピューティングデバイスの1つ以上のプロセッサによって実行可能なアプリケーションであって、前記コンピューティングデバイスに関連付けられたディスプレイを介して、前記顧客または前記商人の少なくとも1つにインタフェースを提供することと、前記インタフェースを介して、予約を提供する代替商人、予約が要求された前記商人における座席オプション、前記予約のタイミング、および過去の座席選好に基づく前記要求された座席オプションとは異なる代替座席オプションの少なくとも1つに基づいて、前記座席表に対する更新を受信することと、前記座席表に関する情報が要求されたことを判定することと、前記1つ以上のAPIを介しておよび前記サービスコンピューティングデバイスによって、前記座席表に対する更新に関する前記要求に対する応答を送信することと、前記サービスコンピューティングデバイスから予約提案を受信することと、予約提案が受諾されたことを判定することと、前記1つ以上のAPIを介して、前記予約提案の受諾の指標を送信して、前記予約を容易にすること、を行うアプリケーションをさらに含む、節Uに記載のシステム。 V. The system of clause U further includes an application executable by one or more processors of a computing device associated with at least one of a third party service or the merchants, the application providing an interface to at least one of the customer or the merchants via a display associated with the computing device, receiving updates to the seating plan via the interface based on at least one of an alternative merchant offering a reservation, a seating option at the merchant for which a reservation is requested, a timing of the reservation, and an alternative seating option that differs from the requested seating option based on past seating preferences, determining that information regarding the seating plan has been requested, transmitting a response to the request for updates to the seating plan via the one or more APIs and by the service computing device, receiving a reservation proposal from the service computing device, determining that the reservation proposal has been accepted, and transmitting an indication of acceptance of the reservation proposal via the one or more APIs to facilitate the reservation.

W.前記予約スケジューリングアプリケーションは、前記商人に関連付けられた前記コンピューティングデバイス、前記第三者サービスに関連付けられた前記コンピューティングデバイス、前記顧客に関連付けられたコンピューティングデバイスとインタフェースするアプリケーションプログラムインタフェース(API)を提供するようにさらに構成される、節U又はVに記載のシステム。 W. The system of clauses U or V, wherein the appointment scheduling application is further configured to provide an application program interface (API) for interfacing with the computing devices associated with the merchant, the computing devices associated with the third party service, and the computing devices associated with the customer.

X.前記サービスコンピューティングデバイス上でホストされるコンセンサスアプリケーションをさらに含み、前記コンセンサスアプリケーションは、前記第1の顧客対面予約アプリケーションおよび前記第2の顧客対面予約アプリケーションからそれぞれ前記第1の予約要求および前記第2の予約要求を受信し、前記コンセンサスアプリケーションは、前記顧客の好みに基づいて前記第1の予約要求および前記第2の予約要求を処理する、節U-Wの何れかに記載のシステム。 X. The system of any of clauses U-W, further comprising a consensus application hosted on the service computing device, the consensus application receiving the first reservation request and the second reservation request from the first customer face-to-face booking application and the second customer face-to-face booking application, respectively, and the consensus application processing the first reservation request and the second reservation request based on the customer preferences.

Y.前記サービスコンピューティングデバイスは、前記予約要求に関連付けられた顧客のさらなる情報を受信し、前記予約が要求された前記商人とは異なる商人のうちの1つを識別し、前記識別に基づいて前記他の商人位置において座席を割り当てるようにさらに構成される、節Vに記載のシステム。 Y. The system described in clause V, wherein the service computing device is further configured to receive further customer information associated with the reservation request, identify one of the merchants different from the merchant for which the reservation is requested, and assign a seat at the other merchant location based on the identification.

Z.サービスコンピューティングデバイスプロセッサと、前記サービスコンピューティングデバイスプロセッサと通信可能に接続されたサービスコンピューティングデバイス通信インタフェースとを備えるシステムであって、前記サービスコンピューティングデバイス通信インタフェースは、複数の第三者のサービスデバイスと1つ以上のネットワークを介して通信し、且つ、顧客または商人の少なくとも1つと関連付けられたコンピューティングデバイスと、1つ以上のアプリケーションプログラミングインタフェース(API)を介して前記1つ以上のネットワークを通じてさらに通信し、前記サービスコンピューティングデバイスは、前記サービスコンピューティングデバイスによって提供される前記1つ以上のAPIを介して、前記商人との予約に関する要求を受信することであって、前記要求は、商人位置での予約の好適な時間を示す、前記受信することと前記商人に関連付けられたデバイス上での提示のために、顧客の好みに従って前記予約を設定するための予約提案を生成することであって、前記予約提案は、(a)複数の座席オプションの中からの商人位置における座席、(b)前記要求に対応する別のタイムスロット、および(c)商人位置が予約されているなら代替座席オプションを含む、前記生成することと、前記1つ以上のAPIを使用して、前記識別された第三者サービスに関連付けられている前記第三者サービスデバイスに、前記識別された第三者サービスが前記商人位置における座席を予約することを要求する通信を送信することと、を行うように構成されている、システム。 Z. A system comprising a service computing device processor and a service computing device communication interface communicatively connected to the service computing device processor, the service computing device communication interface communicating with a plurality of third party service devices over one or more networks and further communicating with a computing device associated with at least one of a customer or a merchant over the one or more networks via one or more application programming interfaces (APIs), the service computing device being configured to: receive a request for a reservation with the merchant via the one or more APIs provided by the service computing device, the request indicating a preferred time for the reservation at a merchant location; generate a reservation proposal for setting the reservation according to customer preferences for presentation on a device associated with the merchant, the reservation proposal including (a) a seat at the merchant location from among a plurality of seating options, (b) an alternative time slot corresponding to the request, and (c) an alternative seating option if the merchant location is booked; and use the one or more APIs to send a communication to the third party service device associated with the identified third party service requesting that the identified third party service reserve a seat at the merchant location.

AA.前記プロセッサは、第1の予約アプリケーションおよび第2の予約アプリケーションを含む複数の予約アプリケーションから予約を受信するように構成された前記商人デバイスに関連付けられた商人のために予約を割り当てるようにさらに構成され、前記プロセッサは、支払サービスによって、前記第1の予約アプリケーションから、前記第1の予約アプリケーションを使用して行われた第1のデータ関連予約を受信することと、前記支払サービスによって、前記第2の予約アプリケーションから、時間期間に前記第2の予約アプリケーションを使用して行われた第2のデータ関連予約を受信することと、前記支払サービスによって、レストランでの利用可能な座席に関するデータを受信することと、少なくとも第1のデータに基づいて、前記利用可能な座席から座席の第1の部分の座席を前記第1の予約アプリケーションに割り当てることであって、前記第1の予約アプリケーションのユーザは前記第1の部分の座席以下の座席を予約できる、前記割り当てることと、少なくとも第2のデータに基づいて、前記利用可能な座席のうちの第2の部分の座席を前記第2の予約アプリケーションに割り当てることであって、前記第2の予約アプリケーションのユーザは他の部分の座席以下の座席を予約できる、前記割り当てることと、予約中、および少なくとも1つのユーザが前記第1の予約アプリケーションを使用して座席を予約することができないことに応答して、前記第2の予約アプリケーション上で何れかの座席が利用可能であるかどうかを判定することと、前記第1の予約アプリケーションのインタフェースから前記第2の予約アプリケーションに顧客デバイスを遷移させるための命令を提供することと、前記第2の予約アプリケーションを使用して前記レストラン内の前記座席の予約を示す入力を前記1つ以上のユーザから受信することと、を含む1つ以上の動作を実行する、節Zに記載のシステム。 AA. The processor is further configured to allocate a reservation for a merchant associated with the merchant device configured to receive reservations from a plurality of reservation applications including a first reservation application and a second reservation application, the processor including: receiving, via a payment service, from the first reservation application, a first data-related reservation made using the first reservation application; receiving, via the payment service, from the second reservation application, a second data-related reservation made using the second reservation application for a time period; receiving, via the payment service, data regarding available seats at a restaurant; and allocating, based on at least the first data, a first portion of seats from the available seats to the first reservation application; The system of clause Z performs one or more operations including: allocating a second portion of the available seats to the second reservation application based on at least second data, where a user of the second reservation application can reserve seats up to another portion of the available seats; determining whether any seats are available on the second reservation application during the reservation and in response to at least one user being unable to reserve seats using the first reservation application; providing instructions to transition a customer device from an interface of the first reservation application to the second reservation application; and receiving input from the one or more users indicating a reservation of the seats in the restaurant using the second reservation application.

AB.1つ以上のプロセッサにより実行される場合に、動作を前記1つ以上のプロセッサに実行させる命令を記憶する1つ以上の非一時的なコンピュータ可読媒体であって、前記動作は、サービスコンピューティングデバイスに関連付けられた1つ以上の商人へのアクセスをコンピューティングデバイスに提供するために、サービスコンピューティングデバイスによって、1つ以上のアプリケーションプログラミングインタフェース(API)を公開することと、前記商人に関連付けられた1つ以上のアクションを容易にすることができる1つ以上の第三者サービスへのアクセスをコンピューティングデバイスに提供するために、前記サービスコンピューティングデバイスによって、前記1つ以上のアプリケーションプログラミングインターフェースインタフェース(API)を公開することと、前記1つ以上のAPIを介して、前記商人および前記第三者サービスの前記コンピューティングデバイスから、前記商人に関連付けられたアクションを処理するための要求を受信することと、前記商人に関連付けられた前記アクションを容易にするアクション提案を生成することであって、前記アクション提案は前記アクション内のステップが実行されるシーケンスを含む、前記生成することと、前記第三者サービスまたは前記商人に関連付けられた前記コンピューティングデバイスに前記アクション提案を送信することと、前記サービスプロバイダによって、前記1つ以上のAPIを介して、前記アクション提案に基づいて支払フローを構成することであって、前記支払フローは、前記第三者サービスと前記商人との間のサブアクションの分配に基づくものである、前記構成することと、を含む、1つ以上の非一時的なコンピュータ可読媒体。 A.B. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations including: exposing, by a service computing device, one or more application programming interfaces (APIs) to provide a computing device with access to one or more merchants associated with the service computing device; exposing, by the service computing device, one or more application programming interfaces (APIs) to provide a computing device with access to one or more third-party services that can facilitate one or more actions associated with the merchant; receiving, via the one or more APIs, requests from the computing devices of the merchants and the third-party services to process actions associated with the merchants; generating action proposals to facilitate the actions associated with the merchants, the action proposals including a sequence in which steps within the actions are to be performed; transmitting the action proposals to the computing devices associated with the third-party services or the merchants; and configuring, by the service provider, via the one or more APIs, a payment flow based on the action proposals, the payment flow being based on a distribution of sub-actions between the third-party services and the merchant.

AC.前記1つ以上のアクションは、アイテムの配送、前記アイテムの準備、前記アイテムのキャンセル、注文の配送、前記注文の準備、前記注文のキャンセル、注文のマージ、前記注文の分割、顧客の予約、顧客のアポイントメント、第三者サービスにわたるコンテンツの更新、前記アイテムの更新、前記注文の更新を含む、節ABに記載の1つ以上の非一時的なコンピュータ可読媒体。 AC. One or more non-transitory computer readable media as described in clause AB, wherein the one or more actions include delivering an item, preparing the item, canceling the item, delivering an order, preparing the order, canceling the order, merging an order, splitting the order, reserving a customer, making a customer appointment, updating content across third party services, updating the item, and updating the order.

AD.前記アクション提案は、予約を提供する代替商人、予約が要求された前記商人における座席オプション、前記予約のタイミング、および過去の座席選好に基づく前記要求された座席オプションとは異なる代替座席オプションのうちの少なくとも1つを示す予約提案である、節AA-ACの何れかに記載の1つ以上の非一時的なコンピュータ可読媒体。 AD. One or more non-transitory computer readable media as described in any of paragraphs AA-AC, wherein the action suggestion is a reservation suggestion indicating at least one of an alternative merchant offering a reservation, a seating option at the merchant for which a reservation is requested, a timing of the reservation, and an alternative seating option that differs from the requested seating option based on past seating preferences.

AE.前記1つ以上のAPIを公開することは、商人に関連付けられたコンピューティングデバイスに前記1つ以上のAPIを公開して、前記商人が物理的位置またはオンライン位置のうちの1つにおける前記商人との予約またはアポイントメントを容易にすることを可能にすることを含む、節ABに記載の1つ以上の非一時的なコンピュータ可読媒体。 AE. The one or more non-transitory computer-readable media of clause AB, wherein exposing the one or more APIs includes exposing the one or more APIs to a computing device associated with a merchant to enable the merchant to facilitate a reservation or appointment with the merchant at one of a physical location or an online location.

AF.前記動作は、前記1つ以上のAPIを介して、前記コンピューティングデバイスから、前記予約要求に対する修正の要求を受信することと、前記商人に関連付けられ、且つ複数の第三者サービスを通じて行われた予約を含む、座席表にアクセスすることと、前記修正が競合条件を引き起こすか否かを判定することと、前記判定に基づいて新しい座席を判定することと、をさらに含む、節AEに記載の1つ以上の非一時的コンピュータ可読媒体。 AF. The one or more non-transitory computer readable media described in clause AE, wherein the operations further include receiving a request for a modification to the reservation request from the computing device via the one or more APIs, accessing a seating chart associated with the merchant and including reservations made through multiple third party services, determining whether the modification causes a conflict condition, and determining a new seat based on the determination.

AG.前記動作は、前記1つ以上のAPIを介して、他の座席を予約するための他の要求を受信することであって、前記他の座席は、以前の予約に割り当てられた座席と一致する、前記受信することと、更新された顧客選好に基づいて、前記第1の要求または前記第2の要求のための代替の座席オプションを識別することと、前記識別するステップに従って、更新する座席表を示す通信を前記商人に送信することと、をさらに含む、節AEまたはAFに記載の1つ以上の非一時的なコンピュータ可読媒体。 AG. One or more non-transitory computer-readable media as described in clauses AE or AF, wherein the operations further include receiving, via the one or more APIs, another request to reserve another seat, the other seat matching a seat assigned to a previous reservation; identifying alternative seating options for the first request or the second request based on updated customer preferences; and sending a communication to the merchant indicating an updated seating plan in accordance with the identifying step.

AH.前記動作は、前記商人および前記第三者サービスによって実行される現在および過去のアクションに関する訓練データを取得することと、前記訓練データに基づいて、アクション提案を生成するために機械学習モデルを訓練することとをさらに含む、節AB-AGの何れかに記載の1つ以上の非一時的なコンピュータ可読媒体。 AH. One or more non-transitory computer-readable media as described in any of paragraphs AB-AG, wherein the operations further include obtaining training data regarding current and past actions performed by the merchant and the third-party service, and training a machine learning model to generate action suggestions based on the training data.

AI.インタフェースを表示するように構成されたディスプレイと、前記ディスプレイに通信可能に接続された1つ以上のプロセッサと、前記1つ以上のプロセッサに通信可能に接続され、且つ前記1つ以上のプロセッサにより実行される場合に前記1つ以上のプロセッサに動作を実行させる実行可能な命令を記憶するメモリと、を備えるシステムであって、前記動作は、ディスプレイ上で、第1の予約アプリケーションを使用して第1の商人位置で第1の予約を受信することと、前記ディスプレイ上で、第2の予約アプリケーションを使用して第2の商人位置で第2の予約を受信することと、前記ディスプレイ上で、前記第1の予約および前記第2の予約に対応する座席を予約するための座席表を含む予約提案を受信することであって、前記座席表は、1つ以上のアプリケーションプログラムインタフェース(API)を介して、前記ディスプレイを有する前記システム、前記第1の予約サービス、および前記第2の予約サービスとインタフェースされたサービスコンピューティングデバイスによって生成される、座席表における変更を示す前記商人からのリアルタイム入力に基づいて、前記ディスプレイ通じて前記座席表を修正することと、前記サービスプロバイダに対するAPI呼び出しを開始することによって、前記修正に基づく座席の再割り当てを引き起こすことと、を含む、システム。 A system comprising: a display configured to display an AI. interface; one or more processors communicatively connected to the display; and a memory communicatively connected to the one or more processors and storing executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations, the operations including: receiving, on the display, a first reservation at a first merchant location using a first reservation application; receiving, on the display, a second reservation at a second merchant location using a second reservation application; receiving, on the display, a reservation proposal including a seating plan for reserving seats corresponding to the first reservation and the second reservation, the seating plan being generated by a service computing device interfaced with the system having the display, the first reservation service, and the second reservation service via one or more application program interfaces (APIs); modifying the seating plan through the display based on real-time input from the merchant indicating a change in the seating plan; and initiating an API call to the service provider to cause a reallocation of seats based on the modification.

AJ.前記動作は、前記1つ以上のAPIを介して、前記サービスコンピューティングデバイスに、前記第1の予約サービスまたは前記第2の予約サービスに予約ステータスを提供するためのトリガを送信することと、前記予約ステータスを前記顧客に関連付けられた前記コンピューティングデバイスへ送信させることとをさらに含む、節AIに記載のシステム。 AJ. The system of clause AI, wherein the operations further include causing the service computing device to send a trigger via the one or more APIs to provide a reservation status to the first reservation service or the second reservation service, and to transmit the reservation status to the computing device associated with the customer.

AK.前記システムは商人デバイスを含み、前記動作は、前記1つ以上のAPIを介して、他の座席を予約するための他の要求を受信することであって、前記他の座席は、以前の予約に割り当てられた座席と一致する、前記受信することと、更新された顧客選好に基づいて、前記第1の要求または前記第2の要求のための代替の座席オプションを識別することと、前記識別するステップに従って、更新する座席表を示す通信を前記商人に送信することと、をさらに含む、節AIまたはAJに記載のシステム。 AK. The system of clauses AI or AJ, wherein the system includes a merchant device, and the operations further include receiving, via the one or more APIs, another request to reserve another seat, the other seat matching a seat assigned to a previous reservation; identifying alternative seating options for the first request or the second request based on updated customer preferences; and sending a communication to the merchant indicating an updated seating plan in accordance with the identifying step.

AL.前記予約提案は、予約を提供する代替商人、予約が要求された前記商人における座席オプション、前記予約のタイミング、および過去の座席選好に基づく前記要求された座席オプションとは異なる代替座席オプションのうちの少なくとも1つを示す、節AI-AKの何れかに記載のシステム。 AL. The system of any of paragraphs AI-AK, wherein the reservation suggestions indicate at least one of alternative merchants offering reservations, seating options at the merchant for which a reservation is requested, the timing of the reservation, and alternative seating options that differ from the requested seating options based on past seating preferences.

AM.前記予約提案は、前記要求を前記第1の予約アプリケーションから前記第2の予約アプリケーションにルーティングすることによって、公的な座席を予約するオプションのうちの少なくとも1つを示し、前記ルーティングは、前記第1の予約アプリケーションに関連付けられた第1のユーザインタフェースから、前記第2の予約アプリケーションに関連付けられた第2のユーザインタフェースへ遷移することを含む、節AI-ALの何れかに記載のシステム。 AM. The system of any of clauses AI-AL, wherein the reservation suggestion indicates at least one of options for reserving a public seat by routing the request from the first reservation application to the second reservation application, the routing including transitioning from a first user interface associated with the first reservation application to a second user interface associated with the second reservation application.

AN.前記動作は、前記第1の予約および前記第2の予約が実質的に同時に行われる場合にコンセンサスを提供することをさらに含む、節AI-AMの何れかに記載のシステム。 AN. The system of any of paragraphs AI-AM, wherein the operations further include providing a consensus when the first reservation and the second reservation are made substantially simultaneously.

AO.メニューに関連付けられた最適化されたコンテンツ管理を提供するためのシステムであって、前記システムは、1つ以上のプロセッサと、前記1つ以上のプロセッサによって実行可能な命令を記憶する1つ以上の非一時的なコンピュータ可読媒体とを備え、前記命令は、サービスコンピューティングデバイスに関連付けられたコンテンツ管理アプリケーションによって、且つ、商人に関連付けられた販売時点情報管理デバイス上で実行されることによって、前記商人によって提供される1つ以上のメニューアイテムに関するコンテンツ更新を受信することであって、前記コンテンツ更新は顧客対面アプリケーションに配信するように構成される、前記受信することと、前記コンテンツ更新が1つ以上の追加の顧客対面アプリケーションに適用されるかどうかを、前記コンテンツ管理アプリケーションによって判定することであって、前記1つ以上の追加の顧客対面アプリケーションは、1つ以上のアプリケーションプログラムインタフェース(API)を介して前記コンテンツ管理アプリケーションとインタフェースされる、前記判定することと、前記サービスコンピューティングデバイスによって、且つ、前記コンテンツ更新が1つ以上の追加の顧客対面アプリケーションに適用されると判定されることに基づいて、前記1つ以上の追加の顧客対面アプリケーションのインタフェースを、前記1つ以上のAPIを介して前記コンテンツ更新に従って更新させることと、前記顧客対面アプリケーションが前記コンテンツ更新を受信したことを示す通知を、前記商人に関連付けられたキッチンディスプレイシステムに送信することと、を含む動作を前記1つ以上のプロセッサが実行するようにプログラムする、システム。 AO. A system for providing optimized content management associated with a menu, the system comprising one or more processors and one or more non-transitory computer-readable media storing instructions executable by the one or more processors, the instructions being executed by a content management application associated with a service computing device and on a point of sale device associated with a merchant to program the one or more processors to perform operations including: receiving content updates for one or more menu items offered by the merchant, the content updates being configured to be distributed to customer-facing applications by the content management application; determining by the content management application whether the content updates apply to one or more additional customer-facing applications, the one or more additional customer-facing applications being interfaced with the content management application via one or more application program interfaces (APIs); and, based on the content updates being determined to apply to one or more additional customer-facing applications by the service computing device, updating the interfaces of the one or more additional customer-facing applications according to the content updates via the one or more APIs; and sending a notification to a kitchen display system associated with the merchant indicating that the customer-facing applications have received the content updates.

AP.第三者サービス又は商人の少なくとも1つに関連付けられているコンピューティングデバイスの1つ以上のプロセッサによって実行可能なアプリケーションをさらに含み、前記コンピューティングデバイスに関連付けられたディスプレイを介して、前記顧客または前記商人の少なくとも1つにインタフェースを提供し;、前記インタフェースを介して、前記顧客対面アプリケーションが前記コンテンツ更新を受信したことを示す通知を受信して他の顧客対面アプリケーションにまたがって同期化することを示す通知を受信し;、前記コンテンツ更新が、ターゲットとなる顧客対面アプリケーションにのみ送信されることを判定し;、前記1つ以上のAPIを介して、且つ、前記サービスコンピューティングデバイスによって、前記他の顧客対面アプリケーションを含む、ターゲットとされていない顧客対面アプリケーションから前記コンテンツ更新を取り消す;、節AOに記載のシステム。 AP. The system described in clause AO further includes an application executable by one or more processors of a computing device associated with at least one of a third party service or a merchant, providing an interface to at least one of the customers or the merchants via a display associated with the computing device; receiving a notification via the interface indicating that the customer-facing application has received the content update and synchronizing across other customer-facing applications; determining that the content update is sent only to targeted customer-facing applications; and canceling the content update from non-targeted customer-facing applications, including the other customer-facing applications, via the one or more APIs and by the service computing device.

AQ.前記コンテンツ管理アプリケーションは、前記商人に関連付けられた前記コンピューティングデバイス、前記第三者サービスに関連付けられた前記コンピューティングデバイス、前記顧客に関連付けられたコンピューティングデバイスとインタフェースするためにアプリケーションプログラムインタフェース(API)を提供するようにさらに構成される、節AO又はAPに記載のシステム。 AQ. The system described in paragraphs AO or AP, wherein the content management application is further configured to provide an application program interface (API) for interfacing with the computing devices associated with the merchant, the computing devices associated with the third party service, and the computing devices associated with the customer.

AR.前記サービスコンピューティングデバイス上でホストされるコンセンサスアプリケーションをさらに含み、前記コンセンサスアプリケーションは、前記コンテンツ管理アプリケーションの1つ以上のインスタンスを実行する1つ以上の販売時点管理(POS)デバイスに関連付けられた商人から複数のコンテンツ更新を受信し、前記コンセンサスアプリケーションは、前記顧客の選好に基づいて前記複数のコンテンツ更新のうちの1つを選択する、節AO-AQの何れかに記載のシステム。 AR. The system of any of paragraphs AO-AQ, further comprising a consensus application hosted on the service computing device, the consensus application receiving a plurality of content updates from merchants associated with one or more point of sale (POS) devices executing one or more instances of the content management application, the consensus application selecting one of the plurality of content updates based on a preference of the customer.

AS.前記サービスコンピューティングデバイスは、在庫データベースに基づいて、前記コンテンツ更新を生成すべきかどうかを判定し、前記顧客対面アプリケーションのうちのどれが前記コンテンツ更新を受信すべきかを識別し、前記識別された顧客対面アプリケーションに前記コンテンツ更新を送信するようにさらに構成される、節AO-ARの何れかに記載のシステム。 AS. The system of any of paragraphs AO-AR, wherein the service computing device is further configured to determine whether to generate the content update based on an inventory database, identify which of the customer-facing applications should receive the content update, and transmit the content update to the identified customer-facing applications.

AT.サービスコンピューティングデバイスプロセッサと、前記サービスコンピューティングデバイスプロセッサと通信可能に接続されたサービスコンピューティングデバイス通信インタフェースとを備えるシステムであって、前記サービスコンピューティングデバイス通信インタフェースは、複数の第三者のサービスデバイスと1つ以上のネットワークを介して通信し、且つ、顧客または商人の少なくとも1つと関連付けられたコンピューティングデバイスと、1つ以上のアプリケーションプログラミングインタフェース(API)を介して前記1つ以上のネットワークを通じてさらに通信し、前記サービスコンピューティングデバイスは、前記サービスコンピューティングデバイスによって提供される1つ以上のAPIを介して、コンテンツ更新の要求を受信することであって、前記コンテンツ更新は顧客対面アプリケーションに配信するように構成され、且つ前記商人によって提供される1つ以上のメニューアイテムに関連しており、前記要求は、前記顧客または前記商人の少なくとも1つに関連付けられた前記コンピューティングデバイス上で実行可能なアプリケーションから、前記1つ以上のAPIを介して生成される、前記受信することと、前記コンテンツ更新が他の顧客対面アプリケーションに適用されるかどうかを、前記サービスコンピューティングデバイスによって提供される前記1つ以上のAPIを介して、判定することであって、前記他の顧客対面アプリケーションは1つ以上のアプリケーションプログラムインタフェース(API)を介して前記アプリケーションとインタフェースされる、前記判定することと、前記サービスコンピューティングデバイスによって、前記コンテンツ更新が他の顧客対面アプリケーションに適用されると判定することに応じて、前記商人のために、前記顧客対面アプリケーションと関連付けられた配送の前記位置に前記コンテンツ更新を配信するための提案を生成することであって、前記提案は、(a)前記第三者サービスデバイスに関連付けられた複数の顧客対面アプリケーションの中からの1つ以上の顧客対面アプリケーションであって、前記複数の顧客対面アプリケーションは前記サービスコンピューティングデバイスの前記1つ以上のAPIを介して前記商人と通信する、前記1つ以上の顧客対面アプリケーション、(b)前記コンテンツ更新を適用する緊急性を示すコンテンツ更新の性質、および(c)前記コンテンツ更新の配信の推定時間を含む、前記生成することと、前記コンテンツ更新に従って前記他の顧客対面アプリケーションのインタフェースを更新させることと、前記1つ以上のAPIを使用して、前記商人に関連付けられたキッチンディスプレイシステムに、前記顧客対面アプリケーションが前記コンテンツ更新を受信したことを示す通知を送信することと、を行うように構成される、システム。 AT. A system comprising a service computing device processor and a service computing device communication interface communicatively coupled to the service computing device processor, the service computing device communication interface communicating with a plurality of third party service devices over one or more networks and further communicating with a computing device associated with at least one of a customer or a merchant over the one or more networks via one or more application programming interfaces (APIs), the service computing device receiving, via the one or more APIs provided by the service computing device, a request for a content update, the content update configured for delivery to a customer-facing application and relating to one or more menu items provided by the merchant, the request being generated via the one or more APIs from an application executable on the computing device associated with at least one of the customer or the merchant; and determining, via the one or more APIs provided by the service computing device, whether the content update is applied to other customer-facing applications. The system is configured to: determine that the other customer-facing application is interfaced with the application via one or more application program interfaces (APIs); and generate, in response to determining by the service computing device that the content update is applied to the other customer-facing application, a proposal for the merchant to deliver the content update to the location of delivery associated with the customer-facing application, the proposal including (a) one or more customer-facing applications from among a plurality of customer-facing applications associated with the third-party service device, the plurality of customer-facing applications communicating with the merchant via the one or more APIs of the service computing device; (b) a nature of the content update indicating an urgency to apply the content update; and (c) an estimated time of delivery of the content update; cause an interface of the other customer-facing application to be updated according to the content update; and send, using the one or more APIs, a notification to a kitchen display system associated with the merchant indicating that the customer-facing application has received the content update.

AU.前記システムは、前記コンピューティングデバイスに関連付けられたディスプレイを介して、前記顧客または前記商人のうちの少なくとも1つにインタフェースを提供し、前記インタフェースを介して、前記顧客対面アプリケーションが前記コンテンツ更新を受信したことを示す前記通知を受信し、前記コンテンツ更新がターゲットとされた顧客対面アプリケーションにのみ送信されるべきであると判定し、前記1つ以上のAPIを介して、且つ、前記サービスコンピューティングデバイスによって、前記コンテンツ更新を、前記他の顧客対面アプリケーションを含むターゲットとされていない顧客対面アプリケーションから取り消すようにさらに構成される、節ATに記載のシステム。 AU. The system described in clause AT, further configured to provide an interface to at least one of the customer or the merchant via a display associated with the computing device, receive via the interface the notification indicating that the customer-facing application has received the content update, determine that the content update should be sent only to the targeted customer-facing application, and cancel the content update from non-targeted customer-facing applications, including the other customer-facing applications, via the one or more APIs and by the service computing device.

AV.1つ以上のプロセッサにより実行される場合に、動作を前記1つ以上のプロセッサに実行させる命令を記憶する1つ以上の非一時的なコンピュータ可読媒体であって、前記動作は、サービスコンピューティングデバイスによって、前記サービスコンピューティングデバイスに関連付けられた1つ以上の商人へのアクセスをコンピューティングデバイスに提供するために1つ以上のアプリケーションプログラミングインタフェース(API)を公開することと、前記サービスコンピューティングデバイスによって、前記商人に関連付けられた1つ以上のアクションを容易にすることができる1つ以上の第三者サービスへのアクセスをコンピューティングデバイスに提供するために前記1つ以上のアプリケーションプログラミングインタフェース(API)を公開することと、前記1つ以上のAPIを介して、前記商人および前記第三者サービスの前記コンピューティングデバイスから、前記商人に関連付けられた前記アクションを処理するための要求を受信することと、前記商人に関連付けられた前記アクションを容易にするアクション提案を生成することであって、前記アクション提案は前記アクション内のステップが実行されるべきシーケンスを含む、前記生成することと、前記第三者サービスまたは前記商人に関連付けられた前記コンピューティングデバイスに前記アクション提案を送信することと、前記サービスプロバイダによって、前記1つ以上のAPIを介して、前記アクション提案に基づいて支払フローを構成することであって、前記支払フローは、前記第三者サービスと前記商人との間のサブアクションの分配に基づくものである、前記構成することと、を含む、1つ以上の非一時的なコンピュータ可読媒体。 A.V. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations including: exposing, by a service computing device, one or more application programming interfaces (APIs) to provide a computing device with access to one or more merchants associated with the service computing device; exposing, by the service computing device, one or more application programming interfaces (APIs) to provide a computing device with access to one or more third-party services that can facilitate one or more actions associated with the merchant; receiving, via the one or more APIs, requests from the computing devices of the merchants and the third-party services to process the actions associated with the merchant; generating action proposals to facilitate the actions associated with the merchant, the action proposals including a sequence in which steps within the actions are to be performed; transmitting the action proposals to the computing devices associated with the third-party services or the merchant; and configuring, by the service provider, via the one or more APIs, a payment flow based on the action proposals, the payment flow being based on a distribution of sub-actions between the third-party services and the merchant.

AW.前記1つ以上のアクションは、アイテムの配送、前記アイテムの準備、前記アイテムのキャンセル、注文の配送、前記注文の準備、前記注文のキャンセル、注文のマージ、前記注文の分割、顧客の予約、顧客のアポイントメント、第三者サービスにわたるコンテンツの更新、前記アイテムの更新、前記注文の更新を含む、節AVに記載の1つ以上の非一時的なコンピュータ可読媒体。 AW. One or more non-transitory computer readable media as described in clause AV, wherein the one or more actions include delivering an item, preparing the item, canceling the item, delivering an order, preparing the order, canceling the order, merging an order, splitting the order, reserving a customer, making a customer appointment, updating content across third party services, updating the item, and updating the order.

AX.前記アクション提案は、更新されるコンテンツと、前記コンテンツ更新が送信される第三者サービスの識別子とを示すコンテンツ更新提案である、節AV又はAWの何れかに記載の1つ以上の非一時的なコンピュータ可読媒体。 AX. One or more non-transitory computer-readable media described in any of paragraphs AV or AW, wherein the action proposal is a content update proposal indicating the content to be updated and an identifier of a third-party service to which the content update is to be sent.

AY.前記1つ以上のAPIを公開することは、前記1つ以上のAPIを、前記商人に関連付けられたコンピューティングデバイスに公開して、前記商人がメニューアイテムを含むコンテンツの更新を容易にすることを可能にすることを含む、節AVに記載の1つ以上の非一時的なコンピュータ可読媒体。 AY. One or more non-transitory computer-readable media as described in clause AV, wherein exposing the one or more APIs includes exposing the one or more APIs to a computing device associated with the merchant to enable the merchant to facilitate updating content, including menu items.

AZ.前記動作は、前記1つ以上のAPIを介して、前記コンピューティングデバイスから、アイテムの配送ステータスの要求を受信することと、前記第三者サービスデバイスの位置情報を受信することと、前記第三者サービスによる前記コンテンツ更新のステータスを判定することと、前記コンピューティングデバイスに、前記コンテンツ更新の前記ステータスを送信することと、をさらに含む、節AYに記載の1つ以上の非一時的なコンピュータ可読媒体。 AZ. One or more non-transitory computer-readable media as described in clause AY, wherein the operations further include receiving a request for a delivery status of an item from the computing device via the one or more APIs, receiving location information of the third party service device, determining a status of the content update by the third party service, and transmitting the status of the content update to the computing device.

BA.前記動作は、前記サービスコンピューティングデバイス上でホストされるコンセンサスアプリケーションを実行することをさらに含み、前記コンセンサスアプリケーションは、コンテンツ管理アプリケーションの1つ以上のインスタンスを実行する1つ以上の販売時点管理(POS)デバイスに関連付けられた前記商人から複数のコンテンツ更新を受信し、前記コンセンサスアプリケーションは、前記顧客の選好に基づいて前記複数のコンテンツ更新のうちの1つを選択する、節AY又はAZに記載の1つ以上の非一時的なコンピュータ可読媒体。 BA. The one or more non-transitory computer-readable media of clauses AY or AZ, wherein the operations further include executing a consensus application hosted on the service computing device, the consensus application receiving a plurality of content updates from the merchants associated with one or more point-of-sale (POS) devices executing one or more instances of a content management application, and the consensus application selecting one of the plurality of content updates based on a preference of the customer.

BB.前記動作は、前記商人および前記第三者サービスによって実行される現在および過去のアクションに関する訓練データを取得することと、前記訓練データに基づいて、前記アクション提案を生成するために機械学習モデルを訓練することとをさらに含む、節AV-BAの何れかに記載の1つ以上の非一時的なコンピュータ可読媒体。 BB. One or more non-transitory computer-readable media as described in any of Sections AV-BA, wherein the operations further include obtaining training data regarding current and past actions performed by the merchant and the third-party service, and training a machine learning model to generate the action suggestions based on the training data.

BC.インタフェースを表示するように構成されたディスプレイと、前記ディスプレイに通信可能に接続された1つ以上のプロセッサと、前記1つ以上のプロセッサに通信可能に接続され、且つ前記1つ以上のプロセッサにより実行される場合に前記1つ以上のプロセッサに動作を実行させる実行可能な命令を記憶するメモリと、を備えるシステムであって、前記動作は、サーバアプリケーションによって、第1の顧客対面アプリケーションの第1のデバイスへの配送のための第1のコンテンツ要求を受信することと、前記サーバアプリケーションによって、第2の顧客対面アプリケーションの第2のデバイスへの配送のための第2のコンテンツ要求を受信することと、前記サーバアプリケーションによって、1つ以上の配送の位置に対して前記第1のコンテンツ要求および前記第2のコンテンツ要求を満たすための提案を生成することであって、前記提案は、(a)前記第三者サービスデバイスに関連付けられた複数の顧客対面アプリケーションの中からの1つ以上の顧客対面アプリケーションであって、前記複数の顧客対面アプリケーションは前記サービスコンピューティングデバイスの前記1つ以上のAPIを介して前記商人と通信する、前記1つ以上の顧客対面アプリケーション、(b)前記コンテンツ更新を適用すべき緊急性示すコンテンツ更新の性質、(c)コンテンツ更新の配送のための推定時間量を含む、前記生成することと、前記サーバアプリケーションを介して、前記顧客対面アプリケーションへの前記コンテンツ更新のトリガを開始することと、前記サービスプロバイダへのAPI呼び出しを開始することによって、前記開始に基づく支払フローを引き起こすことと、を含むシステム。 BC. A system comprising: a display configured to display an interface; one or more processors communicatively connected to the display; and a memory communicatively connected to the one or more processors and storing executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations, the operations including receiving, by a server application, a first content request for delivery to a first device of a first customer-facing application; receiving, by the server application, a second content request for delivery to a second device of a second customer-facing application; and fulfilling, by the server application, the first content request and the second content request for one or more delivery locations. A system including: generating a proposal for a third-party service device, the proposal including: (a) one or more customer-facing applications from among a plurality of customer-facing applications associated with the third-party service device, the plurality of customer-facing applications communicating with the merchant via the one or more APIs of the service computing device; (b) a nature of the content update indicating an urgency for applying the content update; and (c) an estimated amount of time for delivery of the content update; initiating a trigger of the content update to the customer-facing application via the server application; and causing a payment flow based on the initiation by initiating an API call to the service provider.

BD.前記動作は、前記1つ以上のAPIを介して、前記サービスコンピューティングデバイスに、前記コンテンツ更新を前記第1または第2の顧客対面アプリケーションに提供するためのトリガを送信することと、前記サービスコンピューティングデバイスから、コンテンツ更新のステータスを受信することと、前記コンテンツ更新の配送の前記ステータスを前記第1または第2の配送サービスへ送信させることとをさらに含む、節BCに記載のシステム。 BD. The system of clause BC, wherein the operations further include sending a trigger to the service computing device via the one or more APIs to provide the content update to the first or second customer-facing application, receiving a status of the content update from the service computing device, and causing the status of delivery of the content update to be sent to the first or second delivery service.

BE.前記システムは商人デバイスを含み、前記動作は、前記サービスコンピューティングデバイスから、他のアイテムの取得のための注文を受信することであって、前記他のアイテムは、前記第1の配送サービスの顧客デバイスを介して取得するために選択されている、前記受信することと、前記注文の受諾を示すユーザ入力を受信することと、前記注文の受諾の指標を前記サービスコンピューティングデバイスに送信することと、前記アイテムの配送の第1のステータスおよび前記他のアイテムの配送の第2のステータスを受信することと、配送の前記第1のステータスおよび配送の前記第2のステータスを前記インタフェースを介して表示させることと、をさらに含む、節BC又はBDに記載のシステム。 BE. The system of clauses BC or BD, wherein the system includes a merchant device, and the operations further include receiving from the service computing device an order for acquisition of another item, the other item being selected for acquisition via a customer device of the first delivery service; receiving user input indicating acceptance of the order; sending an indication of acceptance of the order to the service computing device; receiving a first status of delivery of the item and a second status of delivery of the other item; and displaying the first status of delivery and the second status of delivery via the interface.

BF.前記提案は、異なる商人アプリケーションにわたる前記第1のコンテンツ要求に対処する方法を示す、節BC-BEの何れかに記載のシステム。 BF. The system of any of paragraphs BC-BE, wherein the proposal illustrates a method for handling the first content request across different merchant applications.

BG.前記提案は、前記第1のコンテンツ要求が前記識別されたもの以外の他の顧客対面アプリケーションに適用されるかどうかを示し、前記動作は、既存のコンテンツを更新することと、新しいコンテンツを生成することと、既存のコンテンツを除去することと、をさらに含む、節BC-BFの何れかに記載のシステム。 BG. The system of any of paragraphs BC-BF, wherein the suggestions indicate whether the first content request applies to other customer-facing applications other than the identified ones, and the actions further include updating existing content, generating new content, and removing existing content.

BH.前記動作は、前記第1のコンテンツ要求および前記第2のコンテンツ要求が実質的に同時に行われるときにコンセンサスを提供することをさらに含む、節BC-BGの何れかに記載のシステム。 BH. The system of any of paragraphs BC-BG, wherein the operations further include providing consensus when the first content request and the second content request are made substantially simultaneously.

上記の例示的な節は1つの特定の実装形態に関して説明されているが、本明細書の文脈では例示的な節の内容が方法、デバイス、システム、コンピュータ可読媒体、および/または別の実装形態を介して実装することもできることを理解されたい。 Although the example passages above are described with respect to one particular implementation, it should be understood in the context of this specification that the contents of the example passages may also be implemented via a method, device, system, computer-readable medium, and/or another implementation.

Claims (5)

最適化された予約スケジューリングを提供するためのシステムであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行可能な命令を記憶する1つ以上の非一時的なコンピュータ可読媒体とを備え、前記命令は、
商人に関連付けられた販売時点管理デバイス上で実行される予約スケジューリングアプリケーションによって、顧客から、第1の顧客対面予約アプリケーションからの第1の予約要求を受信することであって、前記第1の予約要求は商人位置における予約の好適な時間を含前記商人位置は、前記商人によって商品及び/又はサービスが提供される位置である、前記受信することと、
前記第1の顧客対面予約アプリケーションに関わる過去の注文に基づいて、サービスコンピューティングデバイスによって、前記顧客が前記第1の予約要求について好む可能性が高いと予測される座席を判定することと、
前記予約スケジューリングアプリケーションによって、他の顧客から、第2の顧客対面予約アプリケーションからの第2の予約要求を受信することであって、前記第2の予約要求は前記商人位置における予約の他の好適な時間を含む、前記受信することと、
前記第2の顧客対面予約アプリケーションに関わる過去の注文に基づいて、サービスコンピューティングデバイスによって、前記他の顧客が前記第2の予約要求について好む可能性が高いと予測される座席を判定することと、
前記サービスコンピューティングデバイスによって、前記第1の予約要求および前記第2の予約要求に対応する前記予測される座席に少なくとも部分的に基づいて座席表を生成することと、
前記予約スケジューリングアプリケーションに関連付けられたキッチンディスプレイシステムに、前記商人位置のテーブルレイアウトを前記座席表に従って構成させるための前記座席表を送信することと、
を含む動作を実行するように前記1つ以上のプロセッサをプログラムする、システム。
1. A system for providing optimized appointment scheduling, comprising:
one or more processors;
and one or more non-transitory computer-readable media storing instructions executable by the one or more processors, the instructions comprising:
receiving, by an appointment scheduling application executing on a point of sale device associated with a merchant, from a customer a first appointment request from a first customer-facing appointment application, the first appointment request including a preferred time for an appointment at a merchant location , the merchant location being a location where goods and/or services are offered by the merchant;
determining, by a service computing device, a seat that the customer is likely to prefer for the first reservation request based on past orders involving the first customer-facing reservation application;
receiving, by the appointment scheduling application, a second appointment request from a second customer-facing appointment application from another customer, the second appointment request including another preferred time for an appointment at the merchant location;
determining, by a service computing device, a seat that is predicted to be likely to be preferred by the other customer for the second reservation request based on past orders involving the second customer-facing reservation application;
generating, by the service computing device, a seating chart based at least in part on the predicted seats corresponding to the first reservation request and the second reservation request;
transmitting the seating plan to a kitchen display system associated with the reservation scheduling application to configure a table layout at the merchant location according to the seating plan;
and programming the one or more processors to perform operations including:
第三者サービスまたは前記商人のうちの少なくとも1つに関連付けられたコンピューティングデバイスの1つ以上のプロセッサによって実行可能なアプリケーションであって、
前記コンピューティングデバイスに関連付けられたディスプレイを介して、前記顧客または前記商人の少なくとも1つにインタフェースを提供することと、
前記インタフェースを介して、予約が要求された前記商人における座席選択、前記予約のタイミング、および過去の座席選好に基づく前記要求された座席選択とは異なる代替座席選択の少なくとも1つに基づいて、前記座席表に対する更新を受信することと、
前記座席表に関する情報が要求されたことを判定することと、
つ以上のAPIを介しておよび前記サービスコンピューティングデバイスによって、前記座席表に対する更新に関する前記要求に対する応答を送信することと、
前記サービスコンピューティングデバイスから予約提案を受信することと、
予約提案が受諾されたことを判定することと、
前記1つ以上のAPIを介して、前記予約提案の受諾の指標を送信して、前記予約を容易にすることと、
を行うアプリケーションをさらに含む、請求項1に記載のシステム。
an application executable by one or more processors of a computing device associated with at least one of a third party service or the merchant,
providing an interface to at least one of the customer or the merchant via a display associated with the computing device;
receiving, via the interface , updates to the seating chart based on at least one of a seat selection at the merchant for which a reservation is requested, a timing of the reservation, and an alternative seat selection that differs from the requested seat selection based on past seat preferences;
determining that information regarding the seating plan has been requested;
transmitting a response to the request for an update to the seating chart via one or more APIs and by the service computing device;
receiving a reservation proposal from the service computing device;
determining that the reservation proposal has been accepted;
transmitting, via the one or more APIs, an indication of acceptance of the reservation proposal to facilitate the reservation; and
The system of claim 1 further comprising an application that:
前記予約スケジューリングアプリケーションは、前記商人に関連付けられたコンピューティングデバイス、第三者サービスに関連付けられたコンピューティングデバイス、前記顧客に関連付けられたコンピューティングデバイスとインタフェース接続するアプリケーションプログラムインタフェース(API)を提供するようにさらに構成される、請求項1に記載のシステム。 2. The system of claim 1, wherein the appointment scheduling application is further configured to provide an application program interface (API) for interfacing with computing devices associated with the merchant , computing devices associated with a third party service, and computing devices associated with the customer. 前記サービスコンピューティングデバイス上でホストされるコンセンサスアプリケーションをさらに含み、前記コンセンサスアプリケーションは、前記第1の顧客対面予約アプリケーションおよび前記第2の顧客対面予約アプリケーションからそれぞれ前記第1の予約要求および前記第2の予約要求を受信し、前記コンセンサスアプリケーションは、前記顧客の好みに基づいて前記第1の予約要求および前記第2の予約要求を処理する、請求項1に記載のシステム。 The system of claim 1, further comprising a consensus application hosted on the service computing device, the consensus application receiving the first reservation request and the second reservation request from the first customer face-to-face booking application and the second customer face-to-face booking application, respectively, and the consensus application processing the first reservation request and the second reservation request based on the customer preferences. 前記サービスコンピューティングデバイスは、
前記予約要求に関連付けられた顧客のさらなる情報を受信し、前記予約が要求された前記商人とは異なる商人のうちの1つを識別し、
前記識別に基づいて他の商人位置において座席を割り当てる
ようにさらに構成される、請求項2に記載のシステム。
The service computing device includes:
receiving further customer information associated with the reservation request, identifying one of the merchants different from the merchant for which the reservation was requested;
The system of claim 2 , further configured to assign seats at other merchant locations based on the identification.
JP2022077137A 2017-12-29 2022-05-09 An application programming interface for structuring distributed systems. Active JP7470735B2 (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US15/858,000 2017-12-29
US15/858,164 2017-12-29
US15/858,100 US11010739B2 (en) 2017-12-29 2017-12-29 Application programming interfaces for structuring distributed systems
US15/858,100 2017-12-29
US15/858,164 US11164172B2 (en) 2017-12-29 2017-12-29 Application programming interfaces for structuring distributed systems
US15/858,000 US20190205834A1 (en) 2017-12-29 2017-12-29 Application programming interfaces for structuring distributed systems
PCT/US2018/065486 WO2019133279A1 (en) 2017-12-29 2018-12-13 Application programming interfaces for structuring distributed systems
JP2020533744A JP7072068B2 (en) 2017-12-29 2018-12-13 Application programming interface for structuring distributed systems

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020533744A Division JP7072068B2 (en) 2017-12-29 2018-12-13 Application programming interface for structuring distributed systems

Publications (2)

Publication Number Publication Date
JP2022110048A JP2022110048A (en) 2022-07-28
JP7470735B2 true JP7470735B2 (en) 2024-04-18

Family

ID=65019564

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020533744A Active JP7072068B2 (en) 2017-12-29 2018-12-13 Application programming interface for structuring distributed systems
JP2022077137A Active JP7470735B2 (en) 2017-12-29 2022-05-09 An application programming interface for structuring distributed systems.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020533744A Active JP7072068B2 (en) 2017-12-29 2018-12-13 Application programming interface for structuring distributed systems

Country Status (4)

Country Link
JP (2) JP7072068B2 (en)
AU (2) AU2018395924A1 (en)
CA (1) CA3085573A1 (en)
WO (1) WO2019133279A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12045744B2 (en) 2017-10-31 2024-07-23 Grand Performance Online Pty Ltd Autonomous and integrated system, method and computer program for dynamic optimization and allocation of resources for defined spaces and time periods
AU2018202759A1 (en) 2017-10-31 2019-05-16 Grand Performance Online Pty Limited A system, method and computer program for optimising and allocating resources in a space for defined periods of time
US11010739B2 (en) 2017-12-29 2021-05-18 Square, Inc. Application programming interfaces for structuring distributed systems
US11164172B2 (en) 2017-12-29 2021-11-02 Square, Inc. Application programming interfaces for structuring distributed systems
US11699163B2 (en) * 2018-07-26 2023-07-11 Ncr Corporation Real-time integration of analytics for online services
AU2020200607A1 (en) * 2019-04-29 2020-11-19 Grand Performance Online Pty Ltd A computer-enabled method system and computer program for generating a dynamic user interface for use by a user in the allocation of a space, furniture, equipment or service
US10872335B1 (en) * 2019-12-30 2020-12-22 Capital One Services, Llc Online transaction verification based on merchant-independent user geolocation
US20230297896A1 (en) * 2022-03-17 2023-09-21 Jpmorgan Chase Bank, N.A. Method and system for seat assignment in hybrid working model

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013020626A (en) 2011-07-08 2013-01-31 Opentable Inc Offer based restaurant reservations
JP2016148976A (en) 2015-02-12 2016-08-18 セイコーエプソン株式会社 Store visiting prediction system and control method of store visiting prediction system
US20170011319A1 (en) 2014-02-11 2017-01-12 Queuefx Technologies Pty Ltd System of real-time multi factor queue management
US20170061518A1 (en) 2014-12-12 2017-03-02 Laura Cao System and method for image based viewing and ordering
JP2017142727A (en) 2016-02-12 2017-08-17 株式会社東芝 Seat management device, seat management method, and computer program
JP2017220173A (en) 2016-06-10 2017-12-14 株式会社キーコネクションズ Store device, information processing method, and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040158494A1 (en) * 2003-02-05 2004-08-12 Suthar Yogin P. Restaurant automation system
US9269103B1 (en) * 2015-02-19 2016-02-23 Square, Inc. Combining orders for delivery

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013020626A (en) 2011-07-08 2013-01-31 Opentable Inc Offer based restaurant reservations
US20170011319A1 (en) 2014-02-11 2017-01-12 Queuefx Technologies Pty Ltd System of real-time multi factor queue management
US20170061518A1 (en) 2014-12-12 2017-03-02 Laura Cao System and method for image based viewing and ordering
JP2016148976A (en) 2015-02-12 2016-08-18 セイコーエプソン株式会社 Store visiting prediction system and control method of store visiting prediction system
JP2017142727A (en) 2016-02-12 2017-08-17 株式会社東芝 Seat management device, seat management method, and computer program
JP2017220173A (en) 2016-06-10 2017-12-14 株式会社キーコネクションズ Store device, information processing method, and program

Also Published As

Publication number Publication date
CA3085573A1 (en) 2019-07-04
JP7072068B2 (en) 2022-05-19
JP2021509193A (en) 2021-03-18
AU2018395924A1 (en) 2020-07-02
JP2022110048A (en) 2022-07-28
WO2019133279A1 (en) 2019-07-04
AU2023214300A1 (en) 2023-08-31

Similar Documents

Publication Publication Date Title
US11164172B2 (en) Application programming interfaces for structuring distributed systems
JP7470735B2 (en) An application programming interface for structuring distributed systems.
US20210312413A1 (en) Application programming interfaces for structuring distributed systems
US20190205834A1 (en) Application programming interfaces for structuring distributed systems
US12051057B2 (en) Examples of delivery and/or referral service SMS ordering
US11010819B2 (en) Application programming interfaces for fulfilment services
US20230377082A1 (en) Examples of delivery and/or referral services
US9928540B1 (en) System for integrating courier service with customer applications
US20170293950A1 (en) System and method for user selected arranging of transport
US11010802B2 (en) Real-time internet capable device information interchange for coordinated queuing at locations
US10181111B1 (en) Electronic device communications for item handoffs
US10410272B1 (en) Predicting orders from buyer behavior
US20210272221A1 (en) Item selection for fast deliveries
US20130090959A1 (en) Restaurant management and reservation systems and methods
US20210089995A1 (en) Merchant Controls for Preparation Times
US11995666B2 (en) Application program interfaces for order and delivery service recommendations
US11934991B2 (en) Processing and notifications for missing and unavailable items
US20160284006A1 (en) System and method for advertising items
US11741528B1 (en) Application program interfaces for vendor recommendations
US10949796B1 (en) Coordination of inventory ordering across merchants
US10909486B1 (en) Inventory processing using merchant-based distributed warehousing
US20240320650A1 (en) Application programming interfaces for structuring distributed systems

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220518

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230721

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20231023

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20231031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240408

R150 Certificate of patent or registration of utility model

Ref document number: 7470735

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150