We need Clean and clear coding of a logistics source code for iOS built to work with iPhone. We have our own logistics business that we would like to take online and open us up to the world think along the lines of the following Lalamove, Uber Cargo. We would like to use braintree for payments, Stripe for adaptive payments , Mandrill API for transactional emails , Twilio for SMS services , Amazon SNS for advanced Push services.
We would like the following management systems included for improved administration:
Payroll Management for our drivers, Account Management for customers, built in Analytics
The app will need to be completely PCI compliant with regards to payment processing.
We will need two sides to the mobile application ,1 for the customers to book logistic services and 1 for the delivery drivers to accept and manage bookings.
The mobile application will require we think a hybrid database architecture, MySQL and [login to view URL] ( NoSQL ) ensures that the app can manage large volume of data which is normally associated with real time applications and guarantees web scale or to be built using expression engine.
Register: Customers can register directly from the mobile application using Facebook or a custom sign up [login to view URL] phone number and email id have to be unique . Phone number is confirmed as unique by sending a verification code to the number confirming the numbers validity. Same number cannot be used to register again and if a number is re-used then an alert view is provided for the user to retrieve his/her old account password again. This will prevent duplicate users on the app. For facebook registration the user will be still asked to fill out the phone number but the other details will be picked up from facebook API’s.
Register Card: Customers can register their card and card details are stored on a PCI compliant server provided by stripe / braintree. Cards can be charged directly using the unique token number generated for each card and the money can be credited into the merchant bank account directly from stripe / braintree.
Track Delivery driver : After logging in you can track available delivery drivers live on the mobile app on a map just like on Uber.
Shipping Details : The customer has to enter details of the shipment:
a) Photo of the shipment
b) Text details about each shipment and the size weight dimensions of the delivery and what vehicle they would like to use i.e. car,ute,truck, hiab
c) Receiver details ( name , contact information and address)
5) Booking Flow : If the delivery driver accepts the request the customer:
a) Live track when driver is on the way to the pickup point
b) When the driver is on the way to the delivery point
c) Invoice raised
6) Payment: Payment requested for clearance as soon as the delivery driver raises the invoice. Payment is billed per km or based on a preset fare algorithm (this will need to be created and include the ability to exclude drivers based on size and weight of the item)
7) Review and Rating : The Customer can rate the driver on 5 stars and also write a text review for the driver once the appointment is complete.
8) Add payment: The Customer can add multiple cards for making payments.
9) Booking History : The Customer can track their booking history on the app
More info in attached file