Back to the Data Model
A. The requirement is to design a Database for Experts answering Questions for a Fee.
Barry says :-
A. The Things of Interest :-
A.1 Accounts, Affiliates, Agents, Articles
A.3 Campaigns, Chat Sessions, Clients, Communication Method, Credits
A.5 Experts, Expert Availability
A.10 Ratings, Roles
A.11 Service Categories
A.12 Users, User Recommendations
B. How are they related ?
Note that Rules related to Players are shown in green, Player Interactions in blue, and Payments in red.
B.1 An affiliate can have one or many agents.
B.2 An affiliate can refer one or many clients.
- based on that the affiliates will make money.
B.3 Agents can have one or many Profiles.
B.4 A Campaign could be started by experts, agents, super agents, affiliates or the system.
B.5 A Chat Session takes place between one Client and one Expert.
B.6 A client could be billed for one or more Chat Sessions.
B.7 A Client can buy credits or deposit money in their Account even before contacting any Expert.
B.8 A client could be billed for one or more Emails.
B.9 A Client can chat with zero, one or many Experts over a period of time, or at any point in time.
B.10 A Client can rate zero, one or many Experts.
B.11 A client can recommend [Barry adds 'Experts' in] one or more categories/sub categories/child categories/etc.
B.12 Communication Methods include chat, email and video chat.
B.13 Discounts could be provided by experts, agents, super agents, affiliates or the system.
B.14 An Expert can write zero, one or many Articles.
B.15 An Expert can bid on zero, one or many Questions.
B.16 An Expert can have one or many Category Profiles.
B.17 Expert Availability is defined on a monthly basis.
B.18 A Question asked by a client that the expert bids on goes to a Client's Mailbox.
and there can be back and forth communication between the expert and the client.
It would probably make sense to to tie a Mailbox subsytem with a User.
B.19 A User can create one or many Accounts.
B.20 A user can run one or more Campaigns.
B.21 A User can have zero or one Contact History.
B.22 A user can provide zero, one or many Discounts.
For example, an expert can provide a discount of 10% to all clients between 2AM - 6 AM ..slow hours.
B.23 A User can create one or many Profiles.
B.24 A User can ask zero, one or many Questions.
Maybe clients can ask questions and each question will be in one parent category.
April 20th. 2010