ERROS Ltd.
    Boarstall Tower,
    Boarstall,
    Bucks HP18 9UX
    United Kingdom
    +44 (0) 1844 239339
    Erros Ltd Home Page
    sales@erros.co.uk

    ERROS Bike Rental Shop

    This document outlines the operation of a very simplistic Bike Rental Shop application and has been created to familiarise you with ERROS. A video version will be created, as well as videos of the actual process of creating this and any other business application in ERROS.

    This Bike Shop application was created

  • incrementally
  • without a system specification,
  • without physical database design,
  • without any program compilation.

The screen above, taken from the Bike Rental Shop application, shows that John Smith, a contact in the entity type "User personal and business name", currently has three bikes on rental. These are displayed in the sequence of the bike names.

By default, all ERROS applications use the ERROS Standard Operating Interface. As ERROS generates HTML and Javascript on the fly, all ERROS applications are automatically internet enabled. ERROS is a NoSQL database. No SQL is required to operate this or any other ERROS application.

The database and application definitions, as well the required authorities, are all stored in the ERROS Connectionist Database. No new programs were created and no existing programs were changed or re-compiled.

This very simplistic application could be created by an experienced ERROS developer in under 5 minutes. It can handle very large amounts of data, e.g. a billion customers and/or a billion different bikes and the almost 0 second response times will not noticeably deteriorate as data volumes grow. All changes to the ERROS Connectionist Database, including all definition and user data changes, are journalled, with both before and after images being recorded. There is also an audit trail that records who made all changes, when and in which application.

If you are not familiar with ERROS, please visit www.erros.co.uk. There you will find descriptions of and videos about ERROS.

When an operator signs on, ERROS displays a list of the applications to which he or she is authorised.

So, Rob Dixon is authorised to the Bike Shop as well as to the Corporate Organiser and the ERROS development applications.

Select Bike Shop by double clicking on it. ERROS displays the initial menu for the Bike Shop Application.

This simple application has a very short initial menu. There can be many more items and menus can be nested.

Each ERROS screen tells you the application you are in, in this case the Bike Shop, by displaying its name at the top left of the screen, just below the general buttons you find on every screen, that are greyed out when not applicable. Underneath these are two buttons - “Initial Menu” and “Fast Path” - that can be used anytime that they are green.

Double click on "Customers".

You can now access records for all contacts stored in the entity type "User personal and business name", all of whom are potential customers of the Bike Shop. The line above the input box tells you that the records are identified by name and/or number, so you can access records either by name or by number. If you type "*" and click on or press Enter, ERROS will display the first few contact records in alphabetic sequence (last name, first names, although displayed first names, last name). If you type "#*" and click on or press Enter, ERROS will display the first few contact records in numeric sequence. You can use the "More" or "Earlier Records" buttons to move forwards or backwards through the list of names in either sequence.

The application was created using default attribute and security values and the default for the attribute “name and/or number” for the entity type “User personal and business name” is to allow the addition of new records, as indicated by the green "Add" button. These defaults also allow the addition of duplicate names but the user will be warned when adding a duplicate.

If you want a particular record, you can type the surname, with or without the first name(s) or use a generic name such as "smit*".

Type "smith" and press or click on Enter.

ERROS has retrieved a record for John Smith, even though no data has been entered so far in this application. This is possible because all ERROS applications for a company (in this case Demo.com Ltd) are automatically integrated. This record was entered in another ERROS application, but, as the same entity type has been defined in this application, with the same security level, the same contact records are retrievable here.

All records in ERROS are automatically indexed using ERROS's patented key mechanism so ERROS knew exactly where in the database it would find contact records for all Smith's. If there were none, ERROS would only have to read one record to find this out and ERROS would display an error message.

You can also retrieve contact records using their contact record numbers if you know them. For instance, to retrieve John Smith's record, you could have typed "#17"and clicked on Enter.

The “More” button in the screen above would have a green background if there were more "Smith" records than could be fitted on the page in response to the request. In this case, there was only one record. However, although it is not highlighted, the button is still active as there are records beyond John Smith that you can retrieve simply by clicking on “More” or by using the Page Down (PgDn) key on your keyboard. This will take you to the following screen - you don't need to make a new query -

If you had wanted records before John Smith, you could have clicked on “Earlier Records”.

To add a new contact record, type the name in the input box with last name then "," then first name(s) - for instance type "Smith,Charles". The comma separates the last name from first name(s). If you click on or press Enter, ERROS will search for Charles Smith, and, if it doesn't find that record, ERROS will tell you to click on Add. You could however type the name and click on Add instead of Enter. ERROS would still check for existing duplicates.

Either way, ERROS will display a create screen.

The "Type" box will be active and you don't have to click on it to enter data. Type "M" for male and enter any other appropriate data and then click on "Confirm" or press Enter.

Type a comment if required and click on Confirm.

ERROS displays the newly added contact record, which has been allocated the number 21 by ERROS, and which is also retrievable by number. As well as in this Bike Shop application, this record will also be available in any ERROS application for Demo.com Ltd that has access to contact records.

Double click on Charles Smith and ERROS will display the following short menu.

You could put up a telephone number and/or an email address for Charles Smith if you wished, or access them for an existing contact. Double click on "bikes currently rented".

ERROS shows that, as you might expect for a newly added customer, Charles Smith does not have any bikes on rental at present. Click on "Add" to add a bicycle rented by Charles Smith.

You can now access bike records and create a relationship between Charles Smith and one or more bikes rented by him. Some bikes have already been added to the database. As the "Add" button is greyed out, you cannot add new bike records here. You will see later on how to add further bikes. You can only select an existing bike record, so validation of the link between bike records and Charles Smith is automatic. You don't need to know the product numbers of the bikes available.

As with the contact names earlier, bike records are accessible by name or number. If you click on Enter or type "*" and click or Enter, ERROS will display the first few bike records, in name sequence. If you type "#*" and click on Enter, ERROS will display the first few records in numeric sequence. You can use the "More" or "Earlier Records" buttons to go forwards and backwards through the list of bikes in either sequence.

However, if you know the name of the bicycle model that you wish to select, type the first word of the name - e.g. "dawes" - or a generic name - e.g. "daw*".

ERROS displays all bike records whose names begin with "Dawes". You could have typed more than one word to restrict the number of records retrieved.

If you know the product number, type "#nnn" where nnn is the product number (leading zeros are not required). For instance, type "#2" and click on Enter.

ERROS has retrieved the bike record for Dawes Touring Bike. If this is the bike record that you require, double click on it and ERROS will show that it is about to create the relationship between Charles Smith and a Dawes Touring Bike.

Type a comment about the relationship if required and then click on "Confirm" or press Enter to confirm the relationship.

ERROS shows that the relationship has been created, showing that Charles Smith is now renting a Dawes Touring Bike. If you wish to add further bikes for Charles Smith, click on "Add" again. If you wish to add another customer or to put up a new bike for an existing customer, click on "Jump Back" and ERROS will return you to the list of contacts.

Double click on "Initial Menu" and ERROS will return you to the Initial Menu for the Bike Shop application.

You could have alternatively typed “..” and clicked on Enter or clicked on "Jump Back" twice to return to the Bike Shop Initial Menu.

Double click on Bikes.

You can now access records for bikes.

Under the heading Bicycles, ERROS tells you that bike records are identified by name and/or number. As explained before for the contact records, that means that you can access bike records by either name or number. If you type "*" and press Enter, ERROS will display the first few bike records in the table in alphabetic sequence. If you type "#*" and click on or press Enter, ERROS will display the first few records in numeric sequence. You can use the "More" or "Earlier Records" buttons to move forwards or backwards through the list of names in either sequence.

The "Add" button is active here, so you can add new bike records if you wish. To add a new record, type the name in the input box - for instance type "Pashley traditional town bike". If you press Enter, ERROS will search for "Pashley traditional town bike", and, if it doesn't find that record, ERROS will advise you and tell you to click on Add if you wish to add a new record. You could however type the name and click on Add instead of Enter. ERROS would still check for existing duplicates.

ERROS tells you that no such record exists. Click on "Add".

ERROS shows that it is about to add a new record.

Type a comment about the bike if you wish and then click on "Confirm" or press the Enter key to add the record.

ERROS shows that the bike record has been added and has been allocated the number 8.

If you now type "*" and press Enter, ERROS will display the updated list with the new bicycle in correct alphabetic sequence.

Double click on Dawes Touring Bike, the model rented to Charles Smith.

ERROS will display the customers currently renting that model. Note that they are in correct alphabetic sequence of customer name (last name before first name).

Double click on Richard Westall

ERROS displays the Bike Shop menu for contacts (User Personal and business name). Double click on "bikes currently rented".

ERROS shows that Richard Westall also has a Dawes Tandem on rental.

Double click on Dawes Tandem.

ERROS shows that Edward Elgar is also currently renting a Dawes Tandem bicycle. If you wished, you could click on his name and see which other bikes he currently had on rental. This ability to move from person to bicycle to another person to another bicycle in any direction without using a query language is only possible because of the unique bi-directional relationships that are a standard feature in all ERROS applications.

For each step in this and every other ERROS application, there is a large variety of options that can be stored in the database that can control the method of operation, the way the data is presented, the security levels, etc.

It is possible to enhance the application so that, when a new customer is added, ERROS automatically prompts the user to add address, telephone number, email, etc., and then immediately to allow the operator to select a bike for the new customer without the need to click on "Add". This might be achieved in traditional applications by the creation of trigger programs, but none are required in ERROS.

As stated at the beginning of this document, this is a deliberately simple application. Even a simple real life application would be rather more complex than this. Additional attributes for the contact names, such as address, can easily be added, without the need to re-organise the database, even though no provision was made for them when the application was created.

In addition, the user would want to know when each bicycle was rented and when it is expected to be returned. It would be simple to change the attribute definition for "bikes currently rented" so that the relationship between contacts and bikes was date dependent, with the bikes rented displayed in date sequence. For the moment, the user can find out from the audit trail when a record was added, changed or deleted so that, if the user created the relationship between a customer and a bike at the time the customer actually rented the bike, then the audit trail would show when the bike was rented. Single click on Richard Westall and then click on the audit button at the top of the screen and ERROS will display the following screen.

The audit trail record shows that the relationship between Richard Westall and a Dawes Touring Bike was created on 16th December 2014 at 11.49. If the user company were outside the UK, ERROS would display the date in the appropriate sequence. The audit trail also gives the transaction number, the user id., his or her employee number and the number of the application in which the record was added.

Click on Jump Back at the top of the screen (or press F3) and ERROS will display the list of people currently renting a Dawes Tandem, starting with the record previously selected - in this case Richard Westall.

If you wish to find out more about Richard Westall, double click on his record or click or press on Enter. ERROS will display the following screen.

You could find out what other bikes he has rented by selecting the first record. If you double click on telephone number, ERROS will display the following screen.

This telephone numnber was entered in another ERROS application. If you wish to call him, click on the telephone icon to the right of the number. ERROS will display the following screen.

ERROS will invoke Skype or the VOIP package defined for this user's browser - in this case Skype. If you wish to make the call, click on OK.

By default, this ability to make phone calls from ERROS is an automatic feature of all ERROS applications that store telephone numbers. You can prevent this if you wish.

Click on previous to return to the menu of items about Richard Westall. As there is only one, e-mail address, ERROS automatically selects this and displays the following screen. Single click on the email address and ERROS will invoke your default email package, displaying the following screen.

Type the subject, then the message and click on Send. You can add other addressees if you wish. It is simple to set up an ERROS facility to send an email to multiple addressees at the same time.

By default, this ability to send emails from an ERROS application is an automatic feature of all ERROS applications. You can prevent this if you wish.

As already stated, ERROS generates HTML and Javascript on the fly, allowing all ERROS applications to be created and operated over the internet. All ERROS applications also work using 5250 terminals, without any change to them being required, although some facilities such as clicking on telephone numbers or email addresses will not work over 5250.

Other facilities in this Bike Shop application.

Without the need to define any printed reports, the application will allow users to print lists of customers with their telephone numbers, email addresses and bikes rented or lists of bikes and the people renting them.

A further extension to the application might include stock records for rental bikes, which would be updated as bikes were rented or returned. At present, the assumption is that if the shopkeeper cannot find a particular bike model in his shop, then they are all already out on rental. If a shop had a large variety of bikes available for rental, then it might make sense to divide them into categories, such as male, female, child, folding, touring, tandem, etc. These enhancements can be created using ERROS.

15th December 2014