ForkliftResponse.java
package com.v1rex.liftnexus.forklift.dto;
import com.v1rex.liftnexus.forklift.domain.EquipmentType;
import com.v1rex.liftnexus.forklift.domain.OperationalStatus;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
@Schema(description = "Detailed view of a forklift asset")
public record ForkliftResponse(
@Schema(description = "Unique identifier", example = "1") Long id,
@Schema(description = "Unique fleet number", example = "FL-0042") String fleetNumber,
@Schema(description = "ID of the assigned forklift type", example = "1") Long forkliftTypeId,
@Schema(
description = "Human-readable model name from the forklift type",
example = "Toyota BT Staxio")
String modelName,
@Schema(description = "Type of material handling equipment") EquipmentType equipmentType,
@Schema(description = "Maximum carrying capacity in kg", example = "1500")
Integer maxCapacityKg,
@Schema(description = "ID of the current storage bin location", example = "3", nullable = true)
Long currentStorageBinId,
@Schema(description = "Current operational status") OperationalStatus status,
@Schema(description = "Current battery level percentage", example = "72.3", nullable = true)
Double currentBatteryPercentage,
@Schema(description = "IDs of currently assigned transport orders", example = "[10, 11]")
List<Long> transportOrderIds) {}