package dto // JSON:API Helicopter Usage DTOs type HelicopterUsageAttributes struct { HelicopterID string `json:"helicopter_id" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"` TotalLanding float64 `json:"total_landing" example:"120"` TotalAirframeHours float64 `json:"total_airframe_hours" example:"1523.5"` TotalAirframeCycles float64 `json:"total_airframe_cycles" example:"320"` TotalEngine1Hours float64 `json:"total_engine_1_hours" example:"1523.5"` TotalEngine1GpcNgN1 float64 `json:"total_engine_1_gpc_ng_n1" example:"98.7"` TotalEngine1PtcNfN2 float64 `json:"total_engine_1_ptc_nf_n2" example:"97.2"` TotalEngine1Ccc float64 `json:"total_engine_1_ccc" example:"44"` TotalEngine2Hours float64 `json:"total_engine_2_hours" example:"1523.5"` TotalEngine2GpcNgN1 float64 `json:"total_engine_2_gpc_ng_n1" example:"98.7"` TotalEngine2PtcNfN2 float64 `json:"total_engine_2_ptc_nf_n2" example:"97.2"` TotalEngine2Ccc float64 `json:"total_engine_2_ccc" example:"44"` TotalFlightReport float64 `json:"total_flight_report" example:"80"` TotalHookRelease float64 `json:"total_hook_release" example:"10"` TotalRotorBrakeCycle float64 `json:"total_rotor_brake_cycle" example:"8"` CreatedAt string `json:"created_at,omitempty" example:"2026-03-12T03:04:05Z"` CreatedBy string `json:"created_by,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"` UpdatedAt string `json:"updated_at,omitempty" example:"2026-03-12T03:04:05Z"` UpdatedBy string `json:"updated_by,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"` DeletedAt string `json:"deleted_at,omitempty" example:"2026-03-12T03:04:05Z"` DeletedBy string `json:"deleted_by,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"` } type HelicopterUsageResource struct { Type string `json:"type" example:"helicopter_usage"` ID string `json:"id" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"` Attributes HelicopterUsageAttributes `json:"attributes"` } type HelicopterUsageResponse struct { Data HelicopterUsageResource `json:"data"` } type HelicopterUsageListResponse struct { Data []HelicopterUsageResource `json:"data"` Meta struct { PageNumber int `json:"page_number" example:"1"` PageSize int `json:"page_size" example:"20"` Total int64 `json:"total" example:"120"` } `json:"meta"` } type HelicopterUsageCreateAttributes struct { HelicopterID string `json:"helicopter_id" validate:"required" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"` TotalLanding *float64 `json:"total_landing,omitempty" example:"120"` TotalAirframeHours *float64 `json:"total_airframe_hours,omitempty" example:"1523.5"` TotalAirframeCycles *float64 `json:"total_airframe_cycles,omitempty" example:"320"` TotalEngine1Hours *float64 `json:"total_engine_1_hours,omitempty" example:"1523.5"` TotalEngine1GpcNgN1 *float64 `json:"total_engine_1_gpc_ng_n1,omitempty" example:"98.7"` TotalEngine1PtcNfN2 *float64 `json:"total_engine_1_ptc_nf_n2,omitempty" example:"97.2"` TotalEngine1Ccc *float64 `json:"total_engine_1_ccc,omitempty" example:"44"` TotalEngine2Hours *float64 `json:"total_engine_2_hours,omitempty" example:"1523.5"` TotalEngine2GpcNgN1 *float64 `json:"total_engine_2_gpc_ng_n1,omitempty" example:"98.7"` TotalEngine2PtcNfN2 *float64 `json:"total_engine_2_ptc_nf_n2,omitempty" example:"97.2"` TotalEngine2Ccc *float64 `json:"total_engine_2_ccc,omitempty" example:"44"` TotalFlightReport *float64 `json:"total_flight_report,omitempty" example:"80"` TotalHookRelease *float64 `json:"total_hook_release,omitempty" example:"10"` TotalRotorBrakeCycle *float64 `json:"total_rotor_brake_cycle,omitempty" example:"8"` } type HelicopterUsageCreateData struct { Type string `json:"type" validate:"required,oneof=helicopter_usage_create helicopter_usage" example:"helicopter_usage_create"` Attributes HelicopterUsageCreateAttributes `json:"attributes" validate:"required"` } type HelicopterUsageCreateRequest struct { Data HelicopterUsageCreateData `json:"data" validate:"required"` } type HelicopterUsageUpdateAttributes struct { HelicopterID *string `json:"helicopter_id,omitempty" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"` TotalLanding *float64 `json:"total_landing,omitempty" example:"120"` TotalAirframeHours *float64 `json:"total_airframe_hours,omitempty" example:"1523.5"` TotalAirframeCycles *float64 `json:"total_airframe_cycles,omitempty" example:"320"` TotalEngine1Hours *float64 `json:"total_engine_1_hours,omitempty" example:"1523.5"` TotalEngine1GpcNgN1 *float64 `json:"total_engine_1_gpc_ng_n1,omitempty" example:"98.7"` TotalEngine1PtcNfN2 *float64 `json:"total_engine_1_ptc_nf_n2,omitempty" example:"97.2"` TotalEngine1Ccc *float64 `json:"total_engine_1_ccc,omitempty" example:"44"` TotalEngine2Hours *float64 `json:"total_engine_2_hours,omitempty" example:"1523.5"` TotalEngine2GpcNgN1 *float64 `json:"total_engine_2_gpc_ng_n1,omitempty" example:"98.7"` TotalEngine2PtcNfN2 *float64 `json:"total_engine_2_ptc_nf_n2,omitempty" example:"97.2"` TotalEngine2Ccc *float64 `json:"total_engine_2_ccc,omitempty" example:"44"` TotalFlightReport *float64 `json:"total_flight_report,omitempty" example:"80"` TotalHookRelease *float64 `json:"total_hook_release,omitempty" example:"10"` TotalRotorBrakeCycle *float64 `json:"total_rotor_brake_cycle,omitempty" example:"8"` } type HelicopterUsageUpdateData struct { Type string `json:"type" validate:"required,oneof=helicopter_usage_update helicopter_usage" example:"helicopter_usage_update"` ID string `json:"id" example:"018f3a5c-7a6f-7c2a-8d4a-4b5b1f6c8e9d"` Attributes HelicopterUsageUpdateAttributes `json:"attributes" validate:"required"` } type HelicopterUsageUpdateRequest struct { Data HelicopterUsageUpdateData `json:"data" validate:"required"` }