sites 스키마
현장(건설 사이트) 본문 문서의 전체 스키마. 각 엔드포인트 문서에서 참조용으로 사용합니다.
저장 위치
상태 흐름
preparation: 현장 생성 직후 준비 단계 (기본값)activate: 활성화 상태. 출퇴근/배정/현장 변경 요청 처리 가능deactivate: 비활성화. pending 상태의 모든 요청(입사/출석/현장변경)이 자동 거절됨complete: 완료/종료. 모든 요청 자동 거절 + 미완결 출근 로그 삭제 + 모든 멤버 자동 퇴사 처리
문서 필드
| 필드 | 타입 | 설명 |
|---|---|---|
company_id |
string | 소속 회사 ID |
name |
string | 현장명 (같은 회사 내 유일) |
location |
string | 현장 주소/위치 |
status |
string | "preparation" | "activate" | "deactivate" | "complete" |
supervisor_UID |
string | 현장 감독자 UID (companies/{cid}/members 중 1명) |
supervisor_name |
string | 감독자 이름 (캐시) |
tags |
string[] | 현장 태그 배열 |
scale |
int | 현장 규모(연면적/층수 등 숫자 값) |
start_date |
timestamp | 공사 시작일 |
end_date |
timestamp | 공사 종료일 |
task_name_list |
object[]? | 작업 이름 + 기본 시작 시각 프리셋. 아래 task_name_list 참조 |
task_management_layout |
string[]? | 작업 관리 페이지 레이아웃 배열 (아래 Layout 항목 참조) |
created_at |
timestamp | 생성 시각 (서버 타임스탬프) |
create_UID |
string | 생성한 사용자 UID |
updated_at |
timestamp? | 정보 수정 시각 |
update_UID |
string? | 최근 수정자 UID |
task_name_list
[
{ "task_name": "A동 타설", "task_start_time": "08:00" },
{ "task_name": "B동 마감", "task_start_time": "13:00" }
]
| 필드 | 타입 | 설명 |
|---|---|---|
task_name |
string | 작업 이름 (같은 현장 내 중복 불가) |
task_start_time |
string | 기본 시작 시각 "HH:MM" |
Layout 항목
task_management_layout 배열에 들어갈 수 있는 허용 값:
"작업 개요"(필수)"일일 위험성 평가""근로자 의견""자재 반입 현황""폐기물 처리 현황""특이사항 메모""첨부파일"
관련 서브컬렉션
현장 본문 하위에 다음 서브컬렉션이 존재합니다:
| 경로 | 설명 |
|---|---|
members/{uid} |
현장 근로자 (workers) |
equipments/{equipment_id} |
현장 장비 |
supervisor/{uid} |
현장 감독자 (owner, admin, 감독자) |
attendance_logs/{log_id} |
근로자 출퇴근 로그 |
attendance_requests/{request_id} |
근로자 출퇴근 요청 |
equipment_attendance_logs/{log_id} |
장비 출퇴근 로그 |
equipment_attendance_requests/{request_id} |
장비 출퇴근 요청 |
membership_requests/{request_id} |
현장 입사 요청 |
change_requests/{request_id} |
근로자 현장 변경 요청 |
equipment_assign_requests/{request_id} |
장비 배정 요청 |
equipment_change_requests/{request_id} |
장비 현장 변경 요청 |
tasks/{task_id} |
일별 작업 |
waste/{waste_id} |
폐기물 품목 마스터 |
material/{material_id} |
자재 품목 마스터 |
files/{file_id} |
현장 관련 파일 메타 |
folders/{folder_id} |
드라이브 폴더 |
labor_ledger/{YYYYMM} |
노임대장 (월별) |
dashboard/{YYYYMM} |
작업 대시보드 (월별) |
task_summary/{YYYYMM} |
자재/폐기물 사용량 월별 요약 |
suspension_works/{id} |
작업 중지권 |
예시 문서 (activate 상태)
{
"company_id": "company_abc",
"name": "A현장",
"location": "서울시 강남구 테헤란로 123",
"status": "activate",
"supervisor_UID": "uid_supervisor",
"supervisor_name": "김감독",
"tags": ["아파트", "신축"],
"scale": 1500,
"start_date": "2026-01-01T00:00:00Z",
"end_date": "2026-12-31T00:00:00Z",
"task_name_list": [
{ "task_name": "A동 타설", "task_start_time": "08:00" }
],
"task_management_layout": ["작업 개요", "일일 위험성 평가", "첨부파일"],
"created_at": "2025-12-20T10:00:00Z",
"create_UID": "uid_owner"
}