Estimator Tools
Sản phẩm · để thống nhất với Sky

Sáu epic. Mỗi epic gỡ một nỗi đau có thật.

Nhân viên Casa đang ghi chi tiết ra giấy rồi gõ lại vào Word, và không ai biết khách đã nhận bản nào. Đây là sản phẩm thay việc đó.

Anthony · 17/09/2026 · nguồn: họp 07/09, 14/09, 15/09 và công cụ estimator của Sky

  1. Nỗi đau gốc: Melo và Andrew ghi ra giấy rồi gõ lại vào Word, không có số phiên bản. Sky nói ra ngày 07/09.
  2. Mốc Sky đặt: một báo giá trong 10 phút, có ngày sửa cuối, giá lấy từ Odoo.
  3. Sáu epic. Bốn cái đầu là MVP. E5 để sau. E6 mỏng nhưng phải có ngay từ đầu.
  4. Chín blocker. Nặng nhất: đặt chỗ thật chưa từng thử, và chưa ai có khóa truy cập theo vai.

Hình 1Cả câu chuyện trên một trang, và chỗ cắt bản đầu

Bản đồ story của báo giá Casa Năm epic xếp theo trình tự khách trải qua, từ nhận tin tới bàn giao vận hành; dưới mỗi epic là các thẻ story chia thành hai lát, MVP và Sau, ngăn bởi vạch cắt bản đầu; epic thứ sáu về vai trò và dấu vết chạy xuyên suốt cả năm cột. TRÌNH TỰ KHÁCH TRẢI QUA → EPIC 1EPIC 2EPIC 3EPIC 4EPIC 5 Nhận tin Dựng giá Gửi và theo dõi Đặt chỗ Bàn giao vận hành Khách nhắn tin Chọn phòng, ngày lặn Nhận bản báo giá Chốt và trả cọc Khách đến nơi RISK Dán tin → ra bản nháp Giá từ Odoo, 0,4 giây Bản có số phiên bản Một cú bấm → folio E1 · 4 story E2 · 4 story E3 · 4 story E4 · chưa thử thật Bóc tách tiếng Trung Tách hoá đơn Bản vận hành theo ngày E1 · sau E4 · Phillip đang sửa E5 · 3 story MVP SAU VẠCH CẮT BẢN ĐẦU E6 · Vai trò và dấu vết — chạy xuyên suốt cả năm cột, không phải một bước riêng LEGEND thẻ story story rủi ro cao nhất vạch cắt bản đầu xuyên suốt mọi cột
Cột là trình tự khách trải qua, không phải thứ tự ưu tiên. Hàng là lát phát hành. E4 được tô vì đó là story duy nhất chưa từng chạy thật.

Hình 2Ai đứng ở đâu, và trao nhau cái gì

Bản đồ tác nhân của báo giá Casa Ba nhóm người hỏi giá gồm khách lẻ, đại lý và thị trường Trung Quốc gửi yêu cầu tới Eloa và trợ lý, người dựng báo giá; Eloa gọi Odoo để lấy giá và nhận giá trả về, rồi gửi link báo giá ngược lại cho người hỏi; Sky đặt luật giá trong Odoo, và Odoo đẩy folio xuống bếp, tàu, xe. NGƯỜI HỎI GIÁ YÊU CẦU KHÔNG LOGIN TIẾNG TRUNG TÍNH GIÁ GIÁ TRẢ VỀ LINK BÁO GIÁ ĐẶT LUẬT GIÁ FOLIO ĐÃ CHỐT Khách lẻ giá retail Đại lý quốc tế Blue Reef · -30% Andrew thị trường Trung Quốc NGƯỜI DÙNG Eloa và trợ lý dựng, sửa, gửi, bấm đặt chỗ Odoo · Phillip giá, folio, hoá đơn Sky CEO · chốt luật giá và scope Vận hành bếp · tàu · xe LEGEND người dùng chính người ngoài Casa hệ thống hoặc người chốt gọi API quay về khách
Eloa và trợ lý là người gõ phím. Mọi thứ khác đều phục vụ hai người đó. Đại lý không đăng nhập — chốt ngày 07/09 để tránh sai dữ liệu do đại lý tự nhập.
Tác nhân Đau chỗ nào Thắng được gì Epic liên quan
Eloa và trợ lýGõ tay hai lần, một lần vào Word, một lần vào OdooMột chỗ làm việc duy nhất, báo giá xong là Odoo cóE1 E2 E3 E4
Melo và AndrewGhi ra giấy, không có số phiên bản, khách hỏi lại thì không truy đượcBản có số và ngày, mở lại được bất cứ lúc nàoE1 E3
Đại lý quốc tếChờ lâu, phải hỏi đi hỏi lại mới ra giáMột link, thấy giá của mình, không cần tài khoảnE3 E6
SkyLuật giá nằm trong đầu vài người, không ai kiểm đượcMột bảng giá duy nhất trong Odoo, sửa một chỗ là đúng khắp nơiE2 E6
PhillipOdoo phình vì bản nháp và file đính kèmOdoo chỉ nhận bản đã chốt, nháp nằm ngoàiE4 E5
Bếp, tàu, xeNhận lệnh qua tin nhắn trong group chat, dễ sótBản vận hành theo ngày, sinh thẳng từ folioE5
Sáu hình dưới đây dùng chung ký hiệu: đầu vào từ người bước hệ thống điểm ăn tiền của epic chưa chốt
E1

Nhận tin và bóc tách

MVP

Nỗi đau

Melo và Andrew ghi chi tiết chuyến ra giấy, rồi gõ lại vào Word. Yêu cầu đến bằng ba thứ tiếng, qua WhatsApp, email và form web. Mỗi lần gõ lại là một lần có thể sai.Sky, họp 07/09/2026 · 00:24:44

Tác nhân

  • Eloa và trợ lý
  • Melo
  • Andrew · thị trường Trung Quốc
  • Khách lẻ
  • Đại lý
Luồng nhận tin và bóc tách Tin nhắn thô bằng tiếng Việt, Anh hoặc Trung đi vào bộ bóc tách AI, ra một bản nháp mà mỗi trường đều ghi rõ nguồn là khách nói, AI suy ra hay giá trị mặc định, rồi Eloa sửa và xác nhận trước khi bản nháp được dùng. VI · EN · ZH JSON KHÔNG ĐOÁN TIN NHẮN Tin nhắn thô whatsapp · email · form AI Bộ bóc tách structured output NHÁP Bản nháp có nguồn nói · suy ra · mặc định NGƯỜI Eloa sửa và xác nhận không tự động thông qua

User story

  • Eloa dán tin nhắn của khách vào, hệ thống trả lại một chuyến đã điền sẵn, không phải gõ lại.
  • Mỗi trường ghi rõ khách nói, AI suy ra hay là mặc định, kèm câu trích nguyên văn.
  • Thiếu thông tin thì hệ thống hỏi lại vài câu, không bịa ra con số.
  • Khách điền form web bằng tiếng Việt, Anh hoặc Trung, bản nháp hiện ngay cho nhân viên.

Hôm nay → Sau khi có

Hôm naySau khi cóCải tiến gì
Ghi ra giấy, rồi gõ vào WordDán tin nhắn, ra chuyến đã điềnBỏ hẳn một lần gõ tay
Tin tiếng Trung phải dịch trướcBóc tách thẳng ba thứ tiếngAndrew không phải làm phiên dịch
Không rõ con số nào do ai đưa raMỗi trường có nguồn và câu tríchTranh cãi với khách có bằng chứng

Blocker

Chưa có dữ liệu thật để đo. Cần khoảng 30 tin nhắn hỏi giá thật, đã xoá tên và số điện thoại, từ Eloa. Không có thì không biết bóc tách đúng bao nhiêu phần trăm, và không dám đưa cho nhân viên dùng.

E2

Dựng và tính giá

MVP

Nỗi đau

Đang có hai bảng giá không khớp nhau: bảng trong công cụ của Sky, và bảng trong Odoo. Giá báo cho khách có thể khác giá xuất hoá đơn. Giảm giá thì tuỳ người ngồi làm.Đối chiếu công cụ estimator với /rates trên staging, 17/09/2026

Tác nhân

  • Eloa và trợ lý
  • Sky · chốt luật giá
  • Phillip · giữ Odoo
Luồng tính giá Chuyến đã điền được BFF gửi sang Odoo, Odoo là nơi duy nhất tính giá và trả về trong khoảng bốn phần mười giây mà không ghi gì, kết quả là bảng giá tách theo từng khách với giá bán, giá vốn và lãi. TRIP JSON /COMPUTE KHÔNG GHI NHÁP Chuyến đã điền phòng · ngày lặn · xe BFF BFF gọi Odoo nơi duy nhất giữ khóa ODOO Odoo tính giá 0,40 giây khi đã ấm KẾT QUẢ Giá theo từng khách bán · vốn · lãi

User story

  • Eloa đổi phòng hoặc ngày lặn, giá cập nhật dưới một giây, không phải bấm tính lại.
  • Nhân viên thấy giá bán, giá vốn và lãi; đại lý và khách chỉ thấy giá bán.
  • Giá luôn từ Odoo. Trong ứng dụng không tồn tại bảng giá thứ hai.
  • Sửa tay một dòng thì phải ghi lý do, và dòng đó được đánh dấu trên báo giá.

Hôm nay → Sau khi có

Hôm naySau khi cóCải tiến gì
Nhân chia tay trong WordOdoo tính, 0,40 giâyHết sai số học
Hai bảng giá, lệch nhauMột nguồn giá duy nhấtBáo giá bằng đúng hoá đơn
Giảm giá tuỳ người ngồi làmLuật theo loại kháchĐại lý 30%, hướng dẫn viên 15%, giống nhau mọi lần

Blocker

Ba lỗi hợp đồng API, đã đo được ngày 17/09. Một, thiếu diveFrom và diveTo thì engine lấy khoảng ngày mẫu tháng 10/2026, ngày lặn thật rơi ra ngoài, toàn bộ tiền lặn biến mất mà vẫn trả về 200 và cảnh báo rỗng. Hai, vanA và vanD là số trong công cụ của Sky nhưng spec đòi chuỗi, gửi số là 422. Ba, /rates không liệt kê refresher và rescue dù engine vẫn tính đúng hai khóa đó.

E3

Phiên bản, gửi và theo dõi

MVP

Nỗi đau

Không có version control. Nhân viên chụp màn hình gửi khách, rồi không ai biết khách đang cầm bản nào. Mỗi lần khách đổi ý là một vòng hỏi đi hỏi lại. Sky từng định bắt đại lý tự điền chỉ vì nản và vì mất quá nhiều thời gian.Sky, họp 07/09/2026 · 00:24:44 và 00:26:07

Tác nhân

  • Eloa và trợ lý
  • Khách lẻ
  • Đại lý · không đăng nhập
Vòng gửi và sửa báo giá Giá được đóng băng thành một bản có số, gửi cho khách bằng link và PDF có hạn mười bốn ngày, khách đọc và phản hồi mà không cần tài khoản, rồi một bản mới ra đời trong khi giá của bản cũ giữ nguyên. ĐÓNG BĂNG LINK · PDF SỬA → v2 v1 Đóng băng giá snapshot theo bản GỬI Link và bản PDF hạn 14 ngày KHÁCH Khách xem, phản hồi không cần đăng nhập v2 Bản mới ra đời giá bản cũ không đổi

User story

  • Eloa gửi bản 3, và giá của bản 3 không bao giờ đổi, kể cả khi bảng giá thay đổi sau đó.
  • Eloa xem bản 2 khác bản 3 chỗ nào, không phải đọc lại từ đầu.
  • Đại lý mở link là thấy giá của mình, không cần tài khoản — chốt ngày 07/09.
  • Eloa thấy bản nào đang chờ khách, bản nào đã hết hạn, trên một danh sách.

Hôm nay → Sau khi có

Hôm naySau khi cóCải tiến gì
Chụp màn hình gửi tayLink có số phiên bảnBiết chắc khách đang cầm bản nào
Không rõ báo giá còn hiệu lực khôngHết hạn sau 14 ngàyKhông phải giữ giá cũ vô thời hạn
Không ai biết đang chờ aiDanh sách theo trạng tháiNhìn ra được đường ống bán hàng

Blocker

Điều khoản đặt cọc đang mâu thuẫn. Công cụ của Sky ghi một đằng, trao đổi trong họp nói một nẻo. Điều khoản này in thẳng lên báo giá gửi khách, nên phải để Eloa và Sky chốt một câu trước khi làm màn hình gửi.

E4

Đặt chỗ một lần vào Odoo

MVP

Nỗi đau

Chốt giá xong, nhân viên vẫn phải gõ tay toàn bộ vào Odoo để thu tiền. Nhập hai lần thì số lệch, và không ai biết bản nào mới đúng. Chính Sky mô tả đây là cách làm tạm trong khi chờ hệ thống.Sky, họp 07/09/2026 · 00:57:25

Tác nhân

  • Eloa và trợ lý
  • Phillip · giữ Odoo
  • Kế toán
Cổng ghi vào Odoo Bản báo giá đã được khách đồng ý chỉ đi vào Odoo qua đúng một cổng do người bấm, gọi submit kèm khóa chống trùng, và Odoo tạo folio rồi trả mã folio về; AI không bao giờ mở được cổng này. ĐÃ ĐỒNG Ý MỘT LẦN GHI THẬT v3 Bản đã chốt khách đã nói đồng ý CỔNG Người bấm Đặt chỗ AI không mở được API Gọi submit Idempotency-Key ODOO Folio trong Odoo folio_id quay về

User story

  • Eloa bấm Đặt chỗ, và Odoo có folio với đúng con số của báo giá, không lệch một đồng.
  • Bấm hai lần, mạng chập chờn, bấm lại — vẫn chỉ ra một folio.
  • Không gì ghi vào Odoo ngoài cú bấm đó. Bản nháp nằm ngoài, AI không có đường vào.
  • Submit lỗi thì Eloa thấy lý do bằng tiếng người, và bản nháp không mất.

Hôm nay → Sau khi có

Hôm naySau khi cóCải tiến gì
Gõ tay lại toàn bộ vào OdooMột cú bấmHết nhập hai lần, hết lệch số
Bấm lại thì tạo bản trùngKhóa chống trùngKhông bao giờ có hai folio cho một chuyến
Mọi bản nháp đều đổ vào OdooOdoo chỉ nhận bản đã chốtOdoo không phình, đúng lo ngại của Sky

Blocker

Đây là epic rủi ro nhất, vì chưa ai chạy thử. Tôi đã gọi thật 14 lần vào staging nhưng chưa gọi submit lần nào, vì nó tạo hồ sơ thật trong hệ thống của Phillip — cần một câu đồng ý. Ngoài ra payload submit chưa có danh sách khách, và spec chưa có Idempotency-Key. Ba việc này đều thuộc Phillip.

E5

Bàn giao vận hành

SAU MVP

Nỗi đau

Bếp, tàu và xe nhận lệnh qua tin nhắn trong group chat. Số suất ăn, số bình, giờ đón đều nằm rải rác trong hội thoại, và có những thứ Odoo không giữ được: ghi chú tự do, yêu cầu ăn kiêng, file đính kèm.Yêu cầu vận hành nêu trong họp 07/09; Sky lo Odoo phình vì đính kèm, họp 15/09

Tác nhân

  • Bếp
  • Tàu lặn
  • Xe đưa đón
  • Eloa và trợ lý
Luồng bàn giao vận hành Folio đã chốt cùng ghi chú sinh ra một bản vận hành tách theo ngày, đẩy xuống bếp, tàu và xe; riêng file đính kèm vẫn chưa chốt lưu ở đâu. THEO NGÀY ĐẨY XUỐNG CHƯA CHỐT FOLIO Folio và ghi chú từ Odoo BẢN Bản vận hành theo ngày suất ăn · bình · giờ đón OPS Bếp, tàu, xe hết dò lại group chat FILE File đính kèm chưa chốt nơi lưu

User story

  • Bếp thấy số suất theo từng ngày và ghi chú ăn kiêng, không phải đọc lại hội thoại.
  • Tàu thấy ngày lặn, số bình, ai là thợ lặn và trình độ của từng người.
  • Xe thấy giờ đón, số xe, tên khách cho cả chiều đến và chiều đi.

Hôm nay → Sau khi có

Hôm naySau khi cóCải tiến gì
Nhắn tay trong group chatBản vận hành sinh từ folioKhông sót khách, không sót bữa
File gửi qua chat rồi trôiĐính kèm có chỗ lưu cố địnhTìm lại được sau nhiều tháng

Blocker

Chưa chốt quy cách đính kèm. Định dạng nào, dung lượng tối đa bao nhiêu, lưu ở đâu. Sky không muốn để trong Odoo vì sợ phình. Đây là việc tôi nợ Phillip từ buổi 15/09 và chưa trả.

E6

Vai trò và dấu vết

MỎNG, TRONG MVP

Nỗi đau

Công cụ hiện tại giữ tài khoản viết cứng trong mã nguồn và quyền truy cập cơ sở dữ liệu mở cho mọi người. Đại lý mà mở nhầm màn hình là thấy giá vốn và lãi. Không ai thu hồi được quyền của ai.Ghi nhận trong CLAUDE.md của repo: auth là hằng số ACCOUNTS, RLS mở

Tác nhân

  • Eloa và trợ lý
  • Đại lý
  • Khách lẻ
  • Sky
  • Phillip
Chuỗi kiểm soát truy cập Mỗi lần gọi đều xác định người gọi là nhân viên, đại lý hay khách, đối chiếu với khóa cấp theo vai mà Phillip chưa phát hành, lọc bỏ giá vốn và lãi với những vai không được xem, rồi ghi lại ai đã sửa gì, lúc nào và giá trị cũ là bao nhiêu. MỖI LẦN GỌI THEO VAI MỌI SỬA ĐỔI AI GỌI Ai đang gọi nhân viên · đại lý · khách KHÓA Khóa cấp theo vai Phillip chưa phát hành LỌC Ẩn giá vốn và lãi đại lý không bao giờ thấy LOG Nhật ký thao tác ai · lúc nào · giá trị cũ

User story

  • Đại lý mở link không cần đăng nhập, và không bao giờ thấy giá vốn hay lãi.
  • Chỉ nhân viên đã đăng nhập mới sửa được giá hay bấm đặt chỗ.
  • Mọi lần sửa tay và mọi lần đặt chỗ đều ghi lại người, giờ và giá trị cũ.

Hôm nay → Sau khi có

Hôm naySau khi cóCải tiến gì
Tài khoản viết cứng trong mã nguồnKhóa cấp theo vaiThu hồi được quyền của một người
Không biết ai đã sửa gìNhật ký thao tácTruy được khi khách khiếu nại

Blocker

Spec của Phillip chưa có phần securitySchemes. Mười bốn lần gọi thử của tôi đều là ẩn danh, nên chưa ai kiểm chứng được hành vi khi gọi với tư cách nhân viên. Không có khóa theo vai thì E6 không làm được, và E2 cũng không tách nổi giá vốn.

Gom lạiChín blocker, mỗi cái chặn epic nào và ai gỡ được

Blocker Chặn Ai gỡ Trạng thái
Đặt chỗ thật chưa từng gọi, vì nó tạo folio thật trên stagingE4Sky hoặc Phillipchờ một câu
Spec chưa có securitySchemes, chưa ai có khóa theo vaiE6 E2Phillipđã xin 14/09
Payload đặt chỗ chưa có danh sách kháchE4Philliphứa 14/09
Chưa có Idempotency-Key trong spec, bấm hai lần là hai folioE4Phillipchưa nêu
Thiếu diveFrom và diveTo thì mất sạch tiền lặn, vẫn trả về 200E2Phillipđã đo 17/09
vanA và vanD là số trong công cụ Sky nhưng spec đòi chuỗiE2Phillipđã đo 17/09
Hai bảng giá lệch nhau, /rates thiếu refresher và rescueE2Eloa xác nhận giá, Phillip sửa bảngchưa hẹn
Chưa có 30 tin nhắn hỏi giá thật, đã ẩn danhE1Eloa, qua Skyđã xin 07/09
Chưa chốt quy cách và nơi lưu file đính kèmE5Anthony đề xuất, Sky duyệttôi nợ từ 15/09

Cần SkyBa câu, trả lời xong là team chạy được

1 · Cho phép gọi đặt chỗ thật một lần trên staging?

Nó tạo một folio thật trong hệ thống của Phillip. Không gọi thì E4 xây mù, và mock server không có phản hồi thật để bám vào.

2 · Vạch cắt đặt sau E4 — đồng ý không?

Bản đầu gồm E1 tới E4 cộng E6 ở mức mỏng. E5 để sau. Nếu Sky muốn bếp và tàu có bản vận hành ngay từ bản đầu thì vạch cắt phải dời, và lịch dài thêm.

3 · Ai là người chốt giá và điều khoản đặt cọc?

Hai bảng giá đang lệch và điều khoản cọc đang mâu thuẫn. Cần một người có tên, không phải một nhóm. Tôi đề xuất Eloa xác nhận con số, Sky ký.

Ranh giớiNgoài scope, và chi phí hạ tầng

Ngoài scope bản đầu

  • Dive Passport — cổng thợ lặn tự khai chứng chỉ, y tế, người liên hệ khẩn. Tách ra từ 07/09 theo đề xuất của Jett. Vẫn là yêu cầu bắt buộc của Sky, chỉ là không nằm trong bản này.
  • Chatbot trong WhatsApp — sinh báo giá thẳng trong group chat mà không mở công cụ. Sky nêu ngày 07/09, xếp ưu tiên thấp.
  • Ký điện tử, thanh toán, CRM — Phillip đang làm riêng, nối sau.
  • Sửa báo giá thẳng trong Odoo — chốt ngày 07/09 là không làm trong bản đầu.

Chi phí hạ tầng, giai đoạn xây dựng

  • Khoảng 60 tới 90 USD một tháng trong lúc xây: nơi chạy BFF, cơ sở dữ liệu giữ bản nháp, chi phí gọi mô hình AI, tên miền.
  • Đây là ước lượng, chưa phải hoá đơn. Phần AI là phần dao động nhất, vì phụ thuộc số tin nhắn thật mỗi ngày — con số mà hiện chưa ai biết.
  • Odoo.sh không nằm trong con số này — Casa đã trả rồi, và tôi chưa biết Casa đang dùng gói nào.

Bản PDF: tiếng Việt · tiếng Anh · tài liệu API cho Trung và Nhật