Apollo 3003

@jianzhong when you add new person types you need to ensure they are covered in the discriminator map here otherwise doctrine will raise fatal errors