We require a relatively simple voucher redemption app to be written using the Xamarin Mono Touch framework as a mobile app. See more about Xamarin at [url removed, login to view]
The user will login and this will be submitted to a web service using JSON over HTTPS. A list of valid vouchers for this login will be returned. The user will click a check box next to the vouchers they wish to accept. This list will then be submitted back to the server. A list of valid vouchers will then be returned. These will be stored in a local database on the device. There will be between 100-1000+ valid vouchers returned and each one will be approximately 8 bytes in size.
The voucher will be a QR code read using either the devices camera or an external reader. Any external reader will be from an approved hardware list and only used if compatibility is proven in advance. The reader will act as a "keyboard wedge" and will enter a string of characters to an input box. The voucher code will be extracted from the input string read from the voucher. A typical input string from the voucher will be a URL if a format similar to [url removed, login to view] where the /stop is a stop code to represent the end of the string. The number to be checked here is 12345678. The number could also be entered into the input box manually and submitted.
When a voucher is valid then an image will be displayed and a very short sound played. When not valid an alternate image will be shown and sound played. Valid is defined as existing in the list provided at log in.
The valid voucher redeemed will be stored in a table on the device and submitted back to the web service asynchronously. If the web service is not available then the device will store the redeemed voucher ID and try again later. A status page will show those vouchers which have been redeemed but not yet posted to the web service.,
The app will be able to store the address of two alternate web service addresses. If the first one fails then the second will be tried. If the wifi is enabled but no service can be reached via the wifi then the user will be advised and asked to disable the wifi so that the 3G connection can be used.
It will be possible to export the list of redeemed IDs to a text file to the SD card.
The status of the connection will be shown via a coloured indicator on the main screen of the app. Blue is connected to the primary web service. Amber is connected to the alternate web service. Red would indicate no connection. Green would indicate a data transfer in progress.
A second asynchronous method would use the login details to check the web service for any new voucher codes available for the current session and write these to the internal table. A button would be available to also poll this process manually.
Full source code would be provided for this application. Source code would be maintained in a mercurial version control. The project manager would expect to have very brief daily "stand-up" style progress meetings with the developer.
We would need in the first instance an estimate of how long this work would take, when you could start and a daily rate of pay, plus any examples you can provide of similar phone apps. We would provide a full detailed specification for the web service. The web service will use REST.
The completed app will run under windows 8 desktop, android & ipad. This would be the first part of work with the right candidate invited to bid on further items of work to develop this project further. A working prototype ready for testing needs to be available by the end of April.