We require design of scripts and an SQL/Server database to perform the following functions in a GPS tracking system. Some elements of the SQL/Server database such as the GPS data received are already designed and will be provided to the successful applicant. Administrative functions: 1) Maintain a list of client companies including usual company information, billing address, contact details and comments. Only a system adminstrator can add new companies. 2) Maintain a list of user account and passwords linked to each company. Each company will have an administrator that can add new users within their company and change passwords. The system administrator will also have access to these functions. User details will include contact information and a password etc. 3) The system or company adminstrator will be able to add new assets being tracked that are listed under a company. This will comprise a short description, tracking device type (from a list in a table), a full description, unit serial number and comments field. The format of the assets table has been designed and example data will be provided. 4) The system / company administrator will be able to grant users to specific assets. By default a new user will get access to all assets owned by their company. User functions (sys admin can change other users, company admin users they own): 1) Change password. 2) Change contact details. 3) Change preferences such as date/time format, speed and distance formats (kilometers, miles etc). 4) Setup a UTC time offset so that reports can be displayed using their own local date and time. 5) View a report containing a log of vehicle positions filtered by asset ID, date/time range, speed range, geofence name, time stopped for (must be calculated). All displayed fields will come straight from a database but will require conversion from knots to user preferred speed, meters to user preferred distance etc. A link will also be provided to Multimap to display a map position from the latitude and longitude. 6) For the report above provide a way for the user to specify which fields should be reported and save as different report names. The saved report should also allow default criteria to be saved so for example they can lookup 'Joe Bloggs travelled above 50km/h in city geofence in last two days' without having to retype the criteria. 7) Allow a report to be generated for a selection of assets that the user has access to by way of the ability to maintain a list of asset groups. For example 'salesmen' may be shown in the asset list which has been defined as 'Bob' and 'Joe'. It will also be possible to generate a report of all assets the user has access to. The users and admins will be able to maintain which assets belong to an asset group. 8) A user must be able to send a message out to reconfigure a remote GPS device. This will be a form containing several questions about how often to send positions etc and the resultant command (format provided) will be placed in an SQL/Server table. The message format required is hex coded binary and requires a frame check sequence to be calculated, but documentation and Delphi examples of coding the packet can be provided. The FCS format is the same as used by PPP. 9) Once a configuration command has been sent the user must be able to review past commands sent and view when they were actually sent to the remote GPS device (timestamp filled in by an external communications server). 10) View account balance (see below) for user - company administrator may view balances for all users in their company, system administrator may view all balances. Billing functions: 1) Each company account will have a current balance. 2) The system administrator will be able to apply a payment against the account to increase it's balance. 3) For each asset that a company owns an amount (defined in company details) will be automatically deducted from the account on the first calender day of each month. This process should be an automatic batch process. 4) For each GPS position received (calculated by counting of GPS positions) an amount (defined in company details) will be deducted from each user / company account on a daily basis automatically. 5) When the total of a company's account balance becomes nil or less than zero all user accounts for that company should be disabled with a message such as 'No account credits left. Please deposit an additional amount'. This will be cleared when the administrator records a deposit next to the company's account. Other notes: The most common case will be a company only having a single user, and that user only having a single asset. So a quick way should be provided to add a new account where the company name, user name and asset name are all the same to cater for individual users. ASP or .NET has only been specified as a suggested development language, we are open to other suggestions for languages but Windows and SQL/Server is required. We acknowledge this specification is not extensive, so please provide a demonstration site for approval and factor in time for a few revisions. We can provide demonstration code of some aspects of this system so if there are GPS related parts you are unsure of we will be happy to give some assistace. We will be on-selling the product so require full copyright and distrubution rights and ask the contractor does not sell significant portions of the code for any related GPS tracking systems. A nice user interface that works in all browsers is required. See our website at [url removed, login to view] for a company logo etc. When we re-sell the product it will be necssary for it to be easy to change the logo and general look and feel to suit other companies.