기능
카페와 레스토랑에 필요한 모든 것
QR 코드 생성부터 실시간 주문 추적까지, AI 콘텐츠부터 다국어 메뉴까지 — Thmenu는 성장하는 비즈니스를 위한 완전한 디지털 솔루션입니다.
- 01
테이블마다 QR 메뉴
테이블마다 고유한 QR 코드가 있어 브라우저에서 메뉴가 열립니다 — 손님은 앱도 계정도 필요 없습니다.
- 02
31개 언어
손님 휴대폰의 언어가 지원되는 31개 언어 중 하나라면 메뉴가 그 언어로 열립니다. 메뉴 이름과 설명은 백그라운드에서 자동으로 번역되며, 어떤 번역이든 직접 수정할 수 있습니다.
- 03
테이블 주문
손님이 테이블에서 주문하면 주문이 대시보드에 실시간으로 표시되고, 직원에게는 알림음과 푸시 알림이 전송됩니다.
- 04
메뉴 분석
각 메뉴가 몇 번 열리고 장바구니에 담기고 주문되었는지, 일별 주문과 매출, 그리고 가장 바쁜 시간대를 보여 주는 히트맵을 확인하세요.
- 05
AI 메뉴 정보
메뉴 이름을 입력하면 AI가 저장 전에 확인하실 수 있도록 설명, 재료, 알레르기 유발 성분을 제안합니다. 이후 전체 메뉴를 제공하는 모든 언어로 번역할 수 있습니다.
- 06
나만의 색상과 레이아웃
직접 고른 색상이나 프리셋을 선택하고, 원하는 카드 스타일로 메뉴를 그리드, 리스트 또는 컴팩트 리스트로 보여 주세요.
- 07
기본 내장 보안
주문에 대해 Tor 또는 VPN 사용, 위치 위조 징후, 갑작스러운 주문 급증 여부를 확인하고, 위험한 주문은 직원에게 표시합니다. 주문에는 속도 제한이 적용되며, 같은 주문을 다시 제출해도 두 번째 주문이 생성되지 않습니다.
- 08
캠페인과 프로모션 코드
특정 기간이나 해피아워 같은 매주 정해진 시간대에 메뉴에 프로모션 배너를 표시하고, 시작일과 종료일이 있는 할인 코드를 제공하세요.
- 09
홈 화면에 추가
손님은 iOS와 Android에서 메뉴를 홈 화면에 추가할 수 있습니다. 최근 하루 이내에 휴대폰에서 연 메뉴는 연결이 없어도 계속 읽을 수 있으며, 오프라인 상태에서 한 주문은 연결이 복구되면 전송됩니다.
- 10
글로벌 속도 — Cloudflare CDN
Cloudflare 글로벌 엣지에서 제공되어 손님과 가까운 노드에서 로드됩니다. 실제 속도는 손님의 연결 환경에 따라 달라집니다.
- 11
손님 평점
테이블 계산이 마감되면 손님이 방문을 평가할 수 있으며, 모든 평점은 대시보드에 표시됩니다.
- 12
디지털 웨이터 호출 & 계산서 요청
손님은 테이블에서 웨이터를 부르거나 계산서를 요청할 수 있으며, 직원은 패널에서 각 호출을 확인하고 종료합니다.
- 13
직원 역할
웨이터, 계산원, 주방 직원, 매니저용 역할 프리셋이 있으며 각각 고유한 권한을 가집니다. 직원은 주방 디스플레이와 직원용 워치 앱에서 PIN으로 로그인하며, 주요 변경 사항은 기록됩니다.
- 14
수동 주문 입력
대시보드에서 테이블, 포장, 전화 주문을 입력하세요. 주문을 입력할 때마다 인쇄 가능한 영수증이 열립니다.
- 15
접근성 지원
모든 메뉴에 내장된 글꼴 크기 조절 및 고대비 모드. 시각 장애가 있는 고객도 화면을 자신의 필요에 맞게 조정할 수 있습니다 — 별도 설정이 필요 없습니다.
- 16
종이 없는 메뉴
가격이나 메뉴 항목을 언제든 바꾸면 메뉴가 업데이트됩니다. 인쇄된 QR 코드는 그대로이므로 다시 인쇄할 것이 없습니다.
- 17
다양한 결제 수단
Stripe를 이용할 수 있는 국가에서는 손님이 본인 휴대폰으로 Stripe를 통해 카드 결제를 할 수 있으며, 지원되는 기기에서는 Apple Pay와 Google Pay도 사용할 수 있습니다.
- 18
셀프 주문 키오스크
태블릿을 카운터의 전체 화면 셀프서비스 메뉴로 바꾸세요. 손님이 메뉴를 둘러보고 포장 주문을 하며, 손님이 바뀔 때마다 화면이 초기화됩니다.
- 19
로열티 포인트
회원은 주문할 때마다 포인트를 적립하고 적립 속도가 더 빠른 등급으로 올라가며, 각 회원의 잔액은 대시보드에서 확인하고 조정할 수 있습니다.
- 20
예약 & 웨이팅 리스트
예약을 받고 — 이메일 주소를 남긴 손님은 예약 확인과 업데이트를 이메일로 받습니다 — 예약 없이 방문한 손님의 대기 명단을 대시보드에서 관리하세요.
전체 목록
모든 기능225
Thmenu의 완벽한 엔드투엔드 기능 — 모든 카테고리, 숨김 없이.
설치 가능한 앱 (PWA)4
- 홈 화면에 설치 (iOS 및 Android) — 관리자 대시보드와 손님용 메뉴를 브라우저에서 앱으로 설치할 수 있습니다. 앱 스토어도, 다운로드도 필요 없습니다.
- 오프라인 작동 — 이미 열어 둔 메뉴는 연결이 없어도 계속 작동합니다.
- 푸시 알림 — 새 주문, 직원 호출, 계산서 요청이 설치된 앱에 푸시 알림으로 도착합니다.
- 전체 화면 독립 실행 모드 — 설치 후에는 브라우저 UI 없이 네이티브 앱처럼 실행됩니다.
알림 및 푸시10
- Web Push (VAPID, RFC 8291) — 관리자 브라우저 및 고객(주문 준비 완료)을 위한 ES256 VAPID 서명 Web Push, urgency:high, 약 10분 TTL
- 주문 접수 → 점주 — 고객 주문 POST 성공 시 발화("N번 테이블 신규 주문, 합계 $X"), 네이티브 + 웹 전반
- 주문 준비 완료 → 점주 — 주문이 'ready'로 전환될 때 발화, 동일 주문 업데이트 자동 통합
- 주문 준비 완료 → 고객 (Web Push) — 고객 주문이 준비 완료되면 고객 측 VAPID 푸시, 주문 상세 페이지에서 옵트인
- 주문 취소 → 점주 — 고객이 90초 이내에 취소할 때 발화
- 직원 호출 → 점주/직원 — 고객의 "직원 호출"이 스마트워치 + 직원 폰 + 관리자 웹으로 테이블별 푸시를 햅틱 어휘와 함께 발화
- 계산서 요청 → 점주/직원 — 고객의 "계산서 요청"이 스마트워치, 폰, 웹으로 테이블별 푸시를 발화
- 재고 소진 예측 → 점주 — AI가 예측한 3일 내 재고 소진 알림, 신뢰도 ≥ 50%일 때 레스토랑당 하루 1회
- 예약 생성 → 점주 — 신규 예약 시 점주 스마트워치/폰/웹으로 레스토랑별 푸시
- 실시간 SSE 알림 → 관리자 웹 — 5초 단위 D1 폴링으로 대기 주문 수, 직원 호출, 계산서 요청, 준비 완료 주문을 관리자에게 푸시
주문, KDS 및 주방23
- QR 메뉴 (핵심 고객 메뉴) — QR 또는 직접 URL을 통한 공개용 디지털 메뉴, 카테고리, 상품, 이미지 포함
- 주문 장바구니 및 결제 — 결제 전 옵션과 수량으로 상품을 선택하는 장바구니
- 고객 주문 (5단계 라이프사이클) — 주문 → 대기 → 확인 → 준비 → 준비 완료 → 제공, 실시간 상태 업데이트, 서버 측 정본
- 주문 옵션 및 커스터마이징 — 상품별 옵션 그룹(사이즈, 토핑, 추가), 옵션별 가격 차이를 JSON 스냅샷으로 저장
- 상품 메모 (특별 요청) — 항목별 자유 텍스트 메모("양파 빼주세요")가 KDS 영수증에 표시
- ETA / 주문 카운트다운 — 고객에게 표시되는 25분 준비 타이머, 'preparing'에서 'ready'까지(target_ready_at), 30초 폴링, 완료 시 녹색 펄스
- 주문 팁 조정 (결제 후) — 고객이 주문 후 팁을 추가/수정, 서버에서 tip_max_percent(기본 50%)로 상한 적용
- 주문 취소 (90초 시간 창) — 고객이 90초 이내에 대기 주문을 취소, 원자적 경쟁 검사, 적립 취소, 섀도밴 포함
- 주문 환불 (누적 추적) — 관리자 부분/전체 환불을 refunded_amount_cents에 누적 추적, OCC 경쟁 가드(409)
- 다중 통화 및 세금 내역 — 세율별 세금 내역 JSON이 포함된 주문 합계, 세금 포함 vs 별도, 통화 스냅샷
- 주문 공유 (Web Share API) — 고객이 네이티브 OS 공유 시트나 클립보드로 다른 폰에 실시간 주문 상태 공유
- KDS (주방 디스플레이 시스템) — 실시간 SSE/폴링 주문 큐, 상태 전환(pending → confirmed → preparing → ready → served)
- KDS 스테이션 및 PIN 로그인 — 레스토랑당 다중 KDS 스테이션, 각각 4~6자리 PIN 및 스테이션별 카테고리 필터링
- KDS 주문 상태 워크플로 (OCC) — `AND status=<prev>` 경쟁 검사를 통한 원자적 주방 전환, 선택적 상태별 버튼 라벨
- 주문 목록 및 상세 — 상태별로 묶인 전체 주문, 항목/합계/고객 드릴다운, 수동 부분 환불, 팁 조정
- 주문 입력 (수동 POS) — 직원이 주문 생성: 테이블 → 카테고리 → 상품 → 수량 → 확인, 멱등성 키 POST, 전화/현금 처리
- 바 탭 (세션 기반 탭 추적) — 여러 주문에 걸친 고객별 상시 탭, 실행 잔액 및 항목별 추적
- ESC/POS 감열 프린터 지원 — 영수증용 CP857 터키어 인코딩이 포함된 원시 ESC/POS 바이트 빌더(32/42/48/56자 폭)
- 감열 프린터 브리지 (Web Serial/USB/Bluetooth) — Web Serial, USB, Bluetooth를 통한 ESC/POS 통신용 브라우저 전송 계층
- 프린터 설정 및 페어링 UI — 모델/폭/인코딩 선택과 함께 프린터를 검색, 페어링, 테스트
- 주방 영수증 티켓 — 전용 ESC/POS 주방 출력물: 레스토랑, 테이블, 항목, 수량, 메모, 옵션, 경과 시간
- 고객 영수증 / 계산서 티켓 — 고객용 감열 영수증: 레스토랑, 테이블, 항목, 단가, 합계, 결제 수단, 타임스탬프
- 품절 시 자동 86 처리 — 주문 시 원자적 재고 차감으로 재고 ≤ 0인 상품을 비공개 처리하고 점주 알림 푸시
키오스크2
- 키오스크 모드 (셀프서비스) — 어떤 태블릿에서나 쓰는 전체 화면 키오스크: 탭하여 시작하는 화면, 실시간 메뉴와 장바구니, 60초 동안 사용이 없으면 초기화; 주문은 포장 주문으로 접수
- 키오스크 기기 등록 — 개발자/연동 화면에서 키오스크 기기를 등록하고 관리
결제2
- Stripe Checkout 및 Payment Intents — 고객 결제 세션 + 에이전트 주문용 payment intent, SCA/3D-Secure, 메타데이터 귀속, 환불
- Stripe Connect — 레스토랑 정산 및 수수료 분배(레스토랑은 소계 몫 유지, 플랫폼 수수료), 웹훅 기반
AI 스위트29
- AI 상품 설명 생성기 — LLaMA 3.1 8B가 이름/카테고리/가격으로 2문장 메뉴 설명을 생성, 입력값 정제 포함
- AI 상품 상세 자동 입력 — 영양(kcal/지방/탄수화물/단백질/소금), 재료, EU-14 알레르겐 허용 목록을 7일 KV 캐시와 함께 채움
- AI 메뉴 생성기 (일괄) — 한 번의 프롬프트로 전체 메뉴 구조(카테고리, 상품, 설명, 추천 가격, 알레르겐, 분량) 생성
- AI 메뉴 정리 — 중복/비활성 상품, 일관성 없는 명칭, 오타, 저성과 항목을 정리 후보로 감지
- AI 가격 제안 — 30일 단위 판매/매출을 익명화된 타 레스토랑 카테고리 중앙값과 비교하여 제안 가격 반환
- AI 레시피 제안 — 보유 재료, 요리 종류, 식이 트렌드로 계절/테마 레시피를 알레르겐 태그와 함께 제안
- AI 일일 특선 생성기 — 재료, 계절성, 트렌드로 일간/주간 특선 + 마케팅 문구를 추천 가격과 함께 생성
- AI 교대 일정 최적화기 — 과거 물량, 피크 시간, 예약, 가용성, 인건비로 직원 교대 패턴 제안
- AI 메뉴 번역 — 이름 + 설명을 31개 언어로 맥락 인식 음식/음료 번역, HTML 마크업 보존
- AI 리뷰 답변 생성기 — 손님 리뷰에 대한 점주 답변 초안을 사과 톤을 포함한 선택 가능한 톤으로 작성; 점주가 수정해 발송
- AI 소개글 생성기 — 요리 종류, 위치, 전문 분야, 창업 스토리로 200단어 SEO 최적화 레스토랑 소개 생성
- AI 인사이트 (일간/주간/월간) — 전년/전주 대비 매출/AOV/인기 상품/퍼널을 비교하는 cron 생성 서술형 보고서(3~5문단)
- AI 메뉴 챗 (고객용) — 자연어 메뉴 검색("채식 파스타?", "글루텐 프리는?")으로 3~5개 일치 상품 반환
- AI 상품 추천 — 메뉴 맥락 + 장바구니 내용 + 제외 목록을 사용해 기본 항목에 연계된 3~5개 상품 제안
- AI 스마트 업셀 — upsell_type으로 분류된 2~4개 보완 항목(페어링, 추가, 디저트, 음료, 전채)
- AI 음성 주문 (음성-장바구니) — Web Speech API → LLaMA가 의도 분석 → 상품 매칭 → 모호성 플래그와 함께 장바구니 항목 반환, 현지화
- AI 와인/음료 페어링 — 풍미, 요리 종류, 와인 리스트로 주문 요리의 페어링 제안, 가격 등급 포함
- AI 요리 제안 (고객 양식) — 고객이 요리 아이디어(이름, 설명, 요리 종류 힌트)를 제출, 관리자가 상태별로 분류
- AI 콘텐츠 정리 (일괄 모더레이션) — 비속어/스팸에 대한 고객 피드백 일괄 검토, 일괄 삭제 + 플래그
- 감성 분석 (피드백/리뷰) — cron이 손님 피드백을 긍정/중립/부정/심각으로 테마와 함께 분류
- MCP: start_order_session — agent_session_id + customer_confirm_url(30분 TTL) 발급, 레스토랑의 agent_enabled 플래그 확인
- MCP: place_order — 주문 + 항목 원자적 삽입, 상품 검증, 통화 스냅샷, 재고 차감, 0이면 자동 86 처리
- MCP: cancel_order — 소유권 + 세션 TTL 확인, OCC 경쟁 가드, 적립 취소와 함께 원자적 취소
- MCP: get_order_status — 상태 + ETA + 항목 폴링, 30초 캐시, scope orders:read
- MCP: request_bill — bill_request 삽입, 관리자 푸시 트리거, 계산서 분할 UI용 합계 사전 입력 가능
- MCP: waiter_call — waiter_call 삽입, 진동 어휘와 함께 관리자 + 스마트워치 푸시 트리거, 선택적 메모
- MCP: get_restaurant_menu — 공개 메뉴 스키마(스코프 불필요), 카테고리 + 상품 + 가격 + 알레르겐 반환
- MCP: check_loyalty — 적립 잔액 + 등급 + 다음 등급 임계값 반환, scope loyalty:read
- MCP: apply_promo — 프로모션 할인 원자적 예약/사용, 최대 사용 + 고객당 한도 확인, scope orders:write
마케팅 및 적립22
- 이메일 캠페인 — 상태 추적(draft/queued/sending/sent/failed) 및 전송 기능이 포함된 구독자 목록 대상 HTML 이메일 발송
- 이메일 템플릿 — 맞춤 발신자명 및 회신 주소가 포함된 재사용 가능한 브랜드 HTML 템플릿
- 이메일 구독자 — 상태(subscribed/unsubscribed/bounced/complained), 출처 추적, 구독자별 정보가 포함된 구독자 목록
- 이메일 드립 시퀀스 — 트리거 기반 다단계 라이프사이클 이메일(signup/first_order/birthday/reservation_complete, Day-1/7/30)
- 이메일 뉴스레터 가입 + 구독 취소 — 관리자 구성 목록과 원클릭 구독 취소가 포함된 결제 단계 이메일 수집
- 프로모션 배너 캠페인 — 맞춤 색상, 배지 텍스트, 이미지, 기간, 정렬 순서가 포함된 메뉴 추천 배너
- 공지 (메뉴 내 배너) — 맞춤 색상/아이콘/텍스트 및 예약된 기간이 포함된 메뉴 내 고정 배너("해피 아워 5-7pm")
- 프로모 코드 — 비율/정액 할인, 최소 주문 금액, 사용 상한, 고객당 사용 한도가 포함된 관리자 생성 코드
- 프로모 코드 고객 적용 — 서버 측 검증, 사용 상한 적용, 최소 지출 확인, IP별 검증이 포함된 결제 단계 적용
- 적립 프로그램 (적립 + 사용) — 주문당 포인트와 할인/리워드 사용, 원자적 잔액 검사 가드, 리워드 재고 관리
- 적립 가입 — 등급별 적립률 및 방문 이력이 포함된 고객 이메일/전화 계정 생성
- 적립 등급 — 지출/방문 임계값에 따른 Bronze/Silver/Gold/Platinum 분류, 등급별 적립률 및 사용
- 적립 등급 자동화 — 일일 cron이 누적 90일 지출에 따라 등급을 자동 승급, 보너스 부스트 및 적립 할인 적용
- 적립 포인트 만료 — 12개월 만료, 11:00 UTC 일일 처리로 상쇄 항목 기록, 잔액 차감, 알림
- 적립 관리자 조정 — 감사 추적을 위한 선택적 관리자 메모가 포함된 수동 포인트 증감(양/음)
- 적립 회원 목록 — 모든 회원의 관리자 뷰: 이메일/전화/이름, 포인트 잔액, 누적 포인트/지출, 방문 수, 최근 방문
- 적립 지갑 통계 — 누적 포인트, 잔액, 등급, 기간 내 적립, 사용 가능한 리워드 재고를 보여주는 고객 지갑
- 마케팅 AI (콘텐츠 + 세분화) — 소셜 게시물, 이메일 템플릿, 프로모 문구의 AI 생성 및 고객 세분화/캠페인
- 자동 스포트라이트 — 월요일 cron이 재고 부족 항목을 추천 상태로 자동 승격하여 낭비를 줄이고 재고 소진
- 일일 특선 — "오늘의 특선" 배지와 자동 순환이 포함된 AI 제안 또는 수동 기간 한정 특선
- 상품 추천 플래그 — 고객 메뉴에서 시각적으로 강조되는 메뉴 항목 강조/홍보용 수동 플래그
- 상품 좋아요 / 위시리스트 — localStorage를 통한 고객의 선호 요리 북마크, 이메일 프로필을 통한 레스토랑 간 연계
예약 / 대기열10
- 예약 + 예약 캘린더 — 인원, 게스트 이름/이메일/전화, 메모가 포함된 고객 날짜/시간대 예약, 관리자 일별 캘린더
- 예약 관리자 큐 — 상태 전환(pending → confirmed → seated/no-show/completed), 정렬 가능한 예정/이력 뷰
- 예약 취소 (고객) — 확인 코드 링크를 통한 취소, 원자적 경쟁 검사(status='pending')
- 예약 확인 코드 — 참조, 상태 확인, 취소를 위한 예약별 고유 코드
- 예약 iCalendar 내보내기 — 캘린더 가져오기를 위한 예약 상세 포함 고객 .ics 내보내기
- 예약 노쇼 추적 — 정책 시행을 위해 관리자가 노쇼 표시
- 예약 인원 상한 — 예약 시 적용되는 레스토랑별 최대 인원 수(기본 50)
- 활성 슬롯 중복 제거 인덱스 — (레스토랑, 테이블, 시간대)당 하나의 대기/확정 예약을 강제하는 부분 UNIQUE 인덱스
- 테이블 세션 (QR 참여, 1시간 TTL) — 여러 고객이 동일 테이블 QR을 스캔하여 세션 구성(session_token, join_code, host_device_id), 호스트
- 대기열 관리 — 셀프서비스 대기열 참여(인원, 전화, 메모), 관리자 상태 전환(waiting → notified →)
분석 및 BI11
- 분석 대시보드 — 실시간 KPI 카드(24시간 매출, 주문 수, AOV, 완료율), 30일 매출 추이, 시간별 히트맵
- 주문 분석 — 주문량, 매출, AOV, 결제 수단별 내역, 환불 추적, 누적 환불 원장, 취소
- 메뉴 ABC (파레토) 분석 — 30일 이력으로 상품을 A(상위 약 80% 매출) / B / C로 분류, 누적 매출 비중, 순위
- 메뉴 건전성 점수 — 설정 검증기: 이미지 유무, 설명 완성도, 알레르겐 커버리지, 가격 일관성, 추천
- 주문 히트맵 — 피크와 한산한 시간대를 식별하기 위한 시간대 × 요일별 주문량 시각화
- AI 고객 인사이트 — 일일 서술(전일/전주 지표, 이탈 위험 고객, 최고 적립 회원, 3개 액션 CTA) + 주간 심층 분석
- 매출 목표 / KPI 타깃 — 진행 시각화 및 편차 분석이 포함된 관리자 설정 일/주/월 매출/주문/고객 목표
- 인기 시간 히트맵 (공개 API) — 고객 의사결정을 위해 시간대별 레스토랑 인기를 노출하는 공개 엔드포인트
- Z-report (영업 종료 정산) — 편차 감지, 환불 요약, 대기 항목, 팁 컬럼이 포함된 영업 종료 현금 및 카드 합계
- 세금 보고서 내보내기 — 월간/분기별 손익: 매출, 징수 세금, 환불, 순 과세 소득, 회계사용 다운로드 가능 CSV
- COGS 추적 — 자동 마진 계산 및 월간 손익 보고가 포함된 상품 수준 매출원가, 레시피 연계
직원 및 운영14
- 직원 관리 (역할 + 권한) — 세분화된 권한 게이트(view_orders)가 포함된 owner/admin/manager/kitchen/server/cashier/KDS 역할
- 직원 PIN 인증 — KDS/홀 직원용 4~6자리 PIN 로그인, PBKDF2 20만 회 해싱, 자격증명별 16바이트 솔트, 원자적 D1
- 근태 (출퇴근 기록) — 교대 시간, 휴게, 인건비 계산, 초과근무 자동 플래그, KDS 토큰이 포함된 PIN 기반 출퇴근
- 교대 일정 — 직원 배정, 기간 일정, 레스토랑별 시간대가 포함된 반복/일회성 교대 캘린더
- 교대 인수인계 — 확인이 포함된 구조화된 교대 간 메모(미처리 주문, 이슈, 사건, 재고 메모)
- 팁 풀 / 서비스 차지 — 직원별 분배 규칙, 역할/교대 기반 몫, 수동 재정의가 포함된 일일 팁 집계
- 직원 감사 로그 — 직원 행동(로그인, PIN/비밀번호 변경, 권한 변경, 환불)의 24개월 롤링 보관
- 인박스 (통합 알림 피드) — 직원 호출, 계산서 요청, 재고 부족, 리뷰, 예약, 알레르겐 사건, 교대의 5초 폴링
- 직원 호출 (벨 시스템) — 고객의 "직원 호출" 버튼이 waiter_calls 레코드를 생성하고 직원 워치 + 관리자 웹으로 푸시
- 직원 호출 확인 — 직원이 대시보드나 스마트워치에서 응답 시간 추적과 함께 호출을 조회/우선순위 지정/확인
- 계산서 요청 (adisyon) — 고객의 "계산서 요청"이 종료 상태 머신과 함께 bill_requests 레코드를 생성, 계산서 잠금 시 신규 차단
- 계산서 요청 확인 — 직원이 대시보드나 스마트워치에서 수령 및 완료 확인
- 활동 피드 — 모든 행동(주문 생성, 환불, 직원 로그인, 메뉴 편집)의 실시간 피드, 검색 및 필터 가능
- 영업시간 + 휴무 모드 — 영업시간 외 주문을 비활성화하는 요일별 영업시간(휴게 포함), 휴무 모드 토글
메뉴, 재고 및 가격15
- 메뉴 편집기 (상품/카테고리/옵션) — 전체 메뉴 CRUD: 항목 생성/편집/삭제, CSV 일괄 재입고, 알레르겐 태깅, 세율 재정의, AI 영양
- 메뉴 카테고리 (계층형) — 드래그 재정렬 및 선택적 상위 중첩이 포함된 상품 그룹(전채/메인/디저트/음료)
- 상품 관리 (CRUD) — 전체 상품 라이프사이클: 이름, 설명, 가격, 이미지, 가용성, 준비 시간, 알레르겐, 재료
- 상품 레시피 편집기 + COGS — 단위당 COGS 및 마진 % 계산이 포함된 레시피 재료 목록
- 상품 일괄 가져오기/내보내기
- 상품 일괄 가격 업데이트 — 적용 전 미리보기와 함께 여러 상품에 비율 인상/인하 적용
- 상품 재입고 추적 — 재고 정산을 위해 수량 및 타임스탬프와 함께 수동 재입고 기록
- 상품 갤러리 (다중 이미지) — 갤러리 뷰어가 포함된 여러 상품 사진(각도, 재료, 준비 모습) 업로드, 기기 내
- 영양 정보 (AI + 수동) — AI 또는 수동으로 채운 칼로리, 영양소, 알레르겐, 항목별 세율 포함
- 알레르겐 추적 + 고객 경고 — 상품의 EU-14 알레르겐 목록, 고객 알레르기 입력 시 장바구니 경고 표시, 사건 로그
- 재고 관리 — ≤ 0에서 자동 86 처리, 점주 알림, 가용성 상태가 포함된 상품별 재고 추적
- 재고 이동 원장 — 사유 코드가 포함된 모든 재고 조정(정산, 이행, 폐기, 변질, 이동)의 상세 로그
- 재고 예측 분석 및 재주문 — AI 14일 재고 소진 예측(소진율 + 신뢰도), 소진까지 < 3일일 때 알림
- COGS 야간 갱신 — 02:30 UTC 레시피에서 상품 COGS 재계산, 마진 하락 > 10% 감지 및 관리자 알림 표시
- 세금 설정 및 세율 — 상품별 재정의 및 레스토랑 기본값, 세금 포함 vs 별도 토글이 포함된 다중 세율 구성
고객 경험 / PWA / i18n14
- PWA (설치 가능, 오프라인 우선) — Service Worker 오프라인 지원, 네트워크 우선 변경이 포함된 설치 가능한 고객 메뉴 + 관리자 대시보드
- 백그라운드 동기화 (오프라인 큐) — 오프라인에서 큐에 담긴 주문/피드백을 재연결 시 Service Worker가 재전송, 오프라인 표시기 포함
- 현지화 (31개 언어 + RTL) — TR/EN/DE/FR/ES/IT/PT/RU/AR/HE/FA/ZH/JA/KO/NL/PL/RO/EL 등, 아랍어/히브리어 RTL 미러링
- 실시간 통화 변환 — 실시간 통화 전환(EUR/USD/GBP/SAR/AED) — 관광객이 자국 통화로 가격 확인
- 다크 모드 — 시스템 테마 감지 + localStorage에 유지되는 수동 토글
- 접근성 (WCAG 2.1 AA) — Aria 라벨, 시맨틱 HTML, 키보드 탐색, 포커스 표시, 44×44 터치 타깃
- 메뉴 테마 편집기 — 메뉴와 웹 전반에 적용되는 색상 선택기, 폰트 선택, 로고/커버, 레이아웃 토글(그리드 vs 리스트)
- 갤러리 / 레스토랑 이미지 — 메뉴 헤더 및 랜딩 페이지를 위한 캡션이 포함된 인테리어/요리 갤러리 사진 업로드
- 소셜 링크 관리 — safeHref 검증이 포함된 메뉴 푸터의 구성 가능한 Instagram/TikTok/Facebook/LinkedIn 링크
- Wi-Fi 정보 표시 — 메뉴 푸터에 표시되는 게스트 Wi-Fi SSID + 비밀번호
- 피드백 / NPS (주문 후) — 제공 후 5★ + 카테고리 + 280자 메시지, 주문당 1회 중복 제거, 엔티티 인코딩, IP별 제한
- 피드백 관리자 대시보드 — 감성 칩, 기간 및 출처 필터, 심각 알림 푸시가 포함된 모든 피드백
- 요리 제안 분류 — 상태 및 관리자 메모와 함께 관리자 분류 대기열에 담긴 고객 제출 요리 아이디어
- 고객 Web Push 구독 — 주문 상세로 딥링크되는 주문 준비/취소 알림, 구독 유지
고객 CRM4
- 고객 목록 / CRM — 적립 회원 + 예약 + 피드백을 검색 가능한 연락처 목록으로 집계하는 대시보드, 상세 포함
- CRM 연락처 정보 (중복 제거) — 주문, 예약, 적립, 피드백 전반에서 중복 제거된 통합 이메일/전화 연락처 저장
- CRM 윈백 후보 — 60일 이상 방문이 없는 고객을 재참여를 위한 이탈 위험으로 플래그
- CRM 태깅 — 세분화를 위한 임의 태그(VIP/단골/일회성)
자동화5
- 일일 운영 요약 이메일 — 레스토랑별 시간대 옵트인 일일 이메일: 매출, 주문, 팁, 인기 상품, 피드백 종합, 신규
- 재고 부족 일일 요약 이메일 — stock_qty ≤ 임계값인 상품을 나열하는 Resend HTML 이메일, 09:00 UTC, 멱등성 보장
- 재료 재주문 알림 — 사용 속도 기반 수량 및 공급업체 링크가 포함된 재주문 필요 상품 일일 이메일, 09:30 UTC
- 백업 (주간) + 검증 (일간) — 일요일 02:00 UTC 모든 D1 DB의 AES-256-GCM 스냅샷을 R2로(PII 테이블 제외), 일일 05:00 UTC 포함
- GDPR/KVKK 삭제 처리 — 삭제 테이블 허용 목록을 통해 30일 유예 기간이 지난 계정을 일일 14:00 UTC 하드 삭제
제휴사 프로그램30
- 제휴사 프로그램 (Phase 1~3) — 추천 시스템: 가입, 수수료 추적, 정산, 1099, 이상 탐지, web-affiliate 전반
- 제휴사 가입 (OTP + Turnstile) — 안티봇 Turnstile, IP별 24시간 속도 제한(3/일), 일일 솔트 해시가 포함된 이메일/비밀번호 가입
- OTP 인증 — 쿠키 또는 헤더를 통한 워커 관리 임시 OTP(5분 TTL, 스코프 한정: payout_request/balance_check/kyc_approve)
- 제휴사 대시보드 (KPI 카드) — 총 적립 / 대기 / 사용 가능 / 지급 잔액, 수수료율, 등급 + 추천 코드(복사), 활성
- 수익 이력 및 내역 — 월별 수익 막대 차트, 익명화된 추천 레스토랑 목록, 상태/기간별 필터링된 수익
- 정산 요청 흐름 — 15일 쿨다운 AND 월간 상한(기본 2/월)을 원자적으로 검증하는 OTP 게이트 요청(최소 $50)
- Wise 정산 — 슈퍼 관리자 승인으로 Wise 견적/수취인/송금 생성, 웹훅이 pending → 추적
- 자금 이동 저널 (감사 원장) — 모든 잔액 변동(commission_released, payout_requested/settled, dormancy_forfeit)의 불변 원장
- 정산 정보 KYC (암호화) — 국가, 미국인 플래그, 세금 양식, Wise 수취인 이메일, 법적 주소, 수혜자 이름을 저장 시 암호화
- KYC 문서 업로드 — W-9/W-8BEN/세금 증명/신분증/IBAN 증명 업로드(5MB, JPEG/PNG/HEIC/PDF), base64 + pgcrypto 암호화, iOS/Android
- 정산 경로 (Wise/SEPA/ACH/SWIFT) — IBAN + SWIFT/BIC + ACH 라우팅 + 세금 ID 수집이 포함된 네 가지 정산 경로
- 1099-NEC 임계값 알림 (IRS $600) — 연간 $600 이상 미국 제휴사를 1099-NEC 발급 대상으로 플래그하는 일일 13:00 UTC 스캔, 멱등성
- 1099 신고 상태 머신 — 슈퍼 관리자 완료 및 감사 이메일 사본과 함께 1099 라이프사이클(issued/filed/sent_to_irs) 추적
- 이상 탐지 (휴리스틱 점수) — 6가지 신호 유형(클릭 없는 쿠폰, 중복 IP 가입, 빠른 환불, 자가 구매, 동일 IP 동료 클러스터) 스캔
- 이상 자동 정지 (심각) — 미해결 심각 이상(심각도 ≥ 80)이 있는 제휴사를 옵트인 일일 자동 정지
- 휴면 이의 제기 — 정지된 제휴사가 이의를 제기, 슈퍼 관리자 검토, 승인 시 RPC가 12개월 시계 재설정, 60일
- S2S 포스트백 웹훅 (HMAC) — 수수료 생성/환불/지급 시 X-thMenu-Signature와 함께 제휴사 URL로 서명 POST, 5초
- 포스트백 비밀 교체 (이중 서명) — 현재 + 이전 비밀 모두로 7일 중첩 서명(X-thMenu-Signature + -Previous), 이후 cron이 NULL 처리
- 포스트백 재시도 + 데드레터 큐 — 도달 불가 엔드포인트를 dead_letter로 플래그하는 시간당 재시도(지수 백오프 5회), 운영 검토용
- 쿠폰 일일 카운트 (스팸 게이트) — 과다 발급을 방지하는 원자적 UPSERT…WHERE used<cap을 통한 제휴사별 일일 쿠폰 발급 상한(기본 100/일)
- 쿠폰 클릭 추적 — 전환 추적을 구동하는 affiliate_clicks(affiliate_id, coupon_code, timestamp, ip_hash)에 공유 등록
- 쿠폰 통계 / 분석 — 쿠폰별 클릭 vs 전환(90일 활성 고객), 클릭-전환율, 귀속 매출
- 저널 타임라인 (네이티브 + 웹) — 작업 인식 톤 및 현지화 문구가 포함된 최신순 자금 이동 행 페이지네이션
- 환불 클로백 (비례 배분) — 인보이스 환불 시 (환불/원금 × 수수료) 클로백, 향후 드립 분할분 먼저 취소, 잔액
- 차지백 클로백 (분쟁 패소) — charge.dispute.closed outcome=lost 시 전액 클로백(종결된 분쟁만), 환불과 별도 기장
- 정산/클로백 역처리 (Wise 환불) — Wise 송금 환불/차지백/취소 시 reverse_affiliate_payout RPC가 원장에 재적립
- 제휴사 마케팅 자료 (R2 프록시) — R2에 저장된 브랜드 배너, 이메일 템플릿, QR 코드, 영업 플레이북 + 이의 처리 가이드
- 마케팅 플레이북 (온보딩 가이드) — 프로그램 현황, 커미션 공개 의무 규칙, 그리고 자료가 공개되는 대로 표시되는 대시보드 섹션
- 제휴사 정산 캘린더 (예상) — 드립 일정 + 대기 보류에서 월별 예상 수익을 예측(정적 예상)
- 제휴사 인증 (모바일) — 자동 입력, 비밀번호 재설정, Turnstile 가입이 포함된 매직 링크 OTP + 비밀번호 로그인
연동 / API9
- 공개 API 키 및 REST API — 읽기/쓰기 스코프가 포함된 속도 제한(60 req/min) 서드파티 연동용 운영자 생성 API 키
- 웹훅 구독 및 디스패처 — HMAC-SHA256 서명이 포함된 고객 이벤트(주문, 피드백, 리뷰)용 운영자 정의 웹훅
- OAuth 클라이언트 인증 (RFC 7009/6749) — OAuth 앱이 자체 토큰 폐기, client-credentials 검증(basic auth + body), 리프레시 토큰 교체
- 맞춤 도메인 + CNAME 검증 (메뉴 제공은 아직 미지원) — 맞춤 도메인(menu.myrestaurant.com)을 추가하고 CNAME 레코드를 검증할 수 있으며, 이 도메인에서 메뉴를 제공하는 기능은 아직 지원되지 않습니다
- QR 코드 생성 + PDF 내보내기 — 브랜딩 오버레이 및 SRI와 함께 인쇄 가능한 메뉴/테이블/객실 QR 코드를 개별 또는 일괄 PDF로 생성
- 이메일 서비스 (Resend) — 운영자 및 고객 트랜잭션 이메일(요약, 알림, 정산 상태, 비밀번호 재설정, 청구, OTP)
- Google 리뷰 링크 및 지도 가져오기 — 리뷰로 연결하는 데 쓰는 매장의 Google 리뷰 링크와, 업체명과 좌표를 채워 주는 Google 지도 링크 가져오기
- OpenAPI 명세 — /openapi.json에서 자동 생성, 탐색 가능한 REST API 스키마
- llms.txt (AI 지침 파일) — LLM/AI 검색 엔진용 기계 판독 가능 플랫폼 개요(제품, 기능, 가격, 인증)
보안 및 컴플라이언스19
- 이메일/비밀번호 + 매직 링크 인증 — 이메일/비밀번호 또는 비밀번호 없는 매직 링크를 통한 점주 로그인
- Supabase Auth — 매직 링크 복구, 비밀번호 재설정, RLS가 포함된 운영자, 제휴사, 슈퍼 관리자용 JWT 기반 인증
- JWT 베어러 토큰 인증 — API 접근 및 Cloudflare 워커 미들웨어용 HMAC-SHA256 서명 JWT
- Supabase RLS (행 수준 보안) — 운영자는 자신의 레스토랑만, 제휴사는 자신의 수수료/정산만, 고객은 자신의 것만 조회
- TOTP 2FA (슈퍼 관리자) — 슈퍼 관리자 로그인에 필요한 RFC 6238 인증 앱 2FA
- CSRF 더블 서브밋 쿠키 보호 — 상태 변경 엔드포인트는 보안 쿠키와 대조 검증되는 X-CSRF-Token 헤더 필요
- 콘텐츠 보안 정책 (nonce + strict-dynamic) — 인라인 스크립트 인젝션을 방지하는 script-src 'self' 'nonce-…' 'strict-dynamic'
- 속도 제한 (Next.js 라우트 핸들러) — 14개 메뉴 엔드포인트의 isolate별 일일 솔트 SHA-256 IP 해시 슬라이딩 윈도우
- 섀도밴 탐지 — 반복 취소 및 의심스러운 IP 패턴을 감지하여 오류 없이 조용히 주문 차단
- 가짜 GPS 탐지 — 주문 타임스탬프 간 불가능한 위치 변경을 플래그
- URL 스킴 검증기 (safeHref) — social_links, logo_url, cover_url, 리뷰 링크를 통한 저장형 XSS를 방지하기 위해 http(s)/mailto/tel 허용
- PIN/비밀번호 해시 강화 — PBKDF2 20만 회 반복, 자격증명별 16바이트 솔트, 다음 로그인 시 투명한 레거시 재해싱
- PIN 잠금 카운터 (D1 기반) — 30분 교체 윈도우가 포함된 pin_failures의 원자적 UPSERT
- GDPR 정보주체 권리 (DSR) — 요청으로부터 30일 삭제 기간, JSON 데이터 내보내기, 90일 주문 익명화 유예, 개인정보
- KVKK 컴플라이언스 (튀르키예) — 다중 관할 cron 로직이 포함된 GDPR 동등 30일 삭제, DSR, 동의 로그
- 계정 삭제 워크플로 — 30일 유예 기간 및 허용 목록을 통한 연쇄 PII 삭제가 포함된 점주 요청 삭제
- 동의 로그 (쿠키 배너) — 세션별로 유지되는 분석/이메일에 대한 옵트인/옵트아웃 추적
- 알레르겐 및 안전 사건 추적 — 사진/타임스탬프/위치가 포함된 직원의 알레르겐 교차 접촉/부상/위반 보고서, 12개월 PII NULL
- 정책 (개인정보/약관/이용 규칙) — 메뉴 푸터에 표시되는 맞춤 개인정보 정책, 약관, 내부 정책
관리자2
- 설정 / 레스토랑 구성 — 메타데이터, 통화, 시간대, 팁 설정, 운영 플래그
- 관리자 알림 인박스 — 읽음 상태가 포함된 주문, 환불, 직원 알림, 관리자 메시지용 중앙 인박스
고객 경험 흐름
스캔부터 결제까지, 모두 고객의 휴대폰에서
설치할 앱도, 구매할 장비도 없습니다. 고객이 코드를 스캔하면 이 여섯 단계가 저절로 작동합니다.
고객의 언어를 자동으로
메뉴가 고객 휴대폰 언어로 열립니다 — 31개 언어, 선택을 요구하지 않습니다.
고객 국가의 통화
가격이 현지 통화와 함께 고객의 통화로도 표시됩니다 — 계산기가 필요 없습니다.
테이블에서 주문
고객이 장바구니에 담아 주문을 보내면 곧바로 주방 디스플레이에 표시됩니다.
직원 호출
테이블의 버튼 하나로 테이블 번호와 함께 직원에게 알림이 갑니다 — 손을 들거나 눈이 마주치길 기다릴 필요가 없습니다.
계산 요청
고객이 휴대폰으로 계산을 요청하면 테이블과 현재 합계와 함께 직원에게 전달됩니다.
테이블에서 결제
고객은 휴대폰에서 결제 대행사의 보안 양식으로 카드 결제합니다. 기본값은 선결제이며, 결제 전에는 주문이 주방으로 가지 않습니다.
고객이 앱을 다운로드해야 하나요?
아닙니다. 고객은 스마트폰 카메라로 QR 코드를 스캔하기만 하면 됩니다. 메뉴는 브라우저에서 즉시 열립니다 — 앱 다운로드, 계정, 등록이 필요 없습니다.
Thmenu는 몇 개 언어를 지원하나요?
Thmenu는 아랍어(RTL), 일본어, 중국어, 한국어 및 모든 주요 유럽 언어를 포함한 31개 언어를 지원합니다. 방문자의 기기 언어가 자동으로 감지됩니다.
Thmenu는 정말 무료인가요?
네. 요금제도, 구독도, 업그레이드해야 쓸 수 있는 기능도 없습니다. Thmenu의 유일한 수익은 손님이 Thmenu를 통해 매장에 온라인으로 결제하는 금액에 부과되는 1% 플랫폼 수수료이며, 현금과 매장 자체 카드 단말기 결제에는 비용이 들지 않습니다.
자체 도메인을 사용할 수 있나요?
아직은 아닙니다. 패널에서 도메인을 추가하고 DNS를 확인할 수는 있지만, 아직 자체 도메인에서 메뉴를 제공할 수는 없습니다. 메뉴에는 menu.thmenu.com의 고유 링크가 있으며, QR 코드가 여는 것도 이 링크입니다.
실시간 주문은 어떻게 작동하나요?
고객이 상품을 장바구니에 담아 테이블에서 주문합니다. 주문은 관리자 대시보드에 즉시 표시되며, 그곳에서 상태 단계를 업데이트하면 됩니다.
데이터는 안전한가요?
Thmenu는 Cloudflare의 글로벌 보안 인프라 위에 구축되었으며, 데이터를 전송 중(TLS)과 저장 시 모두 암호화합니다. 저희 플랫폼은 GDPR, KVKK, CCPA/CPRA 요구 사항을 충족하도록 설계되었습니다 — 자세한 내용은 개인정보 보호 준수, 개인정보 처리방침, 이용 약관 페이지를 참고하세요.
기존 메뉴를 가져올 수 있나요?
네. AI 메뉴 가져오기는 세 가지 방식을 지원합니다: 텍스트 붙여넣기, 인쇄 메뉴 촬영, 스프레드시트 업로드. 카테고리·상품·가격을 제안하며, 검토하고 승인하기 전까지 아무것도 적용되지 않습니다.
인터넷 없이도 메뉴가 작동하나요?
네. Thmenu는 Progressive Web App (PWA) 기술을 사용합니다. 고객 기기에 캐시된 메뉴는 인터넷 연결 없이도 볼 수 있습니다. 주문 시에는 연결이 필요합니다.
Stripe 계정이 필요한가요?
손님이 Thmenu를 통해 온라인으로 결제하도록 하려는 경우에만 필요합니다. 패널에서 Stripe 계정을 연결하면 정산금은 Stripe를 통해 은행 계좌로 입금됩니다. 메뉴, 주문, 예약은 Stripe 계정 없이도 작동합니다.
Thmenu는 터키 이외 지역에서도 사용 가능한가요?
네. Thmenu는 Cloudflare 글로벌 엣지에서 실행되어 메뉴가 각 손님과 가까운 노드에서 제공됩니다. 아랍어, 일본어, 한국어, 중국어를 포함해 31개 언어를 지원합니다.
이미 Menulux나 Adisyo를 사용 중이라면?
Thmenu는 기존 POS와 병행 운영이 가능합니다. 결제는 POS가, QR 메뉴와 고객 주문 경험은 Thmenu가 담당합니다. Thmenu는 POS와 연동되지 않습니다 — 두 시스템은 나란히 운영됩니다.
특별한 하드웨어가 필요한가요?
아니요. Thmenu는 휴대폰, 태블릿, 노트북 등 어떤 브라우저에서든 작동합니다. 주방 디스플레이로는 이미 가지고 계신 태블릿이면 무엇이든 사용할 수 있으며, 저희는 특정 하드웨어를 판매하거나 추천하거나 요구하지 않습니다. 인쇄는 선택 사항이며, Chrome 또는 Edge에서 USB, 시리얼 또는 Bluetooth로 연결한 ESC/POS 영수증 프린터로 할 수 있습니다.