export interface Apartment {
  readonly id: string;
  readonly name: string;
  readonly address: string | null;
  readonly totalArea: number | null;
  readonly roomCount?: number;
  readonly createdAt: string;
  readonly updatedAt: string;
}

export interface ApartmentWithRooms extends Apartment {
  readonly rooms: readonly ApartmentRoom[];
}

/** Lightweight room info when nested inside an apartment response. */
export interface ApartmentRoom {
  readonly id: string;
  readonly name: string;
  readonly order: number;
}

export interface CreateApartmentDto {
  readonly name: string;
  readonly address?: string | null;
  readonly totalArea?: number | null;
}

export interface UpdateApartmentDto {
  readonly name?: string;
  readonly address?: string | null;
  readonly totalArea?: number | null;
}
