Trúng Số Vẫn Hết Tiền Trà Sữa

Chương 75: Công Không Nhận Hết Được

Đăng: 31/07/2026 01:11 2,957 từ 1 lượt đọc

Tiếng máy in nhiệt đặt trên chiếc bàn gỗ ép liên tục phát ra tiếng tè tè, phá tan bầu không khí ngột ngạt của căn phòng trọ mười tám mét vuông. Từng dải giấy in nhiệt mỏng dính, nóng hổi tuôn ra như những dải lụa trắng, cuộn tròn dưới nền nhà đầy vết bánh xe ẩm ướt của Công. Trên mỗi tờ giấy, những dòng chữ đen hiện lên sắc nét, lặp đi lặp lại cùng một mã đơn hàng, cùng một địa chỉ giao đến hẻm Tô Hiến Thành.

Linh giật phắt phích cắm nguồn của máy in. Tiếng động cơ nhỏ ngừng hẳn, nhưng tiếng chuông điện thoại của tôi vẫn reo dồn dập. Màn hình điện thoại hiển thị cuộc gọi liên tục từ các chủ quán cơm, quán hủ tiếu trong khu vực quận 10. Tôi nhấn nút nghe, loa ngoài lập tức truyền đến tiếng ồn ào của tiếng chảo gõ vào bếp lò và giọng nói gấp gáp của cô Hoa chủ tiệm bánh mì.

- Minh hả con? Bên app của tụi con bị gì vậy? Xe cô mới nhận ba đơn bánh mì thịt nướng cùng một mã số khách hàng. Shipper bên con vừa lấy một ổ đi rồi, giờ lại có một cậu shipper khác tới đòi lấy thêm hai ổ nữa. Cô có nướng tiếp không hay sao?

Tôi chưa kịp trả lời thì đầu dây bên kia đã bị cắt ngang bởi tiếng còi xe inh ỏi. Công đang gọi điện từ một điểm giao hàng khác ở ngã tư Nguyễn Tri Phương. Tiếng gió rít qua micro điện thoại kèm theo tiếng mưa xối xả vào mái hiên tôn di động của một tiệm cơm tấm.

- Minh ơi, bảo Linh khóa cổng nhận đơn ngay lập tức. Tao đang ở tiệm cơm Cô Lan, bến này đang loạn cào cào rồi. Bếp làm ra năm phần cơm sườn y hệt nhau, ba ông shipper của mình đang đứng cự cãi với chủ quán vì không biết ai là người đi giao thật, ai là người nhận đơn ảo. Để tao gọi điện thoại cho mấy quán khác kêu họ dừng làm bản thứ hai ngay lập tức. Hệ thống của mình đang tự động gửi trùng đơn trước khi mấy quán kịp đối chiếu mã trên màn hình rồi.

Tôi cúp máy, quay sang Linh. Cô ấy đang nhanh chóng mở phần mềm quản trị trên máy tính xách tay, ngón tay gõ liên hồi lên bàn phím để kích hoạt lệnh dừng khẩn cấp toàn bộ hệ thống. Gương mặt Linh dưới ánh sáng xanh của màn hình hiện rõ sự mệt mỏi sau một đêm không ngủ. Những sợi tóc mai bết lại bên thái dương vì mồ hôi.

- Em đã ngắt kết nối API với bên Bếp Nhà Ta rồi.

Linh nói, giọng cô khàn đặc.

- Nhưng những đơn hàng đã nằm trong hàng đợi của máy chủ từ trước vẫn đang tiếp tục đổ về máy in. Em phải vào cơ sở dữ liệu để xóa thủ công các lệnh này.

Nửa tiếng sau, cánh cửa phòng trọ bị đẩy mạnh ra. Công bước vào, mang theo luồng khí lạnh ẩm ướt của cơn mưa đêm Sài Gòn. Cậu ấy cởi chiếc áo mưa cánh dơi màu xanh đen đẫm nước, treo vội lên chiếc móc sắt bên ngoài ban công. Mùi dầu mỡ chiên xào bám chặt vào lớp vải áo thun và mùi khói xe ngoài đường phả ra nồng nặc trong không gian chật hẹp của phòng trọ. Trên tay Công là một xấp phiếu in nhiệt nhăn nhúm, ướt nước mưa ở các góc giấy.

- Tao mới chạy qua ba điểm đông đơn nhất ở khu Bắc Hải và Nguyễn Tri Phương để thu hồi mấy cái phiếu trùng này về.

Công vừa nói vừa thở dốc, kéo chiếc ghế nhựa ngồi sụp xuống bên cạnh bàn làm việc.

- Mấy chủ quán la ó quá trời. Họ bắt mình phải thanh toán tiền cho những phần ăn đã làm thừa vì lỗi hệ thống. Tao đã ký nhận vào biên bản của họ rồi.

Công nhìn tôi, ánh mắt đầy vẻ tự trách. Cậu ấy đưa tay vuốt nước mưa còn đọng trên mặt, giọng chùng xuống.

- Lỗi này do tao. Lúc chiều khi hệ thống báo có bản cập nhật mới từ anh Bảo, tao thấy app của shipper bị đứng hình nên đã bấm xác nhận cập nhật liên tục ba bốn lần liền. Chắc tại tao bấm nhanh quá nên máy chủ mới nhận diện thành nhiều thao tác rồi gửi đơn trùng xuống. Để tao tự nhận hết lỗi này với các chủ quán, tiền bồi hoàn mấy phần cơm làm thừa cứ trừ vào tiền công chạy xe tuần này của tao đi.

Tôi đặt tay lên vai Công, ngăn cậu ấy lại trước khi cậu ấy kịp lôi chiếc ví da cũ kỹ ra khỏi túi quần.

- Mày nhận phần mày bấm, tao nhận phần tao duyệt, còn hệ thống phải nhận phần nó gửi lặp.

Tôi nói, giọng dứt khoát.

- Quyết định cập nhật phiên bản mới là do tao phê duyệt sau khi nghe Bảo thuyết phục. Mày chỉ làm theo quy trình vận hành của shipper khi ứng dụng bị lỗi giao diện thôi. Một hệ thống điều phối chuyên nghiệp buộc phải có cơ chế chống gửi lặp đơn hàng ở cấp độ máy chủ, chứ không thể đổ hết trách nhiệm lên cái nút bấm của người dùng được.

Linh xoay màn hình máy tính về phía hai chúng tôi. Cô chỉ vào những dòng nhật ký hệ thống đang chạy dọc màn hình với các mốc thời gian chi tiết đến từng mili giây.

- Minh nói đúng đó Công. Em vừa so sánh dấu thời gian trong log máy chủ xong. Nhìn vào đây đi, mã đơn hàng số 1026 này chỉ có đúng một yêu cầu gửi đi từ thiết bị của anh lúc mười chín giờ bốn mươi phút năm giây. Nhưng ở phía máy chủ trung tâm, mã này lại được phát lại liên tục ba lần vào các mốc mười chín giờ bốn mươi phút mười giây, mười lăm giây và hai mươi giây. Đây là lỗi đồng bộ dữ liệu của hệ thống tự động ghép tuyến, máy chủ không nhận được phản hồi xác nhận từ thiết bị của shipper nên nó tự động gửi lại yêu cầu cũ. Anh không hề bấm hai lần trên điện thoại của mình.

Công ghé sát mắt vào màn hình, nhìn những con số kỹ thuật loằng ngoằng rồi thở phào một hơi dài, tựa lưng vào thành ghế nhựa.

- Vậy là do cái app của anh Bảo bị lỗi chứ không phải tại ngón tay tao hả? Làm tao hú hồn, cứ tưởng mình phá hư công sức của cả nhóm chứ. Nhưng giờ đống đồ ăn làm thừa kia tính sao đây? Mấy chủ quán họ không quan tâm lỗi máy chủ hay lỗi ngón tay đâu, họ chỉ biết đồ ăn đã làm ra thì phải có người trả tiền.

Tôi nhìn xấp phiếu in nhiệt mà Công mang về, sắp xếp chúng thành từng nhóm theo tên cửa hàng.

- Chúng ta sẽ gọi điện cho từng khách hàng có tên trên phiếu trùng để xác nhận xem họ có thực sự nhận được món ăn chưa. Nếu họ nhận được hai phần và đã trả tiền cho cả hai, chúng ta sẽ ghi nhận doanh thu bình thường. Nếu họ từ chối nhận phần thứ hai và chủ quán đã lỡ làm xong, nhóm mình sẽ đứng ra bồi hoàn tiền nguyên giá cho chủ quán theo đúng cam kết trong hợp đồng thử nghiệm. Khoản chi này sẽ được trích từ phần ngân sách giới hạn còn lại của Quỹ thử nghiệm, tuyệt đối không đụng vào Quỹ an toàn.

Linh cầm chiếc điện thoại bàn của phòng trọ lên, bắt đầu quay số gọi cho những khách hàng đầu tiên. Tôi và Công ngồi bên cạnh, ghi chép lại kết quả của từng cuộc gọi vào một cuốn sổ tay. Tiếng nói chuyện điện thoại của Linh vang lên đều đều trong đêm muộn, đan xen với tiếng mưa rơi rả rích ngoài cửa sổ. Có những khách hàng thông cảm cười xòa khi biết hệ thống bị lỗi, nhưng cũng có những người càu nhàu khó chịu vì bị làm phiền vào giờ cơm tối.

Đến gần mười một giờ đêm, cuộc đối chiếu cuối cùng mới hoàn tất. Chúng tôi đã gom được đầy đủ hai mươi ba biên bản món ăn làm thừa từ năm cửa hàng đối tác. Tổng số tiền cần bồi hoàn cho các chủ quán là chín trăm năm mươi ngàn đồng.

Linh không nhập ngay con số đó vào bảng. Cô lật ngược cuốn sổ về trang đầu tiên, trang có ba dòng chữ vàng của điều kiện dừng, rồi kẻ một cột cộng dồn bên lề.

- Năm mươi ngàn cho ba tô hủ tiếu của chú Ba. Hai trăm bảy mươi ngàn cho đợt anh chuyển khoản sáng hôm đó. Chín trăm năm mươi ngàn đêm nay. Cộng lại là một triệu hai trăm bảy mươi ngàn.

Cô gạch chân dòng cuối cùng hai lần.

- Trần bồi hoàn cả đợt là một triệu. Chúng ta đã phá trần, vượt hai trăm bảy mươi ngàn. Em nói rõ để không ai hiểu nhầm về sau: điều kiện dừng thứ ba đã kích hoạt kể từ tối nay, không phải là chuyện để cân nhắc nữa.

Tôi nhìn con số một triệu hai trăm bảy mươi ngàn. Không ai trong phòng phản đối câu nào. Nó cũng đồng nghĩa với việc lợi nhuận của cả tuần chạy xe của đội shipper đã hoàn toàn biến mất.

Ngay sau khi Linh gửi log hủy đơn và tỷ lệ hoàn thành cuối ca, Khánh trả lời bằng email có đóng dấu thời gian của Bếp Nhà Ta. Vì sự cố đồng bộ khiến ca chạy bù không đạt mốc chín mươi phần trăm, đối tác khôi phục khoản phạt cũ ba triệu sáu trăm ngàn đồng theo phụ lục. Họ không cộng khoản bồi thường bổ sung vì nhóm đã khóa hệ thống, đối soát và xử lý các đơn trùng ngay trong đêm. Linh lưu email ấy cùng biên bản thương lượng: từ thời điểm đó, ba triệu sáu trăm ngàn đồng trở thành nghĩa vụ đã chốt với Bếp Nhà Ta; chín trăm năm mươi ngàn bồi hoàn cho năm quán là khoản riêng.

Tuy nhiên, khi tôi nhìn vào những tờ giấy in nhiệt và bảng ghi chép trên bàn, tôi nhận ra chúng tôi đang sở hữu một thứ khác có giá trị hơn nhiều. Đó là bộ dữ liệu vận hành thực tế đầu tiên của nhóm. Linh bắt đầu nhập các thông số từ phiếu in vào file Excel trên máy tính. Từng cột dữ liệu hiện lên: thời gian cửa hàng nhận đơn, thời gian đầu bếp chuẩn bị xong món ăn, thời gian shipper của Công có mặt tại quán để lấy hàng. Quãng đường di chuyển thực tế qua các con hẻm nhỏ của quận 10, và thời gian khách hàng nhận được món ăn trên tay.

- Nhìn vào biểu đồ này đi Minh.

Linh vừa di chuyển chuột vừa giải thích.

- Phần lớn các đơn hàng bị trễ hoặc bị lỗi không nằm ở khâu giao hàng của các shipper. Các anh em shipper của Công thuộc đường hẻm rất kỹ, thời gian di chuyển trung bình giữa các điểm chỉ mất từ bảy đến mười phút. Điểm nghẽn thực sự nằm ở thời gian chờ làm món tại các cửa hàng nhỏ vào khung giờ cao điểm từ mười tám giờ đến mười chín giờ ba mươi. Thuật toán tự động ghép tuyến của Bảo đã bỏ qua yếu tố này, nó cứ dồn đơn vào những quán đang bị quá tải. Dẫn đến việc shipper phải đứng chờ quá lâu và hệ thống tự động phát lại đơn vì tưởng shipper chưa đến nơi.

Tôi gật đầu, nhận thấy rõ sự khác biệt giữa lý thuyết công nghệ và thực tế đời sống. Những con số trên bảng tính cho thấy lớp điều phối thủ công bằng điện thoại và sự linh hoạt của các shipper quen thuộc địa bàn mới là thứ giữ cho tỷ lệ giao hàng đúng giờ đạt mức cao. Phần mềm tự động ghép tuyến của Bảo, vốn được quảng cáo là giải pháp tối ưu hóa chi phí, lại chính là nguồn cơn gây ra những khoản chi phí sửa chữa lỗi hệ thống và bồi thường đơn trùng.

Sáng hôm sau, khi những tia nắng đầu ngày bắt đầu rọi qua khe cửa ban công, căn phòng trọ vẫn ngổn ngang những giấy tờ và vỏ hộp hủ tiếu đã cạn. Tiếng chuông điện thoại của tôi lại vang lên. Lần này là số máy của Bảo. Tôi nhấn nút nghe, giọng Bảo ở đầu dây bên kia vẫn bình thản như không có chuyện gì xảy ra vào tối hôm trước.

- Minh hả? Tôi vừa xem qua báo cáo lỗi đồng bộ tối qua trên hệ thống. Có vẻ như phiên bản cập nhật thử nghiệm gặp chút trục trặc nhỏ về băng thông máy chủ. Các bạn đã xử lý xong đống đơn trùng chưa?

- Chúng tôi tự xử lý xong rồi.

Tôi trả lời, cố giữ giọng mình không lộ vẻ tức giận.

- Chúng tôi đã bồi hoàn đầy đủ cho các chủ quán và thu hồi toàn bộ dữ liệu đơn lỗi. Lỗi này là do thiết kế đồng bộ của máy chủ phát lại mã đơn chứ không phải do shipper thao tác sai. Tôi nghĩ chúng ta cần phải ngồi lại để đánh giá lại toàn bộ mã nguồn của phần mềm ghép tuyến này trước khi tiếp tục chạy thử.

Bảo im lặng một lát ở đầu dây bên kia, tiếng gõ bàn phím lạch cạch vang lên đều đặn. Sau đó, anh ta lên tiếng với một tông giọng nghiêm túc hơn.

- Việc sửa lỗi mã nguồn và nâng cấp máy chủ sẽ tốn rất nhiều thời gian và chi phí vận hành. Với năng lực tài chính hiện tại, nhóm các bạn sẽ rất khó duy trì hệ thống trong những tuần tới. Khoản phạt vi phạm hợp đồng của Bếp Nhà Ta đã được khôi phục sau ca chạy bù tối qua. Tôi có một đề nghị khác dành cho các bạn đây.

- Đề nghị gì?

Tôi hỏi, đồng thời ra hiệu cho Linh và Công tập trung lại gần điện thoại.

- Có một bên đối tác lớn trong ngành giao nhận mà tôi đang làm tư vấn đang rất quan tâm đến dự án của các bạn.

Giọng Bảo vang lên rõ ràng qua loa ngoài.

- Họ muốn mua lại toàn bộ phần mềm điều phối, bộ dữ liệu vận hành thực tế mà các bạn vừa thu thập được, cùng với các hợp đồng đối tác cửa hàng hiện có. Mức giá họ đưa ra sẽ đủ để nhóm của các bạn thanh toán toàn bộ nghĩa vụ tài chính trước mắt với Bếp Nhà Ta và các chủ quán. Đồng thời giúp các bạn bước ra khỏi dự án này một cách sạch sẽ mà không phải gánh thêm bất kỳ khoản lỗ nào nữa.

Linh lập tức nhíu mày, cô giật lấy chiếc điện thoại từ tay tôi và hỏi thẳng vào micro.

- Giá mua cụ thể là bao nhiêu? Và bên mua là ai vậy anh Bảo?

Bảo cười khẽ qua điện thoại, tiếng cười mang theo sự tự tin của một người đang chiếm ưu thế trong các cuộc thương lượng tài chính.

- Mức giá đề xuất là ba triệu sáu trăm ngàn đồng. Khoản nghĩa vụ sau thương lượng và thanh lý hiện được chốt ở ba triệu sáu trăm ngàn đồng, nhưng nếu hệ thống tiếp tục chạy lỗi trong hai tuần tới thì chi phí có thể tăng mạnh. Đây là một lối thoát an toàn cho các bạn. Về tên của bên mua, tôi vừa gửi thông tin pháp nhân qua email của Minh rồi đó. Các bạn cứ kiểm tra đi rồi cho tôi câu trả lời trước buổi chiều nay nhé.

Tôi mở hòm thư điện tử trên máy tính xách tay. Một email mới từ Bảo vừa xuất hiện trong hộp thư đến. Tôi nhấp chuột mở tệp tài liệu đính kèm. Trên trang đầu tiên của bản đề xuất thỏa thuận chuyển nhượng, tên của bên mua được in đậm bằng mực đen nổi bật trên nền giấy trắng. Đó là một cái tên hoàn toàn xa lạ, một pháp nhân chưa từng xuất hiện trong bất kỳ hợp đồng hay tài liệu hợp tác cũ nào của nhóm chúng tôi từ trước đến nay. Linh ghé mắt nhìn vào màn hình, đôi chân mày cô nhíu chặt lại khi đọc kỹ từng dòng chữ của bản hợp đồng chuyển nhượng. Mùi mực in của những tờ phiếu trùng trên bàn vẫn còn thoang thoảng trong không khí, như một lời nhắc nhở về cái giá của sự vội vã. Giá mua nằm đúng bằng tổng nghĩa vụ gần nhất, biến nó thành một lối thoát vừa khít nhưng gần như xóa phần vốn nhóm đã rót. Linh hỏi tên bên mua, còn Bảo gửi một pháp nhân chưa từng xuất hiện trong hợp đồng cũ.

0