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?