Multiple types of contacts
I find those classes should but just simple POCO classes with get/set properties. They could sit either inside a DTO or Model namespace or could have a Dto suffix and simple names like Person or PrivatePerson or BusinessPerson. They are not service providers as you call them.

However, you do want to differentiate between a PrivateCountry and a BusinessCountry. You could do this by adding the type of operation you need them for, like PrivateCountryForAddingDto or BusinessCountryForUpdatingDto. With this pattern you will have a few more models but the good thing is that each command will have its own independent model that can have its own validation logic. A model for adding does not necessarily have to have the same requirements as a model for updating. Some fields might be optional in one case and mandatory in another case.