Sample Data · Top 10 Services · Step Weights + Role Splits¶
Status: DRAFT for review by BA + Finance + Ops teams · v3.5+ Date: 2026-05-29 Owner: Documentation team (Claude AI draft based on Vietnam home services context) Action required: Anh + Finance + Ops review từng service, chỉnh số liệu theo thực tế trước khi seed production.
⚠️ Disclaimer: Đây là draft proposal dựa trên hiểu biết chung về home services tại VN. Các số liệu cụ thể (weights + splits) cần Finance + Ops review xác nhận. Không seed thẳng vào production trước khi sign-off.
Bảng tóm tắt 10 services¶
| # | Service code | Service name | Category | N steps | Base price (VND) | Lead-only ratio |
|---|---|---|---|---|---|---|
| 1 | svc_ac_repair |
Sửa máy lạnh | ac | 4 | 350,000 | 35% steps |
| 2 | svc_ac_install |
Lắp đặt máy lạnh | ac | 5 | 600,000 | 0% steps |
| 3 | svc_camera_install |
Lắp đặt camera an ninh | electric | 4 | 800,000 | 25% steps |
| 4 | svc_washer_repair |
Sửa máy giặt | washer | 3 | 280,000 | 67% steps |
| 5 | svc_fridge_repair |
Sửa tủ lạnh | fridge | 3 | 320,000 | 67% steps |
| 6 | svc_water_heater_install |
Lắp máy nước nóng | electric | 4 | 450,000 | 25% steps |
| 7 | svc_plumbing_general |
Sửa ống nước tổng quát | plumbing | 3 | 250,000 | 100% steps |
| 8 | svc_electric_general |
Sửa điện tổng quát | electric | 3 | 220,000 | 100% steps |
| 9 | svc_house_cleaning_deep |
Vệ sinh nhà tổng quát | cleaner | 4 | 500,000 | 0% steps |
| 10 | svc_ac_periodic_clean |
Vệ sinh máy lạnh định kỳ | ac | 3 | 200,000 | 67% steps |
Lead-only ratio = số steps chỉ cần lead làm 1 mình / tổng steps. High ratio = service đơn giản hơn, ít cần team.
1. Sửa máy lạnh (svc_ac_repair) · 4 steps¶
Đơn phổ biến nhất. Cần thợ chính có chuyên môn máy lạnh; helper hỗ trợ tháo/lắp.
| Step | Name | Weight (bps) | Weight % | Roles | Defaults |
|---|---|---|---|---|---|
| 1 | Khảo sát & chẩn đoán | 1500 | 15% | Lead 100% | Solo work |
| 2 | Tháo dỡ máy | 2000 | 20% | Lead 60% + Helper 40% | Cần 2 người để khiêng |
| 3 | Sửa chữa & thay linh kiện | 4000 | 40% | Lead 100% | Chỉ thợ chính làm |
| 4 | Lắp lại & test | 2500 | 25% | Lead 70% + Helper 30% | Cần 2 người lắp + test |
| Total | 10000 | 100% |
Lead chịu warranty (BR-MA-006): khắc phục lỗi máy hư sau sửa.
2. Lắp đặt máy lạnh (svc_ac_install) · 5 steps¶
Service phức tạp · thường cần team 2-3 thợ · có specialist (thợ điện).
| Step | Name | Weight (bps) | Weight % | Roles | Defaults |
|---|---|---|---|---|---|
| 1 | Khảo sát vị trí | 800 | 8% | Lead 100% | Solo |
| 2 | Đục tường + đi ống | 2500 | 25% | Lead 50% + Helper 50% | Lao động chân tay |
| 3 | Lắp dàn nóng (ngoài) | 2500 | 25% | Lead 50% + Helper 50% | Cần 2 người treo dàn |
| 4 | Lắp dàn lạnh (trong) + đấu điện | 2700 | 27% | Lead 40% + Specialist electrician 40% + Helper 20% | Cần thợ điện đấu nguồn |
| 5 | Test + nghiệm thu | 1500 | 15% | Lead 60% + Helper 40% | Test + dọn dẹp |
| Total | 10000 | 100% |
Specialty electrician: bắt buộc cho step 4 (đấu điện 3 pha cho máy công suất lớn). Pricing thường +50k VND cho specialist.
3. Lắp đặt camera an ninh (svc_camera_install) · 4 steps¶
Service cao cấp · cần specialist (thợ điện + thợ mạng).
| Step | Name | Weight (bps) | Weight % | Roles | Defaults |
|---|---|---|---|---|---|
| 1 | Khảo sát vị trí + tư vấn | 1500 | 15% | Lead 100% | Solo (chuyên môn cao) |
| 2 | Đi dây + lắp camera (vị trí) | 4000 | 40% | Lead 50% + Helper 50% | Cần thang + 2 người |
| 3 | Đấu điện + cấu hình NVR | 3000 | 30% | Lead 40% + Specialist electrician 30% + Specialist network 30% | Cần thợ điện + thợ mạng |
| 4 | Test xem app + bàn giao KH | 1500 | 15% | Lead 100% | Solo |
| Total | 10000 | 100% |
4. Sửa máy giặt (svc_washer_repair) · 3 steps¶
Service đơn giản · thường 1 thợ làm hết, helper có thể có khi máy nặng.
| Step | Name | Weight (bps) | Weight % | Roles | Defaults |
|---|---|---|---|---|---|
| 1 | Chẩn đoán | 2000 | 20% | Lead 100% | Solo |
| 2 | Sửa chữa & thay linh kiện | 5500 | 55% | Lead 80% + Helper 20% | Helper khiêng máy giúp |
| 3 | Test + dọn dẹp | 2500 | 25% | Lead 100% | Solo |
| Total | 10000 | 100% |
5. Sửa tủ lạnh (svc_fridge_repair) · 3 steps¶
Tương tự sửa máy giặt · single agent đa số case.
| Step | Name | Weight (bps) | Weight % | Roles | Defaults |
|---|---|---|---|---|---|
| 1 | Chẩn đoán + nạp gas test | 2500 | 25% | Lead 100% | Solo |
| 2 | Thay linh kiện / nạp gas | 5000 | 50% | Lead 80% + Helper 20% | Helper di chuyển tủ |
| 3 | Test + hoàn thiện | 2500 | 25% | Lead 100% | Solo |
| Total | 10000 | 100% |
6. Lắp máy nước nóng (svc_water_heater_install) · 4 steps¶
Cần specialist plumber + electrician.
| Step | Name | Weight (bps) | Weight % | Roles | Defaults |
|---|---|---|---|---|---|
| 1 | Khảo sát | 1000 | 10% | Lead 100% | Solo |
| 2 | Lắp đặt + đấu nước | 4000 | 40% | Lead 50% + Specialist plumber 50% | Cần thợ ống nước |
| 3 | Đấu điện | 3000 | 30% | Lead 40% + Specialist electrician 60% | Cần thợ điện chính |
| 4 | Test + bàn giao | 2000 | 20% | Lead 100% | Solo |
| Total | 10000 | 100% |
7. Sửa ống nước tổng quát (svc_plumbing_general) · 3 steps¶
Single agent · plumber chuyên môn cao.
| Step | Name | Weight (bps) | Weight % | Roles | Defaults |
|---|---|---|---|---|---|
| 1 | Khảo sát + báo giá | 1500 | 15% | Lead 100% | Solo |
| 2 | Sửa chữa | 6500 | 65% | Lead 100% | Solo (chuyên môn) |
| 3 | Test + dọn dẹp | 2000 | 20% | Lead 100% | Solo |
| Total | 10000 | 100% |
8. Sửa điện tổng quát (svc_electric_general) · 3 steps¶
Tương tự plumbing · single agent electrician.
| Step | Name | Weight (bps) | Weight % | Roles | Defaults |
|---|---|---|---|---|---|
| 1 | Chẩn đoán | 2000 | 20% | Lead 100% | Solo |
| 2 | Sửa chữa | 6500 | 65% | Lead 100% | Solo |
| 3 | Test + bàn giao | 1500 | 15% | Lead 100% | Solo |
| Total | 10000 | 100% |
9. Vệ sinh nhà tổng quát (svc_house_cleaning_deep) · 4 steps¶
Service cần team đông · ít chuyên môn, nhiều lao động.
| Step | Name | Weight (bps) | Weight % | Roles | Defaults |
|---|---|---|---|---|---|
| 1 | Chuẩn bị + di chuyển đồ | 1500 | 15% | Lead 40% + Helper 30% + Helper 30% | Cần 3 người |
| 2 | Vệ sinh phòng khách + bếp | 3500 | 35% | Lead 40% + Helper 30% + Helper 30% | 3 người cùng làm |
| 3 | Vệ sinh phòng ngủ + WC | 3500 | 35% | Lead 40% + Helper 30% + Helper 30% | 3 người |
| 4 | Hoàn thiện + nghiệm thu | 1500 | 15% | Lead 60% + Helper 40% | Lead chính kiểm tra |
| Total | 10000 | 100% |
Note: 2 helpers cho mỗi step · lead có thể điều chỉnh chỉ 1 helper nếu nhà nhỏ. Default 3 người vì service "deep cleaning" usually cho nhà 60-100m².
10. Vệ sinh máy lạnh định kỳ (svc_ac_periodic_clean) · 3 steps¶
Service đơn giản · thường 1 thợ làm.
| Step | Name | Weight (bps) | Weight % | Roles | Defaults |
|---|---|---|---|---|---|
| 1 | Tháo lưới + bộ lọc | 2000 | 20% | Lead 100% | Solo |
| 2 | Vệ sinh + xịt rửa | 6000 | 60% | Lead 80% + Helper 20% | Helper hỗ trợ khi treo cao |
| 3 | Lắp lại + test | 2000 | 20% | Lead 100% | Solo |
| Total | 10000 | 100% |
SQL seed script (DRAFT)¶
-- Cho v3.5 Sprint 1 task T199: BA + Ops + Finance sign-off trước khi run
USE smp_catalog;
-- Update service_steps with weights
-- (Assume service IDs 1-10 mapping to services above)
-- 1. svc_ac_repair (service_id=1)
UPDATE service_steps SET default_step_weight_bps = 1500 WHERE service_id = 1 AND sequence_no = 1;
UPDATE service_steps SET default_step_weight_bps = 2000 WHERE service_id = 1 AND sequence_no = 2;
UPDATE service_steps SET default_step_weight_bps = 4000 WHERE service_id = 1 AND sequence_no = 3;
UPDATE service_steps SET default_step_weight_bps = 2500 WHERE service_id = 1 AND sequence_no = 4;
-- 2. svc_ac_install (service_id=2)
UPDATE service_steps SET default_step_weight_bps = 800 WHERE service_id = 2 AND sequence_no = 1;
UPDATE service_steps SET default_step_weight_bps = 2500 WHERE service_id = 2 AND sequence_no = 2;
UPDATE service_steps SET default_step_weight_bps = 2500 WHERE service_id = 2 AND sequence_no = 3;
UPDATE service_steps SET default_step_weight_bps = 2700 WHERE service_id = 2 AND sequence_no = 4;
UPDATE service_steps SET default_step_weight_bps = 1500 WHERE service_id = 2 AND sequence_no = 5;
-- 3-10: ... (similar pattern, see tables above)
-- Verify: each service SUM = 10000
SELECT
s.service_code,
s.name,
SUM(ss.default_step_weight_bps) AS total_weight_bps
FROM services s
JOIN service_steps ss ON s.id = ss.service_id
GROUP BY s.id
HAVING total_weight_bps != 10000;
-- Expect: 0 rows · all services should sum to 10000
-- Seed service_step_role_splits
-- Example for svc_ac_repair step 2 "Tháo dỡ" (service_step_id assumed 5)
INSERT INTO service_step_role_splits
(service_step_id, role, specialty, default_split_bps, min_required, max_allowed)
VALUES
(5, 'lead', NULL, 6000, 1, 1),
(5, 'helper', NULL, 4000, 1, 2);
-- svc_ac_install step 4 "Lắp dàn lạnh + đấu điện" with electrician
-- service_step_id assumed 9
INSERT INTO service_step_role_splits VALUES
(9, 'lead', NULL, 4000, 1, 1),
(9, 'specialist', 'electrician', 4000, 1, 1),
(9, 'helper', NULL, 2000, 0, 1);
-- ... (full seed for all 10 services in implementation)
-- Verify per step SUM = 10000
SELECT
ss.service_step_id,
SUM(ss.default_split_bps) AS total_split_bps,
COUNT(*) FILTER (WHERE role = 'lead') AS lead_count
FROM service_step_role_splits ss
GROUP BY ss.service_step_id
HAVING total_split_bps != 10000 OR lead_count != 1;
-- Expect: 0 rows
Open questions cho review meeting¶
| # | Question | Owner | When |
|---|---|---|---|
| 1 | Pricing premium cho specialist (electrician/plumber): +50k VND? Calc thế nào? | Finance Lead | Sprint 1 |
| 2 | Service "Sửa ống nước phức tạp" có cần riêng template không (vd thay đường ống chính, 2 steps cần 2 thợ)? | Ops Manager | Sprint 1 |
| 3 | Service vệ sinh nhà · default 3 người · có quá nhiều không? Test feedback từ pilot | Ops Manager | Sprint 4 (pilot end) |
| 4 | Camera install · separate network specialty hay merge vào electrician? |
Tech Lead | Sprint 1 |
| 5 | Weights có nên dynamic by service tier (gia đình vs commercial)? Hay giữ flat? | Founder + Finance | Phase 4+ |
| 6 | Trường hợp lead muốn giữ 100% (không invite helper) cho service có helper required → cho phép không? | BA Lead | Sprint 1 |
Migration notes¶
Khi v3.5 deploy:
- Existing services không có weight config → run backfill: equal weights
10000 / Nper step - Existing orders không có multi-agent: legacy
order_steps.agent_id→ migrate thành 1 roworder_step_agentsvớirole='lead', split_bps=10000 - Test data: seed 10 services trên trong dev/staging trước khi prod
- Production cutover: feature flag
ENABLE_MULTI_AGENT=falseban đầu → migrate data → enable cho 10% traffic test → ramp up
Xem