Title:
SYSTEM AND METHOD FOR ONLINE MARKETING, SCHEDULING AND BOOKING OF SERVICES
Kind Code:
A1


Abstract:
Disclosed are systems, methods and computer program products for online marketing, scheduling and booking of services. In one example embodiment, the system for scheduling and booking of service appointments includes an inventory database containing schedule of booked and available service appointments associated with a plurality of service providers. The system further includes a calendar-based service provider interface for creating a schedule of services provided by the service provider and storing the schedule in the inventory database. The system further includes a calendar-based service user interface for displaying schedules of available service appointments and booking one or more service appointments.



Inventors:
Reichman, Dana (Brooklyn, NY, US)
Application Number:
13/098984
Publication Date:
11/03/2011
Filing Date:
05/02/2011
Primary Class:
Other Classes:
705/14.25
International Classes:
G06Q10/00; G06Q30/00
View Patent Images:
Related US Applications:
20010027423Shopping methodOctober, 2001Clonts et al.
20120197722GROUP BUYING SEARCHAugust, 2012Mesaros
20010016820Image information acquisition transmitting apparatus and image information inputting and recording apparatusAugust, 2001Tanaka et al.
20130046631PROVIDING OFFERS TO USERS DETERMINED TO BE TRAVELLING BASED ON POINT-OF-SALE TRANSACTION DATAFebruary, 2013Grigg et al.
20110153495MOBILE WIRELESS PAYMENT AND ACCESSJune, 2011Dixon et al.
20110078001FEEDBACK SYSTEM FOR TELEVISION ADVERTISEMENTSMarch, 2011Archer et al.
20130212009System and Method for Assisting VendorsAugust, 2013Hynes et al.
20170161780USING MICROPATTERNS TO MOTIVATE A CUSTOMERJune, 2017Michalek
20130332374FRAUD PREVENTION FOR REAL ESTATE TRANSACTIONSDecember, 2013Hartnett et al.
20150242897SEND2MOBILE+ PREMIUMAugust, 2015Dinardo Jr. et al.
20120221408METHOD AND SYSTEM FOR INFORMED MEDIA PLANNINGAugust, 2012Pych



Other References:
Marketing Weekly News, "Lifebooker: Lifebooker 2.0 Offers Beauty on a Budget During Tight Times," February 14, 2009, Marketing Weekly News, pg. 58
NPL- Lifebooker, (Lifebooker website, http://www.lifebooker.com, retrieved from Internet Archive, dated 4/16/08, 2/8/09, and 4/2/09
NPL - Lifebooker, Lifebooker website, http://www.lifebooker.com, retrieved from Internet Archive, dated 4/16/08, 2/8/09, and 4/2/09
Lifebooker, Lifebooker website, http://www.lifebooker.com, retrieved from Internet Archive, dated 4/16/08, 2/8/09, and 4/2/09
Taniar, "Mobile Computing: Concepts, Methodologies, Tools, and Applications: Volume I," 2009, Information Science Reference, pp. 4-6, 731-732
Primary Examiner:
GOLDBERG, IVAN R
Attorney, Agent or Firm:
ARENTFOX SCHIFF LLP - New York (Washington, DC, US)
Claims:
What is claimed is:

1. A method for scheduling services, the method comprising: providing to a service provider a calendar-based service provider interface for creating a schedule of services provided by the service provider; receiving from the service provider through the interface a schedule of available services, which includes name of service, date and time when the service is provided, name of practitioner, price of the service and a discount offer; and storing the received schedule of services in an inventory database.

2. The method of claim 1 further comprising: retrieving from the inventory database information about appointments booked by a service user with the service provider; and displaying the appointments information in the corresponding time slots in the calendar-based service provider interface.

3. The method of claim 1 further comprising: retrieving from a third-party appointment booking system of the service provider information about appointments booked by a service user; and displaying the retrieved appointments information in the corresponding time slots in the calendar-based service provider interface.

4. The method of claim 1 further comprising: generating a targeted discount offer for a service user based on the user's history of using the service; and electronically sending the targeted discount offer to the service user.

5. The method of claim 1, wherein the discount offer is associated with one or more of a service, a practitioner, a date or a time.

6. The method of claim 1, wherein the discount offer includes a gradually increasing or decreasing rate of discount over a period of time.

7. A method for booking services, the method comprising: receiving from a service user a search criteria indicating one or more of a type of service, a date of service and a price of service searched by the service user; searching schedules of available services in an inventory database; displaying in a calendar-based service user interface a schedule of available service appointments and associated discount offers that match the search criteria; and booking with a service provider a service appointment for the service user.

8. The method of claim 7, wherein booking a service appointment comprises: storing information about booked appointments in the inventory database; and sending a notification about the booked appointment to the service provider.

9. The method of claim 7 further comprising: retrieving from the inventory database information about appointments booked by a service user with the service provider; and displaying the appointments information in the corresponding time slots in the calendar-based service user interface.

10. The method of claim 7, wherein a discount offer is associated with one or more of a service, a practitioner, a date or a time.

11. The method of claim 7, wherein a discount offer includes a gradually increasing or decreasing rate of discount over a period of time.

12. A system for scheduling and booking of service appointments comprising: an inventory database containing schedule of booked and available service appointments associated with a plurality of service providers; a calendar-based service provider interface for creating a schedule of services provided by the service provider and storing the schedule in the inventory database; and a calendar-based service user interface for displaying schedules of available service appointments and booking one or more service appointments.

13. The system of claim 12, wherein the schedule of available service appointments includes name of service, date and time when the service is provided, name of practitioner, price of service and a discount offer.

14. The system of claim 12, wherein the calendar-based service provider interface is further for retrieving from the inventory database information about appointments booked by a service user; and displaying the appointments information in the corresponding time slots in the calendar-based service provider interface.

15. The system of claim 12, wherein the calendar-based service provider interface is further for retrieving from a third-party appointment booking system of the service provider information about appointments booked by a service user; and displaying the retrieved appointments information in the corresponding time slots in the calendar-based service provider interface.

16. The system of claim 12, wherein the calendar-based service provider interface is further for generating a targeted discount offer for a service user based on the user's history of using the service; and electronically sending the targeted discount offer to the service user.

17. The system of claim 13, wherein the discount offer is associated with one or more of a service, a practitioner, a date or a time.

18. The system of claim 13, wherein the discount offer includes a gradually increasing or decreasing rate of discount over a period of time.

19. A computer program product embedded in a non-transitory computer-readable storage medium, the computer program product comprising program instructions for implementing a calendar-based service provider interface being configured to: retrieve from a inventory database information about appointments booked by a service user with a service provider; display the appointments information in the corresponding time slots in the calendar-based service provider interface; receive from the service provider a schedule of available services, which includes name of service, date and time when the service is provided, name of practitioner, price of the service and a discount offer; and store the received schedule of services in the inventory database.

20. The computer program product of claim 19, wherein the calendar-based service provider interface being further configured to: retrieve, from a third-party appointment booking system of the service provider information about appointments booked by a service user; and display the retrieved appointments information in the corresponding time slots in the calendar-based service provider interface.

21. The computer program product of claim 19, wherein the calendar-based service provider interface being further configured to: generate a targeted discount offer for a service user based on the user's history of using the service; and electronically send the targeted discount offer to the service user.

22. A computer program product embedded in a non-transitory computer-readable storage medium, the computer program product comprising program instructions for implementing a calendar-based service user interface being configured to: receive from a service user a search criteria indicating one or more of a type of service, a date of service, and a price of service searched by the service user; search schedules of available services in an inventory database; display in the calendar-based service user interface a schedule of available service appointments and associated discount offers that match the search criteria; and book with a service provider a service appointment for the service user.

23. The computer program product of claim 22, wherein calendar-based service user interface being further configured to: store information about booked appointments in the inventory database; and send a notification about the booked appointment to the service provider.

24. The computer program product of claim 22, wherein calendar-based service user interface being further configured to: retrieve from the inventory database information about appointments booked by a service user with the service provider; and display the appointments information in the corresponding time slots in the calendar-based service user interface.

Description:

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims benefit of priority under 35 U.S.C. 119(e) to Provisional Applications No. 61/330,356 filed on May 2, 2010 and No. 61/405,817 filed on Oct. 22, 2010, both of which are incorporated by reference herein.

TECHNICAL FIELD

This present disclosure relates generally to the field of electronic commerce and, more specifically, to systems, methods and computer program products for online marketing, scheduling and booking of services using a calendar-based application.

BACKGROUND

Online calendar applications have traditionally been used to store events, appointments and schedule information, which can be accessed by users from anywhere using computers, smart phones or other networked communication devices. Some calendar applications allow users to share their calendars with friends and relatives who also utilize these applications. Some applications provide event reminders via email or have text messages sent to a user's mobile phone. Other applications provide some customization options, such as customizable background images, calendar views and event reminder options. However, these online calendar applications have very limited business utility. For example, online calendar applications have not been used for marketing, scheduling and booking of services.

SUMMARY

Disclosed is a business-oriented calendar-based service marketing, scheduling and booking system and methods for use thereof. The system provides customizable calendars that service providers can use to create schedules of available services, which are fed into a user-accessible online marketplace. System users can search services advertised in the online marketplace and schedule and book appointments with service providers through the online booking system.

In one example embodiment, the system provides advanced discount offers functionality that allows service providers to create real-time discount offers for the advertised services. In one example embodiment, the discount offers can be created by service type, practitioner, date, time or other criteria. In another example embodiment, the system also allows service providers to granularly discount a single service or a group of services. The system also provides several different hierarchical views for creating discount offers, e.g., by practitioner and by service. In another embodiment, discount schedules can be created for a single day or repeat daily or weekly.

The above simplified summary of example embodiments of the invention serves to provide a basic understanding of such embodiments. This summary is not an extensive overview of all contemplated aspects of the invention, and is intended to neither identify key or critical elements of all embodiments nor delineate the scope of any or all embodiments. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that follows. To the accomplishment of the foregoing and related ends, the one or more embodiments comprise the features hereinafter fully described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail certain illustrative features of the one or more embodiments. These features are indicative, however, of but a few of the various ways in which the principles of various aspects of the invention may be employed, and this description is intended to include all such aspects of the invention and their equivalents.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated into and constitute a part of this specification, illustrate one or more example embodiments and, together with the detailed description serve to explain their principles and implementations.

In the drawings:

FIG. 1 illustrates one example embodiment of an online service booking system.

FIG. 2 illustrates one example embodiment of a service provider interface.

FIGS. 3A and 3B illustrate example embodiments of a discounting tool.

FIG. 4 illustrates one example embodiment of a service user interface.

FIG. 5 illustrates one example embodiment of a calendar-based user interface.

FIG. 6 illustrates one example embodiment of a targeted email.

FIG. 7 illustrates one example embodiment of a method of operation of the online booking system.

FIG. 8 illustrates another example embodiment of a method of operation of the online booking system.

FIG. 9 illustrates one example embodiment of a computer system.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

Example embodiments are described herein in the context of systems, methods and computer program products for online marketing, scheduling and booking of services using a calendar-based application. Those of ordinary skill in the art will realize that the following description is illustrative only and is not intended to be in any way limiting. Other embodiments will readily suggest themselves to those skilled in the art having the benefit of this disclosure. Reference will now be made in detail to implementations of the example embodiments as illustrated in the accompanying drawings. The same reference indicators will be used to the extent possible throughout the drawings and the following description to refer to the same or like items.

FIG. 1 depicts one example embodiment of an online service booking system. As shown, system 100 includes an application server 105 that hosts service booking application 110 and associated inventory database 115 storing schedule of booked and available service appointments associated with computers of service providers 120 and service users 125. The server 105 is accessible via a network 115, such as the Internet, by computers of service providers 120 and users 125. Service providers 120 may include, but are not limited to, beauty salons, health spas, sports clubs, barber shops and other businesses (i.e., service providers) that provide services to clients (i.e., service users). In one example embodiment, system 100 provides a customizable service provider interface 130 to service providers 120 by means of which a service provider can create a schedule of available appointments by service, practitioner, date, time or other criteria. In another example embodiment, system 100 provides a user interface 135 to service users 125 for searching schedules of available service appointments and booking one or more appointments with service providers 120.

It should be noted that in another embodiment some of the functionality of the booking application 110, including but not limited to, provider and user interfaces 130 and 135, may be implemented as applications directly on the computers of the service providers 120 and service users 125. In this case, the inventory database 115 may be maintained on a remote server hosted by the booking application developer or in the cloud, such as Amazon Elastic Compute Cloud. It should be also noted that in various embodiments, computers of the service providers 120 and service user 130 may include, but not limited to, personal computers, laptops, netbooks, tablets, digital media players, personal digital assistants, smart phones, or other types of digital devices.

FIG. 2 shows an example embodiment of a calendar-based service provider interface 130 of the application 110. Using interface 130, service providers 120 can register/access the online booking application 110, create profiles and accounts 210, create/view schedules of appointments 220, enter discount information 250 and perform other functions. The registration/access process may involve creating user name and password, providing contact information, providing billing information and the like. The business profile 210 can be used to enter information about the business in general, about available practitioners, and about the types of available services. The business account may be used to view all information maintained by the booking application 110.

The service provider 120 may also use interface 130 to enter/update/view appointment scheduling information 220. In one example embodiment, service appointments may be made by service users 125 through the service user interfaces 135 and displayed as an appointment block in the appropriate year/month/date/time slot of the calendar-based service provider interface 130. In another example embodiment, the application 110 can interface with third-party scheduling technologies and calendars, such as Google® Calendar and Microsoft® Outlook®, via dedicated XML APIs to pull scheduling information from those calendars into the service provider interface 130 and to push appointments booked by users through the application 110.

As shown in FIG. 2, the calendar-based service provider interface 130 shows a daily operating schedule of Henry Depaul Beauty Salon for Jul. 5, 2010. As shown, there are five (or more) practitioners working on that day, including Andre W, Dana R, Harris N, Jess A and Mabel H. They are available for appointments from 10 am to 7 pm. The interface 130 also shows that service providers Dana R and Jess A have two scheduled appointments 230 and 240 at 4:15 PM. Dana R was booked directly through the Salon. Jess A was booked via the booking application 110. The directly or indirectly booked appointments 230 and 240, respectively, can be designated, for example, using different colors. The appointment blocks 230 and 240 can indicate the names of the users/clients that made these appointments and other information. Since appointment block 230 was made directly through the Salon, and not through the booking application 110, information about this appointment could have been entered manually by the service provider 120 or pulled automatically by the application 110 into the service provider interface 130 from the third-party scheduling system used by the service provider 120. This appointment information may be shown both in the service provider interface 130 and in the service user interface 135, so that service users 125 know which time slots are available for booking and which has already been booked.

In one example embodiment, the service provider 120 can designate time blocks when one or more service providers are unavailable for appointments using “unavailable” tool 260. In the example in FIG. 2, all practitioners have been marked as unavailable from 2:30 to 4 PM, as shown by the shading.

In another example embodiment, service provider interface 130 allows service providers 120 to create real-time discounts for their services by practitioner, service, date, time or other criteria. For example, using a discount tool 250, service provider 120 can indicate in the calendar the days and times when service rates of one or more practitioners have been discounted. In the example in FIG. 2, all practitioners have discounted rates on Jul. 5, 2010 from 11 AM to 2 PM, as shown by shading.

In one example embodiment, the discount tool 250 gives service providers 120 several different options for creating discount offers, such as by practitioner, by service, by date and time. FIG. 3A shows one example interface of the discount tool 250 that can be used for creating different discounts offers for different practitioner 310. As shown, the service provider 120 can set the same discount for all or different discounts for different practitioners. Furthermore, the discount offer may apply to all or specific services provided by each practitioner. For example, in case of Andrew W, a 20% discount is provided on glamour blowout jobs, and a 40% discount is provided on all coloring and all up-do jobs, while all services of Dana R have a 50% discount offer.

FIG. 3B shows another example interface of the discount tool 250 for creating discount offers for different services 320. As shown, the service provider 120 can set a single discount on all available services, or different discounts on subsets of services, such as all blowout jobs and all glamour blowout jobs. Furthermore, for each subcategory of service, the service provider 120 can indicate which practitioners have additional discounts, such as Jess A has an additional 50% discount on glamour blowout jobs, while Andrew U has an additional 20% discount on the same service.

In another example embodiment, the discount tool 250 also allows service providers 120 to specify the date and time 330 when discount offers are made available to the service users. As shown in FIG. 3B, the discounts may be offered, for example, on the particular days of the week, on particular dates/times or never end.

Yet in another example embodiment, the discount tool 250 allows service providers 120 to gradually (e.g., weekly, daily or hourly) discount a single service or a group of services. The discount tool 250 can be configured to automatically increase or decrease discount offered on a particular service or practitioner by a predefined amount (e.g., 10%) in predetermined time increments (e.g., hourly). To that end, the service provider may specify various business decision rules (or use template business rules provided by the booking application 110) that gradually adjust the rate of discount based on lack or excess of bookings of a particular service or practitioner on a particular day or time. For example, a sale on a particular service may start at a high discount, e.g., 80% at 9 AM, when business is generally slow. Then, the discount tool 250 will automatically decrease the rate of discount by, for example, 10% every hour on the hour, until the discount reaches 0% by the end of the day. In alternative embodiment, a service provider 120 may manually adjust the offered discount without use of the discount tool 250. In addition, during each discount adjustment, the system 110 may send an email notification to the users on the system's mailing list with the current discount offers.

Once the schedule of available appointments and associated discounts are created by service providers 120 using interface 120, this information is stored in the account of the service provider 120 and fed into a common online marketplace of all available services and providers hosted by the booking application 110. This online marketplace is accessible to service users 125 via service user interfaces 135.

FIG. 4 shows one example embodiment of the service use interface 135. Using this interface, service users 125 can search the online marketplace for available appointments using service type, date/time range, and/or price range. The booking application 110 searches its database of available services and displays a listing of service providers and available appointments for services matching the user-specified search criteria. For example, in response to user search for providers of women's haircuts in New York on April 28 through April 30, the booking application 110 displays several New York salons, which provide the requested service on the given dates, as well as the pricing and discount information specified by the service provider 120. The user can view detailed information about the service provider and book an appointment with the service provider by clicking on the specific entries 410 in the displayed list.

FIG. 5 shows an example embodiment of a calendar-based user interface 135 for one of the service providers listed in the search results list in FIG. 4. The interface shows a weekly view of available appointments for the service provider and the associated pricing and discount information for each appointment. Monthly and daily views of the available appointments information are also available. In case where additional practitioner-specific discount information has been specified by the service provider 120, this information may also be displayed, so that the user 125 can make appointment selection based on all available discount information. Once the user selects one of the available appointments, the service provider account is updated to reflect that an appointment has been booked, as shown, for example, by block 240 in FIG. 2, and an email message can be send to the user 125 confirming this booking.

In one example embodiments, the booking application 110 can dynamically create specific discount offers on services from the services inventory based on users history of using different services, users reviews and other criteria. For example, the application 110 may identify what users have booked before, looked at, indicated as being interested in, the number of times they returned to a particular business, and other criteria to determine what services should be advertised to the services users 125. The application 110 can then send targeted advertisements to services users 125 using emails, text messages (e.g., SMS), mobile applications, as well as other communication means. FIG. 6 shows one example of a targeted email that advertises discounted services to a service user 125 who previously booked services at Blondi's.

The targeted emails may be sent to the users on an interval based on the date of their last appointment according to service category (e.g., 3 months for a woman's haircut, 30 days for bikini waxing, etc). The marketing copy and photos for reach advertisement may be the same for each service category, but the individual services/discounts are targeted to the unique user. When the user clicks “book” button 610, the service is added to their cart and they are shown a popup on the site asking if they'd like to book now. When the user clicks book now, they go to the appointment time selection page shown in FIG. 5 to select the desired appointment date/time.

FIG. 7 illustrates one example embodiment of a method of operation of the online booking application. At step 710, the application provides to a service provider a calendar-based service provider interface for creating a schedule of services provided by the service provider. At step 720, the applications receives from the service provider through the interface a schedule of available services, which includes name of the service, date and time when the service is provided, name of the practitioner, price of the service and a discount offer. At step 730, the application stores the received schedule of services in an inventory database. At step 740, the application retrieves from the inventory database information about appointments booked by a service user with the service provider. At step 750, the application displays the appointments information in the corresponding time slots in the calendar-based service provider interface. At step 760, the application retrieves from a third-party appointment booking system of the service provider information about appointments booked by a service user. At step 770, the application displays the retrieved appointments information in the corresponding time slots in the calendar-based service provider interface. At step 780, the application generates a targeted discount offer for a service user based on the user's history of using the service. At step 790, the application electronically sends the targeted discount offer to the service user.

FIG. 8 illustrates another example embodiment of a method of operation of the online booking application. At step 810, the application receives from a service user search criteria indicating one or more of a type of service, a date of service and a price of service searched by the service user. At step 820, the application searches schedules of available services in an inventory database. At step 830, the application displays in a calendar-based service user interface a schedule of available service appointments and associated discount offers that match the search criteria. At step 840, the application books with a service provider a service appointment for the service user. At step 850, the application stores information about booked appointments in the inventory database. At step 860, the application sends a notification about the booked appointment to the service provider. At step 870, the application retrieves from the inventory database information about appointments booked by a service user with the service provider. At step 880, the application displays the appointments information in the corresponding time slots in the calendar-based service user interface.

FIG. 9 depicts one example embodiment of a computer system 5, such as a personal computer or network server, suitable for implementing the applications server 105 that hosts service booking application 110. As shown, computer system 5 may include one or more processors 15, memory 20, one or more hard disk drive(s) 30, optical drive(s) 35, serial port(s) 40, graphics card 45, audio card 50 and network card(s) 55 connected by system bus 10. System bus 10 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus and a local bus using any of a variety of known bus architectures. Processor 15 may include one or more Intel® Core 2 Quad 2.33 GHz processors or other type of microprocessor.

System memory 20 may include a read-only memory (ROM) 21 and random access memory (RAM) 23. Memory 20 may be implemented as in DRAM (dynamic RAM), EPROM, EEPROM, Flash or other type of memory architecture. ROM 21 stores a basic input/output system 22 (BIOS), containing the basic routines that help to transfer information between the components of computer system 5, such as during start-up. RAM 23 stores operating system 24 (OS), such as Windows® XP Professional or other type of operating system, that is responsible for management and coordination of processes and allocation and sharing of hardware resources in computer system 5. System memory 20 also stores applications and programs 25, such as services 306. System memory 20 also stores various runtime data 26 used by programs 25.

Computer system 5 may further include hard disk drive(s) 30, such as SATA magnetic hard disk drive (HDD), and optical disk drive(s) 35 for reading from or writing to a removable optical disk, such as a CD-ROM, DVD-ROM or other optical media. Drives 30 and 35 and their associated computer-readable media provide non-volatile storage of computer readable instructions, data structures, applications and program modules/subroutines that implement algorithms and methods disclosed herein. Although the exemplary computer system 5 employs magnetic and optical disks, it should be appreciated by those skilled in the art that other types of computer readable media that can store data accessible by a computer system 5, such as magnetic cassettes, flash memory cards, digital video disks, RAMs, ROMs, EPROMs and other types of memory may also be used in alternative embodiments of the computer system.

Computer system 5 further includes a plurality of serial ports 40, such as Universal Serial Bus (USB), for connecting data input device(s) 75, such as keyboard, mouse, touch pad and other. Serial ports 40 may be also be used to connect data output device(s) 80, such as printer, scanner and other, as well as other peripheral device(s) 85, such as external data storage devices and the like. System 5 may also include graphics card 45, such as nVidia® GeForce® GT 240M or other video card, for interfacing with a monitor 60 or other video reproduction device. System 5 may also include an audio card 50 for reproducing sound via internal or external speakers 65. In addition, system 5 may include network card(s) 55, such as Ethernet, WiFi, GSM, Bluetooth or other wired, wireless, or cellular network interface for connecting computer system 5 to network 70, such as the Internet.

In various embodiments, the algorithms and methods described herein may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on a non-transitory computer-readable medium. Computer-readable medium includes both computer storage and communication medium that facilitates transfer of a computer program from one place to another. A storage medium may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable medium can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection may be termed a computer-readable medium. For example, if software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave are included in the definition of medium.

In the interest of clarity, not all of the routine features of the embodiments are shown and described herein. It will be appreciated that in the development of any such actual implementation, numerous implementation-specific decisions must be made in order to achieve the developer's specific goals, and that these specific goals will vary from one implementation to another and from one developer to another. It will be appreciated that such a development effort might be complex and time-consuming, but would nevertheless be a routine undertaking of engineering for those of ordinary skill in the art having the benefit of this disclosure.

Furthermore, it is to be understood that the phraseology or terminology used herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by the skilled in the art in light of the teachings and guidance presented herein, in combination with the knowledge of the skilled in the relevant art(s). Moreover, it is not intended for any term in the specification or claims to be ascribed an uncommon or special meaning unless explicitly set forth as such.

The various embodiments disclosed herein encompass present and future known equivalents to the known components referred to herein by way of illustration. Moreover, while embodiments and applications have been shown and described, it would be apparent to those skilled in the art having the benefit of this disclosure that many more modifications than mentioned above are possible without departing from the inventive concepts disclosed herein.