Follow the DESIGN RECIPE for data definitions:
Is the information simple enough to be represented by a primitive data type?
Are there several pieces of information that represent one entity? — if yes, design a class of data with a field for each piece of information.
Is any of the fields itself a complex piece of data? — if yes, deal with designing classes for that field as a separate task.
Are there several variants of data that should be known by a common name? — if yes, define an interface and have each variant implement this interface.
Make sure you write down a comment explaining what each class of data (or each interface) represents.
Make sure you make examples of every class you design.