package com.ffii.fpsms.modules.pickOrder.web.models

data class LifecycleStage(
    val status: String,
    val label: String,
    val reached: Boolean,
    val timestamp: String?,
    val actor: String?,
    val actorId: Long?,
    val isCurrent: Boolean,
    val details: Map<String, String?> = emptyMap(),
)

data class DoLifecycleInfo(
    val doPickOrderId: Long?,
    val ticketNo: String?,
    val ticketStatus: String?,
    val storeId: String?,
    val shopName: String?,
    val truckLanceCode: String?,
    val deliveryNoteCode: String?,
    val deliveryOrderCode: String?,
    val loadingSequence: Int?,
    val stages: List<LifecycleStage>,
)

data class JoLifecycleInfo(
    val joPickOrderId: Long?,
    val jobOrderCode: String?,
    val matchStatus: String?,
    val matchQty: Int?,
    val matchBy: String?,
    val stages: List<LifecycleStage>,
)

data class PickOrderLifecycleResponse(
    val pickOrderId: Long,
    val pickOrderCode: String,
    val pickOrderType: String,
    val currentStatus: String,
    val targetDate: String?,
    val completeDate: String?,
    val consoCode: String?,
    val groupName: String?,
    val totalLines: Int?,
    val submittedLines: Int?,
    val stages: List<LifecycleStage>,
    val doLifecycle: DoLifecycleInfo?,
    val joLifecycle: JoLifecycleInfo?,
)
