How to use ERPnext for presented schema dealing with facility maintenance?

We are running an HVAC maintenance service establishment.
Our customer base falls under a bit complicated kind of categorization.

  • Customer kind

    1. Individuals
    2. Property owner/s (Buildings with many flats)

Now each of the above main categories has a different type of maintenance contract.

  1. Regular anual maitnenance contract.
  2. Annual maintenance contract including parts & labor.
  3. Annual maintenance contract including parts, labor & compressor.
  4. Regular customers who do not wish to sign a contract.
  5. Ordinary customers (i.e. first timers and once a year or two years calls)

Is there a way to setup customers with such refinement?

i.e.

  • A flat belonging to a property, and a property OR several properties would be listed under an owner.
  • Invoices would be addressed to the owner, with flat/property details.
  • Reports can be generated for each flat
  • Above taking into consideration the type of contract each falls under (not for contracts type 4 and 5).