# Data Transfer Objects (DTOs)

This document describes the Data Transfer Objects (DTOs) used in the Time Tracker application. DTOs are used to transfer data between the backend and frontend, and between different layers of the backend.

## ActivityDto

The `ActivityDto` type represents a specific activity that can be tracked, such as "Development", "Meeting", or "Bug Fixing". It is used to transfer activity data between the backend and frontend.

## CompanyDto

The `CompanyDto` type represents a tenant in the multi-tenant application. Each company has its own set of users, customers, projects, and activities. It is used to transfer company data between the backend and frontend.

## CustomerDto

The `CustomerDto` type represents a customer of a company. It is used to transfer customer data between the backend and frontend.

## ProjectDto

The `ProjectDto` type represents a project for a specific customer. It is used to transfer project data between the backend and frontend.

## TimeEntryDto

The `TimeEntryDto` type represents a time booking for a specific user, project, and activity. It is used to transfer time entry data between the backend and frontend.

## UserDto

The `UserDto` type represents a user of the application. Each user belongs to a company and has a specific role. It is used to transfer user data between the backend and frontend.
