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

import com.fasterxml.jackson.annotation.JsonInclude;

import java.util.List;

/**
 * 부스 폴리곤 — 홀 로컬 좌표계(미터). 서버는 이 좌표를 PostGIS polygon으로 저장/검증한다.
 *
 * @param boothId    부스 식별자(신규 저장 시 null 허용)
 * @param boothNo    부스 번호(예: "A-102")
 * @param type       부스 유형 assembled|independent|corner|island (나노바나나 BOOTH_TYPES 매핑)
 * @param polygon    외곽 폴리곤 좌표열 [[x,y], ...] (닫힌 링, 미터). 축은 홀 로컬 원점 기준
 * @param sizeM      [폭, 깊이] (미터)
 * @param heightM    장치물 최고 높이(미터) — 규정 HEIGHT_MAX 대상
 * @param floorLoadTPerM2 예상 바닥하중(t/㎡) — 규정 FLOOR_LOAD 대상
 * @param assignedCompanyName 배정 참가업체명(표시용). 내부 식별자·민감정보 미포함
 * @param premium    프리미엄 부스 여부
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public record BoothDto(
        String boothId,
        String boothNo,
        String type,
        List<List<Double>> polygon,
        List<Double> sizeM,
        Double heightM,
        Double floorLoadTPerM2,
        String assignedCompanyName,
        boolean premium
) {
}
