package com.zy.acs.manager.core.service; import com.zy.acs.manager.manager.entity.Guarantee; import java.time.LocalDateTime; /** * Runtime guarantee orchestration entry. */ public interface GuaranteeRuntimeService { /** * Lead time entrance: make sure enough vehicles can reach the target window. */ void prepare(Guarantee plan, LocalDateTime targetTime); /** * Lock stage: restrict non-essential dispatching for reserve vehicles. */ void lock(Guarantee plan, LocalDateTime targetTime); /** * Executed repeatedly during the guarantee window to keep SLA. */ void checkWindow(Guarantee plan, LocalDateTime targetTime); /** * Called once after the window ends to release state/records. */ void finish(Guarantee plan, LocalDateTime targetTime); }