import type { OrderId } from './begin-route';

/** 车载香氛单个香型。 */
export interface FragranceScent {
    /** 香型通道 ID，下发时使用此字段。 */
    channelId: string;
    /** 香型业务标识，与 currentScent 对应。 */
    id: string;
    /** 香型展示名称。 */
    name: string;
    /** 香调描述（可选，后端未下发时前端按 id 兜底）。 */
    desc?: string;
}

/** 车载香氛状态对象。 */
export interface CabinFragranceState {
    /** 香氛总开关状态。 */
    switchOn: boolean;
    /** 当前香型的 id（关闭时可为空）。 */
    currentScent?: string;
    /** 车端可用香型列表，空数组表示不支持香型选择。 */
    availableScents?: FragranceScent[];
}

/** 查询车载香氛状态响应对象。 */
export interface QueryCabinFragranceResponse {
    /** 香氛状态。 */
    fragrance?: CabinFragranceState;
}

/** 设置车载香氛请求。 */
export interface SetCabinFragrancePayload {
    /** 订单 ID。 */
    orderId: OrderId;
    /** 目标开关状态。 */
    switchOn: boolean;
    /** 目标香型通道 ID；switchOn 为 true 时必传，false 时可不传。 */
    channelId?: string;
}
