Korat
가게 주인을 위해

가게의 백오피스 — 오늘 바로 켜는 모듈들

비즈니스 콘솔은 무엇을 파느냐에 따라 모양이 달라지는 백오피스입니다. 대시보드는 실시간 배지가 붙은 타일 격자이고, 타일은 업종마다 다르며, 리포트와 고객 장부와 직원 관리는 모든 업종이 함께 받습니다. 103개 모듈 전부 무료이고, 월 이용료가 없습니다.

비즈니스 콘솔은 업종에서 출발합니다. 식당호텔과 의원과 상점은 같은 사업이 아니고, 그것들을 똑같이 취급하는 백오피스는 결국 로그인이 붙은 스프레드시트가 됩니다. 식당이 보는 타일과 숙소가 보는 타일은 다릅니다. 그다음에 업종과 상관없이 모든 사업이 필요로 하는 세 가지를 얹습니다. 무엇을 팔았는지, 누가 샀는지, 누가 일했는지.

대시보드는 타일 격자이고, 타일은 지금 무슨 일이 벌어지는지 압니다

콘솔은 차트가 아니라 타일 격자로 열립니다. 각 타일에는 사람의 손이 필요한 것을 세는 실시간 배지가 붙습니다. 진행 중 주문, 직원을 호출한 테이블, 대기 중 예약, 새 배달, 대기 중 시술 예약, 대기 중 휴가. 배지는 몇 초마다 갱신되고, 테이블이 직원 호출 버튼을 누르면 하위 메뉴에서 숫자가 조용히 올라가는 대신 대시보드 상단에 빨간 배너가 나타납니다.

대시보드와 리포트의 차이가 여기 있습니다. 리포트는 어제 무슨 일이 있었는지 알려줍니다. 실시간 배지가 붙은 타일 격자는 지금 아무도 손대지 않은 것이 무엇인지 알려줍니다. 카운터 뒤에 선 사람이 행동할 수 있는 것은 후자뿐입니다. 리포트도 있지만, 첫 화면이 아니라 별도의 목적지로 있습니다.

네 가지 업종, 네 벌의 타일

식당과 카페는 들어오는 주문을 확인하거나 거절하거나 다음 단계로 넘기는 주방 화면, 사진·분류·판매 여부·재고·옵션 그룹·뷔페 역할·주류 플래그·세트를 다루는 메뉴 관리, 예약, 배달 주문, 전체 결제가 들어간 테이블·QR 화면 — 라벨이 붙은 할인, 받은 금액과 거스름돈, 결제 수단, 그리고 생성되는 PromptPay QR — 그리고 영업시간과 라스트오더 여유, 서비스 방식, 뷔페, 배달, 분류, 업장·주류 프로필, 테이블 수, PromptPay id, 주문 제한을 다루는 가게 설정을 받습니다.

서비스업과 의원은 예약, 서비스, 패키지를 받고, 의원 변형은 인터페이스를 예약·환자·치료 코스로 바꿔 부릅니다. 리테일은 대면 POS, 온라인 주문 콘솔, 그리고 부족 재고 경고가 있는 상품 관리를 받습니다. 숙박은 체크인·체크아웃이 있는 객실 현황판, 시즌 요금 규칙을 포함한 객실 타입 관리, 예약 수신함, 그리고 세입자·보증금·수도전기 검침·납부 여부가 붙는 생성 청구서를 다루는 월세 임대를 받습니다.

주인이 실제로 던지는 네 가지 질문에 답하는 리포트

모든 업종이 같은 리포트 화면을 받습니다. 질문이 업종에 따라 달라지지 않기 때문입니다. 얼마를 벌었나, 주문은 몇 건인가, 객단가는 얼마인가, 사람들은 어떻게 냈나. 결제 비중은 현금·PromptPay·기타로 나뉩니다. 그 옆에 판매 상위 다섯 개와 7일 매출 막대 그래프가 놓이고, 오늘·7일·30일·전체 기간으로 범위를 잡습니다.

서류 작업도 콘솔이 다룹니다. 영수증은 나중에 다시 출력할 수 있고, 뒤늦게 요청하는 손님을 위해 공유용 영수증 문구를 만들 수 있습니다. 세금계산서는 발행할 수 없습니다. 태국 조세법전 86/13조가 발행을 부가세 등록 사업자로 한정하고 있고, 이 시스템은 아직 어느 가게의 등록도 기록하지 않으며, 우리는 계산원이 누르는 스위치로 남기는 대신 그 문을 통째로 닫기로 했습니다. 하나의 판매 원장이 리포트와 CRM을 함께 굴리므로 매출 그래프와 고객 카드의 구매 이력은 같은 행을 읽습니다. 따로 어긋날 두 번째 집계 테이블이 없습니다.

양식이 아니라 원장에서 만들어지는 CRM

고객 명단은 직원이 입력하는 것이 아닙니다. 판매 원장에서 조립되므로, 고객이 CRM에 존재하는 이유는 무언가를 샀기 때문이지 누가 추가하는 것을 기억했기 때문이 아닙니다. 각 고객은 가게가 쓴 메모와 태그, 그리고 구매 이력을 갖습니다.

그 위에 적립이 놓입니다. 포인트는 가게가 자체 화폐 기준으로 정한 비율로 쌓이고, 최소 결제액과 전체 끄기 스위치도 선택적으로 정할 수 있습니다. 가게가 보상 비용과 그것이 무엇인지 정하고 같은 카드에서 사용 처리합니다.

HR: GPS 출퇴근, 8시간 초과 근무, 그리고 부분적으로만 보이는 급여

직원 관리는 모든 업종이 받습니다. 팀원은 GPS 위치와 선택적 메모가 붙은 상태로 출퇴근을 찍고, 그 덕분에 여러 지점을 오가는 기록이 양심에 맡기는 대신 확인 가능한 것이 됩니다. 휴가 신청은 콘솔에서 승인되거나 반려되고, 대기 중인 건은 대시보드 타일에 배지로 올라옵니다.

근무표와 급여는 출퇴근 기록에서 근무 분을 계산하고 하루 8시간을 넘는 초과근무를 세며, 시급이나 월급을 적용해 사람별 급여를 만듭니다. 가시성은 의도적으로 비대칭입니다. 일반 멤버는 자기 급여만 보고 소유자와 매니저는 전원을 봅니다. 그 옆에 팀 공지, 배정 가능한 업무, 팀 목록이 놓입니다.

역할, 그리고 검사가 어디서 도는지에 대한 솔직한 메모

권한은 13개의 핵심 권한에 설치된 모듈이 더하는 것으로 구성됩니다. 다섯 개의 역할 프리셋이 함께 옵니다. 와일드카드인 소유자, 그리고 매니저·홀·주방·직원. 그 위에 멤버별 예외를 줄 수 있습니다. 권한이 없는 타일은 흐리게 표시되고 거절되는 대신 아예 보이지 않고, 아무 권한도 없는 멤버는 고장처럼 보이는 빈 화면 대신 「아직 권한이 없습니다」라는 명시적인 상태를 받습니다.

같은 권한 행렬이 데이터베이스에도 has_capability(business_id, capability)로 존재하며, 서버에서 역할 프리셋을 펼치고 행 수준 보안 정책이 그것을 씁니다. 다만 우리가 주장하지 않는 것은 오늘 콘솔 전체가 서버에서 강제된다는 말입니다. 앱에서 타일 단위 검사는 클라이언트에서 돕니다. 데이터베이스 함수는 실재하고 쓰이고 있지만, 콘솔의 모든 화면을 그 뒤로 옮기는 일은 끝나지 않았습니다. 정책이 어떻게 쓰여 있는지는 보안 페이지에 있습니다.

의지하기 전에 알아야 할 두 가지. 앱 콘솔의 권한 검사는 클라이언트에서 돕니다. 짝이 되는 has_capability() 함수가 데이터베이스에 있고 행 수준 보안 정책을 받치고 있지만, 오늘 콘솔을 완전히 서버에서 강제된 것으로 읽지는 마십시오.

그리고 데이터베이스는 자동 백업이 없는 무료 플랜에서 돌고 있으며, 유휴 상태가 되면 일시 중지됩니다. 여기서 사업을 굴리는 데 실제로 걸리는 제약이고, 바쁜 영업 중에 알게 되는 것보다 지금 아시는 편이 낫습니다.

하나의 사업, 하나의 페이지, 하나의 수신함

콘솔은 가게의 공개 정체성도 갖고 있습니다. 로고와 커버와 갤러리를 다루는 페이지 관리, 내가 아니라 가게로 Korat 피드에 글을 올리는 기능, 고객 수신함, 공개 페이지 미리보기. 그리고 가게별로 애드온을 설치하는 플러그인 스토어도 여기 있습니다. 하나의 사업은 하나의 대시보드를 가진 하나의 객체입니다. 매장, 계산대, 직원, 고객 명단이 네 개의 제품을 꿰매 붙인 것이 아닙니다.

업종
음식 · 숙박 · 서비스와 의원 · 리테일
대시보드
타일 격자, 몇 초마다 갱신되는 실시간 배지, 테이블 호출 시 빨간 배너
리포트
매출, 주문 수, 객단가, 현금/PromptPay/기타 비중, 상위 5개, 7일 그래프
기간
오늘 · 7일 · 30일 · 전체
적립
가게가 정하는 포인트 적립 비율, 직접 정하는 최소 결제액과 보상
HR
메모가 붙는 GPS 출퇴근, 휴가 승인, 하루 8시간 초과근무, 시급 또는 월급
권한
13개 핵심 권한 + 모듈 권한, 5개 역할 프리셋, 사람별 예외

어떤 모듈이 내 뒷단에 놓이는지는 모듈과 플러그인에서 직접 고릅니다. 회사가 직원에게 발급하는 디지털 명함도 여기서 관리합니다.

같은 출퇴근·근무표·급여 데이터를 직원 자신의 쪽에서 본 것이 내 직장입니다. 티켓을 파는 행사의 주최자 쪽은 이벤트와 티켓에 있습니다.

자주 묻는 질문

한 사람이 여러 개의 사업을 운영할 수 있나요?

가능합니다. 비즈니스는 각각 하나의 객체로 만들어지고 수정되고 삭제되며 — 삭제는 두 단계 확인입니다 — 각자 자기 대시보드와 직원, 고객 장부, 공개 페이지를 갖습니다.

애드온 모듈은 가게별로 설치되므로 같은 주인의 두 사업이 서로 다른 타일을 가질 수 있습니다.

직원 권한은 서버에서 강제되나요?

부분적으로만 그렇고, 과장하지 않겠습니다. 권한 행렬은 데이터베이스에 has_capability(business_id, capability)로 존재하고, 서버에서 역할 프리셋을 펼치며, 행 수준 보안 정책이 그것을 씁니다.

앱 콘솔에서 타일 단위 검사는 클라이언트에서 돕니다. 지금의 콘솔은 이미 고용한 사람들 사이의 좋은 업무 분담으로 보시고, 믿지 못하는 멤버를 막는 보안 경계로 보지는 마십시오.

식당이 아닌 사업에도 콘솔이 맞나요?

맞습니다. 네 가지 업종 — 음식, 숙박, 서비스나 의원, 리테일 — 이 지원되고 각자 자기 타일을 받습니다. 의원은 인터페이스가 예약·환자·치료 코스로 바뀐 서비스 모듈입니다.

리포트와 CRM, HR, 페이지 관리는 네 업종 모두 동일합니다.

적립 제도는 어떻게 동작하나요?

포인트는 가게가 자체 화폐 기준으로 정한 비율로 쌓이고, 최소 결제액을 선택적으로 정할 수 있습니다. 가게가 보상 비용과 그것이 무엇인지 정하고 고객 카드에서 사용 처리합니다.

고객 명단 자체는 판매 원장에서 만들어지므로, 고객은 누가 입력해서가 아니라 무언가를 샀기 때문에 나타납니다.

직원끼리 서로의 급여를 볼 수 있나요?

볼 수 없습니다. 일반 팀원은 자기 급여만 봅니다. 소유자와 매니저가 전원을 봅니다.

근무 분은 GPS 출퇴근 기록에서 나오고, 초과근무는 하루 8시간을 넘긴 분부터 셉니다.

사업을 만들어보세요

비즈니스를 만들고 종류를 고르면 대시보드가 거기서부터 알아서 조립됩니다.