Discussion: `SCPriceGroup` doesn't need map-functionality
What needs to be remodeled?
SCPriceGroup
How is the current model not sufficient?
SCPriceGroup currently has a map-property/map-like-functionality. The extensions of SCPriceGroup implement optional properties to save prices, even though that they could be set inside the map. Additionally you could still set other prices than specified by the SCSpecificPriceGroup, cause of the inherited map of SCPriceGroup.
Which changes are necessary?
Alternative 1:
SCPriceGroup doesn't need a map property at all, since all specifications implement their properties. This would leave SCPriceGroup as an empty interface thoguh. However the SCPriceGroup COULD hold the default-price-property, so that all price related features are inside one type.
Alternative 2:
You could use Partial<SCMap<number>>
Do the proposed changes impact current use cases?
This change would at most change the location of where the default price is set, which would need to be updated in depending systems. Other than that none