온라인 주문의 추가 옵션 요금, 직접 계산하지 않고 받는 방법
온라인 주문에서 추가 옵션 요금을 받으려면 사이즈, 소스, 추가 재료 같은 옵션 그룹을 만들고 각각에 가격을 매기세요. 고객이 선택하면 페이지가 알아서 합산하고, 주문은 고객이 고른 내용 그대로 들어옵니다.
브렌다는 마타모로스에서 윙과 본리스를 판다. 금요일마다 왓츠앱으로 주문이 40건 정도 들어오는데, “본리스 하나 주세요” 같은 단순한 주문은 거의 없다. “20피스, 반은 BBQ 반은 망고 하바네로, 랜치 추가하고 감자튀김도, 셀러리는 빼주세요” 이런 식이다. 브렌다는 튀김기 사이사이 짬을 내서 암산으로 계산하다 보니 가끔 빠뜨리는 게 생긴다. 하룻밤에 $15짜리 드레싱 여섯 개와 $45짜리 감자튀김 네 개를 못 받으면 그것만 $270이 그냥 날아가는 셈이다.
자기 페이지에서 주문을 받아볼까 생각했을 때, 첫 번째 의문은 고객마다 주문이 다 다른데 온라인 주문의 추가 옵션은 어떻게 계산하느냐는 것이었다. 짧게 답하자면, 직접 계산할 필요가 없다. 한 번만 옵션과 가격을 정해두면, 페이지가 매 주문마다 알아서 계산해준다.
옵션 그룹이란 무엇인가?
옵션 그룹이란 고객이 상품에 대해 내리는 선택들의 목록이다—사이즈, 소스, 추가하거나 빼는 것—이고, 각 선택에는 가격이 붙는다, 0원이라도 말이다. Proyecta 페이지에서 온라인 판매를 한다면, 이 그룹들은 패널의 ‘옵션 및 추가 항목’이라는 섹션에 있다.
이 하나의 형태만으로 고객이 요청하는 모든 것을 담을 수 있다:
- 가격이 붙는 추가 항목. “랜치 추가”, +$15.
- 무료 선호 사항. “셀러리 빼기”도 마찬가지지만 추가 가격이 $0이다. 페이지에는 ”+$0”으로 나오지 않는다. 그냥 가격이 표시되지 않을 뿐이다.
- 사이즈. 정확히 하나만 고르는 그룹이고, 각 옵션마다 가격이 달라진다. “10피스”, $0. “20피스”, +$130.
음식에만 쓰이는 게 아니다. 꽃집에서도 “손글씨 카드” (+$15)와 “프런트에 배송” (무료) 같은 데 똑같이 쓴다.
추가 항목 그룹은 어떻게 만드나?
그룹마다 네 가지 요소가 있다: 이름, 최소, 최대, 옵션. 최소값과 최대값이 나머지를 다 결정한다. 따로 “필수”라고 표시하는 버튼은 없다.
- 이름: 옵션 위에 고객이 보는 제목. “소스”라고 써야지, “그룹 2”라고 쓰면 안 된다.
- 최소 옵션 수: 0이면 선택 사항, 1 이상이면 필수 사항이다.
- 최대 옵션 수: 1이면 하나만 고르고, 2 이상이면 그 숫자까지 고를 수 있다.
- 옵션: 각각 이름, 추가 가격, ‘재고 있음’ 스위치를 가진다.
브렌다의 경우는 이렇게 정리됐다:
| 그룹 | 최소 | 최대 | 옵션 |
|---|---|---|---|
| 사이즈 | 1 | 1 | 10피스 ($0) · 20피스 (+$130) |
| 소스 | 1 | 2 | BBQ · 버팔로 · 망고 하바네로 · 레몬페퍼 ($0) |
| 추가 항목 | 0 | 3 | 랜치 추가 (+$15) · 감자튀김 (+$45) · 체다치즈 (+$20) |
| 선호 사항 | 0 | 2 | 셀러리 빼기 · 소스 따로 담기 ($0) |
예전에는 메시지 하나 더 와야 알던 “반반”이 이제는 소스 그룹의 최대 2로 해결된다. 놀랄 일을 미리 막아주는 규칙 하나: 최대값은 절대 최소값보다 낮을 수 없다. “최소 2, 최대 1”인 그룹은 애초에 충족할 방법이 없어서 작동하지 않는다.
왜 그룹은 요리마다 만들지 않고 한 번만 만드는가?
그룹은 공유되기 때문이다. 브렌다는 “소스” 그룹을 윙, 본리스, 웨지 감자에 다 쓴다. 타마린드 소스를 추가하면 한 번만 등록해도 세 메뉴 전부에 나타난다. 랜치 가격을 $18로 올릴 때도 딱 한 군데만 바꾸면 된다.
그래서 순서가 중요하다: 그룹이 먼저, 요리는 그다음. 각 요리 상세 페이지에도 ‘옵션 및 추가 항목’이라는 필드가 있는데, 거기서는 이미 있는 그룹 중에서 고르기만 한다. 거기서 새 그룹을 만들 수는 없다. 비워두면 요리는 그대로 판매된다.
주문할 때 고객에게는 무엇이 보이나?
각 그룹과 그 옵션들이 보이고, 고를 때마다 가격이 바로바로 바뀐다. “하나만 고르기” 그룹에서는 하나만 선택할 수 있고, “최대 세 개” 그룹에서는 세 개를 채우면 더 이상 추가할 수 없다.
필수 그룹에는 ‘필수’라는 표시가 붙고, 고객이 그것을 다 선택하기 전까지는 장바구니 담기 버튼이 활성화되지 않는다. 아무도 반응 없는 버튼을 계속 누르고 있지 않도록, 버튼 위에 아직 골라야 할 항목이 뭔지 나타난다.
온라인 주문의 추가 옵션은 누가 계산하나?
페이지가 계산하고, 결제할 때는 서버가 직접 입력한 가격을 가지고 다시 한 번 계산한다. 총액은 절대 고객의 휴대폰에서 나오지 않는다. 화면에 보인 그대로 청구되며, 누구도 지어낸 총액을 보낼 수 없다.
재료가 떨어지면 어떻게 하나?
요리가 아니라 옵션을 끄면 된다. 밤 9시에 브렌다에게 망고 하바네로가 떨어지면, ‘옵션 및 추가 항목’을 열어 소스 그룹에 들어가 그 옵션의 ‘재고 있음’을 끈다. 페이지에는 계속 보이지만 취소선이 그어져 선택할 수 없고, 본리스는 나머지 세 가지 소스로 계속 판매된다.
누군가 이미 장바구니에 그 옵션을 담아뒀다면, 그 옵션이 들어있는 한 결제가 진행되지 않는다. 제공할 수 없는 것을 결제받은 뒤 환불하는 것보다는 이편이 낫다.
주방에는 주문이 어떻게 전달되나?
빠짐없이, 항상 같은 형식으로 전달된다. 주문 목록의 각 줄 아래에는 고객이 고른 내용이 점으로 구분되어 나온다. 예를 들면: “20피스 · 망고 하바네로 · BBQ · 랜치 추가 · 감자튀김 · 셀러리 빼기” 같은 식이다. 직원에게 접근 권한을 줬다면, 카운터에 있는 직원도 똑같은 목록을 본다.
청구된 금액은 각 주문에 그대로 저장된다. 월요일에 랜치 가격을 $18로 올려도, 금요일 주문에는 여전히 $15로 청구됐다고 나온다.
옵션인가, 카탈로그 변형(variant)인가?
남은 재고 수량을 따로 관리하느냐에 달려 있다. 티셔츠 사이즈는 카탈로그 변형이고, 각각 자체 재고를 가진다. 옵션은 창고 재고로 세지 않는다—상품 위에 고객이 선택하는 것일 뿐이다. 품절되는 게 낱개 상품이면 변형이고, 재료라면 옵션이다.
이번 주 안에 시작하는 방법
Proyecta에 이런 완전한 문장으로 사업을 설명해보자: “마타모로스에서 윙과 본리스를 파는 가게 페이지가 필요해요. 메뉴, 사진, 온라인 주문용 장바구니, 카드 결제나 매장 픽업 결제가 되고, 주문마다 사이즈와 소스 두 개, 그리고 가격이 붙은 추가 항목을 고를 수 있게요.” 이렇게 하면 실제로 운영되는, 링크까지 있는 사이트가 나온다. 그다음 패널을 열어 ‘옵션 및 추가 항목’에 그룹을 입력하고 각 요리에 연결하면 된다.
뭔가를 입력하기 전에, 지난 금요일 주문서를 꺼내서 요리 기본 구성과 다르게 주문한 부분에 전부 밑줄을 그어보자. 반복되는 것이 곧 그룹이다. 원가가 드는 것은 가격이 붙는 추가 항목으로, 그렇지 않은 것은 $0짜리 선호 사항으로 만들면 된다. 딱 한 사람만 요청한 건 빼도 된다—그런 건 여전히 왓츠앱이 처리해줄 테니까.
그 정도면 그룹은 다 나온 셈이다. Proyecta에서 페이지를 만들고 그룹을 입력하면, 다음 금요일부터는 온라인 주문의 추가 옵션을 페이지가 계산하지, 당신이 계산하지 않는다.