BLogic Systems

Split Ticket

Last updated on 

🧑‍🏭 Product Requirement

Target release 10/31/2023
Document owner [email protected]
Developer [email protected]
QA [email protected], [email protected]

🎯 Objective

Re-split

🤔 Assumptions

this way when the server wants to move items from ticket a to another ticket be its easier to see all tickets. I mean, when you are splitting you see the tickets on the right. This is how the splitting tickets must be after splitting. and now after you save it, the tickets goes to a single line with the ticket info.

🌟 Milestones

https://blogicsystems.atlassian.net/jira/core/projects/BRFM/board?groupBy=status&selectedIssue=BRFM-18
1. Ticket được split –> payment –> KO được paid trên những app khác
2. Khi split ra thì trên KDS menu cũng được split
🗒️ Requirements

Requirement | User Story |

  1. Có thể split ticket thành nhiều ticket nhỏ (max số ticket được split là 50 | min =2)
  • Trong màn hình split nếu thanh toán 1 phần ở ticket split –> khi nhấn Save to payment later” ==> chuyển trạng thái thành màu xám
  • Nếu ticket split có thay đổi thông tin thì không cho phép Re-split lại ticket đó
  • Nếu những ticket Split ra và có thanh toán 1 phần thì không cho Re-split lại. Hiển thị thông báo ”
  1. Party Gratuity: chia cho tất cả các ticket được split ra
  • Ticket số 1, split thành ticket 2 và 3, chỉ ghi nhận numer of guest cho ticket 2 trong report, nhưng phải tính party service charge cho các ticket được split ra.
  • In receipt/kitchen phải in number of guest ra cho tất cả ticket
  • Nếu lấy ticket 3, split ra tiếp thì vẫn tính party service charge (In receipt/kitchen phải in number of guest ra cho tất cả ticket)
  1. Khi 1 ticket được split thành 3 ticket khác nhau, ticket #3 tính Service Charged theo ticket#1 Split:
  • Nếu set % => tính theo % cho các ticket split
  • Nếu set amount => chia đều amount cho các ticket split Combine:
  • Nếu set % => Total SVC sau khi combine các ticket vào = subtotal * % SVC set
  • Nếu set amount => Total SVC = tổng SVC của từng ticket set amount
  • Combine ticket split có guest thì kiểm tra điều kiện
    • Nếu ticket split trước đó thật sự có guest thì mới cộng - vì khi in receipt tất cả những ticket được split đều có Guest nhưng chỉ tính Guest cho ticket đầu tiên
  • Nếu ticket split ra có thay đổi số lượng No.of guest so với ticket gốc ban đầu thì khi combine ticket lại thì phải cộng số lượng No.of lại với nhau
  1. Ở Split Item: Khi split Items thì Party Service Charge nếu:
  • Party size =0 thì tất cả ticket Split đều tính Party SVC
  • Party size >0: chỉ tính Party SVC cho ticket gốc (đầu tiên), những ticket được split sau đó ko tính party SVC
  1. Ở Split by Seat: Party SVC được tính hết cho tất cả các seat được split ra như nhau. Trừ trường hợp ticket chỉ có 1 item COMP thì không tính Party SVC *** ## 🎨 CẬP NHẬT CÁCH TÍNH PARTY GRATUITY*** Date 03/18/2024
  • Khi split ra thì tất cả các ticket split đều in Guest giống nhau
  • Party Gruatuity = Sub total * %Party Gratutiy VD: config party size =5 cal party gratuity 10%
  • Create ticket A có no.of guest =5 and split ticket A-1 & A-2
  • Create ticket B có no.of guest =0
  • Combine ticket A-2 & ticket B ==> no. of guest =0 or Combine ticket A-1 & ticket B ==> no. of guest = 5 ==> thoả điều kiện tính Party Gratuity
  • Split by seat bình thường thì cho phép ticket split đầu tiên rỗng

Re-split thì không cho phép ticket đầu tiên rỗng - show message “Ticket #1 can not be empty”

splitbyseat.png
  1. Area Fee:
  • Change location từ Area ko tính area fee sang location tính Area fee ==> Apllied area fee mới
  • Change location từ Area tính area fee sang area KO tính area fee ==> REMOVE Area fee (KO tính Area fee) + Recall ticket đã Submit trước đó trong location mới setup Area fee, khi có thay đổi số lượng items hay KO thay đổi thì cũng KO tính thêm Area fee
  1. Happy hours: chỉ khi thanh toán còn trong khoảng thời gian giảm giá mới được tính
  2. Remove tax: nếu ticket đã remove tax trước đó rồi mới vào Split ticket thì những ticket được split ra cũng không có tax

🎨 User interaction and design

New design cho split

split.png
  • Mỗi 1 ticket được split ra thành nhiều ticket con có nhóm màu khác nhau.
  • Trên lable của 1 split ticket có format: SPLIT #abcde, #abcde ở đây chính là ticket ID gốc.
  • Khi combine split ticket với 1 ticket thường, lable của split ticket đó vẫn xuất hiện.
  • Khi combine 1 ticket thường với split ticket, không còn lable của split ticket đó nữa.
split_item_quantity_-_new.png

Split Item button chỉ xuất hiện khi quantity của item bằng 1 và cho phép split item nhỏ hơn 1.

❓️ Open Questions

Question Answer
e.g., How might we make users more aware of this feature? e.g., We’ll announce the feature with a blog post and a presentation

⚠️ Out of Scope

  • change location
  • Change number of guest
  • Combine ticket - get theo ticket được chọn để combine (bao gồm tất cả các SVC, discount, tax, area fee)
  • Sau khi split ra nhiều ticket thì tất cả ticket khi in Sale receipt đều show number of guest ra và được tính Party gratuity(nếu có) như % của ticket gốc, nhưng chỉ có ticket split đầu tiên là có number of guest thật, number of guest thật của những ticket split còn lại là bằng 0(lưu dưới DB để tính number of guest và show lên report cho chính xác)
  • Trường hợp nếu lấy những ticket đã split ra từ số 2 trở đi và combine hoặc edit thì sẽ lấy number of guest thật (bằng 0) để cộng lại ra number of guest cuối cùng rôi xem có đủ điều kiện thì mới được tính party gratuity hay không (hay nói cách khác là từ ticket split thứ 2 trở đi sau khi split ra mà đi combine hoặc edit nữa thì number of guest của những ticket split này sẽ = 0 và không được tính party gratuity như lúc đầu nữa)