A method for remote management of appointment data, comprising:
- storing, in a database of a processing server, a plurality of user data entries, wherein each user data entry includes data related to a user including at least a user identifier and one or more calendar data entries, each calendar data entry including data related to a calendar including at least a calendar identifier and an associated calendar provider;
- receiving, by a receiving device of the processing server, appointment data from a computing device, wherein the appointment data includes at least a time and/or date range, an originating user identifier, a plurality of invitee user identifiers, and an appointment length;
- executing, by a processing device of the processing server, a query on the database of the processing server to identify an originating user data entry stored in the database where the included user identifier corresponds to the originating user identifier and a plurality of invitee user data entries where each invitee user data entry includes a user identifier corresponding to one of the plurality of invitee user identifiers;
- transmitting, by a transmitting device of the processing server, a calendar data request for each calendar data entry included in the originating user data entry and each of the plurality of invitee user data entries, wherein the calendar data request includes at least the calendar identifier included in the respective calendar data entry and is transmitted to the associated calendar provider included in the respective calendar data entry;
- receiving, by the receiving device of the processing server, calendar data for each calendar data entry included in the originating user data entry and each of the plurality of invitee user data entries in response to the transmitted calendar request, wherein the calendar data includes at least an indication of availability of an associated user at each time and/or date of a plurality of times and/or dates;
- identifying, by the processing device of the processing server, at least one appointment time having a highest availability of invitees using one or more algorithms applied to the received calendar data, based on at least a correspondence between the indication of availability for each time and/or date of the plurality of times and/or dates and the time and/or date range and appointment length for each calendar data entry, wherein the one or more algorithms are configured to maximize availability of associated users;
- transmitting, by the transmitting device of the processing server, one of the at least one identified appointment time, for each calendar data entry included in the originating user data entry and each of the plurality of invitee user data entries, to the associated calendar provider included in the respective calendar data entry;
- transmitting, by the transmitting device of the processing server, each of the at least one identified appointment time to the computing device without any of the plurality of time and/or dates not included in the at least one identified appointment time;
- receiving, by the receiving device of the processing server, a selected appointment time of the at least one identified appointment time from the computing device;
- and
- discarding, by the processing device of the processing server, the received calendar data for each calendar data entry such that the processing server does not retain the received calendar data, wherein
- at least one invitee user data entry includes two or more calendar data entries, the two or more calendar data entries including at least two different calendar providers,
- the transmitted appointment time is the selected appointment time.