메뉴 관리
카페테리아의 메뉴 탭은 고객이 handy.cafe/{slug}에서 보는 카탈로그를 만드는 곳입니다. 메뉴는 카테고리와 상품으로 구성됩니다. 상품에는 크기나 토핑 같은 선택을 위한 변형 그룹을 둘 수 있습니다.
구조
| 수준 | 용도 |
|---|---|
| 카테고리 | "핫 드링크"나 "버거"처럼 메뉴의 한 섹션입니다. 각 카테고리에는 아이콘과 정렬 순서가 있습니다. |
| 상품 | 카테고리 안에 있는 단일 주문 항목입니다. 이름, 설명, 사진, 가격, 부가세율, 준비 시간을 가집니다. |
| 변형 그룹 | 선택 사항입니다. 상품에 연결되는 선택 집합입니다. 예: "크기: 소, 중, 대". 각 변형은 추가 가격을 가집니다. |
카테고리
각 카테고리에는 다음 필드가 있습니다.
| 필드 | 의미 |
|---|---|
| 이름 | 고객 메뉴의 섹션 제목으로 표시됩니다. |
| 아이콘 | MDI(Material Design Icons) 이름입니다. 아이콘 선택기에서 고르세요. |
| 정렬 순서 | 정수입니다. 숫자가 낮을수록 먼저 표시됩니다. 드래그 또는 위/아래 이동 버튼으로 조정할 수 있습니다. |
| 활성 | 끄면 카테고리와 그 아래 모든 상품이 삭제되지 않고 고객 메뉴에서 숨겨집니다. |
카테고리 추가
- 카페테리아 > 메뉴를 엽니다.
- 카테고리 추가를 클릭합니다.
- 이름을 입력합니다.
- 아이콘 상자를 클릭하고 MDI 아이콘을 선택합니다. 선택기에는 검색 가능한 목록이 열립니다. "coffee", "burger", "pizza" 같은 키워드를 시도해 보세요.
- 저장합니다. 카테고리가 메뉴 편집기에 나타납니다.
카테고리 순서 바꾸기
카테고리 행의 핸들을 드래그해 이동합니다. 마우스를 놓는 즉시 새 위치가 저장됩니다. 위/아래 화살표를 사용해 더 정확하게 배치할 수도 있습니다.
소프트 삭제
연결된 상품이 있는 카테고리를 삭제하면 실제로 레코드를 제거하는 대신 비활성으로 표시됩니다. 이렇게 하면 원래 상품 ID를 참조하는 주문 내역을 보존할 수 있습니다. 복원하려면 관리자 UI에서 카테고리를 다시 활성화하세요.
상품
각 상품에는 다음 필드가 있습니다.
| 필드 | 의미 |
|---|---|
| 카테고리 | 상위 카테고리입니다. |
| 이름 | 고객에게 보입니다. |
| 설명 | 마크다운을 지원합니다. 고객이 상품을 탭하면 상품 상세 시트에 표시됩니다. |
| 재료 | 설명 아래에 짧게 표시되는 한 줄입니다. 알레르기 정보나 재료 강조에 사용할 수 있습니다. |
| 기본 가격 | 변형 적용 전 가격입니다. 최소 단위(예: 센트)로 저장되지만, 입력할 때는 정수 통화 단위로 넣습니다. |
| 부가세율 | 퍼센트입니다. 고객 영수증의 총액을 표시할 때 적용됩니다. |
| 단위 | 선택 사항입니다. "ml"이나 "g" 같은 레이블입니다. 가격 옆에 표시됩니다. |
| 사진 | 상품 이미지입니다. 모든 형식을 허용합니다. 빠른 로드를 위해 WebP, 2 MB 이하를 권장합니다. |
| 재고 추적 | 켜면 주문할 때마다 차감되는 재고 수량을 가집니다. |
| 재고 수량 | 현재 재고 수량입니다. 0이 되면 상품 주문은 실패하고 상품이 자동으로 숨겨집니다. |
| 활성 | 끄면 고객 메뉴에서 숨겨집니다. |
| 정렬 순서 | 카테고리 내 위치입니다. |
| 준비 시간 | 분 단위의 정적 대체 추정치입니다. 아래의 동적 준비 시간 섹션을 참고하세요. |
사진 업로드
- 상품을 엽니다.
- 사진 영역을 클릭합니다.
- 컴퓨터에서 이미지를 선택합니다. 업로드 엔드포인트는 모든 형식을 허용합니다.
- 서버가 파일을 처리하고, 자산 ID, MIME 타입, 체크섬을 저장한 뒤 URL을 반환합니다.
- 사진은 편집기와 고객 메뉴에 몇 초 안에 바로 표시됩니다.
기존 이미지를 클릭한 뒤 새 파일을 업로드하면 사진을 교체할 수 있습니다. 기존 파일은 새 파일로 대체됩니다.
설명에서 마크다운 사용
상품 설명은 마크다운을 지원합니다. 흔한 사용 예시는 다음과 같습니다.
**strong**을 사용한 굵은 강조- 여러 줄 설명을 위한 줄바꿈
- 재료나 조합을 위한 짧은 목록
상품 설명에서는 제목(H1~H6)을 사용하지 마세요. 고객 메뉴는 제한된 크기의 시트에 설명을 렌더링하므로 제목이 어색하게 보일 수 있습니다.
변형 그룹
변형은 가격이나 구성을 바꾸는 고객 선택을 담습니다. 하나의 상품에 여러 변형 그룹을 둘 수 있습니다. 예를 들어 같은 버거에 크기와 토핑을 둘 다 적용할 수 있습니다.
각 변형에는 다음 필드가 있습니다.
| 필드 | 의미 |
|---|---|
| 이름 | "크기"나 "추가 치즈" 같은 고객용 레이블입니다. |
| 가격 차이 | 이 변형을 선택했을 때 기본 가격에 추가되는 금액입니다. 0 또는 음수도 가능합니다. |
| 필수 | 켜면 고객이 장바구니에 담기 전에 이 그룹에서 최소 하나를 선택해야 합니다. |
| 정렬 순서 | 그룹 내 위치입니다. |
변형 그룹 만들기
- 상품을 엽니다.
- 변형 섹션까지 스크롤합니다.
- 변형 추가를 클릭합니다.
- 이름과 가격 차이를 입력합니다. 선택이 필수면 필수 항목을 켭니다.
- 저장합니다.
그룹의 각 옵션에 대해 반복합니다. 일반적인 "크기" 그룹은 세 줄로 구성됩니다. 소는 차이 0, 중은 +1.00, 대는 +2.00입니다.
동적 준비 시간
HandyCafe는 실제 주방 성능을 바탕으로 각 상품의 실시간 준비 시간 추정치를 계산할 수 있습니다. 이렇게 하면 고객 메뉴와 활성 주문에 표시되는 추정치 칩의 정확도가 향상됩니다.
| 설정 | 효과 |
|---|---|
| 정적 시간 | 상품에 저장된 값입니다. 동적 값을 계산할 충분한 기록이 없을 때 사용됩니다. |
| 동적 추정치 | 최근 30일의 주문 기록을 바탕으로 계산됩니다. 상품별 평균 준비 시간에 현재 대기열 길이에서 파생된 바쁜 정도 계수를 곱합니다. 배율은 1.0 |
비즈니스 프로필의 "메뉴에 준비 시간 표시" 설정은 고객에게 추정치 칩을 보여줄지 여부를 제어합니다. 직원은 항상 주문 대시보드에서 추정치를 볼 수 있습니다.
재고 추적
품절 상품을 팔지 않으려면 상품별로 재고 추적을 켜세요.
- 주문이 들어오면 재고 수량이 주문 수량만큼 감소합니다.
- 재고가 0이 되면 수량을 업데이트할 때까지 상품이 고객 메뉴에서 자동으로 숨겨집니다.
- 재입고하려면 상품을 편집하고 새 재고 수량을 입력합니다.
재고 추적을 사용하지 않는 상품은 무한 재고처럼 동작하며 자동으로 숨겨지지 않습니다.
카테고리 내 상품 순서 바꾸기
핸들을 드래그해 상품을 위아래로 이동합니다. 마우스를 놓는 즉시 새 정렬 순서가 저장됩니다. 고객 메뉴는 다음 메뉴 새로고침 때 새 순서를 반영합니다. 이 새로고침은 매 세션 로드마다 발생합니다.
팁
- 카테고리는 6개에서 10개 정도로 시작하세요. 카테고리가 너무 많으면 고객 메뉴를 둘러보는 속도가 느려집니다.
- 대비가 높고 조명이 좋은 사진을 사용하세요. 어둡거나 노이즈가 많은 사진은 주문 전환율을 떨어뜨립니다.
- 설명은 가능하면 120자 이하로 유지하세요. 설명이 길면 휴대폰에서 "장바구니에 담기" 버튼이 첫 화면에서 밀려납니다.
- 동적 추정치가 충분히 학습되기 전에는 정적 준비 시간을 현실적으로 설정하세요. 동적 시스템은 30일이 지나야 학습합니다. 그전에는 고객이 보는 값이 정적 시간입니다.
- 선택지가 많은 상품은 하나의 큰 목록으로 두기보다 두 개의 변형 그룹으로 나누세요. "크기"와 "우유"를 따로 두는 편이 "우유 포함 크기"보다 더 깔끔합니다.