function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Harry Training DepartmentHarry Training Department 

Design idea for implementing training project

I have a design situation where fields and values as mentioned below,

Batch Type --> Course type --> Class Type --> Class
A -->  B --> C --> D
A -->  B --> C --> E
A -->  B --> C --> F
A -->  B --> C --> G
A -->  B --> C --> H
A -->  B --> C --> I
A -->  B --> C --> J
K -->  L --> M --> N
K -->  L --> M --> O
K -->  L --> M --> P
K -->  L --> M --> Q
K -->  L --> M --> R
K -->  L --> M --> S
K -->  L --> M --> T

I want a Contact to be assigned a Batch Type, Course Type & Class Type. Based on that would like to know what all Class value are possible for that.

Also, there must at least be a case a created for each class with status as "New". There may be additional new cases created for each of the Class.

I am planning to use a Product object to have the Batch Type, Course type, Class Type, and Class fields.  This would ensure to list out all the class that a contact must complete even without the case records. Is this a good choice?

Also, I want to report for each contact how many class has been assigned, how many are not started/new, in-progress and completed.

I am planning to create a report using the contact and product object. Any additional constructive suggestions please?

Also, its possible that an employee may be assigned to different Batch Type, Course Type & Class Type. Based on that new cases must be created for the corresponding classes.

I would like to retain the status of case classes for earlier batch type. What would be the best way to achieve it?

 
John Manager Training DepJohn Manager Training Dep
How are contact, case, product, order, order item and work order relation to each other in terms of data model?


How best can I use them for implementation?