package com.zioinfo.kintex.module.m2.dto;

import com.fasterxml.jackson.annotation.JsonInclude;

import java.util.List;

/**
 * 플로어플랜 배치안 — 부스 폴리곤 집합 + 지표 요약(SCR-03/04).
 *
 * @param layoutId  배치안 식별자
 * @param eventId   행사 식별자
 * @param hallId    홀 식별자
 * @param version   배치안 버전(예: 3)
 * @param name      배치안 이름(예: "배치안 B")
 * @param status    상태 배지(draft/submitted/ai_review/approved/rejected) — design.md StatusBadge
 * @param booths    부스 목록
 * @param hall      홀 마스터 정보(치수·트렌치·비상구) — 캔버스 축척·오버레이 원천(계약 확장, NON_NULL)
 * @param summary   지표 요약
 * @param updatedAt 최종 수정 시각(ISO-8601)
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public record LayoutDto(
        String layoutId,
        String eventId,
        String hallId,
        int version,
        String name,
        String status,
        List<BoothDto> booths,
        HallInfo hall,
        LayoutSummary summary,
        String updatedAt
) {
}
