Automated property access control involving inter-device electronic communications between computing devices
Techniques are described for using computing devices to perform automated operations involving interactions between multiple computing devices and systems as part of automatically scheduling an in-person access to a physical property involving multiple unaffiliated users traveling from disparate locations to the physical property, such as for an access to a house or other building. In some situations, the automated operations include exchanging electronic communications between computing devices to provide current property availability information and to receive immediate confirmation of scheduled access to an indicated physical property at an indicated time.
1 . A computer-implemented method comprising:
answering, by a second client computing device of a second user, an incoming telephone call involving a first client device of a first user, wherein the first user has requested access to an indicated physical property under control of at least one third user who is unaffiliated with the first user and the second user, and wherein the second user is authorized to access the indicated physical property under one or more specified conditions;
receiving, by the second client computing device, a push notification electronic message that triggers an application program on the second client computing device to initiate, over one or more computer networks and with one or more remote computing systems that maintain availability information about the indicated physical property, electronic interactions to obtain additional information about the indicated physical property; and
confirming, by the application program as it is executing on the second client computing device and concurrently with audio exchanges between the first and second users during the telephone call, the access by the first and second users to the indicated physical property, including:
retrieving, by the executing application program and via one or more first electronic communications of the electronic interactions, at least some of the additional information including property information from the one or more remote computing systems about the indicated physical property that includes multiple availability times at which the indicated physical property is currently available for access by the second user;
presenting, by the executing application program and to the second user via a graphical user interface (GUI) displayed on the second client computing device, at least some of the retrieved property information that includes at least some of the multiple availability times;
determining, by the executing application program and based at least in part on one or more first interactions of the second user with the displayed GUI, one of the multiple availability times at which the first and second users are available to access the indicated physical property;
scheduling, by the executing application program and via one or more second electronic communications transmitted over the one or more computer networks between the second client computing device and the one or more remote computing systems, the access to the indicated physical property by the first and second users at the determined one availability time, including obtaining confirmation from the one or more remote computing systems of the scheduled access; and
presenting, by the executing application program and to the second user via the displayed GUI, information about the confirmation of the scheduled access to the indicated physical property at the determined one availability time.
2 . The computer-implemented method of claim 1 wherein the push notification is a silent push notification that initiates execution of the application program and that is not visible to the second user, wherein the application program is a client application of an Automated Property Access Control Manager (APACM) system that further provides the second user with an account, and wherein the method further comprises updating, by the executing application program, calendar data for the second user in the account to indicate the scheduled access to the indicated physical property at the determined one availability time.
3 . The computer-implemented method of claim 2 wherein the APACM system executes on one or more server computing devices remote from the second client computing device, and wherein the method further comprises:
receiving, by the one or more server computing devices, one or more third electronic communications from the first client device to the APACM system that provide one or more availability times at which the first user requests access to the indicated physical property;
initiating, by the one or more server computing devices, the telephone call between the first client device and the second client computing device; and
sending, by the one or more server computing devices and in response to the receiving of the one or more third electronic communications and before the retrieving of the at least some additional information, one or more fourth electronic communications to the executing application program to provide the one or more availability times for the indicated physical properties.
4 . The computer-implemented method of claim 2 further comprising selecting, by the one or more server computing devices, the second user from a plurality of candidate second users to accompany the first user in the access to the indicated physical property, and initiating the telephone call between the first client device and the second client computing device in response to the selecting of the second user.
5 . The computer-implemented method of claim 1 wherein the one or more remote computing systems are property availability server computing systems that execute a software program to implement a property access management system and provide one or more application programming interfaces (APIs) for use by other software programs in accessing functionality of the property access management system, and wherein the one or more first electronic communications include one or more API calls by the executing application program to the property access management system, and one or more responses by the property access management system to the executing application program, the one or more API calls being performed using at least one of one or more Web sockets or one or more Representational State Transfer (REST) calls over HyperText Transfer Protocol (HTTP).
6 . The computer-implemented method of claim 5 wherein the first client device of the first user is a first client computing device, and wherein the method further comprises, before the answering of the incoming telephone call:
obtaining, by a first application program executing on the first client computing device of the first user and via interactions of the first user with a first GUI displayed on the first client computing device, information about one or more physical properties;
retrieving, by the executing first application program and via one or more third electronic communications transmitted over the one or more computer networks between the first client computing device and the one or more remote computing systems, additional property information from the one or more remote server computing systems about the one or more physical properties that includes, for each of the one or more physical properties, a plurality of availability times at which that physical property is currently available for access, wherein the one or more third electronic communications include one or more additional API calls by the executing first application program to the property access management system, and one or more additional responses by the property access management system to the executing first application program;
presenting, by the executing first application program and to the first user via the first GUI, at least some of the retrieved first property information; and
receiving, by the executing first application program and via one or more first interactions by the first user with the displayed first GUI, selections by the first user of, from the plurality of availability times for one of the one or more physical properties, the multiple availability times, wherein the one physical property is the indicated physical property,
and wherein the determining of the one availability time includes a selection by the second user of one of the multiple availability times.
7 . The computer-implemented method of claim 1 wherein the retrieving of the at least some additional information includes receiving, from the one or more remote computing systems, further information specified by the at least one third user regarding implementing of the access to the indicated physical property for use by the second user in determining at least one of the one or more specified conditions, and wherein the presenting of the at least some retrieved property information includes presenting the further information.
8 . The computer-implemented method of claim 1 wherein the retrieving of the at least some additional information includes receiving, from the one or more remote computing systems, further information that includes at least one of summary data about prior access to the indicated physical property by other users, or data from analysis of a plurality of prior interactions involving a plurality of physical properties that include the indicated physical property, or additional candidate properties that are determined for the first user based at least in part on the indicated physical property, and wherein the presenting of the at least some retrieved property information includes presenting the further information.
9 . The computer-implemented method of claim 1 further comprising exchanging, by the executing application program and after the presenting of the information about the confirmation of the scheduled access to the indicated physical property at the determined one availability time, one or more additional electronic communications with the one or more remote computing systems that reflect a change in the scheduled access, including obtaining confirmation from the one or more remote computing systems of the change, wherein the change includes at least one of a cancellation of the scheduled access, or a rescheduling of the scheduled access for a different availability time, or an update to the scheduled access initiated by the at least one third user.
10 . The computer-implemented method of claim 9 further comprising updating, by the executing application program and in response to the change in the scheduled access, calendar data for the second user to reflect the change in the scheduled access.
11 . The computer-implemented method of claim 1 wherein the determining of the one availability time includes monitoring, by the executing application program, the audio exchanges on the telephone call to identify one or more statements about the one availability time.
12 . The computer-implemented method of claim 1 wherein the determined one availability time includes an indicated day and an indicated starting time-of-day on the indicated day and at least one of an indicated duration or an indicated ending time-of-day on the indicated day, wherein the one or more specified conditions include a user participating in access to the indicated physical property is licensed to handle transactions involving real estate properties, and wherein the method further comprises obtaining, by the executing application program, further information from the second user about at least one of the first user or the indicated physical property or about other physical properties or about other availability times.
13 . A non-transitory computer-readable medium having stored contents that cause one or more computing devices to perform automated operations including at least:
receiving, by a second client computing device having a second user, a push notification electronic message that triggers an application program on the second client computing device to initiate, over one or more computer networks and with one or more remote computing systems that maintain availability information about an indicated physical property under control of at least one third user who is unaffiliated with the second user and with a first user of a first client device, electronic interactions to obtain additional information about the indicated physical property;
exchanging, by the second client computing device and during an interactive electronic communication session between the first and second users, multiple electronic communications with the first client device that are part of the interactive electronic communication session, wherein the first user has requested access to the indicated physical property and the second user is authorized to access the indicated physical property; and
confirming, by the application program as it is executing on the second client computing device and concurrently with the exchanging of the multiple electronic communications, the access by the first and second users to the indicated physical property, including:
retrieving, by the executing application program and via one or more first electronic communications of the electronic interactions, at least some of the additional information including property information from the one or more remote computing systems about the indicated physical property that includes one or more availability times at which the indicated physical property is currently available for access;
presenting, by the executing application program and to the second user via a graphical user interface (GUI) displayed on the second client computing device, at least some of the retrieved property information that includes at least one of the one or more availability times;
determining, by the executing application program and based at least in part on one or more first interactions of the second user with the displayed GUI, one of the one or more availability times at which the first and second users are available to access the indicated physical property;
scheduling, by the executing application program and via one or more second electronic communications transmitted over the one or more computer networks between the second client computing device and the one or more remote computing systems, the access to the indicated physical property by the first and second users at the determined one availability time, including obtaining confirmation from the one or more remote computing systems of the scheduled access; and
presenting, by the executing application program and to the second user via the displayed GUI, information about the confirmation of the scheduled access to the indicated physical property at the determined one availability time.
14 . The non-transitory computer-readable medium of claim 13 wherein the push notification is a silent push notification that initiates execution of the application program and that is not visible to the second user, wherein the interactive electronic communication session includes a Voice over Internet Protocol (VOIP) telephone call, wherein the multiple electronic communications include audio exchanges, wherein the automated operations further include displaying, by the second client computing device and before the exchanging of the multiple electronic communications, one or more user-selectable controls for the second user to answer or reject the VoIP telephone call, and further displaying additional user-selectable controls as part of the displayed GUI with the at least some retrieved property information, and wherein the one or more first interactions of the second user with the displayed GUI include selecting one of the additional user-selectable controls associated with the determined one availability time.
15 . The non-transitory computer-readable medium of claim 13 wherein the retrieving of the at least some additional information includes retrieving information about one or more conditions for the access to the indicated physical property that are specified by the at least one third user, and wherein the stored contents include software instructions that, when executed, cause the one or more computing devices to perform further automated operations including determining that the access to the indicated physical property at the determined one availability time by the first user and the second user satisfies the specified one or more conditions.
16 . The non-transitory computer-readable medium of claim 13 wherein the one or more computing devices include the second client computing device, wherein the one or more remote computing systems provide one or more application programming interfaces (APIs), wherein the one or more first electronic communications include one or more API calls by the executing application program using at least one of one or more Web sockets or one or more Representational State Transfer (REST) calls over HyperText Transfer Protocol (HTTP), wherein the automated operations include receiving, by the executing application program and via one or more third electronic communications received before the retrieving of the at least some additional information, multiple availability times selected by the first user, wherein the presenting of the at least some retrieved property information includes presenting at least two availability times from the multiple availability times that are some or all of the one or more availability times at which the indicated physical property is currently available for access, and wherein the determining of the one availability time includes receiving an indication of a selection by the second user of the one availability time via the one or more first interactions.
17 . A system comprising:
one or more hardware processors of one or more computing devices; and
one or more memories with stored instructions that, when executed by at least one of the one or more hardware processors, cause the one or more computing devices to perform automated operations including at least:
receiving, by a second client computing device of the one or more computing devices that is operated by a second user, a push notification electronic message that triggers an application program on the second client computing device to initiate, over one or more computer networks and with one or more remote computing systems that maintain availability information about one or more physical properties, electronic interactions to obtain additional information about the one or more physical properties;
exchanging, by the second client computing device, verbal communications with a first client device of a first user during a telephone call between the first client device and the second client computing device to discuss the one or more physical properties, wherein the second user is authorized to access the one or more physical properties; and
confirming, by the application program as it is executing on the second client computing device and concurrently with the exchanging of the verbal communications, access by the first and second users to at least one indicated physical property of the one or more physical properties, including:
retrieving, by the executing application program and via one or more first electronic communications of the electronic interactions, at least some of the additional information including property information from the one or more remote computing systems about the one or more physical properties that includes, for each of the one or more physical properties, one or more availability times at which that physical property is currently available for access;
presenting, by the executing application program and to the second user via a graphical user interface (GUI) displayed on the second client computing device, at least some of the retrieved property information;
determining, by the executing application program, and for each of the at least one indicated physical properties, one of the one or more availability times for that indicated physical property at which the first and second users are available to access that indicated physical property;
scheduling, by the executing application program and via one or more second electronic communications transmitted over the one or more computer networks between the second client computing device and the one or more remote computing systems, and for each of the at least one indicated physical properties, the access to that indicated physical property by the first and second users at the determined one availability time for that indicated physical property, including obtaining confirmation from the one or more remote computing systems of the scheduled access; and
presenting, by the executing application program and to the second user via the displayed GUI, and for each of the at least one indicated physical properties, information about the confirmation of the scheduled access to that indicated physical property at the determined one availability time for that indicated physical property.
18 . The system of claim 17 wherein the push notification is a silent push notification that initiates execution of the application program and that is not visible to the second user, wherein the telephone call is a Voice over Internet Protocol (VOIP) telephone call, wherein the verbal communications are sent as a plurality of electronic communications with audio data over the VoIP telephone call, wherein the automated operations further include displaying, by the second client computing device and before the exchanging of the verbal communications, one or more user-selectable controls for the second user to answer or reject the VoIP telephone call, and further displaying additional user-selectable controls as part of the displayed GUI with the at least some retrieved property information, and wherein the determining of the one availability time for each of the at least one indicated physical properties includes receiving an indication of a selection by the second user of one of the additional user-selectable controls associated with that determined one availability time.
19 . The system of claim 17 wherein the retrieving of the at least some additional information includes retrieving, for each of the at least one indicated physical properties, information about one or more conditions for the access to that indicated physical property that are specified by at least one third user that controls that indicated physical property, and wherein the automated operations further include determining that the access by the first user and the second user to that indicated physical property at the determined one availability time for that indicated physical property satisfies the specified one or more conditions.
20 . The system of claim 17 wherein the one or more remote computing systems provide one or more application programming interfaces (APIs), wherein the one or more first electronic communications include one or more API calls by the executing application program using at least one of one or more Web sockets or one or more Representational State Transfer (REST) calls over HyperText Transfer Protocol (HTTP), wherein the at least one indicated physical property is a single indicated physical property, wherein the automated operations include receiving, by the executing application program and via one or more third electronic communications received before the retrieving of the property information, multiple availability times selected by the first user, wherein the presenting of the at least some retrieved property information includes presenting at least two availability times from the multiple availability times that are some or all of the one or more availability times at which the single indicated physical property is currently available for access, and wherein the determining of the one availability time for the single indicated physical property includes receiving an indication of a selection by the second user of the one availability time via one or more first interactions with the displayed GUI.