Maybe go down the classic route? Meaning providers could not be a field, but compositions? The "generic" composition could be including all common properties, while provider-specific compositions (one per provider) could contain the extra fields. You could identify the provider based on the composition. Not exactly super straightforward, but just a thought.