posted Mar 21, 2012, 6:22 AM by Eric Patrick
BackgroundFor hub installation, we need to represent relationships between Quandis clients ("Service Providers"), their clients ("Clients"), and their vendors ("Vendors"). For example: - When a Chase employee logs into the Valuation hub, she should be presented with a dropdown list of only those Service Providers that Chase has a relationship with
- When a Chase employee orders a Valuation from Service Provider A, she should be presented with only those Valuation products covered by their contract
- When a workflow solicits agents, only those agents that have a relationship with a service provider should be eligible for solicitation
Ultimately, these relationships are defined in the business world by legal contracts. Thus, QBO 3 introduces the Contract and ContractProduct tables to help map these real-world relationships. ContractA Contract row represents a relationship between two entities - Contract: name of the contract
- ClientID: the Organization that is paying to have a product or service provided under the contract
- VendorID: the Organization that is being paid to have a product or service provided under the contract
- Effective: date the contract is effective
- Expires: date the contract expires
ContractProductRepresents a product or service covered by a Contract.
The ContractProduct table is a child of the Contract table, and defines what products are covered by a Contract. For example, Service Provider A may offer these products: - BPO - Interior
- BPO - Exterior
- Appraisal
However, when negotiating their contract with Chase, they may be unable to reach agreement on a price for Appraisals. Thus, Chase will be allowed to order BPO - Interior and BPO- Exterior, but not Appraisal. This is mapped by creating two ContractProduct rows, one each for BPO - Interior and BPO - Exterior.
- ContactID: the Contract to which a ContractProduct applies
- ProcessTemplateID: the Process Template (product or service) that can be ordered under the contract
Technical notesThese classes are part of the QBO 3 qbo.Process and qbo.ProcessWeb projects, but the data components (tables and foreign keys) are in source control under the QBO 2.0 qbo.Database.Process project. |
|