US20210350334A1 - Consolidation of calendar appointments - Google Patents
Consolidation of calendar appointments Download PDFInfo
- Publication number
- US20210350334A1 US20210350334A1 US17/306,660 US202117306660A US2021350334A1 US 20210350334 A1 US20210350334 A1 US 20210350334A1 US 202117306660 A US202117306660 A US 202117306660A US 2021350334 A1 US2021350334 A1 US 2021350334A1
- Authority
- US
- United States
- Prior art keywords
- appointment
- merchant
- time
- period
- determining
- 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.)
- Abandoned
Links
Images
Classifications
-
- G06Q10/1095—
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1093—Calendar-based scheduling for persons or groups
Definitions
- a merchant may schedule an appointment with a customer during a time when the merchant prefers to be working or is otherwise available. For example, the merchant may schedule appointments only on Mondays, Wednesdays, and Fridays in order to be free Tuesdays and Thursdays. Additionally, customers may schedule appointments at various times throughout a day, week, month, etc. This can result in a merchant having multiple time slots available between scheduled appointments, requiring the merchant to be open when relatively few appointments are scheduled.
- FIG. 1 illustrates an example architecture for processing calendar availability and consolidating appointments.
- FIG. 2 illustrates example details of a service provider.
- FIG. 3 illustrates example details of a merchant device.
- FIG. 4 illustrates example details of a user device.
- FIG. 5 illustrates an example process to reschedule an appointment to consolidate appointments in a calendar.
- FIG. 6 illustrates an example process to schedule a merchant as unavailable during a period of time.
- FIG. 7 illustrates an example process to notify a merchant about an upcoming period of time that is scheduled as unavailable and to maintain or remove the unavailability.
- FIG. 8 illustrates an example process to present a calendar of a merchant's schedule and to schedule an appointment.
- FIG. 9 illustrates an example process to determine a value at which to offer an item for acquisition during a period of time and associate the period of time with the value.
- FIG. 10 illustrates an example process to schedule a merchant as unavailable based on a number of appointments that are scheduled for a period of time.
- FIG. 11 illustrates an example process to reschedule an appointment when less than a threshold number of appointments are scheduled.
- the techniques may monitor scheduling interactions of a merchant with a calendar to schedule a merchant as unavailable in the calendar at a particular time and/or to reschedule the merchant as available at a time that is designated as unavailable. By scheduling a merchant as unavailable, customers may be encouraged to schedule appointments at times that are preferred by the merchant. Additionally, or alternatively, the techniques may consolidate a merchant's schedule by rescheduling appointments when particular criteria are satisfied. This may provide the merchant with larger blocks of time during which the merchant is free and/or with more condensed blocks of time during which appointments are scheduled. Further, the techniques may include other features to manage a calendar and/or enhance a merchant's experience in scheduling appointments.
- a service provider may monitor interactions of a merchant with a calendar to schedule a merchant as unavailable in the calendar. In doing so, the service provider may generally identify a period of time that the merchant prefers to be free from appointments with customers and send a notification to the merchant suggesting that the calendar be scheduled as unavailable during the period of time. To illustrate, the service provider may determine that a merchant has blocked out Mondays from 12-5PM as unavailable in the calendar more than a threshold number of times over the past three months, since the merchant prefers to not work during this period of time (e.g., for personal, business, or other reasons). Accordingly, the service provider may send a notification to the merchant suggesting that the calendar be set as unavailable on Mondays from 12-5PM.
- the notification may be provided through an interface (e.g., an alert on a calendar interface), a message (e.g., text message, email, telephone call, etc.), or otherwise.
- the notification may be sent based on when the merchant blocks out Mondays. For instance, if the merchant generally blocks out Mondays the preceding Thursday, the notification may be sent on Thursday.
- the merchant may provide input and, if the input so requests, the service provider may schedule the merchant as unavailable on Monday from 12-5PM. This may encourage customers to schedule appointments for other time slots that are more preferred by the merchant.
- the service provider may reschedule a merchant as available for a period of time that has been previously set as unavailable in order to potentially obtain additional appointments with customers.
- the service provider may generally provide a notification regarding confirmation or cancelation of the unavailability of the merchant when a particular number of appointments are scheduled over a window of time before and/or after the period of time.
- the notification may be provided a number of hours, days, weeks, etc. in advance of the period of time that is set as unavailable.
- the service provider may determine if there are more than a threshold number of appointments scheduled over a window of time from the Thursday prior to the Tuesday following.
- the service provider may send a notification to the merchant to ask if the merchant would still like to be scheduled as unavailable on Monday from 12-5PM.
- the merchant may provide input and, if the input so requests, the service provider may reschedule the merchant as available on Monday from 12-5PM. This may open additional time slots for scheduling appointments with customers to potentially increase the number of scheduled appointments for the merchant, thereby increasing revenue for the merchant.
- the service provider may seek to reschedule appointments when one or more criteria are satisfied in order to condense appointments within a calendar.
- the service provider may generally seek to reschedule an appointment to a period of time that is associated with a relatively high number of appointments and/or from a period of time that is associated with a relatively low number of appointments.
- the service provider may determine to reschedule a Thursday appointment to Friday when less than a threshold number of appointments are scheduled for Thursday and/or when more than the threshold number of appointments are scheduled for Friday.
- the service provider may account for locations of appointments, hours of operation of a merchant's business, employees' schedules, and a variety of other information.
- the service provider may send a notification to a customer of the appointment to request that the appointment be rescheduled.
- the notification may suggest a new time slot for the appointment, while in other instances the notification may merely request that the appointment be rescheduled.
- the customer may provide input and, if requested in the input, the service provider may reschedule the appointment to another time slot.
- the service provider may then provide a notification to the merchant indicating that the appointment has been rescheduled.
- a merchant may obtain a more condensed calendar (e.g., appointments are scheduled more closely within a window of time).
- the calendar availability processing and/or appointment consolidation techniques discussed herein may be performed at various times to intelligently manage a merchant's calendar. In one example, if a particular Monday is less than three days away, and no appointments have been scheduled for that day, the service provider may suggest that the merchant be scheduled as unavailable on Monday. In another example, if a scheduled appointment is less than three days away, and there is only one appointment scheduled for that day, the service provider may send a notification to request that the appointment be rescheduled to free-up that day for the merchant.
- FIG. 1 illustrates an example architecture 100 for processing calendar availability and consolidating appointments.
- the architecture 100 includes a service provider 102 that communicates with one or more users devices 104 (hereinafter “the user device 104 ”) and one or more merchant devices 106 (hereinafter “the merchant device 106 ”) to manage one or more calendars 108 for one or more merchants 110 (hereinafter “the merchant 110 ”) that are associated with the merchant device 106 .
- the service provider 102 may manage a schedule of appointments for the merchant 110 .
- the merchant 110 may be any individual, entity, or machine that offers services, including an employee of a merchant or another user that is affiliated with the merchant.
- the user device 104 may be employed by one or more users 112 (hereinafter “the user 112 ”).
- the service provider 102 may, in some instances, facilitate transactions between the user 112 and the merchant 110 , which may include communicating with one or more bank computing devices 114 and one or more card payment network computing devices 116 . As illustrated, the service provider 102 , the user device 104 , the merchant device 106 , the one or more bank computing devices 114 , and/or the one or more card payment network computing devices 116 may communicate with each other via one or more networks 118 .
- the service provider 102 may be implemented as one or more computing devices, such as servers, laptop computers, desktop computers, and so on.
- the one or more computing devices may be configured in a cluster, a farm, a data center, a cloud computing environment, or a combination thereof.
- the one or more computing devices provide cloud computing resources, including computational resources, storage resources, and the like.
- FIG. 1 illustrates components and data of the service provider 102 as being present in a single location
- these components and data may alternatively be distributed across different computing devices and/or different locations in any manner. Consequently, the functions may be implemented by one or more computing devices, with the various functionality described being distributed in various ways across the different 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 described functionality may be provided by the servers of a single entity or enterprise, or may be provided by the servers and/or services of multiple different buyers or enterprises.
- the service provider 102 may generally manage the one or more calendars 108 .
- Each of the one or more calendars 108 may be associated with a respective merchant 110 via an account or otherwise, such as an account managed by the service provider 102 .
- the one or more calendars 108 may include appointments with customers, appointments for meetings (e.g., internal to the merchant 110 or external), appointments for personal or business events, time periods that are blocked out as unavailable, or any other item that may be relevant to a schedule for the merchant 110 .
- the appointments or other items in the one or more calendars 108 may include a variety of information, such as an identity of a customer, a time slot for the appointment, background information for a customer (e.g., preferences, transaction history with a merchant, etc.), an item being offered for acquisition for an appointment, and so on.
- the one or more calendars 108 are made available to both customers and merchants. In other instances, the one or more calendars 108 are made available exclusively to merchants or customers.
- the one or more calendars 108 may be made available to the user 112 via a user interface 120 and made available to the merchant 110 via a merchant interface 122 .
- the user interface 120 and/or the merchant interface 122 may be provided via a web browser, an application (e.g., mobile application, desktop application, etc.), or otherwise.
- the user 112 may be provided with access to different information than that made available to the merchant 110 .
- the service provider 102 may monitor usage of the one or more calendars 108 .
- the service provider 102 may monitor scheduling interactions of the merchant 110 to determine appointments that are added, removed, rescheduled, and/or updated, and when the additions, removals, rescheduling, and/or updates occur. From the monitoring, the service provider 102 may additionally, or alternatively, determine periods of time are blocked out as being unavailable, when those periods of time are blocked out, when those periods of time are removed (e.g., rescheduled as available), and so on. Further, the service provider 102 may identify any other interaction with the one or more calendars 108 .
- the service provider 102 may identify a period of time that is scheduled in the one or more calendars 108 as being unavailable for appointments with customers. For instance, the service provider 102 may detect that the merchant 110 has blocked out Wednesdays, more than a predetermined number of times, as being unavailable for appointments. The service provider 102 may then provide a notification to the merchant 110 suggesting that the merchant 110 be scheduled as unavailable for the period of time (e.g., Wednesday). The notification may be provided a particular number of hours, days, weeks, months, etc. in advance of the period of time (e.g., provide the notification on Friday regarding the following Wednesday).
- the notification may be provided to the merchant 110 in various manners, such as via an email, text message, telephone call, post, message on a social networking site, message on an interface, etc.
- the service provider 102 provides the notification via a pop-up window 124 in the merchant interface 122 .
- the pop-up window 124 asks the merchant 110 “Would you like to set this day as unavailable?”
- the merchant 110 may select a “Yes” or “No” button to indicate whether he would like to set the particular day as unavailable.
- the merchant 110 has selected the “Yes” button and a particular day is set as unavailable.
- the service provider 110 may provide another notification, when the period of time that is designated is unavailable approaches, to find out if the merchant would still like to maintain the period of time as unavailable.
- the service provider 110 determines that the merchant's schedule is relatively full (e.g., more than a threshold number of appointments are scheduled) over a window of time before and/or after the period of time (e.g., a number of days before or after the period of time).
- the service provider 102 presents a pop-up window 126 asking “You have a lot of appointments. Would you like to reschedule this day as available?”
- the merchant 112 may confirm or cancel the designation as unavailable by selecting a “Yes” or “No” button. In response to selecting the “Yes” button, the merchant 112 is rescheduled as being available. In response to selecting the “No” button, the period of time is maintained as being unavailable.
- the service provider 102 may also consolidate a schedule for the merchant 110 by causing an appointment to be rescheduled.
- the schedule consolidation may be based on a number of appointments that are scheduled for a period of time.
- the service provider 102 may generally seek to reschedule an appointment to a period of time that is associated with a relatively high number of appointments and/or from a period of time that is associated with a relatively low number of appointments.
- the merchant 110 has four time slots available on Monday and four time slots available on Tuesday. Assume also that only one time slot is filled with an appointment on Monday and all four time slots are filled with appointments on Tuesday.
- the service provider 102 may send a notification to a customer of the Monday appointment requesting to reschedule the appointment to Tuesday (or at least to another day). This may free-up Monday for the merchant 110 and fill an open time slot for Tuesday.
- the notification may be provided to the customer in various manners, such as via an email, text message, telephone call, post, message on a social networking site, message on an interface, etc.
- the service provider 102 provides the notification via a pop-up window 128 in the user interface 120 .
- the pop-up window 128 asks “Can Merchant A reschedule this appointment to Thursday at 10AM?”
- the service provider 102 may reschedule the appointment.
- the service provider 102 may refrain from rescheduling the appointment.
- the service provider 102 may provide a notification to the merchant 110 before requesting that the appointment be rescheduled.
- the service provider 102 may provide a pop-up window 130 asking the merchant 110 “Would you like to reschedule this appointment?”
- the pop-up window 130 may identify the particular appointment to be reschedule and may include additional information, such as the reason for determining to reschedule the appointment (e.g., appointment canceled, more appointments scheduled for another day, not enough appointments scheduled for that day, etc.).
- the service provider 102 may contact the user 112 to request that the appointment be rescheduled.
- the service provider 102 may maintain the appointment as scheduled.
- the techniques may be performed automatically without providing notifications and/or receiving input.
- a merchant may be scheduled as unavailable as soon as the service provider 102 detects that the merchant has blocked out a particular period of time a threshold number of times.
- the service provider 102 may send a notification to a customer regarding rescheduling of an appointment automatically (without first seeking merchant approval) when predetermined thresholds are met, such as having less than a particular number of appointments scheduled on a day or having more than the particular number of appointments scheduled on another day.
- the user device 104 and/or the merchant device 106 may comprise any type of computing device that is configured to perform an operation.
- the user device 104 and/or the merchant device 106 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., intercom system, home media system, etc.), a projector, an automated teller machine (ATM), and so on.
- the user device 104 and/or the merchant device 106 may be a mobile device.
- the service provider 102 may communicate with the one or more card payment network computing devices 116 to conduct a transaction electronically.
- the one or more card payment network computing devices 116 may be associated with a card payment network (e.g., MasterCard®, VISA®, etc.).
- the service provider 102 may also communicate with the one or more bank computing devices 114 of one or more banks.
- the service provider 102 may communicate with an acquiring bank, an issuing bank, and/or a bank maintaining user accounts for electronic payments.
- An 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.
- An issuing bank may issue payment cards to users, and may pay acquiring banks for purchases made by cardholders to which the issuing bank has issued a payment card.
- the computing device(s) of an acquiring bank may be included in the card payment network and may communicate with the computing devices of a card-issuing bank to obtain payment.
- a user may use a debit card instead of a credit card, in which case, the bank computing device(s) of a bank corresponding to the debit card may receive communications regarding a transaction in which the user is participating.
- the service provider 102 , the user device 104 , the merchant device 106 , the one or more bank computing devices 114 , and/or the one or more card payment network computing devices 116 may communicate via the 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 close-range wireless communications, such as Bluetooth® and Bluetooth® low energy, a wired network, or any other such network, or any combination thereof.
- 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 fiber optic technologies. Components used for such communications can depend at least in part upon the type of network, the environment selected, or both. Consequently, the service provider 102 , the user device 104 , the merchant device 106 , the one or more bank computing devices 114 , and/or the one or more card payment network computing devices 116 may communicatively couple to the one or more networks 118 in any manner, such as by a wired or wireless connection.
- wired and/or wireless communication technologies including Bluetooth®, Bluetooth® low energy, Wi-Fi, and cellular communication technologies, as well as wired or fiber optic technologies. Components used for such communications can depend at least in part upon the type of network, the environment selected, or both. Consequently, the service provider 102 , the user device 104 , the merchant device 106 , the one or more bank computing devices 114 , and/
- any number of the techniques may be performed by other devices.
- techniques described as being performed by the service provider 102 may be performed locally at the user device 104 , the merchant device 106 , or another device.
- FIG. 2 illustrates example details of the service provider 102 of FIG. 1 .
- the service provider 102 may be implemented as one or more computing devices.
- the one or more computing devices 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, and so on.
- CPU central processing unit
- GPU graphics processing unit
- microprocessor a digital signal processor
- the memory 204 may include software functionality configured as one or more “modules.”
- module is intended to represent example divisions of the software for purposes of discussion, and is not intended to represent any type of requirement or required method, manner or necessary organization. Accordingly, while various “modules” are discussed, their functionality and/or similar functionality could be arranged differently (e.g., combined into a fewer number of modules, broken into a larger number of modules, etc.). Further, while certain functions are described herein as being implemented as software modules configured for execution by a processor, in other embodiments, any or all of the functions may be implemented (e.g., performed) in whole or in part by hardware logic components.
- the memory 204 may include a scheduling module 208 , a payment transaction module 210 , a merchant interaction module 212 , and a user interface module 214 .
- the scheduling module 208 may manage the one or more calendars 108 stored in the calendar data store 216 . This may include adding, removing, rescheduling, and/or updating appointments with customers, appointments for meetings, appointments for personal or business events, time periods that are blocked out as unavailable, or any other item that may be relevant to a schedule.
- the calendar data store 216 may additionally store information related to the one or more calendars 108 , such as data about appointments (e.g., times of appointments, locations of appointments, customer information for the appointments, items being provided for the appointments, costs of items for appointments, preferences for the customers of the appointments, and so on).
- the scheduling module 208 may also monitor interactions of the merchant 110 and/or the user 112 regarding scheduling in the one or more calendars 108 .
- the scheduling module 208 may utilize information from a customer information data store 218 and/or the calendar data store 216 to handle of appointments.
- the customer information data store 218 may include information regarding electronic payment accounts of the customers (e.g., the user 112 ), customer transaction history (e.g., indicating transactions that have been conducted by the user 112 ), and so on.
- the scheduling module 208 may also seek to consolidate a merchant's schedule by rescheduling appointments.
- the scheduling module 208 may operate in cooperation with the merchant interaction module 212 and the user interaction module 214 to handle communications with the merchant 110 and the user 112 , respectively. In some instances, communications from the merchant 110 and the user 112 may be processed using a natural language processing techniques.
- the merchant interaction module 212 and the user interaction module 214 may operate to interface with the user device 104 and merchant device 106 , respectively. For example, merchant interaction module 212 and the user interaction module 214 may operate in accordance with instructions from the scheduling module 208 to request or provide information on behalf of the scheduling module 208 .
- the merchant interaction module 212 may send notifications to the merchant 110 regarding scheduling or rescheduling of appointments, unavailability of the merchant 110 , and so on.
- the user interaction module 214 may send notifications to the user 112 regarding scheduling or rescheduling of appointments (e.g., setting appointments, rescheduling appointments, and so on).
- the merchant interaction module 212 may send data describing the merchant 110 , such as a merchant name, geographic location, contact information, a calendar that describes appointments that are available for scheduling with the merchant, and so on.
- the merchant interaction module 212 and the user interaction module 214 may facilitate a merchant interface (e.g., the merchant interface 122 of FIG. 1 ) and a user interface (e.g., the user interface 120 of FIG. 1 ), respectively.
- the payment transaction module 210 may facilitate transactions between the merchant 110 and the user 112 .
- the user 112 e.g., customer
- the payment transaction module 210 may be configured to enable electronic payments for transactions.
- the service provider 102 may include one or more computing devices that are configured to perform securely electronic financial transactions between the merchant 110 and the user 112 through, for example, data communicated between the user device 104 and the merchant device 106 .
- the transaction is processed by electronically transferring funds from a financial account associated with a user account for the user to a financial account associated with a merchant account for the merchant.
- the payment transaction module 210 may often handle the processing of payments related to the appointments.
- the user 112 can provide the amount of payment that is due to the merchant 110 using cash, check, a payment card, NFC, or by electronic payment.
- the merchant 110 may interact with the merchant device 106 to process the transaction at a point of sale (POS).
- POS point of sale
- the point of sale may be the place where the user 112 with the user device 104 meets the merchant 110 with the merchant device 106 at the appointment time.
- the merchant device 106 can determine and send data describing the transaction, including, for example, appointment data, services related to and/or provided as a part of the appointment, item(s) being purchased in connection with the appointment, the amount of the item(s), buyer information, and so forth.
- the payment transaction module 210 enables card-less payments (e.g., electronic payments) for transactions between the user 112 and the merchant 110 based on interaction of the user 112 with the user device 104 and interaction of the merchant 110 with the merchant device 106 .
- a card-less payment transaction may include a transaction conducted at a POS location during which an electronic payment account of the user 112 is charged without the user 112 having to physically present a payment card to the merchant 110 at the POS location. Consequently, the merchant 110 need not receive any details about the financial account of the user 112 for the transaction to be processed.
- the electronic payment may be charged to a credit card issuer or credit card number that the user 112 provided when signing up with the service provider 102 for an electronic payment account.
- the user 112 may have a quantity of money pre-paid in an account maintained for use in making the electronic payments.
- Other variations will also be apparent to those of skill in the art having the benefit of the disclosure herein.
- FIG. 3 illustrates example details of the merchant device 106 of FIG. 1 .
- the merchant device 106 may be implemented as one or more computing devices.
- the one or more computing devices 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, and so on.
- 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.
- LCD Liquid-crystal Display
- LED Light-emitting Diode
- the merchant device 106 may also include, or be associated with, other components, such as a camera(s), a microphone(s), a speaker(s), a projector(s), a printer(s), and/or a sensor(s).
- 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, compass, gyroscope, magnetometer, Global Positioning System (GPS), olfactory sensor (e.g., for smell), or other sensor.
- the merchant device 106 may additionally include, or be associated with, input device(s) such as a keyboard, a mouse, a pen, a voice input device, a touch input device, etc.
- the memory 304 may include an appointment module 310 , a merchant payment module 312 , and a location module 314 .
- the appointment module 310 may interface with the merchant 110 to manage a calendar associated with the merchant 110 .
- the appointment module 310 may display the calendar to the merchant 110 (e.g., via the merchant interface 122 ) to enable the merchant 110 to manage appointments (e.g., add, delete, reschedule, etc.), manage blocks of time that designated as unavailable, and so on.
- the appointment module 310 may present appointments on the calendar different than blocks of time that are designated as unavailable.
- the appointment module 310 may provide customer information (records), such as contact information (e.g., identifying a customer, telephone number, email address, preferences for an item, etc.), to enable the merchant 110 to manage an appointment.
- the merchant 110 may view a list of customers or potential customers, contact a particular customer on the list, and schedule an appointment in a calendar associated with the merchant 110 . Thereafter, the merchant 110 may view the appointment and update any information as needed, such as rescheduling the appointments by sending a notification via the appointment module 310 to the customer, changing an item being requested for the appointment, changing a time of the appointments, and so on.
- the appointment module 310 may generally operate in cooperation with the service provider 102 , such as the merchant interaction module 212 .
- the appointment module 310 may enable the merchant 110 to set preferences for calendar management. Such preferences may include how many days in advance to send a notification suggesting to set a calendar as unavailable (e.g., send notification one week in advance of a time that is being suggested to be marked as unavailable), whether or not to be notified of setting a time slot as unavailable in the calendar (e.g., request merchant input vs. automatically setting the time slot as unavailable), periods of time the merchant 110 desires to work (e.g., preference to work Monday-Wednesday), whether or not the merchant 110 wishes to be informed before a notification is sent to a customer to reschedule an appointment, and so on.
- the preferences may be stored locally at the merchant device 106 and/or remotely at the service provider 102 .
- the preferences may be used by the scheduling module 208 and/or other modules of the service provider 102 .
- the merchant payment module 312 may perform various processes to assist the merchant 110 in processing transactions with customers, managing inventory, and so on.
- the merchant payment module 312 may provide various interfaces and/or dashboards.
- the merchant payment module 312 may facilitate transactions with customers by accepting payment from customers (e.g., via a card reader, NFC connection to a customer device, Bluetooth® connection to customer device, etc.), provide receipts for items (including printing receipts), receiving input from customers for items being acquired by the customers (e.g., confirmation, signature for credit card, etc.), and so on.
- the merchant payment module 312 may enable the merchant 110 to manage inventory by informing the merchant of inventory levels (e.g., number of items currently in-stock), order additional inventory, seek financing for inventory, and so on.
- the merchant payment module 312 may provide data analytics for sales, inventory, or other information.
- an interface may be provided to a customer to facilitate a transaction, such as an interface to confirm payment, provide a signature, etc.
- the merchant payment module 312 may communicate with the service provider 102 , such as the payment transaction module 210 .
- the appointment module 310 and merchant payment module 312 may operate in cooperation.
- the merchant 110 may view appointment information for the user 112 via a calendar interface provided by the appointment module 310 . While viewing the appointment information, the merchant 110 may select a button or other interface icon to enable the merchant 110 to process a transaction with the user 112 for the appointment.
- the merchant payment module 312 may provide a payment interface to enable the merchant 110 to process the transaction with the user 112 (e.g., purchase the item through a check-out process). Thereafter, upon completion of the transaction, the merchant payment module 312 may provide a button or other interface element to enable the merchant 110 to navigate back to the calendar interface.
- the merchant 110 may schedule another appointment with the user 112 .
- the functionality may be transferred from one module to the other module.
- the appointment module 310 and/or the merchant payment module 312 are implemented as separate mobile applications on the merchant device 106 .
- this example discusses transferring functionality between the appointment module 310 and the merchant payment module 312 , functionality may be transferred between any number of modules stored in the memory 304 .
- the location module 314 may determine a location of the merchant 110 (e.g., the merchant device 106 ). In some instances, the location is provided to the service provider 102 , or used locally, to facilitate various functions, such as processing of transactions when a customer is located within a particular proximity to the merchant 110 .
- the location module 314 may determine a geographic location of the merchant device 106 from geolocation techniques (e.g., satellite-based systems—global positioning system (GPS)), cell tower location data, wireless access point location data, wireless beacon location, and so forth.
- geolocation techniques e.g., satellite-based systems—global positioning system (GPS)
- GPS global positioning system
- FIG. 4 illustrates example details of the user device 104 of FIG. 1 .
- the user device 104 may be implemented as one or more computing devices.
- the one or more computing devices 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, and so on.
- 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.
- LCD Liquid-crystal Display
- LED Light-emitting Diode
- the user device 104 may also include, or be associated with, other components, such as a camera(s), a microphone(s), a speaker(s), a projector(s), a printer(s), and/or a sensor(s).
- 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, compass, gyroscope, magnetometer, Global Positioning System (GPS), olfactory sensor (e.g., for smell), or other sensor.
- the user device 104 may additionally include, or be associated with, an input device(s), such as a keyboard, a mouse, a pen, a voice input device, a touch input device, etc.
- the memory 404 may include an appointment module 410 , a customer ordering module 412 , and a location module 414 .
- the appointment module 410 may interface with the user 112 to enable the user 112 to schedule an appointment with the merchant 110 .
- the appointment module 410 may display a calendar of the merchant 110 (e.g., via the user interface 120 ) with information indicating time slots that are available and time slots that are unavailable (due to an appointment and/or being designated as unavailable).
- the user 112 may request an appointment by selecting a particular time slot, calling the merchant 110 (based on contact information that is provided), sending a notification to the merchant 110 (e.g., sending an email, text message, post, etc.), and so on.
- the user 112 may be given access to different calendar information than that made available to the merchant 110 .
- a calendar may show a merchant as available or unavailable without showing the underlying reason (e.g., without indicating whether the unavailability is due to an appointment or a block of time that is designated by the merchant as unavailable).
- the appointment module 410 may also enable the user 112 to update an existing appointment (e.g., reschedule, change an item being requested for an appointment, etc.).
- the appointment module 410 may generally operate in cooperation with the service provider 102 , such as the user interaction module 214 .
- the customer ordering module 412 may provide functionality to enable the user 112 to order an item and/or process a transaction for the item.
- the customer ordering module 412 may provide various interfaces and/or dashboards. For example, the customer ordering module 412 may provide information via an interface regarding merchants that are within a predetermined proximity to the user 112 . The user 112 may select a merchant and order an item with the merchant. Additionally, or alternatively, the customer ordering module 412 may enable the user 112 to provide payment for an item (e.g., via a card reader, NFC connection to a customer device, Bluetooth® connection to customer device, etc.), receive receipts for items, and so on. Further, the customer ordering module 412 may enable the user 112 to check in to a merchant to carry out a card-less payment transaction. Moreover, the customer ordering module 412 may provide a variety of other functionality to order an item and/or process a transaction.
- the location module 414 may determine a location of the user 112 (e.g., the user device 104 ). In some instances, the location is provided to the service provider 102 , or used locally, to facilitate various functions, such as processing of transactions when a customer is located within a particular proximity to the merchant 110 .
- the location module 414 may determine a geographic location of the user device 104 from geolocation techniques (e.g., satellite-based systems—global positioning system (GPS)), cell tower location data, wireless access point location data, wireless beacon location, and so forth.
- geolocation techniques e.g., satellite-based systems—global positioning system (GPS)
- GPS global positioning system
- the memory 204 of the service provider 102 , the memory 304 of the merchant device 106 , and/or the memory 404 of the user device 104 may include one or a combination of computer storage media.
- Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
- Computer storage media includes, but is not limited to, phase change memory (PRAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to store information for access by a computing device.
- PRAM phase change memory
- SRAM static random-access memory
- DRAM dynamic random-access memory
- RAM random access memory
- ROM read-only memory
- EEPROM electrically erasable programmable read-only memory
- flash memory or other memory technology
- CD-ROM compact disk read-only memory
- DVD digital versatile disks
- magnetic cassettes magnetic tape
- magnetic disk storage or other magnetic storage devices or any other non-transitory medium that can be used to
- FIGS. 5-11 illustrate example processes 500 , 600 , 700 , 800 , 900 , 1000 , and 1100 for employing the techniques described herein.
- the processes 500 , 600 , 700 , 800 , 900 , 1000 , and 1100 are described as being performed in the architecture 100 of FIG. 1 .
- one or more of the individual operations of the processes 500 , 600 , 700 , 800 , 900 , 1000 , and 1100 may be performed by the service provider 102 , the user device 104 , the merchant device 106 , or other devices.
- the processes 500 , 600 , 700 , 800 , 900 , 1000 , and 1100 may be performed in other architectures.
- the architecture 100 may be used to perform other processes.
- the processes 500 , 600 , 700 , 800 , 900 , 1000 , and 1100 are illustrated as a logical flow graph, each operation of which represents a sequence of operations that can be implemented in hardware, software, or a combination thereof.
- the operations represent computer-readable instructions stored on one or more computer-readable storage media that, when executed by one or more processors, perform the recited operations.
- computer-readable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types.
- the order in which the operations are described is not intended to be construed as a limitation, and any number of the described operations can be combined in any order and/or in parallel to implement the process. Further, any number of the described operations may be omitted.
- FIG. 5 illustrates the example process 500 to reschedule an appointment to consolidate appointments in a calendar.
- the service provider 102 may monitor a calendar that is associated with a merchant.
- the operation 502 may generally include identifying the calendar associated with the merchant and identifying changes that are made to the calendar.
- the service provider 102 may detect interactions with the calendar regarding the merchant's schedule, such as adding appointments, removing appointments, rescheduling appointments, updating appointments, etc.
- the service provider 102 may determine to reschedule an appointment from a period of time and/or determine another period of time to which to reschedule the appointment.
- the determination(s) at 504 may be based on the monitoring.
- the operation 504 is performed based on (or in response to) determining that the period of time is less than a threshold time away, such as less than a predetermined number of hours, days, or weeks away. For example, if an appointment is scheduled for Wednesday, the service provider 102 may determine whether or not to reschedule the appointment the Friday before. In other instances, the operation 504 may be performed at other times.
- a period of time may generally refer to a period of minutes, hours, days, weeks, months, etc.
- the operation 504 may include determining a number of appointments scheduled for a period of time associated with an appointment. For example, the service provider 102 may determine to reschedule an appointment if less than a threshold number of appointments are scheduled for a period of time associated with the appointment. To illustrate, if only one appointment is scheduled for Thursday, the service provider 102 may determine to reschedule the appointment to another day since less than two appointments are scheduled for Thursday.
- the operation 504 may also include determining a number of appointments scheduled for another period of time, such as a period of time associated with another appointment. For example, the service provider 102 may determine to reschedule an appointment from a time slot during a period of time to a time slot during another period of time if more than a threshold number of appointments are scheduled for the other period of time. To illustrate, if more than a threshold number of appointments are scheduled for Friday, the service provider 102 may determine to reschedule an appointment on Thursday to a time slot on Friday.
- the operation 504 may include determining that more appointments are scheduled for a particular period of time than another period of time. To illustrate, if more appointments are scheduled for Friday than Thursday, the service provider 102 may determine to reschedule an appointment on Thursday to Friday.
- the operation 504 may include determining that another appointment has been canceled or rescheduled.
- the service provider 102 may determine to reschedule the Thursday appointment to Friday. This may allow a time slot of the canceled appointment on Friday to be filled and/or make available more time for the merchant on Thursday.
- the Thursday and Friday appointments are within a predetermined window of time, namely as a number of days.
- the predetermined window of time may comprise any amount of time, such as a number of minutes, hours, days, weeks, months, etc.
- the operation 504 may also include determining a location of another appointment.
- a location of an appointment may generally be where a merchant and a customer perform at least a portion of a transaction, such as exchanging an item for money.
- a location of an appointment may be at a customer's residence, merchant's location, remote location to the merchant's location, or any other location.
- the service provider 102 may determine to reschedule an appointment if a location of another appointment is within a predetermined proximity to a location of the appointment. To illustrate, assume again that one appointment is scheduled for Thursday, three appointments are scheduled for Friday, and one of the Friday appointments cancels. If the Thursday appointment is within a predetermined proximity to one of the remaining Friday appointments, the service provider 102 may determine to reschedule the Thursday appointment to fill the canceled Friday time slot.
- the operation 504 may include determining a number of employees scheduled to work during a period of time. To illustrate, if more than a threshold number of employees are scheduled to work on a particular Friday, the service provider 102 may determine to reschedule an appointment on another day of the week to Friday. In some instances, the determination may additionally, or alternatively, be based on the types of employees that are scheduled to work. For example, an appointment may be determined to be rescheduled to Friday if a predetermined number of non-management (or alternatively management) employees are scheduled to work on Friday.
- the operation 504 may include determining when a merchant is scheduled to be open for business. For example, if the merchant is scheduled to be open on a particular day during the week, the service provider 102 may determine to reschedule an appointment for another day of the week to the particular day on which the merchant will be open.
- the operation 504 may include determining whether a location of an appointment is within a predetermined geographical region. For example, the service provider 102 may determine geographical regions that are frequently visited by a merchant (e.g., more than a threshold number of times) and when those geographical regions are visited. If the service provider 102 determines to reschedule an appointment, the service provider 102 may identify a geographical region that encompasses a location associated with the appointment and determine to reschedule the appointment to a period of time (e.g., day, week, month, etc.) when the merchant typically visits the geographical region.
- a period of time e.g., day, week, month, etc.
- the service provider 102 may determine to reschedule the appointment to a Monday.
- the service provider 102 may make a notification available to a customer regarding rescheduling of an appointment. This may include sending the notification to a device associated with the customer (e.g., via a text message, email, notification in an application, or other message), causing the notification to be presented via a user interface for the customer (e.g., a customer-facing interface that displays a calendar for the user), and so on.
- the notification may generally request that the customer reschedule an appointment with the merchant to a different time than the scheduled time.
- the notification may suggest a particular period of time to which to reschedule, such as a particular day, week, month, etc.
- the notification may merely request that the customer select a period of time. Further, in some instances the notification may indicate that an item of the merchant is being offered for acquisition at a reduced value for rescheduling the appointment. For example, the merchant may provide a discount on an item, promotional item, coupon for an item, and so on, in order to compensate the customer for rescheduling the appointment.
- the service provider 102 may receive user input regarding rescheduling of the appointment.
- the user input may be received from a device associated with the customer in the form of a text message, email, another electronic message, or other data.
- the user input may be received via a user interface that is provided to the customer (e.g., the user's selection of a confirmation button confirming a suggested time slot, the user's selection of a particular time slot on a calendar, etc.).
- the user input may specify whether or not the user would like to reschedule the appointment and/or a time for rescheduling the appointment (e.g., a particular hour, day, week, month, etc.).
- the service provider 102 may reschedule the appointment for the customer.
- the rescheduling may including moving the appointment with the customer in a calendar that is associated with the merchant.
- the rescheduling is performed based on the user input received at 508 .
- the rescheduling is performed automatically and/or in response to response to other events.
- the rescheduling may be performed based on the determination at 504 (e.g., the determination to reschedule and/or the determination of a period of time to which to reschedule).
- the service provider 102 may make a notification available to the merchant regarding the rescheduling of the appointment. This may include sending the notification to a device associated with the merchant (e.g., via a text message, email, notification in an application, or other message), causing the notification to be presented via a user interface for the merchant (e.g., a merchant-facing interface that displays a calendar), and so on.
- the notification may generally indicate that an appointment with a customer has been rescheduled.
- the notification may identify the customer, a time to which the appointment has been rescheduled, a location of the appointment, or any other details about the appointment.
- the service provider 102 may cause an item of the merchant to be offered for acquisition to the customer at a reduced value. This may include informing the customer of a discount on an item, promotional item, coupon for an item, and so on, to compensate the customer for rescheduling the appointment.
- the operation 514 is discussed as being performed by the service provider 102 , in some instances this operation may be performed by a merchant device.
- the service provider 102 may schedule the merchant as unavailable in a calendar for a period of time. In one example, if an appointment has been rescheduled from 3-4PM on Monday, the service provider 102 may set the merchant as unavailable in the calendar from 3-4PM on Monday. This may be based on a determination that the merchant has previously rescheduled appointments from this period of time and/or otherwise desires to have the particular period of time blocked out as unavailable. In another example, if a remaining (or only) appointment on Tuesday has been rescheduled to another day, the service provider 102 may set the merchant as unavailable in the calendar for Tuesday (e.g., all day, all normal business hours, specific time slots, etc.).
- FIG. 6 illustrates the example process 600 to schedule a merchant as unavailable during a period of time.
- the service provider 102 may monitor scheduling interactions of a merchant with a calendar.
- the calendar may be made available to the merchant and/or customers to schedule appointments with the merchant.
- the operation 602 may generally include identifying the calendar associated with the merchant and identifying changes that are made to the calendar.
- the service provider 102 may detect interactions with the calendar regarding the merchant's schedule, such as adding appointments, removing appointments, rescheduling appointments, updating appointments, marking time periods as unavailable, etc.
- the service provider 102 may determine a period of time from the monitoring. In some examples, the service provider 102 may determine a period of time has been set in the calendar, more than a threshold number of times, as unavailable for customers to schedule appointments with the merchant. For instance, it may be determined that the merchant frequently (more than a threshold number of times) blocks out Mondays from 12-6PM as being unavailable. Alternatively, or additionally, the service provider 102 may determine a period of time from which more than a threshold number of appointments have been rescheduled. For instance, it may be determined that the merchant frequently (more than a threshold number of times) reschedules appointments that are scheduled on Tuesdays from 10AM-12PM.
- the service provider 102 may determine a future period of time to set as unavailable in a calendar based on the period of time that is determined at the operation 604 .
- the service provider 102 may identify a future period of time that corresponds to a previous period of time which has been set as unavailable and/or from which appointments have been rescheduled.
- the future period of time may be deemed to be of a particular level of interest for the merchant to set as unavailable. For example, if the first Mondays of January and February have been set in the calendar by the merchant as being unavailable for scheduling appointments, the service provider 102 may identify the first Monday of March as potentially being of interest to the merchant to set as unavailable.
- the service provider 102 may determine how far in advance the merchant set the period of time (determined at the operation 604 ) as unavailable in the calendar and/or the merchant rescheduled from the period of time. That is, the service provider 102 may determine an amount of time between (i) setting a period of time as unavailable or rescheduling an appointment from the period of time and (ii) the start of the period of time. In one example, it may be determined that on Monday the merchant sets Wednesday as being unavailable for scheduling appointments with the merchant. As such, here the merchant sets unavailability two days in advance. In another example, it may be determined that the merchant has rescheduled a particular number of appointments four days prior to the scheduled appointments.
- the operation 608 may include determining on average or for a specific instance how far in advance a period of time is set as unavailable or the merchant has rescheduled from the period of time, such as an average number of minutes, hours, days, weeks, months, etc.
- the service provider 102 may make a notification available to the merchant suggesting that the merchant be scheduled as unavailable in the calendar during the future period of time (determined at 606 ). This may include sending the notification to a device associated with the merchant (e.g., via a text message, email, notification in an application, or other message), causing the notification to be presented via a user interface for the merchant (e.g., a merchant-facing interface that displays a calendar), and so on.
- the notification may suggest a particular time slot for setting as unavailable (e.g., next Monday at 3PM).
- the notification is made available to the merchant based on how far in advance the merchant has set a period of time as unavailable and/or has rescheduled an appointment (the determination at the operation 608 ). In one instance, if the merchant frequently sets Mondays as unavailable in the calendar on Friday, a notification may be provided to the merchant on Friday suggesting that Monday be scheduled as unavailable. Alternatively, or additionally, the notification for scheduling unavailability of the merchant may be provided any number of hours, days, weeks, months, etc. in advance of a particular time at which the calendar is generally set as unavailable and/or at which an appointment is rescheduled. In returning to the illustration above where Mondays are frequently set as unavailable on Friday, the notification may be provided on the Wednesday prior to the Monday, providing the merchant with additional advance notice to mark the calendar as unavailable.
- the service provider 102 may receive user input regarding unavailability of the merchant. For example, if the notification suggests that the merchant be scheduled as unavailable next Monday, the user input may include a request of the merchant to be scheduled as unavailable next Monday. In some instances, the user input may be received from a device associated with the merchant in the form of a text message, email, another electronic message, or other data. In other instances, the user input may be received via a user interface that is provided to the merchant (e.g., the merchant's selection of a confirmation button confirming a suggested time slot to schedule as unavailable).
- the service provider 102 may schedule the merchant as unavailable for the future period of time. This may encourage customers to schedule appointments for other future period of time.
- the merchant may be scheduled as unavailable during the future period of time based on the user input received at the operation 612 . In other instances, the merchant may be scheduled as unavailable automatically without having notified the merchant and/or without having received user input (e.g., without have performed the operation 610 and/or the operation 612 ).
- FIG. 7 illustrates the example process 700 to notify a merchant of about an upcoming period of time that is scheduled as unavailable and to maintain or remove the unavailability.
- the service provider 102 may determine that a future period, for which a merchant is scheduled as unavailable, is less than a threshold time away.
- the future period of time may have been scheduled as unavailable in a calendar through the process 600 of FIG. 6 , for example.
- the service provider 102 may determine that the future period of time is approaching (e.g., less than a particular number of hours, days, weeks, months, etc. away). For example, it may be determined that a particular Friday for which the merchant is scheduled as unavailable in the calendar is less than a week away.
- the service provider 102 may determine that the merchant has more than a threshold number of appointments scheduled over a window of time before and/or after the future period of time that is set as unavailable.
- the window of time may comprise any number of hours, days, weeks, months, and so on that are before and/or after the future period of time. For example, if a Thursday is set in a calendar as unavailable for scheduling appointments, the service provider 102 may determine a number of appointments that are scheduled on the Wednesday before and the Friday after. Then, it may be determined if the number of appointments is greater than a threshold (e.g., indicating that the merchant is relatively busy around Thursday and may want to be available on Thursday now to obtain more business).
- a threshold e.g., indicating that the merchant is relatively busy around Thursday and may want to be available on Thursday now to obtain more business.
- the service provider 102 may make a notification available to the merchant regarding confirmation or cancelation of the future period of time being set as unavailable. That is, the notification may request confirmation or cancelation of the scheduling of the merchant as unavailable in the calendar for the future period of time. The notification may identify the future period of time as being scheduled as unavailable.
- the operation 706 may include sending the notification to a device associated with the merchant, causing the notification to be presented via a user interface for the merchant, and so on. The operation 706 may be performed based on the determinations of the operation 702 and/or the operation 704 .
- the service provider 102 may receive user input regarding confirmation or cancelation of the scheduling of the merchant as unavailable in the calendar for the future period of time.
- the user input may be received from a device associated with the merchant in the form of a text message, email, another electronic message, or other data.
- the user input may be received via a user interface that is provided to the merchant. The user input may specify whether the merchant would like to maintain the future period of time as unavailable or would like to cancel the unavailability (e.g., reschedule the merchant as available).
- the service provider 102 may determine whether the user input requests to maintain the merchant as unavailable during the future period of time or to reschedule the merchant as available during the future period of time.
- the process 700 may proceed to operation 712 , where the calendar may maintain the merchant as unavailable during the future period of time (e.g., leave the calendar as is).
- the process 700 may proceed to operation 714 , where the merchant is rescheduled as available in the calendar for the future period of time (e.g., set the future period of time in the calendar as available). This may allow the merchant to obtain appointments for the future period of time.
- FIG. 8 illustrates the example process 800 to present a calendar of a merchant's schedule and to schedule an appointment.
- the service provider 102 may cause presentation of a calendar that is associated with a merchant.
- the calendar e.g., a visual representation of the calendar
- the calendar is displayed via a user interface, such as a merchant-facing interface, customer-facing interface, or another interface.
- the calendar is output in an audible or other manner via a computing device.
- the calendar may enable the merchant and/or customers to schedule appointments with the merchant.
- the calendar may present periods of time that are scheduled as unavailable, periods of time for which appointments have been scheduled, periods of time that are available, and so on. In some instances, a period of time that is set as unavailable may be designated (e.g., shown) differently than a period of time that is associated with an appointment.
- periods of time associated with unavailability and periods of time associated with appointments may be designated the same.
- the operation 802 may be performed after a merchant has been scheduled as unavailable in the calendar, after a period of time set as unavailable has been rescheduled to available, or at any other time.
- the service provider 102 may enable scheduling of appointments before a predetermined time and/or restrict scheduling of appointments after the predetermined time. For example, the service provider 102 may allow customers to view the calendar and/or schedule appointments that are within the next two weeks and restrict customers from viewing and/or scheduling appointments that are more than two weeks out.
- the calendar may be presented differently for different types of users.
- the service provider 102 may associate a predetermined status with a customer based on transaction information indicating that more than a threshold number of items have been acquired from the merchant by the customer.
- the predetermined status may generally indicate that the customer is a preferred customer (e.g., has conducted a number of transactions with the merchant).
- the service provider 102 may show a period of time that is scheduled as unavailable in the calendar (e.g., for other users) as available for the customer, so that the customer may schedule an appointment. This may allow, for example, a customer that is associated with a preferred status to be provided with additional options for appointments, in comparison to other customers.
- the service provider 102 may receive user input regarding scheduling of an appointment with the merchant.
- the user input may be received from a device associated with the merchant and/or customer in the form of a text message, email, another electronic message, or other data.
- the user input may be received via a user interface.
- the user input may specify a time slot for the appointment. Further, in some instances the user input may request an appointment for a time slot that was previously set as unavailable in the calendar.
- the service provider 102 may schedule an appointment with the merchant. This may include scheduling the appointment in the calendar.
- the operation 806 may be based on the user input that is received at the operation 804 .
- FIG. 9 illustrates an example process to determine a value at which to offer an item for acquisition during a period of time and to associate the period of time with the value.
- the service provider 102 may determine a value (e.g., price) at which to offer an item for acquisition during a period of time. The determination may be based on a merchant rescheduling from the period of time, setting the period of time as unavailable, and so on. For example, the service provider 102 may determine to offer an item for acquisition at a relatively high price (in comparison to a normal price of the item) on Mondays when the merchant has frequently rescheduled appointments from Mondays or the merchant has frequently set Monday as unavailable in the calendar.
- a value e.g., price
- the service provider 102 may associate the period of time with the value. That is, the item that is offered for acquisition during the period of time may be offered at the value. In one example, an appointment that is scheduled for the period of time may acquire the item at the value.
- the service provider 102 may make pricing information available for the item.
- the pricing information may indicate the value. For example, if a price of the item is increased on a particular Monday, in order to encourage customers to schedule appointments on other days of the week, then customers that are attempting to schedule an appointment on the particular Monday may view the increased price of the item.
- the pricing information may indicate both the value at which the item is generally being offered for acquisition and the value at which the item is being offered for acquisition during the period of time (e.g., indicating a difference between the two values).
- the operation 906 may include sending the pricing information to a device associated with a customer (e.g., via a text message, email, notification in an application, or other message), causing the pricing information to be presented via a user interface, and so on.
- FIG. 10 illustrates the example process 1000 to schedule a merchant as unavailable based on a number of appointments that are scheduled for a period of time.
- the service provider 102 may identify a calendar that is associated with a merchant. This may include referencing account information for the merchant to identify a calendar that is linked to the account information.
- the service provider 102 may determine that a period of time in the calendar is less than a threshold time away and/or that less than a threshold number of appointments are scheduled for the period of time. For example, it may be determined that no appointments are scheduled for next Monday, which is two days away. Alternatively, it may be determined that only one appointment is scheduled for Monday.
- the service provider 102 may send a notification to a device associated with a merchant.
- the notification may request input regarding an availability of the merchant for the period of time. For example, the notification may ask if the merchant would like to designate Monday as unavailable since no appointments are scheduled for Monday.
- the service provider 102 may receive user input from the device associated with the merchant.
- the user input may request that the merchant be scheduled as unavailable during the period of time, while in other instances the user input may request to not schedule the merchant as unavailable.
- the service provider 102 may set the calendar. In some instances, the calendar is set automatically based on the determination of the operation 1004 . In other instances, the calendar is set based on the user input that is received at the operation 1008 . For example, if the user input requests that the merchant be scheduled as unavailable during the period of time, the service provider 102 may schedule the merchant as unavailable.
- FIG. 11 illustrates the example process 1100 to reschedule an appointment based on a number of appointments that are scheduled.
- the service provider 102 may identify a calendar of a merchant that offers one or more items for acquisition.
- the service provider 102 may determine that a period of time in the calendar is less than a threshold time away and/or that less than a threshold number of appointments are scheduled for the period of time.
- the service provider 102 may send a notification to a device associated with a customer requesting to reschedule the appointment.
- the notification may suggest a time to which to reschedule.
- the service provider 102 may receive user input from the device that is associated with the customer.
- the user input may indicate whether or not the customer would like to reschedule the appointment. If the customer would like to reschedule, the user input may additionally identify a time to which to reschedule.
- the service provider 102 may reschedule an appointment in the calendar.
- the appointment is automatically rescheduled based on the determination of the operation 1104 .
- the appointment is rescheduled based on user input that is received at the operation 1108 .
- the service provider 102 may reschedule the appointment based on determining that more than the threshold number of appointments are scheduled for another period of time, determining that a location of the appointment is within a predetermined proximity to a location of another appointment that is scheduled for the other period of time, determining that a threshold number of employees of the merchant are scheduled to work for the other period of time, determining that the merchant will be open for business for the other period of time, and/or determining that a location of the appointment is within a geographical region that has been visited by the merchant, more than a threshold number of times, on a same day, week, or month on which the other period of time falls.
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Economics (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
- This application claims priority to and is a continuation of U.S. patent application Ser. No. 14/735,966, filed on Jun. 10, 2015, which will issue as U.S. Pat. No. 10,997,565 on May 4, 2021, the entire contents of which are incorporated herein by reference.
- Merchants often interact with calendars to schedule appointments with customers for items or services that are offered by the merchants. In some instances, a merchant may schedule an appointment with a customer during a time when the merchant prefers to be working or is otherwise available. For example, the merchant may schedule appointments only on Mondays, Wednesdays, and Fridays in order to be free Tuesdays and Thursdays. Additionally, customers may schedule appointments at various times throughout a day, week, month, etc. This can result in a merchant having multiple time slots available between scheduled appointments, requiring the merchant to be open when relatively few appointments are scheduled.
- The detailed description is set forth with reference to the accompanying figures, in which the left-most digit of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in the same or different figures indicates similar or identical items or features.
-
FIG. 1 illustrates an example architecture for processing calendar availability and consolidating appointments. -
FIG. 2 illustrates example details of a service provider. -
FIG. 3 illustrates example details of a merchant device. -
FIG. 4 illustrates example details of a user device. -
FIG. 5 illustrates an example process to reschedule an appointment to consolidate appointments in a calendar. -
FIG. 6 illustrates an example process to schedule a merchant as unavailable during a period of time. -
FIG. 7 illustrates an example process to notify a merchant about an upcoming period of time that is scheduled as unavailable and to maintain or remove the unavailability. -
FIG. 8 illustrates an example process to present a calendar of a merchant's schedule and to schedule an appointment. -
FIG. 9 illustrates an example process to determine a value at which to offer an item for acquisition during a period of time and associate the period of time with the value. -
FIG. 10 illustrates an example process to schedule a merchant as unavailable based on a number of appointments that are scheduled for a period of time. -
FIG. 11 illustrates an example process to reschedule an appointment when less than a threshold number of appointments are scheduled. - Merchants often spend relatively large amounts of time scheduling appointments and end-up with schedules that have appointments booked at sporadic times throughout a day, week, month, etc.
- This disclosure describes techniques for processing calendar availability and consolidating appointments. In some implementations, the techniques may monitor scheduling interactions of a merchant with a calendar to schedule a merchant as unavailable in the calendar at a particular time and/or to reschedule the merchant as available at a time that is designated as unavailable. By scheduling a merchant as unavailable, customers may be encouraged to schedule appointments at times that are preferred by the merchant. Additionally, or alternatively, the techniques may consolidate a merchant's schedule by rescheduling appointments when particular criteria are satisfied. This may provide the merchant with larger blocks of time during which the merchant is free and/or with more condensed blocks of time during which appointments are scheduled. Further, the techniques may include other features to manage a calendar and/or enhance a merchant's experience in scheduling appointments.
- As one example of processing calendar availability, a service provider may monitor interactions of a merchant with a calendar to schedule a merchant as unavailable in the calendar. In doing so, the service provider may generally identify a period of time that the merchant prefers to be free from appointments with customers and send a notification to the merchant suggesting that the calendar be scheduled as unavailable during the period of time. To illustrate, the service provider may determine that a merchant has blocked out Mondays from 12-5PM as unavailable in the calendar more than a threshold number of times over the past three months, since the merchant prefers to not work during this period of time (e.g., for personal, business, or other reasons). Accordingly, the service provider may send a notification to the merchant suggesting that the calendar be set as unavailable on Mondays from 12-5PM. The notification may be provided through an interface (e.g., an alert on a calendar interface), a message (e.g., text message, email, telephone call, etc.), or otherwise. The notification may be sent based on when the merchant blocks out Mondays. For instance, if the merchant generally blocks out Mondays the preceding Thursday, the notification may be sent on Thursday. Upon receiving the notification, the merchant may provide input and, if the input so requests, the service provider may schedule the merchant as unavailable on Monday from 12-5PM. This may encourage customers to schedule appointments for other time slots that are more preferred by the merchant.
- Additionally, or alternatively, the service provider may reschedule a merchant as available for a period of time that has been previously set as unavailable in order to potentially obtain additional appointments with customers. The service provider may generally provide a notification regarding confirmation or cancelation of the unavailability of the merchant when a particular number of appointments are scheduled over a window of time before and/or after the period of time. The notification may be provided a number of hours, days, weeks, etc. in advance of the period of time that is set as unavailable. In returning to the illustration above where the merchant is set as unavailable on a particular Monday from 12-5PM, the service provider may determine if there are more than a threshold number of appointments scheduled over a window of time from the Thursday prior to the Tuesday following. If more than the threshold number of appointments are scheduled (e.g., indicating that the merchant's schedule is relatively full), the service provider may send a notification to the merchant to ask if the merchant would still like to be scheduled as unavailable on Monday from 12-5PM. The merchant may provide input and, if the input so requests, the service provider may reschedule the merchant as available on Monday from 12-5PM. This may open additional time slots for scheduling appointments with customers to potentially increase the number of scheduled appointments for the merchant, thereby increasing revenue for the merchant.
- As one example of consolidating appointments, the service provider may seek to reschedule appointments when one or more criteria are satisfied in order to condense appointments within a calendar. The service provider may generally seek to reschedule an appointment to a period of time that is associated with a relatively high number of appointments and/or from a period of time that is associated with a relatively low number of appointments. To illustrate, the service provider may determine to reschedule a Thursday appointment to Friday when less than a threshold number of appointments are scheduled for Thursday and/or when more than the threshold number of appointments are scheduled for Friday. In another illustration, it may be determined to reschedule an appointment on Monday (which has relatively few appointments) to a time slot that has just opened up on Tuesday (which has relatively many appointments) due to a cancelation (or rescheduling) of an appointment for the time slot on Tuesday. Additionally, or alternatively, the service provider may account for locations of appointments, hours of operation of a merchant's business, employees' schedules, and a variety of other information. In one illustration, it may be determined to reschedule an appointment from Wednesday (which may have relatively few appointments) to Saturday (which may have relatively many scheduled appointments) when a location of the Wednesday appointment is within a predetermined proximity to a location of the Saturday appointment. In a further illustration, it may be determined to reschedule an appointment from a Saturday (a day when the merchant is generally not open for business) to a Tuesday (when the merchant is normally open for business and/or a particular number of employees will be working).
- Upon determining to reschedule an appointment, the service provider may send a notification to a customer of the appointment to request that the appointment be rescheduled. In some instances, the notification may suggest a new time slot for the appointment, while in other instances the notification may merely request that the appointment be rescheduled. The customer may provide input and, if requested in the input, the service provider may reschedule the appointment to another time slot. The service provider may then provide a notification to the merchant indicating that the appointment has been rescheduled. By rescheduling appointments, a merchant may obtain a more condensed calendar (e.g., appointments are scheduled more closely within a window of time).
- The calendar availability processing and/or appointment consolidation techniques discussed herein may be performed at various times to intelligently manage a merchant's calendar. In one example, if a particular Monday is less than three days away, and no appointments have been scheduled for that day, the service provider may suggest that the merchant be scheduled as unavailable on Monday. In another example, if a scheduled appointment is less than three days away, and there is only one appointment scheduled for that day, the service provider may send a notification to request that the appointment be rescheduled to free-up that day for the merchant.
- Although the examples above describe various techniques that provide notifications and receive input, in some examples the techniques may be performed automatically without providing notifications and/or receiving input.
- This brief introduction is provided for the reader's convenience and is not intended to limit the scope of the claims. Furthermore, the techniques described above and below may be implemented in a number of ways and in a number of contexts. Several example implementations and contexts are provided with reference to the following figures, as described below in more detail. However, the following implementations and contexts are but a few of many.
-
FIG. 1 illustrates anexample architecture 100 for processing calendar availability and consolidating appointments. Thearchitecture 100 includes aservice provider 102 that communicates with one or more users devices 104 (hereinafter “theuser device 104”) and one or more merchant devices 106 (hereinafter “themerchant device 106”) to manage one ormore calendars 108 for one or more merchants 110 (hereinafter “themerchant 110”) that are associated with themerchant device 106. As such, theservice provider 102 may manage a schedule of appointments for themerchant 110. Themerchant 110 may be any individual, entity, or machine that offers services, including an employee of a merchant or another user that is affiliated with the merchant. Theuser device 104 may be employed by one or more users 112 (hereinafter “the user 112”). Theservice provider 102 may, in some instances, facilitate transactions between the user 112 and themerchant 110, which may include communicating with one or morebank computing devices 114 and one or more card paymentnetwork computing devices 116. As illustrated, theservice provider 102, theuser device 104, themerchant device 106, the one or morebank computing devices 114, and/or the one or more card paymentnetwork computing devices 116 may communicate with each other via one ormore networks 118. - The
service provider 102 may be implemented as one or more computing devices, such as servers, laptop computers, desktop computers, and so on. The one or more computing devices may be configured in a cluster, a farm, a data center, a cloud computing environment, or a combination thereof. In one example, the one or more computing devices provide cloud computing resources, including computational resources, storage resources, and the like. - While
FIG. 1 , andFIG. 2 , illustrates components and data of theservice provider 102 as being present in a single location, these components and data may alternatively be distributed across different computing devices and/or different locations in any manner. Consequently, the functions may be implemented by one or more computing devices, with the various functionality described being distributed in various ways across the different 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 described functionality may be provided by the servers of a single entity or enterprise, or may be provided by the servers and/or services of multiple different buyers or enterprises. - The
service provider 102 may generally manage the one ormore calendars 108. Each of the one ormore calendars 108 may be associated with arespective merchant 110 via an account or otherwise, such as an account managed by theservice provider 102. The one ormore calendars 108 may include appointments with customers, appointments for meetings (e.g., internal to themerchant 110 or external), appointments for personal or business events, time periods that are blocked out as unavailable, or any other item that may be relevant to a schedule for themerchant 110. The appointments or other items in the one ormore calendars 108 may include a variety of information, such as an identity of a customer, a time slot for the appointment, background information for a customer (e.g., preferences, transaction history with a merchant, etc.), an item being offered for acquisition for an appointment, and so on. In some instances, the one ormore calendars 108 are made available to both customers and merchants. In other instances, the one ormore calendars 108 are made available exclusively to merchants or customers. In the example ofFIG. 1 , the one ormore calendars 108 may be made available to the user 112 via auser interface 120 and made available to themerchant 110 via amerchant interface 122. Theuser interface 120 and/or themerchant interface 122 may be provided via a web browser, an application (e.g., mobile application, desktop application, etc.), or otherwise. The user 112 may be provided with access to different information than that made available to themerchant 110. - The
service provider 102 may monitor usage of the one ormore calendars 108. For example, theservice provider 102 may monitor scheduling interactions of themerchant 110 to determine appointments that are added, removed, rescheduled, and/or updated, and when the additions, removals, rescheduling, and/or updates occur. From the monitoring, theservice provider 102 may additionally, or alternatively, determine periods of time are blocked out as being unavailable, when those periods of time are blocked out, when those periods of time are removed (e.g., rescheduled as available), and so on. Further, theservice provider 102 may identify any other interaction with the one ormore calendars 108. - As one example, the
service provider 102 may identify a period of time that is scheduled in the one ormore calendars 108 as being unavailable for appointments with customers. For instance, theservice provider 102 may detect that themerchant 110 has blocked out Wednesdays, more than a predetermined number of times, as being unavailable for appointments. Theservice provider 102 may then provide a notification to themerchant 110 suggesting that themerchant 110 be scheduled as unavailable for the period of time (e.g., Wednesday). The notification may be provided a particular number of hours, days, weeks, months, etc. in advance of the period of time (e.g., provide the notification on Friday regarding the following Wednesday). The notification may be provided to themerchant 110 in various manners, such as via an email, text message, telephone call, post, message on a social networking site, message on an interface, etc. In the example ofFIG. 1 , theservice provider 102 provides the notification via a pop-upwindow 124 in themerchant interface 122. The pop-upwindow 124 asks themerchant 110 “Would you like to set this day as unavailable?” Themerchant 110 may select a “Yes” or “No” button to indicate whether he would like to set the particular day as unavailable. Here, themerchant 110 has selected the “Yes” button and a particular day is set as unavailable. - Thereafter, the
service provider 110 may provide another notification, when the period of time that is designated is unavailable approaches, to find out if the merchant would still like to maintain the period of time as unavailable. In the example ofFIG. 1 , theservice provider 110 determines that the merchant's schedule is relatively full (e.g., more than a threshold number of appointments are scheduled) over a window of time before and/or after the period of time (e.g., a number of days before or after the period of time). Thus, theservice provider 102 presents a pop-upwindow 126 asking “You have a lot of appointments. Would you like to reschedule this day as available?” The merchant 112 may confirm or cancel the designation as unavailable by selecting a “Yes” or “No” button. In response to selecting the “Yes” button, the merchant 112 is rescheduled as being available. In response to selecting the “No” button, the period of time is maintained as being unavailable. - The
service provider 102 may also consolidate a schedule for themerchant 110 by causing an appointment to be rescheduled. The schedule consolidation may be based on a number of appointments that are scheduled for a period of time. As noted above, theservice provider 102 may generally seek to reschedule an appointment to a period of time that is associated with a relatively high number of appointments and/or from a period of time that is associated with a relatively low number of appointments. In one example, assume that themerchant 110 has four time slots available on Monday and four time slots available on Tuesday. Assume also that only one time slot is filled with an appointment on Monday and all four time slots are filled with appointments on Tuesday. If theservice provider 102 detects that one of the time slots for Tuesday cancels, leaving an open time slot, and detects the appointment on Monday as the only scheduled appointment for that day, theservice provider 102 may send a notification to a customer of the Monday appointment requesting to reschedule the appointment to Tuesday (or at least to another day). This may free-up Monday for themerchant 110 and fill an open time slot for Tuesday. The notification may be provided to the customer in various manners, such as via an email, text message, telephone call, post, message on a social networking site, message on an interface, etc. In the example ofFIG. 1 , theservice provider 102 provides the notification via a pop-upwindow 128 in theuser interface 120. The pop-upwindow 128 asks “Can Merchant A reschedule this appointment to Thursday at 10AM?” In response to selecting the “Yes” button, theservice provider 102 may reschedule the appointment. In response to selecting the “No” button, theservice provider 102 may refrain from rescheduling the appointment. - In some instances, as illustrated in the example of
FIG. 1 , theservice provider 102 may provide a notification to themerchant 110 before requesting that the appointment be rescheduled. As illustrated, theservice provider 102 may provide a pop-upwindow 130 asking themerchant 110 “Would you like to reschedule this appointment?” The pop-upwindow 130 may identify the particular appointment to be reschedule and may include additional information, such as the reason for determining to reschedule the appointment (e.g., appointment canceled, more appointments scheduled for another day, not enough appointments scheduled for that day, etc.). In response to selecting the “Yes” button, theservice provider 102 may contact the user 112 to request that the appointment be rescheduled. In response to selecting the “No” button, theservice provider 102 may maintain the appointment as scheduled. - Although the examples above include providing notifications (e.g., via the
user interface 120 and/or the merchant interface 122) and receiving input, in some examples the techniques may be performed automatically without providing notifications and/or receiving input. For example, a merchant may be scheduled as unavailable as soon as theservice provider 102 detects that the merchant has blocked out a particular period of time a threshold number of times. In another example, theservice provider 102 may send a notification to a customer regarding rescheduling of an appointment automatically (without first seeking merchant approval) when predetermined thresholds are met, such as having less than a particular number of appointments scheduled on a day or having more than the particular number of appointments scheduled on another day. - The
user device 104 and/or themerchant device 106 may comprise any type of computing device that is configured to perform an operation. For example, theuser device 104 and/or themerchant device 106 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., intercom system, home media system, etc.), a projector, an automated teller machine (ATM), and so on. In some instances, theuser device 104 and/or themerchant device 106 may be a mobile device. - As noted above, the
service provider 102 may communicate with the one or more card paymentnetwork computing devices 116 to conduct a transaction electronically. The one or more card paymentnetwork computing devices 116 may be associated with a card payment network (e.g., MasterCard®, VISA®, etc.). Theservice provider 102 may also communicate with the one or morebank computing devices 114 of one or more banks. For example, theservice provider 102 may communicate with an acquiring bank, an issuing bank, and/or a bank maintaining user accounts for electronic payments. - An 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. An issuing bank may issue payment cards to users, and may pay acquiring banks for purchases made by cardholders to which the issuing bank has issued a payment card. Accordingly, in some examples, the computing device(s) of an acquiring bank may be included in the card payment network and may communicate with the computing devices of a card-issuing bank to obtain payment. Further, in some examples, a user may use a debit card instead of a credit card, in which case, the bank computing device(s) of a bank corresponding to the debit card may receive communications regarding a transaction in which the user is participating. Additionally, there may be computing devices of other financial institutions involved in some types of transactions or in alternative system architectures, and thus, the foregoing are merely several examples for discussion purposes.
- As noted above, the
service provider 102, theuser device 104, themerchant device 106, the one or morebank computing devices 114, and/or the one or more card paymentnetwork computing devices 116 may communicate via the one ormore networks 118. The one ormore 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 close-range wireless communications, such as Bluetooth® and Bluetooth® low energy, a wired network, or any other such network, or any combination thereof. Accordingly, the one ormore 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 fiber optic technologies. Components used for such communications can depend at least in part upon the type of network, the environment selected, or both. Consequently, theservice provider 102, theuser device 104, themerchant device 106, the one or morebank computing devices 114, and/or the one or more card paymentnetwork computing devices 116 may communicatively couple to the one ormore networks 118 in any manner, such as by a wired or wireless connection. - Although many techniques are described herein as being performed by a particular device, any number of the techniques may be performed by other devices. For example, techniques described as being performed by the
service provider 102, may be performed locally at theuser device 104, themerchant device 106, or another device. -
FIG. 2 illustrates example details of theservice provider 102 ofFIG. 1 . As noted above, theservice provider 102 may be implemented as one or more computing devices. The one or more computing devices may include one ormore processors 202,memory 204, and one or more network interfaces 206. The one ormore processors 202 may include a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor, a digital signal processor, and so on. - The
memory 204 may include software functionality configured as one or more “modules.” The term “module” is intended to represent example divisions of the software for purposes of discussion, and is not intended to represent any type of requirement or required method, manner or necessary organization. Accordingly, while various “modules” are discussed, their functionality and/or similar functionality could be arranged differently (e.g., combined into a fewer number of modules, broken into a larger number of modules, etc.). Further, while certain functions are described herein as being implemented as software modules configured for execution by a processor, in other embodiments, any or all of the functions may be implemented (e.g., performed) in whole or in part by hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Application-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc. As illustrated, thememory 204 may include ascheduling module 208, apayment transaction module 210, amerchant interaction module 212, and a user interface module 214. - The
scheduling module 208 may manage the one ormore calendars 108 stored in the calendar data store 216. This may include adding, removing, rescheduling, and/or updating appointments with customers, appointments for meetings, appointments for personal or business events, time periods that are blocked out as unavailable, or any other item that may be relevant to a schedule. The calendar data store 216 may additionally store information related to the one ormore calendars 108, such as data about appointments (e.g., times of appointments, locations of appointments, customer information for the appointments, items being provided for the appointments, costs of items for appointments, preferences for the customers of the appointments, and so on). Thescheduling module 208 may also monitor interactions of themerchant 110 and/or the user 112 regarding scheduling in the one ormore calendars 108. In some instances, thescheduling module 208 may utilize information from a customerinformation data store 218 and/or the calendar data store 216 to handle of appointments. The customerinformation data store 218 may include information regarding electronic payment accounts of the customers (e.g., the user 112), customer transaction history (e.g., indicating transactions that have been conducted by the user 112), and so on. Thescheduling module 208 may also seek to consolidate a merchant's schedule by rescheduling appointments. - The
scheduling module 208 may operate in cooperation with themerchant interaction module 212 and the user interaction module 214 to handle communications with themerchant 110 and the user 112, respectively. In some instances, communications from themerchant 110 and the user 112 may be processed using a natural language processing techniques. Themerchant interaction module 212 and the user interaction module 214 may operate to interface with theuser device 104 andmerchant device 106, respectively. For example,merchant interaction module 212 and the user interaction module 214 may operate in accordance with instructions from thescheduling module 208 to request or provide information on behalf of thescheduling module 208. Themerchant interaction module 212 may send notifications to themerchant 110 regarding scheduling or rescheduling of appointments, unavailability of themerchant 110, and so on. Further, the user interaction module 214 may send notifications to the user 112 regarding scheduling or rescheduling of appointments (e.g., setting appointments, rescheduling appointments, and so on). In some instances, themerchant interaction module 212 may send data describing themerchant 110, such as a merchant name, geographic location, contact information, a calendar that describes appointments that are available for scheduling with the merchant, and so on. In some instances, themerchant interaction module 212 and the user interaction module 214 may facilitate a merchant interface (e.g., themerchant interface 122 ofFIG. 1 ) and a user interface (e.g., theuser interface 120 ofFIG. 1 ), respectively. - The
payment transaction module 210 may facilitate transactions between themerchant 110 and the user 112. During a transaction, the user 112 (e.g., customer) may acquire an item from themerchant 110 by purchasing, renting, leasing, borrowing, licensing, or the like. An item may refer to a good and/or a service offered by merchants. Thepayment transaction module 210 may be configured to enable electronic payments for transactions. Theservice provider 102 may include one or more computing devices that are configured to perform securely electronic financial transactions between themerchant 110 and the user 112 through, for example, data communicated between theuser device 104 and themerchant device 106. Generally, when a user and a merchant enter into an electronic payment transaction, the transaction is processed by electronically transferring funds from a financial account associated with a user account for the user to a financial account associated with a merchant account for the merchant. - The
payment transaction module 210 may often handle the processing of payments related to the appointments. When paying for a transaction, the user 112 can provide the amount of payment that is due to themerchant 110 using cash, check, a payment card, NFC, or by electronic payment. Themerchant 110 may interact with themerchant device 106 to process the transaction at a point of sale (POS). The point of sale may be the place where the user 112 with theuser device 104 meets themerchant 110 with themerchant device 106 at the appointment time. During the transaction, themerchant device 106 can determine and send data describing the transaction, including, for example, appointment data, services related to and/or provided as a part of the appointment, item(s) being purchased in connection with the appointment, the amount of the item(s), buyer information, and so forth. - In some implementations, the
payment transaction module 210 enables card-less payments (e.g., electronic payments) for transactions between the user 112 and themerchant 110 based on interaction of the user 112 with theuser device 104 and interaction of themerchant 110 with themerchant device 106. Accordingly, in some examples, a card-less payment transaction may include a transaction conducted at a POS location during which an electronic payment account of the user 112 is charged without the user 112 having to physically present a payment card to themerchant 110 at the POS location. Consequently, themerchant 110 need not receive any details about the financial account of the user 112 for the transaction to be processed. As one example, the electronic payment may be charged to a credit card issuer or credit card number that the user 112 provided when signing up with theservice provider 102 for an electronic payment account. As another example, the user 112 may have a quantity of money pre-paid in an account maintained for use in making the electronic payments. Other variations will also be apparent to those of skill in the art having the benefit of the disclosure herein. -
FIG. 3 illustrates example details of themerchant device 106 ofFIG. 1 . As noted above, themerchant device 106 may be implemented as one or more computing devices. The one or more computing devices may include one ormore processors 302,memory 304, one ormore network interfaces 306, and one ormore displays 308. The one ormore processors 302 may include a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor, a digital signal processor, and so on. The one ormore 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 illustrated, themerchant device 106 may also include, or be associated with, other components, such as a camera(s), a microphone(s), a speaker(s), a projector(s), a printer(s), and/or a sensor(s). 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, compass, gyroscope, magnetometer, Global Positioning System (GPS), olfactory sensor (e.g., for smell), or other sensor. Themerchant device 106 may additionally include, or be associated with, input device(s) such as a keyboard, a mouse, a pen, a voice input device, a touch input device, etc. Thememory 304 may include anappointment module 310, amerchant payment module 312, and alocation module 314. - The
appointment module 310 may interface with themerchant 110 to manage a calendar associated with themerchant 110. For example, theappointment module 310 may display the calendar to the merchant 110 (e.g., via the merchant interface 122) to enable themerchant 110 to manage appointments (e.g., add, delete, reschedule, etc.), manage blocks of time that designated as unavailable, and so on. In some instances, theappointment module 310 may present appointments on the calendar different than blocks of time that are designated as unavailable. Theappointment module 310 may provide customer information (records), such as contact information (e.g., identifying a customer, telephone number, email address, preferences for an item, etc.), to enable themerchant 110 to manage an appointment. For example, themerchant 110 may view a list of customers or potential customers, contact a particular customer on the list, and schedule an appointment in a calendar associated with themerchant 110. Thereafter, themerchant 110 may view the appointment and update any information as needed, such as rescheduling the appointments by sending a notification via theappointment module 310 to the customer, changing an item being requested for the appointment, changing a time of the appointments, and so on. Theappointment module 310 may generally operate in cooperation with theservice provider 102, such as themerchant interaction module 212. - In some instances, the
appointment module 310 may enable themerchant 110 to set preferences for calendar management. Such preferences may include how many days in advance to send a notification suggesting to set a calendar as unavailable (e.g., send notification one week in advance of a time that is being suggested to be marked as unavailable), whether or not to be notified of setting a time slot as unavailable in the calendar (e.g., request merchant input vs. automatically setting the time slot as unavailable), periods of time themerchant 110 desires to work (e.g., preference to work Monday-Wednesday), whether or not themerchant 110 wishes to be informed before a notification is sent to a customer to reschedule an appointment, and so on. The preferences may be stored locally at themerchant device 106 and/or remotely at theservice provider 102. The preferences may be used by thescheduling module 208 and/or other modules of theservice provider 102. - The
merchant payment module 312 may perform various processes to assist themerchant 110 in processing transactions with customers, managing inventory, and so on. Themerchant payment module 312 may provide various interfaces and/or dashboards. In one example, themerchant payment module 312 may facilitate transactions with customers by accepting payment from customers (e.g., via a card reader, NFC connection to a customer device, Bluetooth® connection to customer device, etc.), provide receipts for items (including printing receipts), receiving input from customers for items being acquired by the customers (e.g., confirmation, signature for credit card, etc.), and so on. In another example, themerchant payment module 312 may enable themerchant 110 to manage inventory by informing the merchant of inventory levels (e.g., number of items currently in-stock), order additional inventory, seek financing for inventory, and so on. In yet another example, themerchant payment module 312 may provide data analytics for sales, inventory, or other information. In some instances, an interface may be provided to a customer to facilitate a transaction, such as an interface to confirm payment, provide a signature, etc. Themerchant payment module 312 may communicate with theservice provider 102, such as thepayment transaction module 210. - In some instances, the
appointment module 310 andmerchant payment module 312 may operate in cooperation. To illustrate, after an appointment with the user 112, themerchant 110 may view appointment information for the user 112 via a calendar interface provided by theappointment module 310. While viewing the appointment information, themerchant 110 may select a button or other interface icon to enable themerchant 110 to process a transaction with the user 112 for the appointment. In response to selecting the button or other interface icon, themerchant payment module 312 may provide a payment interface to enable themerchant 110 to process the transaction with the user 112 (e.g., purchase the item through a check-out process). Thereafter, upon completion of the transaction, themerchant payment module 312 may provide a button or other interface element to enable themerchant 110 to navigate back to the calendar interface. At the calendar interface (which is provided by the appointment module 310), themerchant 110 may schedule another appointment with the user 112. As such, the functionality may be transferred from one module to the other module. In some instances, theappointment module 310 and/or themerchant payment module 312 are implemented as separate mobile applications on themerchant device 106. Although this example discusses transferring functionality between theappointment module 310 and themerchant payment module 312, functionality may be transferred between any number of modules stored in thememory 304. - The
location module 314 may determine a location of the merchant 110 (e.g., the merchant device 106). In some instances, the location is provided to theservice provider 102, or used locally, to facilitate various functions, such as processing of transactions when a customer is located within a particular proximity to themerchant 110. Thelocation module 314 may determine a geographic location of themerchant device 106 from geolocation techniques (e.g., satellite-based systems—global positioning system (GPS)), cell tower location data, wireless access point location data, wireless beacon location, and so forth. -
FIG. 4 illustrates example details of theuser device 104 ofFIG. 1 . As noted above, theuser device 104 may be implemented as one or more computing devices. The one or more computing devices may include one ormore processors 402,memory 404, one ormore network interfaces 406, and one ormore displays 408. The one ormore processors 402 may include a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor, a digital signal processor, and so on. The one ormore 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 illustrated, theuser device 104 may also include, or be associated with, other components, such as a camera(s), a microphone(s), a speaker(s), a projector(s), a printer(s), and/or a sensor(s). 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, compass, gyroscope, magnetometer, Global Positioning System (GPS), olfactory sensor (e.g., for smell), or other sensor. Theuser device 104 may additionally include, or be associated with, an input device(s), such as a keyboard, a mouse, a pen, a voice input device, a touch input device, etc. Thememory 404 may include anappointment module 410, a customer ordering module 412, and alocation module 414. - The
appointment module 410 may interface with the user 112 to enable the user 112 to schedule an appointment with themerchant 110. For example, theappointment module 410 may display a calendar of the merchant 110 (e.g., via the user interface 120) with information indicating time slots that are available and time slots that are unavailable (due to an appointment and/or being designated as unavailable). The user 112 may request an appointment by selecting a particular time slot, calling the merchant 110 (based on contact information that is provided), sending a notification to the merchant 110 (e.g., sending an email, text message, post, etc.), and so on. In some instances, the user 112 may be given access to different calendar information than that made available to themerchant 110. For example, a calendar may show a merchant as available or unavailable without showing the underlying reason (e.g., without indicating whether the unavailability is due to an appointment or a block of time that is designated by the merchant as unavailable). Theappointment module 410 may also enable the user 112 to update an existing appointment (e.g., reschedule, change an item being requested for an appointment, etc.). Theappointment module 410 may generally operate in cooperation with theservice provider 102, such as the user interaction module 214. - The customer ordering module 412 may provide functionality to enable the user 112 to order an item and/or process a transaction for the item. The customer ordering module 412 may provide various interfaces and/or dashboards. For example, the customer ordering module 412 may provide information via an interface regarding merchants that are within a predetermined proximity to the user 112. The user 112 may select a merchant and order an item with the merchant. Additionally, or alternatively, the customer ordering module 412 may enable the user 112 to provide payment for an item (e.g., via a card reader, NFC connection to a customer device, Bluetooth® connection to customer device, etc.), receive receipts for items, and so on. Further, the customer ordering module 412 may enable the user 112 to check in to a merchant to carry out a card-less payment transaction. Moreover, the customer ordering module 412 may provide a variety of other functionality to order an item and/or process a transaction.
- The
location module 414 may determine a location of the user 112 (e.g., the user device 104). In some instances, the location is provided to theservice provider 102, or used locally, to facilitate various functions, such as processing of transactions when a customer is located within a particular proximity to themerchant 110. Thelocation module 414 may determine a geographic location of theuser device 104 from geolocation techniques (e.g., satellite-based systems—global positioning system (GPS)), cell tower location data, wireless access point location data, wireless beacon location, and so forth. - The
memory 204 of theservice provider 102, thememory 304 of themerchant device 106, and/or thememory 404 of the user device 104 (as well as all other memory described herein) may include one or a combination of computer storage media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, phase change memory (PRAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to store information for access by a computing device. As defined herein, computer storage media does not include communication media, such as modulated data signals and carrier waves. As such, computer storage media is non-transitory media. -
FIGS. 5-11 illustrate example processes 500, 600, 700, 800, 900, 1000, and 1100 for employing the techniques described herein. For ease of illustration the 500, 600, 700, 800, 900, 1000, and 1100 are described as being performed in theprocesses architecture 100 ofFIG. 1 . For example, one or more of the individual operations of the 500, 600, 700, 800, 900, 1000, and 1100 may be performed by theprocesses service provider 102, theuser device 104, themerchant device 106, or other devices. However, the 500, 600, 700, 800, 900, 1000, and 1100 may be performed in other architectures. Moreover, theprocesses architecture 100 may be used to perform other processes. - The
500, 600, 700, 800, 900, 1000, and 1100 (as well as each process described herein) are illustrated as a logical flow graph, each operation of which represents a sequence of operations that can be implemented in hardware, software, or a combination thereof. In the context of software, the operations represent computer-readable instructions stored on one or more computer-readable storage media that, when executed by one or more processors, perform the recited operations. Generally, computer-readable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described operations can be combined in any order and/or in parallel to implement the process. Further, any number of the described operations may be omitted.processes -
FIG. 5 illustrates theexample process 500 to reschedule an appointment to consolidate appointments in a calendar. - At 502, the
service provider 102 may monitor a calendar that is associated with a merchant. Theoperation 502 may generally include identifying the calendar associated with the merchant and identifying changes that are made to the calendar. For example, theservice provider 102 may detect interactions with the calendar regarding the merchant's schedule, such as adding appointments, removing appointments, rescheduling appointments, updating appointments, etc. - At 504, the
service provider 102 may determine to reschedule an appointment from a period of time and/or determine another period of time to which to reschedule the appointment. The determination(s) at 504 may be based on the monitoring. In some instances, theoperation 504 is performed based on (or in response to) determining that the period of time is less than a threshold time away, such as less than a predetermined number of hours, days, or weeks away. For example, if an appointment is scheduled for Wednesday, theservice provider 102 may determine whether or not to reschedule the appointment the Friday before. In other instances, theoperation 504 may be performed at other times. A period of time may generally refer to a period of minutes, hours, days, weeks, months, etc. - The
operation 504 may include determining a number of appointments scheduled for a period of time associated with an appointment. For example, theservice provider 102 may determine to reschedule an appointment if less than a threshold number of appointments are scheduled for a period of time associated with the appointment. To illustrate, if only one appointment is scheduled for Thursday, theservice provider 102 may determine to reschedule the appointment to another day since less than two appointments are scheduled for Thursday. - The
operation 504 may also include determining a number of appointments scheduled for another period of time, such as a period of time associated with another appointment. For example, theservice provider 102 may determine to reschedule an appointment from a time slot during a period of time to a time slot during another period of time if more than a threshold number of appointments are scheduled for the other period of time. To illustrate, if more than a threshold number of appointments are scheduled for Friday, theservice provider 102 may determine to reschedule an appointment on Thursday to a time slot on Friday. - Further, the
operation 504 may include determining that more appointments are scheduled for a particular period of time than another period of time. To illustrate, if more appointments are scheduled for Friday than Thursday, theservice provider 102 may determine to reschedule an appointment on Thursday to Friday. - Alternatively, or additionally, the
operation 504 may include determining that another appointment has been canceled or rescheduled. To illustrate, assume that one appointment is scheduled for Thursday and three appointments are scheduled for Friday. If one of the Friday appointments is canceled (or rescheduled to another day), theservice provider 102 may determine to reschedule the Thursday appointment to Friday. This may allow a time slot of the canceled appointment on Friday to be filled and/or make available more time for the merchant on Thursday. Here, the Thursday and Friday appointments are within a predetermined window of time, namely as a number of days. However, the predetermined window of time may comprise any amount of time, such as a number of minutes, hours, days, weeks, months, etc. - The
operation 504 may also include determining a location of another appointment. A location of an appointment may generally be where a merchant and a customer perform at least a portion of a transaction, such as exchanging an item for money. A location of an appointment may be at a customer's residence, merchant's location, remote location to the merchant's location, or any other location. For example, theservice provider 102 may determine to reschedule an appointment if a location of another appointment is within a predetermined proximity to a location of the appointment. To illustrate, assume again that one appointment is scheduled for Thursday, three appointments are scheduled for Friday, and one of the Friday appointments cancels. If the Thursday appointment is within a predetermined proximity to one of the remaining Friday appointments, theservice provider 102 may determine to reschedule the Thursday appointment to fill the canceled Friday time slot. - In addition, the
operation 504 may include determining a number of employees scheduled to work during a period of time. To illustrate, if more than a threshold number of employees are scheduled to work on a particular Friday, theservice provider 102 may determine to reschedule an appointment on another day of the week to Friday. In some instances, the determination may additionally, or alternatively, be based on the types of employees that are scheduled to work. For example, an appointment may be determined to be rescheduled to Friday if a predetermined number of non-management (or alternatively management) employees are scheduled to work on Friday. - Similarly, the
operation 504 may include determining when a merchant is scheduled to be open for business. For example, if the merchant is scheduled to be open on a particular day during the week, theservice provider 102 may determine to reschedule an appointment for another day of the week to the particular day on which the merchant will be open. - Further, the
operation 504 may include determining whether a location of an appointment is within a predetermined geographical region. For example, theservice provider 102 may determine geographical regions that are frequently visited by a merchant (e.g., more than a threshold number of times) and when those geographical regions are visited. If theservice provider 102 determines to reschedule an appointment, theservice provider 102 may identify a geographical region that encompasses a location associated with the appointment and determine to reschedule the appointment to a period of time (e.g., day, week, month, etc.) when the merchant typically visits the geographical region. To illustrate, if a merchant typically visits a downtown region on Mondays (e.g., more that a threshold number of times), and theservice provider 102 determines to reschedule an appointment for a massage at a customer's residence that is located in the downtown region, theservice provider 102 may determine to reschedule the appointment to a Monday. - At 506, the
service provider 102 may make a notification available to a customer regarding rescheduling of an appointment. This may include sending the notification to a device associated with the customer (e.g., via a text message, email, notification in an application, or other message), causing the notification to be presented via a user interface for the customer (e.g., a customer-facing interface that displays a calendar for the user), and so on. The notification may generally request that the customer reschedule an appointment with the merchant to a different time than the scheduled time. In some instances, the notification may suggest a particular period of time to which to reschedule, such as a particular day, week, month, etc. In other instances, the notification may merely request that the customer select a period of time. Further, in some instances the notification may indicate that an item of the merchant is being offered for acquisition at a reduced value for rescheduling the appointment. For example, the merchant may provide a discount on an item, promotional item, coupon for an item, and so on, in order to compensate the customer for rescheduling the appointment. - At 508, the
service provider 102 may receive user input regarding rescheduling of the appointment. In some instances, the user input may be received from a device associated with the customer in the form of a text message, email, another electronic message, or other data. In other instances, the user input may be received via a user interface that is provided to the customer (e.g., the user's selection of a confirmation button confirming a suggested time slot, the user's selection of a particular time slot on a calendar, etc.). The user input may specify whether or not the user would like to reschedule the appointment and/or a time for rescheduling the appointment (e.g., a particular hour, day, week, month, etc.). - At 510, the
service provider 102 may reschedule the appointment for the customer. The rescheduling may including moving the appointment with the customer in a calendar that is associated with the merchant. In some instances, the rescheduling is performed based on the user input received at 508. In other instance, the rescheduling is performed automatically and/or in response to response to other events. Additionally, or alternatively, the rescheduling may be performed based on the determination at 504 (e.g., the determination to reschedule and/or the determination of a period of time to which to reschedule). - At 512, the
service provider 102 may make a notification available to the merchant regarding the rescheduling of the appointment. This may include sending the notification to a device associated with the merchant (e.g., via a text message, email, notification in an application, or other message), causing the notification to be presented via a user interface for the merchant (e.g., a merchant-facing interface that displays a calendar), and so on. The notification may generally indicate that an appointment with a customer has been rescheduled. The notification may identify the customer, a time to which the appointment has been rescheduled, a location of the appointment, or any other details about the appointment. - At 514, the
service provider 102 may cause an item of the merchant to be offered for acquisition to the customer at a reduced value. This may include informing the customer of a discount on an item, promotional item, coupon for an item, and so on, to compensate the customer for rescheduling the appointment. Although the operation 514 is discussed as being performed by theservice provider 102, in some instances this operation may be performed by a merchant device. - At 516, the
service provider 102 may schedule the merchant as unavailable in a calendar for a period of time. In one example, if an appointment has been rescheduled from 3-4PM on Monday, theservice provider 102 may set the merchant as unavailable in the calendar from 3-4PM on Monday. This may be based on a determination that the merchant has previously rescheduled appointments from this period of time and/or otherwise desires to have the particular period of time blocked out as unavailable. In another example, if a remaining (or only) appointment on Tuesday has been rescheduled to another day, theservice provider 102 may set the merchant as unavailable in the calendar for Tuesday (e.g., all day, all normal business hours, specific time slots, etc.). -
FIG. 6 illustrates theexample process 600 to schedule a merchant as unavailable during a period of time. - At 602, the
service provider 102 may monitor scheduling interactions of a merchant with a calendar. The calendar may be made available to the merchant and/or customers to schedule appointments with the merchant. The operation 602 may generally include identifying the calendar associated with the merchant and identifying changes that are made to the calendar. For example, theservice provider 102 may detect interactions with the calendar regarding the merchant's schedule, such as adding appointments, removing appointments, rescheduling appointments, updating appointments, marking time periods as unavailable, etc. - At 604, the
service provider 102 may determine a period of time from the monitoring. In some examples, theservice provider 102 may determine a period of time has been set in the calendar, more than a threshold number of times, as unavailable for customers to schedule appointments with the merchant. For instance, it may be determined that the merchant frequently (more than a threshold number of times) blocks out Mondays from 12-6PM as being unavailable. Alternatively, or additionally, theservice provider 102 may determine a period of time from which more than a threshold number of appointments have been rescheduled. For instance, it may be determined that the merchant frequently (more than a threshold number of times) reschedules appointments that are scheduled on Tuesdays from 10AM-12PM. - At 606, the
service provider 102 may determine a future period of time to set as unavailable in a calendar based on the period of time that is determined at theoperation 604. In other words, theservice provider 102 may identify a future period of time that corresponds to a previous period of time which has been set as unavailable and/or from which appointments have been rescheduled. The future period of time may be deemed to be of a particular level of interest for the merchant to set as unavailable. For example, if the first Mondays of January and February have been set in the calendar by the merchant as being unavailable for scheduling appointments, theservice provider 102 may identify the first Monday of March as potentially being of interest to the merchant to set as unavailable. - At 608, the
service provider 102 may determine how far in advance the merchant set the period of time (determined at the operation 604) as unavailable in the calendar and/or the merchant rescheduled from the period of time. That is, theservice provider 102 may determine an amount of time between (i) setting a period of time as unavailable or rescheduling an appointment from the period of time and (ii) the start of the period of time. In one example, it may be determined that on Monday the merchant sets Wednesday as being unavailable for scheduling appointments with the merchant. As such, here the merchant sets unavailability two days in advance. In another example, it may be determined that the merchant has rescheduled a particular number of appointments four days prior to the scheduled appointments. Theoperation 608 may include determining on average or for a specific instance how far in advance a period of time is set as unavailable or the merchant has rescheduled from the period of time, such as an average number of minutes, hours, days, weeks, months, etc. - At 610, the
service provider 102 may make a notification available to the merchant suggesting that the merchant be scheduled as unavailable in the calendar during the future period of time (determined at 606). This may include sending the notification to a device associated with the merchant (e.g., via a text message, email, notification in an application, or other message), causing the notification to be presented via a user interface for the merchant (e.g., a merchant-facing interface that displays a calendar), and so on. The notification may suggest a particular time slot for setting as unavailable (e.g., next Monday at 3PM). - In some examples, the notification is made available to the merchant based on how far in advance the merchant has set a period of time as unavailable and/or has rescheduled an appointment (the determination at the operation 608). In one instance, if the merchant frequently sets Mondays as unavailable in the calendar on Friday, a notification may be provided to the merchant on Friday suggesting that Monday be scheduled as unavailable. Alternatively, or additionally, the notification for scheduling unavailability of the merchant may be provided any number of hours, days, weeks, months, etc. in advance of a particular time at which the calendar is generally set as unavailable and/or at which an appointment is rescheduled. In returning to the illustration above where Mondays are frequently set as unavailable on Friday, the notification may be provided on the Wednesday prior to the Monday, providing the merchant with additional advance notice to mark the calendar as unavailable.
- At 612, the
service provider 102 may receive user input regarding unavailability of the merchant. For example, if the notification suggests that the merchant be scheduled as unavailable next Monday, the user input may include a request of the merchant to be scheduled as unavailable next Monday. In some instances, the user input may be received from a device associated with the merchant in the form of a text message, email, another electronic message, or other data. In other instances, the user input may be received via a user interface that is provided to the merchant (e.g., the merchant's selection of a confirmation button confirming a suggested time slot to schedule as unavailable). - At 614, the
service provider 102 may schedule the merchant as unavailable for the future period of time. This may encourage customers to schedule appointments for other future period of time. In some instances, the merchant may be scheduled as unavailable during the future period of time based on the user input received at the operation 612. In other instances, the merchant may be scheduled as unavailable automatically without having notified the merchant and/or without having received user input (e.g., without have performed theoperation 610 and/or the operation 612). -
FIG. 7 illustrates theexample process 700 to notify a merchant of about an upcoming period of time that is scheduled as unavailable and to maintain or remove the unavailability. - At 702, the
service provider 102 may determine that a future period, for which a merchant is scheduled as unavailable, is less than a threshold time away. Here, the future period of time may have been scheduled as unavailable in a calendar through theprocess 600 ofFIG. 6 , for example. As such, at 702, theservice provider 102 may determine that the future period of time is approaching (e.g., less than a particular number of hours, days, weeks, months, etc. away). For example, it may be determined that a particular Friday for which the merchant is scheduled as unavailable in the calendar is less than a week away. - At 704, the
service provider 102 may determine that the merchant has more than a threshold number of appointments scheduled over a window of time before and/or after the future period of time that is set as unavailable. The window of time may comprise any number of hours, days, weeks, months, and so on that are before and/or after the future period of time. For example, if a Thursday is set in a calendar as unavailable for scheduling appointments, theservice provider 102 may determine a number of appointments that are scheduled on the Wednesday before and the Friday after. Then, it may be determined if the number of appointments is greater than a threshold (e.g., indicating that the merchant is relatively busy around Thursday and may want to be available on Thursday now to obtain more business). - At 706, the
service provider 102 may make a notification available to the merchant regarding confirmation or cancelation of the future period of time being set as unavailable. That is, the notification may request confirmation or cancelation of the scheduling of the merchant as unavailable in the calendar for the future period of time. The notification may identify the future period of time as being scheduled as unavailable. Theoperation 706 may include sending the notification to a device associated with the merchant, causing the notification to be presented via a user interface for the merchant, and so on. Theoperation 706 may be performed based on the determinations of theoperation 702 and/or the operation 704. - At 708, the
service provider 102 may receive user input regarding confirmation or cancelation of the scheduling of the merchant as unavailable in the calendar for the future period of time. In some instances, the user input may be received from a device associated with the merchant in the form of a text message, email, another electronic message, or other data. In other instances, the user input may be received via a user interface that is provided to the merchant. The user input may specify whether the merchant would like to maintain the future period of time as unavailable or would like to cancel the unavailability (e.g., reschedule the merchant as available). - At 710, the
service provider 102 may determine whether the user input requests to maintain the merchant as unavailable during the future period of time or to reschedule the merchant as available during the future period of time. In response to determining that the user input requests to maintain the merchant as unavailable, theprocess 700 may proceed tooperation 712, where the calendar may maintain the merchant as unavailable during the future period of time (e.g., leave the calendar as is). Alternatively, in response to determining that the user input requests to reschedule the merchant, theprocess 700 may proceed tooperation 714, where the merchant is rescheduled as available in the calendar for the future period of time (e.g., set the future period of time in the calendar as available). This may allow the merchant to obtain appointments for the future period of time. -
FIG. 8 illustrates theexample process 800 to present a calendar of a merchant's schedule and to schedule an appointment. - At 802, the
service provider 102 may cause presentation of a calendar that is associated with a merchant. In some instances, the calendar (e.g., a visual representation of the calendar) is displayed via a user interface, such as a merchant-facing interface, customer-facing interface, or another interface. In other instances, the calendar is output in an audible or other manner via a computing device. The calendar may enable the merchant and/or customers to schedule appointments with the merchant. The calendar may present periods of time that are scheduled as unavailable, periods of time for which appointments have been scheduled, periods of time that are available, and so on. In some instances, a period of time that is set as unavailable may be designated (e.g., shown) differently than a period of time that is associated with an appointment. In other instances, periods of time associated with unavailability and periods of time associated with appointments may be designated the same. The operation 802 may be performed after a merchant has been scheduled as unavailable in the calendar, after a period of time set as unavailable has been rescheduled to available, or at any other time. - In some examples, at 802, the
service provider 102 may enable scheduling of appointments before a predetermined time and/or restrict scheduling of appointments after the predetermined time. For example, theservice provider 102 may allow customers to view the calendar and/or schedule appointments that are within the next two weeks and restrict customers from viewing and/or scheduling appointments that are more than two weeks out. - Further, in some examples at 802, the calendar may be presented differently for different types of users. For instance, the
service provider 102 may associate a predetermined status with a customer based on transaction information indicating that more than a threshold number of items have been acquired from the merchant by the customer. The predetermined status may generally indicate that the customer is a preferred customer (e.g., has conducted a number of transactions with the merchant). When the customer with the predetermined status requests to access the calendar, theservice provider 102 may show a period of time that is scheduled as unavailable in the calendar (e.g., for other users) as available for the customer, so that the customer may schedule an appointment. This may allow, for example, a customer that is associated with a preferred status to be provided with additional options for appointments, in comparison to other customers. - At 804, the
service provider 102 may receive user input regarding scheduling of an appointment with the merchant. In some instances, the user input may be received from a device associated with the merchant and/or customer in the form of a text message, email, another electronic message, or other data. In other instances, the user input may be received via a user interface. The user input may specify a time slot for the appointment. Further, in some instances the user input may request an appointment for a time slot that was previously set as unavailable in the calendar. - At 806, the
service provider 102 may schedule an appointment with the merchant. This may include scheduling the appointment in the calendar. The operation 806 may be based on the user input that is received at the operation 804. -
FIG. 9 illustrates an example process to determine a value at which to offer an item for acquisition during a period of time and to associate the period of time with the value. - At 902, the
service provider 102 may determine a value (e.g., price) at which to offer an item for acquisition during a period of time. The determination may be based on a merchant rescheduling from the period of time, setting the period of time as unavailable, and so on. For example, theservice provider 102 may determine to offer an item for acquisition at a relatively high price (in comparison to a normal price of the item) on Mondays when the merchant has frequently rescheduled appointments from Mondays or the merchant has frequently set Monday as unavailable in the calendar. - At 904, the
service provider 102 may associate the period of time with the value. That is, the item that is offered for acquisition during the period of time may be offered at the value. In one example, an appointment that is scheduled for the period of time may acquire the item at the value. - At 906, the
service provider 102 may make pricing information available for the item. When the pricing information is being made available for the period of time, the pricing information may indicate the value. For example, if a price of the item is increased on a particular Monday, in order to encourage customers to schedule appointments on other days of the week, then customers that are attempting to schedule an appointment on the particular Monday may view the increased price of the item. In some instances, the pricing information may indicate both the value at which the item is generally being offered for acquisition and the value at which the item is being offered for acquisition during the period of time (e.g., indicating a difference between the two values). Theoperation 906 may include sending the pricing information to a device associated with a customer (e.g., via a text message, email, notification in an application, or other message), causing the pricing information to be presented via a user interface, and so on. -
FIG. 10 illustrates theexample process 1000 to schedule a merchant as unavailable based on a number of appointments that are scheduled for a period of time. - At 1002, the
service provider 102 may identify a calendar that is associated with a merchant. This may include referencing account information for the merchant to identify a calendar that is linked to the account information. - At 1004, the
service provider 102 may determine that a period of time in the calendar is less than a threshold time away and/or that less than a threshold number of appointments are scheduled for the period of time. For example, it may be determined that no appointments are scheduled for next Monday, which is two days away. Alternatively, it may be determined that only one appointment is scheduled for Monday. - At 1006, the
service provider 102 may send a notification to a device associated with a merchant. The notification may request input regarding an availability of the merchant for the period of time. For example, the notification may ask if the merchant would like to designate Monday as unavailable since no appointments are scheduled for Monday. - At 1008, the
service provider 102 may receive user input from the device associated with the merchant. In some instances, the user input may request that the merchant be scheduled as unavailable during the period of time, while in other instances the user input may request to not schedule the merchant as unavailable. - At 1010, the
service provider 102 may set the calendar. In some instances, the calendar is set automatically based on the determination of theoperation 1004. In other instances, the calendar is set based on the user input that is received at the operation 1008. For example, if the user input requests that the merchant be scheduled as unavailable during the period of time, theservice provider 102 may schedule the merchant as unavailable. -
FIG. 11 illustrates theexample process 1100 to reschedule an appointment based on a number of appointments that are scheduled. - At 1102, the
service provider 102 may identify a calendar of a merchant that offers one or more items for acquisition. - At 1104, the
service provider 102 may determine that a period of time in the calendar is less than a threshold time away and/or that less than a threshold number of appointments are scheduled for the period of time. - At 1106, the
service provider 102 may send a notification to a device associated with a customer requesting to reschedule the appointment. In some instances, the notification may suggest a time to which to reschedule. - At 1108, the
service provider 102 may receive user input from the device that is associated with the customer. The user input may indicate whether or not the customer would like to reschedule the appointment. If the customer would like to reschedule, the user input may additionally identify a time to which to reschedule. - At 1110, the
service provider 102 may reschedule an appointment in the calendar. In some instances, the appointment is automatically rescheduled based on the determination of theoperation 1104. In other instances, the appointment is rescheduled based on user input that is received at theoperation 1108. Further, in some instances, at 1110, theservice provider 102 may reschedule the appointment based on determining that more than the threshold number of appointments are scheduled for another period of time, determining that a location of the appointment is within a predetermined proximity to a location of another appointment that is scheduled for the other period of time, determining that a threshold number of employees of the merchant are scheduled to work for the other period of time, determining that the merchant will be open for business for the other period of time, and/or determining that a location of the appointment is within a geographical region that has been visited by the merchant, more than a threshold number of times, on a same day, week, or month on which the other period of time falls. - Although 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 specific features or acts described. Rather, the specific features and acts are disclosed herein as illustrative forms of implementing the embodiments.
Claims (20)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/306,660 US20210350334A1 (en) | 2015-06-10 | 2021-05-03 | Consolidation of calendar appointments |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/735,966 US10997565B2 (en) | 2015-06-10 | 2015-06-10 | Consolidation of calendar appointments |
| US17/306,660 US20210350334A1 (en) | 2015-06-10 | 2021-05-03 | Consolidation of calendar appointments |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/735,966 Continuation US10997565B2 (en) | 2015-06-10 | 2015-06-10 | Consolidation of calendar appointments |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20210350334A1 true US20210350334A1 (en) | 2021-11-11 |
Family
ID=72043324
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/735,966 Active 2036-05-01 US10997565B2 (en) | 2015-06-10 | 2015-06-10 | Consolidation of calendar appointments |
| US17/306,660 Abandoned US20210350334A1 (en) | 2015-06-10 | 2021-05-03 | Consolidation of calendar appointments |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/735,966 Active 2036-05-01 US10997565B2 (en) | 2015-06-10 | 2015-06-10 | Consolidation of calendar appointments |
Country Status (1)
| Country | Link |
|---|---|
| US (2) | US10997565B2 (en) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11501279B2 (en) | 2014-09-26 | 2022-11-15 | Block, Inc. | Appointment and payment handling |
| US20230090049A1 (en) * | 2021-09-17 | 2023-03-23 | Optum, Inc. | Computer systems and computer-based methods for automated callback scheduling utilizing call duration prediction |
| US20230401538A1 (en) * | 2022-06-08 | 2023-12-14 | Cdk Global, Llc | Methods and systems for optimizing appointment scheduling |
| US20240105321A1 (en) * | 2022-09-27 | 2024-03-28 | Fujifilm Corporation | Non-transitory computer readable medium |
| US12020217B2 (en) | 2020-11-11 | 2024-06-25 | Cdk Global, Llc | Systems and methods for using machine learning for vehicle damage detection and repair cost estimation |
| US12045212B2 (en) | 2021-04-22 | 2024-07-23 | Cdk Global, Llc | Systems, methods, and apparatuses for verifying entries in disparate databases |
| US12277306B2 (en) | 2022-05-03 | 2025-04-15 | Cdk Global, Llc | Cloud service platform integration with dealer management systems |
| US12288552B2 (en) | 2021-09-17 | 2025-04-29 | Optum, Inc. | Computer systems and computer-based methods for automated caller intent prediction |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11023928B2 (en) | 2014-09-26 | 2021-06-01 | Square, Inc. | Appointment and payment handling |
| US10176467B2 (en) * | 2014-11-21 | 2019-01-08 | Gas Pump TV, LLC | System and method for facilitating and processing consumer transactions at a gas pump and for managing a fuel media network |
| US20200210961A1 (en) | 2018-12-27 | 2020-07-02 | Clicksoftware, Inc. | Systems and methods for work capacity planning |
| US20220238061A1 (en) * | 2019-05-17 | 2022-07-28 | Fenoto Technologies Inc. | Electronic paper display system |
| US11526846B2 (en) * | 2021-03-03 | 2022-12-13 | Maplebear Inc. | Receipt content capture device for inventory tracking |
| US11777815B1 (en) * | 2022-03-02 | 2023-10-03 | Servicenow, Inc. | Techniques for dynamically configuring service availability |
Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7082402B2 (en) * | 1997-06-19 | 2006-07-25 | International Business Machines Corporation | Electronic calendar with group scheduling and storage of user and resource profiles |
| US7933789B2 (en) * | 2006-02-04 | 2011-04-26 | International Business Machines Corporation | Method and system for accessing declined event invitations |
| US8166121B2 (en) * | 2009-12-31 | 2012-04-24 | International Business Machines Corporation | Situation based presence notification leveraging |
| US20120215855A1 (en) * | 2011-02-18 | 2012-08-23 | International Business Machines Corporation | Determining Availability Based on Percentage Available |
| US20140095232A1 (en) * | 2012-09-28 | 2014-04-03 | Groupon, Inc. | Scheduling Appointments With Deal Offers |
| US20150006221A1 (en) * | 2013-02-28 | 2015-01-01 | Cequity Llc | Method for automatic scheduling of meetings |
| US20160148163A1 (en) * | 2014-11-20 | 2016-05-26 | Lenovo (Singapore) Pte. Ltd. | Representing in an electronic calendar travel time to and from an event |
| US20160267439A1 (en) * | 2015-03-11 | 2016-09-15 | Microsoft Technology Licensing, Llc | Contextual calendar conflict resolution |
| US20160328681A1 (en) * | 2015-05-08 | 2016-11-10 | Microsoft Technology Licensing, Llc | Computerized customization of default actions |
| US20160350720A1 (en) * | 2015-05-29 | 2016-12-01 | Citrix Systems, Inc. | Recommending meeting times based on previous meeting acceptance history |
Family Cites Families (134)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6868391B1 (en) | 1997-04-15 | 2005-03-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Tele/datacommunications payment method and apparatus |
| US5978770A (en) | 1997-04-24 | 1999-11-02 | Visible Interactive Corporation | Assigning and managing patron reservations for distributed services using wireless personal communication devices |
| US6112185A (en) | 1997-06-30 | 2000-08-29 | Walker Digital, Llc | Automated service upgrade offer acceptance system |
| US7069228B1 (en) | 1998-04-30 | 2006-06-27 | Rose James W | Apparatus and method for an internet based computer reservation booking system |
| US6845361B1 (en) | 1998-07-21 | 2005-01-18 | Eric M. Dowling | Virtual-wait queue for mobile commerce |
| US6266649B1 (en) | 1998-09-18 | 2001-07-24 | Amazon.Com, Inc. | Collaborative recommendations using item-to-item similarity mappings |
| CN1316436C (en) | 1998-10-09 | 2007-05-16 | 丰田自动车株式会社 | Charging device |
| US7328166B1 (en) | 1999-01-20 | 2008-02-05 | Sabre, Inc. | Global reservations transaction management system and method |
| US6973437B1 (en) | 1999-06-29 | 2005-12-06 | Olewicz Tadeusz A | Computer integrated communication system for restaurants |
| US6529880B1 (en) | 1999-12-01 | 2003-03-04 | Intermec Ip Corp. | Automatic payment system for a plurality of remote merchants |
| AU2001229649A1 (en) | 2000-01-19 | 2001-07-31 | R2000, Inc. Dba Ireserve.Com | Reservation/appointment system and method |
| EP1285371A4 (en) | 2000-04-03 | 2003-04-16 | Pugliese Company | System and method for displaying and selling goods and services |
| US20020095391A1 (en) | 2000-06-14 | 2002-07-18 | Garret Swart | Methods and apparatus for providing variable price structures for time-based services available through a transaction system |
| US10013695B2 (en) | 2001-01-27 | 2018-07-03 | Rakuten Marketing Llc | Methods, apparatus and articles-of-manufacture for secondary referral tracking on a public-access computer network |
| US8737955B2 (en) | 2001-08-21 | 2014-05-27 | Bookit Oy Ajanvarauspalvelu | Managing recurring payments from mobile terminals |
| US8611919B2 (en) | 2002-05-23 | 2013-12-17 | Wounder Gmbh., Llc | System, method, and computer program product for providing location based services and mobile e-commerce |
| US20040034537A1 (en) | 2002-08-14 | 2004-02-19 | Pineapple Systems, Inc. | Guest relationship management system |
| US8224700B2 (en) | 2002-08-19 | 2012-07-17 | Andrew Silver | System and method for managing restaurant customer data elements |
| WO2004021141A2 (en) | 2002-08-30 | 2004-03-11 | Racom Products | Modular analog wireless data telemetry system adapted for use with web based location information distribution method and method for developing and disseminating information for use therewith |
| US20040199412A1 (en) | 2003-03-14 | 2004-10-07 | Mccauley Stephen F. | Internet-based scheduling method and system for service providers and users |
| US7119716B2 (en) | 2003-05-28 | 2006-10-10 | Legalview Assets, Limited | Response systems and methods for notification systems for modifying future notifications |
| US20050080675A1 (en) | 2003-10-09 | 2005-04-14 | Long Range Systems, Inc. | System and method for automated dynamic wait listing |
| US20050119937A1 (en) | 2003-11-06 | 2005-06-02 | Estes Anthony D. | Method and system for generating and managing referrals |
| US20050102154A1 (en) | 2003-11-12 | 2005-05-12 | Dodd Ryan A. | Method, computer useable medium, and system for enterprise resource management |
| US20050108116A1 (en) | 2003-11-13 | 2005-05-19 | International Business Machines Corporation | Method and apparatus for allocating items on a bill |
| US7620562B2 (en) | 2003-12-24 | 2009-11-17 | Time Warner Cable, Inc. | Online installation scheduling system and method for cable services |
| US20070083403A1 (en) | 2004-03-26 | 2007-04-12 | Crystallon Systems, Inc. | Referral management method, apparatus and system |
| US8185407B2 (en) | 2004-08-24 | 2012-05-22 | Medunity Inc. | Referral request system |
| US8856117B2 (en) | 2004-10-29 | 2014-10-07 | Opentable, Inc. | System and method of accelerating response time to inquiries regarding inventory information in a network |
| US7478085B2 (en) | 2005-04-01 | 2009-01-13 | Microsoft Corporation | Ability for developers to easily find or extend well known locations on a system |
| US20070162306A1 (en) | 2006-01-11 | 2007-07-12 | Peters James D | System and methods for performing distributed payment transactions |
| US8126738B2 (en) | 2006-04-28 | 2012-02-28 | Mdi Technologies, Inc. | Method and system for scheduling tracking, adjudicating appointments and claims in a health services environment |
| US9124699B2 (en) | 2006-05-05 | 2015-09-01 | Outlook Amusements, Inc. | Systems and methods for expert communications |
| US8190464B2 (en) | 2006-07-10 | 2012-05-29 | Brevium, Inc. | Method and apparatus for identifying and contacting customers who are due for a visit but have not scheduled an appointment |
| US20080052110A1 (en) | 2006-08-23 | 2008-02-28 | Cambridge Software Solutions Corp. | Referral system |
| US8326705B2 (en) | 2006-12-22 | 2012-12-04 | American Express Travel Related Services Company, Inc. | Restaurant yield management portal |
| US7840427B2 (en) | 2007-02-12 | 2010-11-23 | O'sullivan Sean | Shared transport system and service network |
| US20080270230A1 (en) | 2007-04-27 | 2008-10-30 | Bradley Marshall Hendrickson | System and method for improving customer wait time, customer service, and marketing efficiency in the restaurant, retail, travel, and entertainment industries |
| US8830030B2 (en) | 2007-05-16 | 2014-09-09 | Opentable, Inc. | Computer based guest monitoring and identification system and method |
| US8214241B2 (en) | 2007-08-20 | 2012-07-03 | Peter Kaiser | System and method for web-based customer check-in |
| US20090172035A1 (en) | 2007-12-31 | 2009-07-02 | Pieter Lessing | System and method for capturing and storing casino information in a relational database system |
| US20100004989A1 (en) | 2008-05-20 | 2010-01-07 | American Express Travel Related Services Company, Inc. | Systems, methods, apparatus and computer program products for interfacing payment systems to a network associated with a referral |
| US8897808B2 (en) | 2008-06-27 | 2014-11-25 | Verizon Patent And Licensing Inc. | Systems and methods for facilitating a third-party service based on location of a mobile device |
| US8472979B2 (en) | 2008-07-15 | 2013-06-25 | International Business Machines Corporation | System and method for scheduling and reservations using location based services |
| US20110137692A1 (en) | 2008-08-06 | 2011-06-09 | Shaun Beheruz Sethna | System and method for boarding passengers based on valuation data |
| US20100293065A1 (en) | 2008-08-14 | 2010-11-18 | Mike Brody | System and method for paying a merchant using a cellular telephone account |
| US20110191122A1 (en) | 2008-09-15 | 2011-08-04 | ZocDoc, Inc. | Method and apparatus for managing physician referrals |
| US20100191552A1 (en) | 2009-01-27 | 2010-07-29 | Patrick Behrens | Apparatus, method and article to facilitate propagation of current appointment availability in a network environment |
| US8671009B1 (en) * | 2009-04-28 | 2014-03-11 | Schedulicity Inc. | Systems and methods for on-line scheduling of appointments and other resources |
| US8150718B2 (en) | 2009-05-13 | 2012-04-03 | Hugh Olliphant | System and method for automatically scheduling appointments |
| US8583511B2 (en) | 2009-05-19 | 2013-11-12 | Bradley Marshall Hendrickson | Systems and methods for storing customer purchasing and preference data and enabling a customer to pre-register orders and events |
| US9841282B2 (en) | 2009-07-27 | 2017-12-12 | Visa U.S.A. Inc. | Successive offer communications with an offer recipient |
| US20110099116A1 (en) | 2009-09-25 | 2011-04-28 | Medlegal Network, Inc. | Systems and methods for managing data communications across disparate systems and devices |
| US8818858B1 (en) | 2009-12-22 | 2014-08-26 | Amazon Technologies, Inc. | Ensuring appearance of merchant offering in network sites |
| US20110191184A1 (en) | 2010-01-29 | 2011-08-04 | Bank Of America Corporation | Mobile location integrated merchant offer program and customer shopping |
| WO2011109496A1 (en) | 2010-03-02 | 2011-09-09 | TxtFLASH LLC | Systems and methods for electronic reminders |
| US20110246247A1 (en) | 2010-03-31 | 2011-10-06 | Opentable, Inc. | Restaurant inventory management |
| WO2011127084A2 (en) | 2010-04-05 | 2011-10-13 | Vivotech, Inc. | Systems, methods, and computer readable media for performing multiple transactions through a single near field communication (nfc) tap |
| US20110251881A1 (en) | 2010-04-07 | 2011-10-13 | Jeffery Maine | Methods and systems for amount calculation |
| US9286733B2 (en) | 2010-04-13 | 2016-03-15 | Locomobi Inc. | Location based systems for entry and exit |
| US20110313806A1 (en) | 2010-06-17 | 2011-12-22 | Ian Huang | Online appointment booking system |
| US9129266B2 (en) | 2010-06-18 | 2015-09-08 | Sharat NAGARAJ | Automated schedule systems and methods |
| US10521813B2 (en) | 2010-07-06 | 2019-12-31 | Groupon, Inc. | System and method for incentives |
| US20120072274A1 (en) | 2010-09-16 | 2012-03-22 | King Martin T | Referral award system for portable devices |
| US20120143753A1 (en) | 2010-12-01 | 2012-06-07 | Erwin Luis Gonzalez | System and method for online buying to aggregate payments from two or more people |
| US20120166332A1 (en) | 2010-12-22 | 2012-06-28 | Ebay Inc. | Bill splitting system |
| US20120173396A1 (en) | 2010-12-30 | 2012-07-05 | Paydivvy, Inc. | Bill division and group payment systems and methods |
| US20120173350A1 (en) | 2011-01-04 | 2012-07-05 | Doug Robson | Mobile application facilitating restaurant activities and methods thereof |
| US9805536B2 (en) | 2011-01-20 | 2017-10-31 | Cfph, Llc | Multi-system distributed processing of delivery and/or referral information for orders |
| US20120197670A1 (en) | 2011-01-28 | 2012-08-02 | Tai Cheung Poon | Online restaurant systems for forecasting behaviors of late customers |
| US20120203619A1 (en) | 2011-02-09 | 2012-08-09 | Lutnick Howard W | Multi-system distributed processing of group goals |
| US10769657B2 (en) | 2011-02-14 | 2020-09-08 | Cardspring, Llc | Measuring conversion of an online advertising campaign including referral offers from an offline merchant |
| US20120239504A1 (en) | 2011-03-15 | 2012-09-20 | Microsoft Corporation | Virtual Shopping Assistance |
| US9299037B2 (en) | 2011-04-25 | 2016-03-29 | Heartland Payment Systems, Inc. | Provision of alert messages to customers of an establishment |
| US20120278165A1 (en) | 2011-04-26 | 2012-11-01 | Microsoft Corporation | Presenting offers to consumers based on need |
| US8412631B2 (en) | 2011-05-13 | 2013-04-02 | American Express Travel Related Services Company, Inc. | Cloud enabled payment processing system and method |
| US10395186B1 (en) | 2011-05-20 | 2019-08-27 | Opentable, Inc. | Graphical user interface for a restaurant management system including a status indicator |
| US20130332207A1 (en) | 2012-06-11 | 2013-12-12 | Benoit Brunel | System and method for intelligent management of appointment waiting list |
| US20130013350A1 (en) | 2011-07-08 | 2013-01-10 | Opentable, Inc. | Offer based restaurant reservations |
| US8498900B1 (en) | 2011-07-25 | 2013-07-30 | Dash Software, LLC | Bar or restaurant check-in and payment systems and methods of their operation |
| US9183551B2 (en) | 2011-07-26 | 2015-11-10 | Paypal, Inc. | Location-based payer charging system |
| CA2881633A1 (en) | 2011-08-15 | 2013-02-21 | Connectquest | Close proximity notification system |
| US20130046626A1 (en) | 2011-08-19 | 2013-02-21 | Bank Of America Corporation | Optimizing offers based on user transaction history |
| US20130046635A1 (en) * | 2011-08-19 | 2013-02-21 | Bank Of America Corporation | Triggering offers based on detected location of a mobile point of sale device |
| US8533015B2 (en) | 2011-09-01 | 2013-09-10 | Dennis Meegan | Method and system for creating electronic business referrals with cloud computing |
| US20130090959A1 (en) | 2011-10-06 | 2013-04-11 | Seatme, Inc. | Restaurant management and reservation systems and methods |
| US20130090963A1 (en) * | 2011-10-06 | 2013-04-11 | Verizon Patent And Licensing Inc. | Method and system for optimizing dispatch workflow information |
| EP2771850A1 (en) | 2011-10-28 | 2014-09-03 | Qurami S.R.L. | Queue remote management system and method |
| US20130144660A1 (en) | 2011-12-02 | 2013-06-06 | Verizon Patent And Licensing Inc. | Electronic maitre d' |
| CA2859276C (en) | 2011-12-14 | 2023-09-12 | Cfph, Llc | Examples of delivery and/or referral services that may use mobile enhancements and/or auction mechanisms |
| EP2803030A4 (en) | 2012-01-12 | 2015-06-03 | Mastercard International Inc | Systems and methods for managing overages in daily deals |
| US20130218780A1 (en) * | 2012-02-17 | 2013-08-22 | On Center Software, Inc. | System and Method for Digitally Monitoring Construction Project Progress |
| US10147130B2 (en) | 2012-09-27 | 2018-12-04 | Groupon, Inc. | Online ordering for in-shop service |
| US9129278B2 (en) | 2012-03-30 | 2015-09-08 | Intuit Inc. | Pre-allocating merchant ID in a credit card processor entity system by a master merchant |
| WO2013181609A1 (en) | 2012-06-01 | 2013-12-05 | Chowtime, Inc. | Apparatus and methods for seating management |
| US10304276B2 (en) | 2012-06-07 | 2019-05-28 | Universal City Studios Llc | Queue management system and method |
| US20130332255A1 (en) | 2012-06-11 | 2013-12-12 | Visa International Service Association | Systems and methods to process referrals between offer campaigns |
| US20130332208A1 (en) | 2012-06-12 | 2013-12-12 | Apple Inc. | Systems and methods for processing orders and reservations using an electronic device |
| US9691066B2 (en) | 2012-07-03 | 2017-06-27 | Verifone, Inc. | Location-based payment system and method |
| US20140039999A1 (en) | 2012-08-01 | 2014-02-06 | Edward R. Levene | System and method for merchants to charge fees to buyers for credit card and debit card transactions |
| US9124694B2 (en) | 2012-08-08 | 2015-09-01 | 24/7 Customer, Inc. | Method and apparatus for intent prediction and proactive service offering |
| US20140046845A1 (en) | 2012-08-10 | 2014-02-13 | Mastercard International Incorporated | Method and system for a payment process to reduce fraud |
| US20140052514A1 (en) | 2012-08-16 | 2014-02-20 | George Cox Beighley, JR. | Method and Apparatus for Hyperlink Conversion in a Referral System |
| US8816879B2 (en) | 2012-09-21 | 2014-08-26 | Palo Alto Research Center Incorporated | Computer-implemented system and method for managing interchangeable parking spaces |
| US9043820B2 (en) | 2012-09-25 | 2015-05-26 | Verizon Patent And Licensing Inc. | Advertisement delivery engine |
| US20140095239A1 (en) | 2012-10-01 | 2014-04-03 | Passport Health Communications, Inc. | Self-service registration and queue status prioritization |
| US20140136373A1 (en) | 2012-11-15 | 2014-05-15 | II Edward Phillip Kinsey | Methods and systems for the sale of consumer services |
| US10074082B2 (en) | 2012-11-30 | 2018-09-11 | Walmart Apollo, Llc | Splitting a purchase among multiple parties using an electronic receipt after the transaction |
| US20140156410A1 (en) | 2012-11-30 | 2014-06-05 | Ebay Inc. | Systems and methods to provide transport aware geofences |
| US20140188703A1 (en) | 2012-12-31 | 2014-07-03 | Wing Fung Tse | Streamlined travel payments |
| US20140188509A1 (en) | 2013-01-03 | 2014-07-03 | Par8O, Inc. | Systems and methods of service provider identification in a computer network environment |
| US9741021B2 (en) | 2013-01-18 | 2017-08-22 | Robert Yu | Optimized online marketing and scheduling systems and methods that are based on driving demand for services |
| US10037585B2 (en) | 2013-02-28 | 2018-07-31 | Agilysys Nv, Llc | Systems and methods for managing table and seating use in commercial establishments |
| WO2014138047A1 (en) * | 2013-03-04 | 2014-09-12 | OpenMed, Inc. | Appointment scheduling |
| US8744968B1 (en) | 2013-03-13 | 2014-06-03 | Bank Of America Corporation | Providing automated initial and final payment for an activity based on determining the location of an activity participant's mobile communication device |
| US20140278671A1 (en) | 2013-03-14 | 2014-09-18 | Schedulicity, Inc. | Automatic promotion generation to fill unbooked appointment time slots of a service provider |
| US20140278489A1 (en) | 2013-03-15 | 2014-09-18 | Eclinicalworks, Llc | Systems and methods for broadcasting appointment availabilities |
| US20140279420A1 (en) | 2013-03-15 | 2014-09-18 | Michael D. Okerlund | System and method for facilitating financial transactions utilizing a plurality of networked databases |
| US20140316835A1 (en) * | 2013-04-23 | 2014-10-23 | Navteq B.V. | Method and apparatus for visualizing fixed and flexible daily calendar events on a map |
| US20140351032A1 (en) | 2013-05-22 | 2014-11-27 | Mention Me Ltd | Name Based Customer Referral System |
| US10325102B2 (en) | 2013-05-23 | 2019-06-18 | yTrre, Inc. | Real-time customer experience management systems and methods |
| WO2015017664A2 (en) | 2013-07-31 | 2015-02-05 | LivelyHood, Inc. | Systems and methods for providing on demand business resources |
| US20150046252A1 (en) | 2013-08-12 | 2015-02-12 | Airvirtise | Augmented Reality System |
| US20150120453A1 (en) | 2013-10-25 | 2015-04-30 | Palo Alto Research Center Incorporated | Real-time local offer targeting and delivery system |
| US20150120504A1 (en) | 2013-10-25 | 2015-04-30 | Michael Todasco | Systems and methods for completion of item delivery and transactions using a mobile beacon |
| US9721314B2 (en) | 2013-10-28 | 2017-08-01 | Square, Inc. | Apportioning shared financial expenses |
| US20150149542A1 (en) | 2013-11-27 | 2015-05-28 | Chintan Jain | System and methods for generating and provisioning a personalized geo-fence |
| WO2015123284A1 (en) | 2014-02-14 | 2015-08-20 | Retailmenot, Inc. | Event-based offers for a geofenced geographic area |
| US20150235183A1 (en) | 2014-02-20 | 2015-08-20 | Evan SAMPSON | Computer-implemented method and system for scheduling appointments with clients |
| US9881261B2 (en) | 2014-02-25 | 2018-01-30 | Paypal, Inc. | Systems and methods for remote check-in |
| US11023928B2 (en) | 2014-09-26 | 2021-06-01 | Square, Inc. | Appointment and payment handling |
| US9875471B1 (en) | 2014-09-26 | 2018-01-23 | Square, Inc. | Appointment and payment handling |
| US10152680B1 (en) | 2014-09-26 | 2018-12-11 | Square, Inc. | Appointment and payment handling |
| WO2016065347A1 (en) | 2014-10-23 | 2016-04-28 | Reserve Media, Inc. | Inventory management system and method |
-
2015
- 2015-06-10 US US14/735,966 patent/US10997565B2/en active Active
-
2021
- 2021-05-03 US US17/306,660 patent/US20210350334A1/en not_active Abandoned
Patent Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7082402B2 (en) * | 1997-06-19 | 2006-07-25 | International Business Machines Corporation | Electronic calendar with group scheduling and storage of user and resource profiles |
| US7933789B2 (en) * | 2006-02-04 | 2011-04-26 | International Business Machines Corporation | Method and system for accessing declined event invitations |
| US8166121B2 (en) * | 2009-12-31 | 2012-04-24 | International Business Machines Corporation | Situation based presence notification leveraging |
| US20120215855A1 (en) * | 2011-02-18 | 2012-08-23 | International Business Machines Corporation | Determining Availability Based on Percentage Available |
| US8364752B2 (en) * | 2011-02-18 | 2013-01-29 | International Business Machines Corporation | Determining availability based on percentage available |
| US9058597B2 (en) * | 2011-02-18 | 2015-06-16 | International Business Machines Corporation | Determining availability based on percentage available |
| US20140095232A1 (en) * | 2012-09-28 | 2014-04-03 | Groupon, Inc. | Scheduling Appointments With Deal Offers |
| US20150006221A1 (en) * | 2013-02-28 | 2015-01-01 | Cequity Llc | Method for automatic scheduling of meetings |
| US20160148163A1 (en) * | 2014-11-20 | 2016-05-26 | Lenovo (Singapore) Pte. Ltd. | Representing in an electronic calendar travel time to and from an event |
| US20160267439A1 (en) * | 2015-03-11 | 2016-09-15 | Microsoft Technology Licensing, Llc | Contextual calendar conflict resolution |
| US20160328681A1 (en) * | 2015-05-08 | 2016-11-10 | Microsoft Technology Licensing, Llc | Computerized customization of default actions |
| US20160350720A1 (en) * | 2015-05-29 | 2016-12-01 | Citrix Systems, Inc. | Recommending meeting times based on previous meeting acceptance history |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11501279B2 (en) | 2014-09-26 | 2022-11-15 | Block, Inc. | Appointment and payment handling |
| US12299665B2 (en) | 2014-09-26 | 2025-05-13 | Block, Inc. | Appointment and payment handling |
| US12020217B2 (en) | 2020-11-11 | 2024-06-25 | Cdk Global, Llc | Systems and methods for using machine learning for vehicle damage detection and repair cost estimation |
| US12045212B2 (en) | 2021-04-22 | 2024-07-23 | Cdk Global, Llc | Systems, methods, and apparatuses for verifying entries in disparate databases |
| US20230090049A1 (en) * | 2021-09-17 | 2023-03-23 | Optum, Inc. | Computer systems and computer-based methods for automated callback scheduling utilizing call duration prediction |
| US12288194B2 (en) * | 2021-09-17 | 2025-04-29 | Optum, Inc. | Computer systems and computer-based methods for automated callback scheduling utilizing call duration prediction |
| US12288552B2 (en) | 2021-09-17 | 2025-04-29 | Optum, Inc. | Computer systems and computer-based methods for automated caller intent prediction |
| US12277306B2 (en) | 2022-05-03 | 2025-04-15 | Cdk Global, Llc | Cloud service platform integration with dealer management systems |
| US20230401538A1 (en) * | 2022-06-08 | 2023-12-14 | Cdk Global, Llc | Methods and systems for optimizing appointment scheduling |
| US20240105321A1 (en) * | 2022-09-27 | 2024-03-28 | Fujifilm Corporation | Non-transitory computer readable medium |
Also Published As
| Publication number | Publication date |
|---|---|
| US20200265387A1 (en) | 2020-08-20 |
| US10997565B2 (en) | 2021-05-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20210350334A1 (en) | Consolidation of calendar appointments | |
| US12475499B2 (en) | Automatic order generation using trained model | |
| US9928540B1 (en) | System for integrating courier service with customer applications | |
| US11010819B2 (en) | Application programming interfaces for fulfilment services | |
| US11501279B2 (en) | Appointment and payment handling | |
| US20240320650A1 (en) | Application programming interfaces for structuring distributed systems | |
| US12079747B1 (en) | Determining employee shift changes | |
| US11164172B2 (en) | Application programming interfaces for structuring distributed systems | |
| US20210089995A1 (en) | Merchant Controls for Preparation Times | |
| US11934991B2 (en) | Processing and notifications for missing and unavailable items | |
| US20190205834A1 (en) | Application programming interfaces for structuring distributed systems | |
| US10949796B1 (en) | Coordination of inventory ordering across merchants | |
| US10572844B1 (en) | Determining employee shift schedules | |
| JP2022110048A (en) | An application programming interface for structuring distributed systems | |
| WO2018221344A1 (en) | Fractional fund transfer and accumulation system | |
| US10909486B1 (en) | Inventory processing using merchant-based distributed warehousing | |
| US20180300783A1 (en) | Service area and rate tool for online marketplace | |
| US11023928B2 (en) | Appointment and payment handling | |
| JP2020021231A (en) | Information processing method, information processing apparatus, and program | |
| US12505394B2 (en) | Systems and methods for modifying online stores | |
| US12223449B2 (en) | Systems and methods for modifying online stores through scheduling | |
| US20230053818A1 (en) | Systems and methods for modifying online stores |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| AS | Assignment |
Owner name: SQUARE, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AVE, WILLEM;GINSBURG, EVAN;CIERI, MICHAEL MORRISSEY;AND OTHERS;SIGNING DATES FROM 20160610 TO 20180724;REEL/FRAME:058081/0809 |
|
| AS | Assignment |
Owner name: BLOCK, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:SQUARE, INC.;REEL/FRAME:058646/0154 Effective date: 20211209 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |