package com.servdiary.mobile.data import com.squareup.moshi.Json data class LoginRequest( val email: String, val password: String, @Json(name = "device_name") val deviceName: String, ) data class AuthResponse( val token: String? = null, val user: UserDto, val team: TeamDto?, @Json(name = "team_role") val teamRole: String?, ) data class UserDto(val id: Int, val name: String, val email: String) data class TeamDto(val id: Int, val name: String) data class JobDto( val id: Int, val title: String, val status: String? = null, @Json(name = "default_duration_minutes") val defaultDurationMinutes: Int? = null, ) data class JobsResponse(val data: List = emptyList()) data class AppointmentDto( val id: Int, @Json(name = "job_id") val jobId: Int, @Json(name = "starts_at") val startsAt: String, @Json(name = "ends_at") val endsAt: String, val status: String, val notes: String? = null, val job: JobDto? = null, ) data class AppointmentsResponse(val data: List = emptyList()) data class CheckInRequest(val latitude: Double, val longitude: Double) data class CheckInResponse(val appointment: AppointmentDto? = null) data class SlotDto( @Json(name = "starts_at") val startsAt: String, @Json(name = "ends_at") val endsAt: String, ) data class SlotsResponse(val date: String, val slots: List = emptyList()) data class BookAppointmentRequest( @Json(name = "starts_at") val startsAt: String, val status: String = "scheduled", )