Membership 
We should track all the subscription plan purchased. When a User buy the Subscription plan for one month, keep the Subscription plan Counter = 1 and Membership Type = Silver. User is a Silver Member. Next time when the same user buy the subscription for 3 months, then the Subscription plan counter = 1+3 and Membership type = Gold. Now the user is a Gold Member. Subscription modification and Pause will not impact the existing membership. Mobile application should show the membership type.
Subscription Counter = 1&gt;3 = Silver Member
Subscription Counter = 3&gt;6 = Gold Member
Subscription Counter = 6&gt;12 = Platinum Member
Subscription Counter = 12 or above = Titanium Member
Search, Sort and Export should be added in this masters
Membership Table
User ID User Mobile # Email ID User Type Membership Type Subscription ID Subscription Status
Corporate/Individual Active/Pause/Expired
Loyalty 
Subscription based Loyalty
For every subscription order, when the Order status is changed by the Admin User to Delivered, the loyalty point is calculated based on the order value.
For Silver members Formula for Loyalty point is (Order value of the day X 1%).
For Gold members Formula for Loyalty point is (Order value of the day X 2%)
For Platinum members Formula for Loyalty point is (Order value of the day X 3%)
For Titanium members Formula for Loyalty point is (Order value of the day X 4%)
Loyalty collected = (Percentage based on membership type) * Purchase Value
Silver – 1%
Gold – 2%
Platinum – 3%
Titanium – 4%
Referral Loyalty
Every user has a referral code that is stored in the DB. When the new User register to the mobile application as an Individual or corporate user, he or she need to enter the referral code of the User who has invited. This code should be checked with the back end to identify who has referred the new User. Hence the Referral code of each User should be stored in the User Management. Now the user who has referred should receive the 10 Loyalty points.
Search, Sort and Export should be added in this masters
Config Loyalty
This page has the following text field
Subscription Loyalty
Silver Membership Loyalty – A text field allows the Admin User to mention the percentage from 0 to 99 only
Gold Membership Loyalty – A text field shows the percentage from 0 to 99 only
Platinum Membership Loyalty – A text field shows the percentage from 0 to 99 only
Titanium Membership Loyalty – A text field shows the percentage from 0 to 99 only
Referral Loyalty
Referral Points – A text field allows numbers from 0 to 999
Loyalty Points Table
User ID User Mobile # Email ID User Type Membership Type Loyalty Balance
Corporate/Individual Silver/Gold/Platinum/Titanium 1000
Loyalty Details Page
Earned by Subscription (Button) | Earned by Referral (Button) | Redeemed (Button)
Earned by Subscription
Order ID Order Value Membership Type Transaction Date Current Balance Loyalty Earned Closing Balance
Earned by Referral
Referred User ID Date of Registration Current Balance Loyalty Earned  Closing Balance
User ID of the Use who has registered with this User referral code Loyalty Redeemed 
Order Type Order ID Transaction Date Current Balance Redeemed Points  Closing Balance
Subscription/ Instant/Event When the redemption is applied in the check out process, user will use the loyalty points for payment. Hence you will have current balance lets us 500 points and in the check out process you have used 200 points now the closing balance is 300
In the Referral loyalty, current balance is say 500 and after earning 10 loyalty by referring the application, closing balance is 510
You May Like/New Arrival in Product Management
Each product when it is added by the Admin User in the Product Management, there are 2 check boxes appear 1) You May Like 2) New Arrivals. When the Admin User select these check boxes, products will appear under the You May Like and New Arrival sections in the mobile application. Each city can have only 5 products that are You May Like and New Arrivals. Hence when selecting these check boxes, make sure the Available City of Product can have only 5 products for You may Like and New arrivals.
You May Like (View Only)
This module provide the products that are selected by the Admin User as a You May Like for all the Cities. 
Please add Search/Sort/Export
You May Like Table
Available City Name Product ID Product Name Created Date
Hyderabad Product123 Kinley 20 LtrNew Arrival (View Only)
This module provide the products that are selected by the Admin User as a new arrival for all the Cities. 
Please add Search/Sort/Export
New Arrival Table
Available City Name Product ID Product Name Created Date
Hyderabad Product123 Kinley 20 LtrTrending Brands in Brand Management
Brand Management should have 2 fields that are Available Cities drop down and Trending Brands Check box. Admin User can select only 5 Trending Brands per Available City.
On making any Brand as Trending Brand, these brands should be available in the mobile application if the User belongs to that City only.
Trending Brands(View Only)
This module provide the Brands that are selected by the Admin User as a Trending Brands for all the Cities. 
Please add Search/Sort/Export
Trending Brands Table
Available City Name Brand ID Brand Name Created Date
Hyderabad Product123 Kinley 20 LtrCity Management
Mobile application
When the Retailer or Corporate registers in the application, he or she uses the delivery and billing address using the Google Places. 
Based on the selected City following information should be shown to the User
Products
Brands
Categories
You May Like
New Arrivals
Trending Brands 
When the User go to check out and tries to add a new location, we should make sure the new address should be in the same City that of the default address. No new city should be allowed.
When the User travel to different City, in the dashboard always check the current location of the User and compare with default city address. If both are same show the dashboard items related to the Default address. If current location and default address does not match, show a pop up stating “Currently you are in a different city, if you would like to see the products of current city, please change the default address in My Accounts” and still show the items related to default city only. Now to change the address to different city, User can go to My Account and change the new address that belongs to different city. On selecting the default city and saving the address, if the new address belongs to a different address then the existing Subscription, Event delivery should be cancelled and money should be refund back to Wallet and status of Subscription should be cancelled. Dashboard shall show the items that are belongs to the new default address.
Admin Panel
Available City in Category/Package Management – There should be an Available City selection drop down which will allow the Admin User to select one City for a Categories. Category/Package name should be unique per city, but same name can be possible for a different city.
Available City Category ID Package Type Category Image Order Date of Creation Date of Modification Status
Note: Category Name can be same for different Cities. But same city cannot have the same Category Name
Add/Edit
Available City – Only one city can be selected. Data should be from the City Management 
Package Type
Unit Type
Category Image
Order
Available City in Brand Management – There should be an Available City selection drop down which will allow the Admin User to select one City for a Brand. Brand name should be unique per city, but same name can be possible for a different city.
Available City City Name(Remove it) Company Name Company ID  Brand Name  Brand ID  Order Brand Description
Brand photo Admin User ID  Created By Admin User Name  D.O.C  D.O.M  Brand Status Actions
Note: Brand Name can be same for different Cities. But same city cannot have the same Category Name
Add/Edit
Brand Logo
Available City - Only one city can be selected. Data should be from the City Management 
Company Name
Company ID
Brand Name
Brand Description
Order
Available City in Product Management - There should be an Available City selection drop down which will allow the Admin User to select one City for a Product. Product name should be unique per city, but same name can be possible for a different city.
 
Available City Product Name Company Name Plant Name Product ID Product Logo
Product Images Package Type Description Specification Technical Expiry Date
Unit Price MRP Purchase Price Discount in % GST Return Policy
City Name(Remove It) Date of Creation Date of Modification Added by Admin User ID Product Status Upload Images Actions
Note: Product Name can be same for different Cities. But same city cannot have the same Category Name
Add/Edit
Company Name
Company ID
Available City (Select one City only)
Brand Name (Based on Company &amp;&amp; Based on Available City for which those brands belongs)
Brand ID
Plant Name
Plant ID
Product Name
Product Logo
Package Type (Based on Available City, show the Packages that are belongs to the selected Available City)
Description
Specification
Technical
Unit Price
GST in %
MRP
Discount in %
Purchase Price
Return Policy
Expiry Date
Deactivation/Activation
City Deactivation – On deactivating the available City, following related items should be deactivated
City
Package Types
Brands
Products
Active Subscriptions ( Cancelled)
Active Instant Delivery ( Cancelled)
Active Event Delivery ( Cancelled)
Category Deactivation – On deactivating the Category, following related items should be deactivated
Category
Products
Active Subscriptions ( Cancelled)
Active Instant Delivery ( Cancelled)
Active Event Delivery ( Cancelled)
Brand Deactivation – On deactivating the Brand, following related items should be deactivated
Brand
Products
Active Subscriptions ( Cancelled)
Active Instant Delivery ( Cancelled)
Active Event Delivery ( Cancelled)
Product Deactivation – On deactivating the Product, following related items should be deactivated
Product
Active Subscriptions ( Cancelled)
Active Instant Delivery ( Cancelled)
Active Event Delivery ( Cancelled)
Company Deactivation – On Deactivating the Company, following items should be deactivated
Company
Brands
Plants
Products
Active Subscriptions ( Cancelled)
Active Instant Delivery ( Cancelled)
Active Event Delivery ( Cancelled)
Plant Deactivation – On Deactivating the Plant, following items should be deactivated
Plant
Products
Active Subscriptions ( Cancelled)
Active Instant Delivery ( Cancelled)
Active Event Delivery ( Cancelled)
Admin Deactivation – Should be blocked from logging from the Admin panel
Role Deactivation – Should block the role and its corresponding Admin Users
Customer and Corporate Deactivation – Should block the user to login from the mobile application
Rating Management 
Rating Management Page has the list of Orders with Ratings given by the Customers. Admin User can the View in the Masters.
Rating TableUser_IDUser_Mobile_NumberUser_Email_IDOrder_IDProduct_IDProduct_NameDate and Time of Rating Rating given by User in 1 to 5 range Overall_Product_RatingConfigure ListThis settings allows the Administrator to add or delete the list from displaying in the list viewSortTop header should be sortable by ascending or descending order. 
SearchThere should be a search to search the Rating details by 
User_ID 
User_Mobile_NumberUser_Email_IDOrder_IDProduct_IDProduct_NameFiltersFilter Option should be provided for filtering the Rating details based on 
Date and Time of Rating
User_ID 
User_Mobile_NumberUser_Email_IDOrder_IDProduct_IDProduct_NameRating given by User in 1 to 5 range
Overall_Product_RatingExport PDF/ExcelThere should be an Export button to export the Rating details to Excel or PDF. 
Stock Management
Currently the stock management works like an off-line inventory, but we need to make it online by connecting the stocks with orders. Whenever the Orders are delivered for Instant, Event and Subscription, the stock quantity for a product from the order should be reduced and updated. When the stock goes 0, please show the Stock Availability Status as Unavailable.
Chat Integration
Chat API integration should be from the Mobile application and Admin Panel. There should be a Chat Master in the Admin Panel. This should have the Access in the Role as well. When the Customer from mobile try to type the text chat, the admin who has logged in to the Admin Panel and has permission to the Chat master can see the chat and reply back to customer.
Note: Chat API will be provided by client