Proposal for Service-on-Demand Application

App Developer Studio

8A 7th Avenue

Parktown North

Johannesburg, Gauteng

South Africa

Table of Contents

Table of Contents        1

Covering Note        3

Document Classification        3

Overview        4

High-level Deliverables        4

User Journeys        4

Our Approach        6

The Advantages of Using a Platform/ Template (versus building from scratch)        6

The Risks of Using a Platform/ Template        7

Technology Stack        8

Basic Feature Modules (included)        9

Advanced Feature Modules (optional extras)        19

Hosting        23

Agile Project Management        23

Key Roles and Responsibilities        25

Team Member Experience and Expertise        25

Other Notes        27

Next Steps        28

APPENDIX        29

About App Developer Studio        29

Our Vision        29

Primary Competencies        29

Client Portfolio and Endorsements        30

Notable Awards        31

Company Documents        31

Covering Note

Please find our proposal for your app below. You can make comments or ask questions directly on this document and we will respond as soon as possible. Our portfolio, client references and more information about our company can be found in the Appendix or online.

Document Classification



Client Name

Document Date

Document Version


Document Title

Proposal for Service-on-Demand App




The client wants to build an application where users (“seekers”) can easily find available and reputable local service providers (“providers”) such as electricians, plumbers and cleaners and book them, communicate with them and pay for their services through an app. Service providers can register, find new clients and earn income based on their availability and skill set.

High-level Deliverables

  1. iOS Applications for seekers and providers (included registration).
  2. Android Application for seekers and providers (included registration).
  3. Secure hosted servers for storage of seeker and provider profiles, APIs, CMS, rates, jobs, business metrics etc.
  4. Algorithms to match seekers and providers based on requirements/ skill set, proximity, ratings and cost.
  5. APIs/SDKs to utilise features such as geo-location, push notifications, payment and instant chat.
  6. Admin Panel for the client to review/ approve/ remove service providers and monitor business performance metrics (for example jobs booked, in progress etc.).

User Journeys

  1. Seeker:
  1. Search/ filter local reputable providers based on pre-defined requirements such as skill-set (electricians, plumbing etc.), availability (live calendar), cost, rating and proximity;
  2. View provider profiles including ratings and reviews;
  3. Register/ log in with basic information including lodged payment method such as credit card;
  4. Book provider for a specific time slot (their private information such as address are only shared at this time);
  5. Receive push notification from provider when a job has been accepted;
  6. Make payment to provider;
  7. Communicate with provider via instant chat and receive push notifications when provider sends them a message;
  8. Review and rate providers;

  1. Provider:
  1. Register via app providing information on profile, skills and uploading identification/ qualification documents;
  2. Be approved as a provider;
  3. Be matched to relevant local work opportunities based on their skill-set, rating, rate, proximity and availability via an online calendar they maintain;
  4. Receive notifications of new opportunities with the ability to accept or reject;
  5. Communicate with seekers via live chat;
  6. Receive confirmation of the details of new jobs via push notification;
  7. Receive payment for work completed. Payments to providers are processed outside of the platform and are not in scope;
  8. Build a profile on the app based on ratings and reviews;

  1. Administrator/ Client:
  1. Free iOS and Android applications on the Apple AppStore and Google Play respectively;
  2. Secure, cloud-hosted servers (hosting costs not confirmed in proposal, see notes below);
  3. Review and approve or decline new providers;
  4. Manage seekers and providers including editing and removing;
  5. Receive revenue from payments from seekers through the application via a local payment gateway;
  6. View job, seeker, provider and business performance and revenue metrics;
  7. View revenue reports to enable payments to providers (outside of platform) minus client commission;
  8. Responsive marketing website for the app with marketing information and download links;

Our Approach

As the number one app developer on Google Search in South Africa, we receive many requests for on-demand service apps. Regardless of the industry they are targeting (Uber for nannies, Uber for rides etc.), these apps typically require the same features and functionalities which are complex and therefore expensive to design, build and test from scratch. The cost of this sort of development exceeds R800,000 which is prohibitive for many of our clients.

In order to find a solution we have partnered and negotiated preferential rates with a third party platform who specialise in building on-demand platforms for international clients. They have built an on-demand service app clone based on the Urban Clap and TaskRabbit apps. We have tested their technologies, demo apps and examined client reviews.

We do not own or manage this platform. However we are experts in it and will assist with design, project management, local customisation, local payment gateway integration, testing, marketing and commercialisation of the technology in the local market. We provide a single point-of-contact to facilitate the smooth, cost-effective implementation of your version of the platform and can therefore deliver significant cost- and time-to-market savings.

The Advantages of Using a Platform/ Template (versus building from scratch)

The platform allows you to quickly test an MVP that is commercially viable and investable.

The Risks of Using a Platform/ Template

Technology Stack

The platform utilises modern technologies to ensure high performance, scalability, testing, management and design.



Back-end and web services


Node.js – HAPI Framework

Web Apps

HTML, JavaScript, Angular 5.0 JS




Linux - Ubuntu Distribution (you will need to purchase hosting and we will advise and configure)


MongoDB v3.6 and REDIS

Message Protocols

AMQP for internal job queues and MQTT as a high speed message queue.


AWS / Digital Ocean

Project Management

Trello / JIRA, Slack


SSL API’s , 128 bit AES encryption for critical data,  MD5 encryption for passwords, Reverse Proxy

Version Control



Circle CI for Continuous Integration and Continuous Deployment

Email Service



Docker for vertical scaling and horizontal scaling. Replica sets for DB for data redundancy. DB Sharding required in case scale is hit.


Micro-service architecture for better resource management.

Testing (to be discussed)

Load testing via postman loadRunner, API testing via chat and mocha scripting

App Monitoring

Proprietary tool for monitoring Node.JS, MongoDB in real time with alerts setup for maintenance team on slack. Time series data available for past data on a          visualization tool.  

Mobile app specifications

iOS app

Native - Swift 4 and Rx Swift for iOS

Android app

Native - Java and RxJava for Android


Android Studio for Android and Xcode for iOS

Platform Environment:

Linux ( Android ) and iOS for iPhone

Basic Feature Modules (included)

The platform provides all the basic functionality as part of a “base” product.



Customer On-boarding

  1. Log-in with:
  1. Facebook
  2. Phone Number
  3. Email
  1. Retrieve password with either email or phone number.

Provider On-boarding

  1. Supports log-in with
  1. Phone number
  2. Email
  1. Detailed Provider registration form where the Provider uploads all his identification documents and vehicle documents directly from the app.
  2. Providers can be independent contractors or can be organized under businesses. Independent Contractors need to add all their documents and these documents are important to validate their profiles as a lot of these jobs need licenses and practice certificates.
  3. Retrieve password via phone number or email.

City Setup

  1. Cities are setup as zones on the admin.
  2. Enable / Disable the following for each city:
  1. Payment gateway to be used
  2. Currency  
  3. Customer wallet and configure limits
  4. Provider wallet and configure limits
  5. Cash payments

Business Group Setup

  1. Service categories can be setup directly from the admin along with all their fee details
  2. Different types of business models can be setup:
  1. On-demand
  2. Marketplace
  3. Bidding
  1. The website banner images, the app icons etc. can be configured directly on this page.
  2. Option to add as many service categories as one wants, so there is no real limit to the number of services you can add on the app.

Billing Strategy

  1. Pricing models can be configured:
  1. Hourly
  2. Fixed Price
  3. Hourly and Fixed price
  4. Mileage based for adding mileage pricing to the booking fee.
  1. Prices are set up for the following:
  1. Minimum Fee
  2. Base Fee
  3. Cancellation Fee

Sub-Category Setup

Sub-Categories are setup under primary categories in case it has to be further categorized in a systematic manner.

Services Setup

Services are basically added for categories which have a fixed pricing as their billing strategy. It can be setup from the Admin Panel. It allows you to set the price based on quantity, for example:- If a customer has 3 taps to install, the charges set up for the same can be as follows : $10 for the first installation $8/per tap for every additional installation.

Cancellation Fee Logic

  1. Cancellation fee can be setup for each category.
  2. Cancellation fee can be applied if the booking is cancelled by the customer “X” mins after it was accepted by the provider.
  3. Cancellation fee can also be applied if the customer cancels after the provider is on the way.
  4. If the booking was a CASH booking and was cancelled by the customer, it will be added to the next invoice.

On Demand Services

On- demand is one of the service types for a category set up. This business model is similar to the Uber concept  where the customer is assigned a tasker as per their availability and the job requirement. The customer receives the details of the tasker after the job is assigned. This works great for services like plumbing, electricians where it doesn't really matter who the service provider is.

Marketplace Services

Service categories can have marketplace as a set up as well. This model is useful when it is critical to have the information of the provider before requesting a job, for example - A tutor or babysitter. Taskers can update their profile details about them like ABOUT, PAST WORK, SPECIALITIES, PAST REVIEWS etc. which go a long way in improving their chances in earning a good.

Document Setup

Setup different document requirements for different kinds of services. For example, you might need documents like practice certificates for doctors and for teachers you might need their certified degree certificates etc.

Setup Profile fields

Setup different fields for different types of profiles. For example for doctors you might need specializations and for babysitters you might need a field for spoken languages. You can setup these required type fields dynamically on the app. The type of fields the app’s support are:

  1. Radio button (select just one)
  2. Checkbox (select more than one)
  3. Text field

Provider Management

  1. Manage Provider profiles, approve/ reject new requests.
  2. Providers can be registered as FREELANCERS/ INDEPENDENT CONTRACTORS or under a business.
  3. Ban Providers who don’t comply directly from the admin.
  4. View online Providers, Providers who are logged in and are offline and Providers who logged in but have some issue publishing their location (phone has switched off for example) are tagged as timeout.

Provider Admin

  1. It is a web admin that is created when a provider is approved.
  2. It allows him to do all the edits and changes that he does in the Profile tab as the app
  3. The whole purpose of it is to allow the provider to manage his profile easily.

Provider Plans

  1. Create Provider plans, where you can set the following:
  1. App Commission either % or fixed
  2. Provider referral commission – the % this Provider will get by referring to another Provider.
  3. Plan cost
  1. This system can be extended to create a subscription system where the Provider needs to pay a subscription every month to be live on the system.

Customer Management

  1. Manage customer profiles directly from the admin.
  2. Ban customers who don’t comply with policy or who are suspected of committing fraud (misuse of promo codes for example).

Booking/Task/Job Management

  1. View Bookings that are in, in-dispatch queue and are not assigned to any Provider on the UNASSIGNED tab.
  2. Manage on-going Bookings, update the status in case the Provider faces any issue with his/her app.
  3. View dispatch logs to see which provider each booking has been dispatched to.
  4. View all completed, cancelled and expired (requested but not Provider matched) bookings.
  5. View all details of the Bookings in one place, including waiting time, Booking time, Booking distance, etc.

Bird’s Eye View

  1. Track all Online Providers live on a map and follow them live as they move around the city.  
  2. Provider device metrics are available to better manage provider fleet. Phone battery status, phone               location services status, app version, are visible for each Provider. For providers their last location is updated so we know exactly where the Provider is at any time.

Provider Acceptance Rate

View the performance report of Providers with respect to their acceptance rate. This is an important metric to determine how many bookings the Provider has received but has not accepted.  This metric can ensure all your partners keep a high customer satisfaction rate.

Wallets/ Account Statements (available functions may depend on local payment gateway capabilities)

  1. The system is equipped with the following account statements/ wallets to better manage the distribution of money between the various entities involved in a booking. Customer Wallet/Statement –This will reflect all the transactions done by a customer on the app. All payments made by cash/card and all wallet credits/debits. This wallet is also used to store pre-paid money (similar to the customer wallet used in apps like Careem and Ola) and can also be used to receive loyalty points and any adjustments made by the admin for a past booking. A soft and hard limit is set for each customer. Soft limit denotes a warning that the customer is close to hitting their hard limit and if hard limit is hit the customer will not be able to do any more cash bookings on the system till they clear their pending balance. A manual credit/debit option exists here to make any adjustments in the customer’s account for failed Bookings, customer compensation etc. Please note that the wallet/ cash/ credit functionality is subject to the services supported by the local payment gateway and is not guaranteed.
  2. Provider Wallet/Statemen​t – This will reflect all the transactions done for a Provider. This keeps a record of all the cash collected by the Provider, the money owed to the Provider by the app for credit card/ wallet bookings. The closing balance of this system indicates the money owed by/ to the Provider. If the balance is negative then it means that the app owes money to the Provider and if the balance is positive then it means that the Provider has excess cash and has to pay the app, the app’s                    commission for all the cash tasks. A soft limit and hard limit is set for each Provider. The limit indicates the cash in hand for the Provider. If the Provider’s hard limit is hit, then the Provider will not receive any more cash bookings till they clear their dues. This is a good way to restrict risk per Provider. A manual credit/debit option exists here to make any adjustments in the Provider’s account for failed Bookings, Provider compensation etc.
  3. App Wallet/Statement – This statement indicates the earnings made by the app for each Booking made. The closing balance of this statement indicates the up-to date money earned by the app. A report on this statement can indicate the business’s earnings on the system.
  4. Gateway Statement – This statement will record all the earnings made by the payment gateway on the app. A report on this statement will indicate the amount paid out to payment gateways and can be used to leverage a better % commission with the payment gateway provider in                 case the system has achieved high transaction volumes.
  5. Business Wallet/Statement – This statement indicates the earnings of the business which are basically an aggregation of all the earnings of the Providers within the business. Functions similar to the Provider wallet.
  6. Institution Wallet/Statement​– This statement indicates the spend of each institution on the app.  Institutes comprise of corporates or hotels. All bookings made by corporate employees for example will be recorded here. The statement works more like a credit line where the app configures a creditline limit for each institution. Institution employees are allowed to book and can bill their company for the Booking. The hard limit indicates the maximum credit allowed. In case the hard limit is hit the                  institution employees will not be able to bill anymore Bookings to the company till the company pays                  their dues to the app.

Marketing Module

Promo Codes

  1. The cost of promo codes is borne by the client and the discount will be adjusted against the app’s earnings.
  2. The configuration settings for the promo code include:
  1. City (Which city the promo code can be consumed in, pickup point must be inside the city)
  2. Service Category
  3. Payment Method (Promo code is valid only for the selected payment method so you can create a promo code only for people booking with say their credit card)
  4. Discount is % or fixed (This discount applied is a fixed price one or is a % of the total task fare)
  5. Total claim count for the promo code
  6. Number of claims allowed per user
  1. Analytics are available for which Booking the promo code was applied to.
  2. Security check in place to make sure the promo code cannot be abused.

Referral Campaigns

  1. The referral campaign model is designed as a loyalty program with the trigger-work flow model. If certain criteria are met, then the reward workflow is triggered for both the new user and the user whose referral code was consumed. The configurations for the triggers are:
  1. City (Which city is the referral campaign for)
  2. Start and End date of the campaign
  3. Number of bookings to be completed by the new user to unlock the reward.
  4. Total value of bookings to be completed in the duration of the campaign by the new user to unlock the reward.
  5. Rewards are configured and set for both the new user and also the user who referred to the user. This reward could be a wallet credit or promo code.

The workflows once the set criteria for the campaign are met, could be:

  1. Generate and release a promo code for both the new user and the user whose referral code was used.
  2. Credit the user’s wallet (both the referred user and the new user) with some money to be used on the app.
  1. Analytics are available for:
  1. Bookings qualifying the required criteria.
  2. Rewards unlocked.
  3. When the reward was claimed.

Send Push Notifications

System admin can send notifications to both providers and customers directly from the admin panel. These notifications are sent as Push Notifications to the devices of the users. The notifications can be sent to:

  1. Providers and customers in a particular city.
  2. To a selected set of Providers/ customers.
  3. To all customers.
  4. To all providers.

Financial Module

Accounting and Billing

  1. Accounting is available for the tasks. The accounting system takes care of:
  1. Cancellation fee.
  2. Minimum fee.
  3. Visit fee.
  4. Additional fees (material fees, miscellaneous fees)
  5. Extra fee for services.
  1. Invoices are sent to customers via email.


  1. The system generates a daily report for the tasks assigned to the providers and generates a report for the amount of money:
  1. Due to Providers.
  2. Amount to collect from Providers.

Provider Schedule Management

  1. The app comes with a schedule management feature by which the providers can mark their availability for different days and can also set what location they would be available at.
  2. The system while doing SCHEDULED or SUBSCRIPTION bookings looks for providers who have open schedules to dispatch the bookings.

Round Robin Dispatch Algorithm

  1. For ASAP bookings the booking is first sent to the closest Provider, if the first Provider rejects then it goes to the next, etc. till the total booking time allowed completes.
  2. If the manual dispatch feature is purchased then if the AUTOMATION logic fails the same booking can be sent to the MANUAL DISPATCH for taking preventive action.

Select and Dispatch Algorithm

  1. Browse profiles of providers and the one that suits can be directly booked.
  2. This model is used for the marketplace model.
  3. For scheduled and subscription based bookings the system checks for the availability of a schedule before dispatching.

Cash Booking Management

  1. System is developed to manage cash bookings, where the app’s commission is with the Provider and the Provider needs to pay the app. The in-built financial module accommodates the cash/card bookings in the system.  
  2. In case of a cash booking being cancelled the cancellation fee is debited from the customer’s wallet and this fee will be added to the next booking the customer makes. This will show as last due on the invoice on the next booking.

Wallet Management

  1. Users can recharge their wallets directly from the app and this wallet balance can be used to pay for tasks.
  2. Drivers can pay their dues directly from their mobile app.

Manage Access

Create an admin panel login for other users in the company with restricted access to the system that the system admin can control.

App Settings

  1. Set cancellation reasons for customers and providers with language support for additional languages.
  2. Set FAQ text for customers and Providers with language support for additional languages.
  3. Manage the content for Terms & Conditions, Privacy Policy for Providers and customers.
  4. Meta data for the profiles of the providers for various  categories  are dynamically set up here.
  5. In case of help text as well can be set up here.
  6. Language setting - in case you want a secondary language set up for the app .

Number Masking

Mask customer phone numbers so Provider does not see the number. We use Twilio for this feature.

Customer Fraud Management

Implemented to prevent a promo code from being used multiple times by a single customer through the same device via duplicate fake accounts. Our system will immediately red-flag the user and the admin can ban the user from the app, if required.

Provider Presence Management

Providers who are not available for taking ASAP bookings are not shown available on the map. Providers who are ONLINE but loose data network on their phones or loose battery on their devices are also marked as OFFLINE after a defined time interval.


The starter pack comes with the Out-call only option where the provider visits the customer’s location for completing the task.

Free Real Time Tracking

We have our own proprietary tech stack for real time tracking (track all providers in real time, track the provider live on the map once the provider is assigned, track live on the mobile app and also on birds’ view). Our stack takes care of 100% message delivery and is also free of charge for all our customers. So you never miss a booking and you never miss any booking updates and you can track providers meter by meter.

Multi Currency/ Payment Gateway Support

Our app supports multiple currencies and can be deployed in more than 1 country at the same time without                   requiring another server to be setup.

Payment Gateway Integration

The payment gateways in South Africa we support on the app is PayGate

App Installation Services

We help you create app store screens for app submission to the Apple AppStore and Google Play store. We also help you get the app store approvals for your app. We help you set up your web server to host the app backend.  

App Reskin Service

We change the theme of our app to match your branding and logo. We offer the following:

  1. Update the launch icon
  2. Update the splash page
  3. Update the colors of the app and also the icon colors
  4. Update the links on the app and the share messages, etc.


We have integrated with Google navigation and Waze. So you can launch either of these apps from within our provider apps for the best possible navigation for your providers.

Review and Rating

In the admin panel, we can set the parameters for the reviews as well as the rating for example Focus, Cleanliness, etc.

We have all the reviews & ratings given for every booking updated in the review page.

Manage App Updates

Manage app updates from the backend, whenever the app is updated on the app stores mark them as mandatory or non-mandatory. If the app update is mandatory all users will have to forcibly update the app before they can use the app. This is very useful in cases where critical app updates are                    made which necessarily require all users to update the app. Non-mandatory updates are useful to let the user know that there is a new update available to download

Website Updates

  1. This tab is useful when you have opted for the website as well.
  2. We can set up formations for about us, contact details, terms & conditions, etc. dynamically from the backend
  3. This reduces your dependability when you wish to change or update the content as per your need.

Mark Favorite Address

Mark and save some addresses as favorites and tag them as HOME, OFFICE, OTHER etc. for quick access.

Social Login

Login with Facebook and Google

Live Chat with Support

Live Chat integrated for communicating with app support on both customer and provider apps.

Document Expiry Checks

If any document that is business critical like the vehicle insurance or the Provider’s license, expires, the Provider or vehicle will not be allowed to use the app till they update these documents. This ensures that the app does not get into any legal hassles.

Card Payment Authorisations

We do not limit the number of users in any way. You can add as many customers as you want and as many Providers as you want to list.

Advanced Feature Modules (optional extras)

The following feature modules are also available for an additional cost which can be quoted separately.



In Call Bookings (customer visits the provider- e.g. book a clinic appointment with a doctor)

The in-call booking module lets you book appointments with the provider at the provider’s business location. This is ideal in the case of booking an appointment with doctor’s at their clinic or booking appointments with a stylist in a salon.

Remote Consulting Via Video Calls (e.g. Telemedicine bookings)

  1. Certain service categories can also be setup such that the providers under them can be booked for remote consultations that they can complete over an audio or video call.
  2. This module is perfect for people looking to build say a tele-medicine app for booking doctor consultations etc.
  3. This module does not use any paid 3rd party API like Quickblocks etc. so you will not bear any extra costs for this.

Setup Job Attributes To Better Describe The Job Requirements.

This module allows you to create questions that the user can answer while submitting the job. These attributes help describe the job better to the system and the provider and is an easy way for the user to engage with the app.  The attributes are setup as simple questions that the user answers.

Dependents (Feature for Creche)

The Dependents feature is used for adding dependents and their preferences, like a dependent might need a wheelchair or might have some special need. A customer can enter all his data on the app and can do bookings for a dependent.

A tracking link is shared via SMS with the dependent so that they can track the provider just like the customer can track the provider from the app.

Broadcast Dispatch Algorithm

  1. By using this algorithm the booking is dispatched to all the available & matched providers at the same time.
  2. The provider who accepts the booking first wins the gig. As soon as a provider wins the gig the booking disappears for all the other providers.

Create Multiple Tasks / Jobs At The Same Time

Customers can book more than one task on the app. So you can book a plumber and then go right ahead and book a electrician right after. You will receive real time updates for both tasks on the same app.

Promo Campaigns

  1. The Promo campaign model is designed as a loyalty program with the trigger-workflow model. If certain criteria are met, then the reward workflow is triggered. The configurations for the triggers are:
  1. City (Which city is the promo campaign for)
  2. Service Category (You can configure it work with selected service categories)
  3. Payment Method (Promo code is valid only for the certain payment methods or all)
  4. Start and End date of the campaign
  5. Number of tasks to be completed in the duration of the campaign.
  6. Total value of tasks to be completed in the duration of the campaign.  
  7. Total claim count for the promo code if the promo code is set as the reward.
  8. Number of claims allowed per user of the promo code generated.
  9. Wallet credit if the reward is set as a wallet credit.

The workflows once the set criteria for the campaign are met, could be:

  1. Generate and release a promo code.
  2. Credit the user’s wallet with some money to be used on the app.
  1. Analytics are available for:
  1. Bookings qualifying the required criteria.
  2. Rewards unlocked.
  3. When the reward was claimed.

Manual Central Dispatcher Module

  1. This system has multiple use cases. It can be used for;
  1. Dispatching bookings received over a phone call/ call-center
  2. Un-assign a Provider and assign a booking to another Provider (manual over-task in case of an issue)
  3. In case of auto-dispatch failure the booking can be managed by the central dispatcher.
  1. The system is completely real-time and Providers can be tracked in real time.
  2. Provider device metrics are available to better manage Provider fleet. Phone battery status, phone location services status, app version, are visible for each Provider. For Providers Their Last Location Is updated so we know exactly where the Provider is at any time.
  3. Real time notifications for booking updates.
  4. Birds view integrated to manage a full Provider fleet.
  5. Past bookings details are accessible from the terminal.
  6. Setup dispatchers for a certain city or setup a dispatcher to manage all cities,
  7. Option to create customers not registered on the app by entering their phone number.
  8. Create new bookings received via phone call etc.

Business Analytics and Reports

MIS (Management Information System) reports are available on the admin to determine how the business is doing. Reports are available for:  

  1. Financial reports for:
  1. Customer spend
  2. Provider earnings
  3. App earnings
  4. Payment gateway spend
  1. Booking reports for:
  1. Completed bookings
  2. Estimates generated
  3. Cancelled bookings
  4. Expired bookings  
  1. Heat maps for bookings requested
  2. Booking reports per Provider/customer
  3. Cash booking reports/ card booking reports / wallet booking reports
  4. Mail delivery reports powered by Mailgun
  5. Text message delivery report powered by Twilio
  6. card payments report (Stripe isn’t currently available in SA)
  7. provider payout logs (Stripe isn’t currently available in SA)
  8. Promo code consumption reports
  9. Promo campaign reports
  10. Referral campaign reports
  11. Provider performance reports that include acceptance rate, average rating.
  12. Booking efficacy report to find out how many pickups happened in time (the business desk meeting its SLA for timely pickups or not)

Multiple Shift Bookings

  1. At times it is required that a provider needs to be booked for more than 1 shift. Take an example of a maid, you might need to book a maid for more than 1 day, say all week days for a week from 3 pm to 5 pm for 2 hours. This sort of request is fulfilled by this module.
  2. The system will find providers who can take up all shifts , in case no 1 provider can take up all the shifts, the system breaks the request into individual shifts and again tries to match it with the best matched provider.
  3. The provider gets paid at the end of each shift.

Provider-Customer Chat (Real Time Chat Like Whatsapp )

Our proprietary chat engine to power customer-provider in-app text messaging without using any 3rd party libraries like Quickblox etc. The chat is completely real time and works almost like apps like Whatsapp, iMessage etc.

Website Booking Module

  1. A responsive website built with Angular JS 6.0 with a different user interface for desktop and mobile to place bookings from the desktop or mobile web.
  2. Website is completely in sync with the mobile apps.
  3. Wallet integrated into the website.

Slack Integration For System And App Monitoring

In-depth real time app monitoring of all core technology components of the software application and the server infrastructure. Integrated with slack for easy access for your technical support team. We provide you with a dedicated login to our real time monitoring dashboard Isometrik Trace.

Bid Booking Flow (UrbanClap/ Thumbtack/ AirTasker)

  1. This booking flow is similar to the flow on apps like UrbanClap and Thumbtack.
  2. The customer posts a task which is pushed to all providers who match the requirements.
  3. The questions to be answered by the customer for a job can be managed from the CMS.
  4. The taskers can review the job details and place their best bids for the jobs.
  5. The tasker needs to pay a certain amount for each bid placed.  
  6. The customer selects the best bid after reviewing the provider’s profile.
  7. Customers can chat with the tasker before hiring them.
  8. The app can decide to take a commission from the job or not by setting it up on the CMS.
  9. Once a tasker/provider is hired all the providers who lost the job are informed and the job disappears from their open bid section.
  10. All chat history for completed / lost jobs is preserved in the PAST CHATS but the tasker and customer cannot any longer.

Zendesk Integration

  1. Zendesk integrated for support tickets.
  2. Create tickets from the app for past bookings and get real time updates of the status directly on the customer app.
  3. Support team can man the company zendesk terminal to manage and answer tickets.

Quickbooks Integration For Tax Accounting

  1. Each business/ contractor can integrate their Quickbooks organization into the app, so every booking will be logged in their own Quickbooks organization.
  2. On booking completion the booking details are passed into Quickbooks automatically.
  3. Every new customer on the app system is also created in the Quickbooks ecosystem.
  4. All services created on the app are also created as non-inventory products on Quickbooks.

Map Based Home Screen ( Uber Like Home Screen Design )

This plugin ads the map first approach to the app so the customer can see the live providers on the app. Live providers can be clicked to view detailed profiles.


The app requires  cloud-based dedicated servers for account management, content management, administration panels and APIs.

We recommend that you own the server/s because it is your data and an important asset of your business. We will recommend a server and send you a link to purchase it (for example with Amazon Web Services or GoDaddy). Then you will invite us to configure and set the server up correctly for you.

The size and performance of the server required ultimately depends upon the number of users and how they use it. We recommend starting with following hosting configuration:

  1. Load balancer - 1 GB+ RAM (Ubuntu OS)
  2. 2 App Servers - 4 GB+ RAM, 4 Cores (Ubuntu OS)
  3. 1 DB Server - MongoDB, 8 GB+ RAM, 4 cores (Ubuntu OS)
  4. 1 Server for the message broker - 4 GB RAM, 2 cores (Ubuntu OS)
  5. 1 DB Server - Elasticsearch,  8 GB+ RAM, 4 cores (Ubuntu OS)

Agile Project Management

We utilise Agile Methodology.

A dedicated local Product Owner will be your single point of contact to manage the project deliverables and keep you updated. A local Scrum Master (Project Manager) will manage the design, development and testing/ QA team through the project sprints in conjunction with the platform provider. Our projects are typically broken into fortnightly Sprints agreed with you in advance so you can see actual working outputs throughout the process.

  1. Requirement Gathering:

  1. Application Design/ UI/ UX:

  1. Project Development:

  1. Testing:

  1. Launch

  1. Support/ Maintenance/ Enhancements


Changes to scope are handled through our Change Request process where you will confirm Change Requests prior to us starting work on them so you have control over the total project budget.

You need to provide approval/feedback on milestones/ sprints within 14 days of delivery. If there will be no feedback/approval within 15 days, then the milestone/sprint will be considered completed. Once the project is completed, you need to provide feedback/approval within 15 days of delivery. Feedback provided after 15 days will be treated as a Change Request. 

We utilise Slack (for project communications) and Trello (for project management, issue and risk management) and Bitbucket (for code repository and version control) although we can also work in your project and technology environment as required.

Time Estimation

Estimated solution development time is 3-4 months.

Key Roles and Responsibilities

Team Member Experience and Expertise


Bull Horns Panic Button App

SASOL First Field Guide Series

Newman’s Birds of Southern Africa

K53 Learner’s App


National Legislation (NetLaw)










Current Status









Internal (employee) app






Internal (employee) app


5,000+ (in 3 weeks since launch)

User Average Rating









iOS, Android

iOS, Android

iOS, Android

iOS, Android

iOS, Android


iOS, Android

Role of ADS

UX Design, Development, Hosting, Maintenance

UX Design, Development, Hosting, Maintenance

Development, Hosting, Maintenance

Development, Hosting, Maintenance

UX Design, Development, Hosting, Maintenance

Development, Hosting, Maintenance

UX Design, Development, Hosting, Maintenance

Relevant Testimonial

Own app

Penguin Random House

Penguin Random House

Penguin Random House




Rob Maclean

James Thomas

Deepa Naran

Tresha Damon

Jennifer Matsunyane


Design, Development and Testing


Cost (ZAR excl. VAT)


Per Month

Basic Development

Basic modules

Requirements Gathering


Project Management

Server Configuration


One-page responsive marketing website

Website domain registration

App Store Hosting and App Store Optimisation


Additional Modules

To be quoted based on modules required

App Source Code (optional)



Server and website requirements depend upon predicted user volumes.  Estimated cost only.







The quote is valid for 30 days only and is based on our current understanding of requirements. It will only be confirmed after the Requirements Gathering phase.


- VAT;

- Contingency;

- Third-party costs not listed (for example email/ SMS engines, domain purchase);

- Marketing/ sales of the application;

- Travel expenses (if applicable).

Payment Schedule

The Client will be required to make payments to ADS according to the following schedule:

Percentage of Total Fee

Payment schedule


Signature Date


Interim Payment (end of Sprint 2)


Provision of first draft version of app


Submission to App Stores

Other Notes

  1. We recommend and can search and register the app name on the app stores immediately (an App Store Developer Account is required for this).
  2. You will have to set-up an account with a local payment gateway to receive payments. Depending on your preferences and timeframes, you will probably also need to set up a merchant account with a local bank. This process can be time-consuming and should be initiated at kick-off.
  3. Terms and conditions of use, liability waivers, privacy policies are required/ recommended. We can provide links to templates for these.
  4. The handling and use of customer data will be governed by local (and potentially international) data protection laws such as the Protection of Personal Information Act (POPI) and GDPR in Europe. You should make yourself familiar with these.
  5. It is recommended that the client creates terms and conditions for seekers that prohibits them from contacting providers outside of the application to avoid revenue leakage.
  6. We will provide advice on launch strategy and marketing. For example our experience has shown that you need to focus your provider registration and seeker marketing efforts in specific industries and geographies otherwise coverage is inadequate and there are not enough providers for early seekers and providers don’t generate enough jobs from seekers to remain engaged.

Next Steps

Please review this proposal and ask us any questions you may have. We are happy to relook at the requirements and meet with you to discuss if required.


About App Developer Studio

Our Vision

Utilise and develop the latest technologies in mobile applications, big data and cloud computing to create beautiful, efficient and secure mobile apps.

Primary Competencies

  1. App Development:
  1. Web/ Database:
  1. App design and UI/UX
  2. Commercial/ strategy consultancy
  3. Data Analysis/ MIS
  4. Commerce (in conjunction with our eCommerce Experts business):
  1. App Marketing (social media and paid Facebook/ Google campaigns) and launch strategy
  2. Web Admin and Cloud Hosting (app store, website and server)

Client Portfolio and Endorsements

Our portfolio of applications is available here. You can also view our Bull Horns Responder sample video and our latest augmented reality app demo.

Notable Awards

Company Documents

Disclaimer: All information contained in this document is strictly confidential and is provided for the sole purpose of responding to the Client’s request. It shall not be used for any other purpose and can not be published or disclosed, in whole or in part, to any other party without the explicit prior written permission of App Developer Studio.

Private and Confidential. Property of App Developer Studio