Start here. This is the direct spoken answer to practice first.
Overview
The best schema is usually the smallest one that captures the downstream decision without asking the model to reproduce an internal domain model.
I start from what the consumer needs and use specific types, required fields, enums for closed choices, and clear descriptions. I keep the structure shallow, disallow unexpected fields when supported, and provide an explicit representation for unknown or insufficient evidence. The schema should be stable application vocabulary, not a dump of database entities.