We are seeking developer to modify our Android app and add additional functionality. The backend for our system is wordpress/woocommerce so developer must have extensive knowledge of these in order to build APIs where necessary and/or use the current Woocommerce REST API.
When customers place orders for collection or delivery on woocommerce website, the android app lets the staff in restaurant see the details of the order and accept/decline the order.
Some customers call the restaurant and wish to place a order. OR they walk into restaurant and wish to place order. They may place order for collection/delivery OR because they are eating inside the restaurant.
The new functionality must add the ability to browse the categories and products, add it to the cart, and submit the order.
It must allow the application of coupons or discounts (e.g. 10% off).
For eat-in orders it must allow the staff member to assign a table number. This may require a wordpress plugin to be created to store table number data. We should be able to manage the tables from the app too as well as assign a table number to the order.
When the app loads, it should download products to the local memory. So if the internet connection is lost, eat-in orders can still be placed. When internet is back it should sync the orders back to the server, so we can see them from WP-ADMIN.
When placing order, it should also let you search for existing customers. If internet is offline then this option should be blanked out or a message should say no internet so option not available.
When customer is found, it should let you use their existing points to discount the order. Therefore some work is required with the Woocommerce points and rewards plugin.
If a customer does not have a account already, then the order should be sent through as guest. We can create a guest customer on the system.
The current functionality means orders from online will keep popping up on the screen. There needs to be a process so that we can mute these online orders for e.g. 60 seconds, to allow us to continue to complete the face to face order.
The app currently prints receipts which details the order information. There needs to be a number of new templates for face to face orders. E.g. current receipt has name/address on it – but if someone is ordering face to face and you are not searching for existing user, then the name/address section is not needed. Also eat in order will have additional information such as table number, therefore these will be added to these receipts.
There is already a reports page on the app. But there is no way to know which orders are face to face and which were online. There is also no way to know if an order is collection or delivery. The reports page needs to be updated with filters to do this.
There is a current order section on the app already. This shows orders that are being cooked in kitchen. The new Eat In orders should be added to this page too. But in a different colour and with the ability to filter the orders.
When an eat in order is placed the customer does not normally pay first. They pay after they eat. So we must be able to open up the order from the current order page, and amend the order and also pay for the order. The payment option will be cash (same like we have online) and card (but not same like online, because card payments online actually go through a payment gateway but card payments for eat in order will be taken with a 3rd party handheld device). This additional meta needs to be stored so we can use it in reports.
App must be fast - and coded in a light way to improve performance.