Một trẻ đang 11 tuổi khi đặt tour nhưng đã tròn 12 tuổi vào ngày khởi hành. Nếu chính sách tour tính nhóm giá theo tuổi ngày đi, website không thể giữ nhóm trẻ em chỉ vì khách đã chọn nó khi đặt sớm. Website tour tính tuổi trẻ em cần xác định rõ ngày tham chiếu, ranh giới nhóm tuổi và cách xử lý khi lịch khởi hành thay đổi.
Bài viết đề xuất cách mô hình hóa và nghiệm thu quy tắc tuổi trong luồng đặt tour. Mốc 12 tuổi, ngày sinh và ngày đi bên dưới đều là ví dụ giả định. Chúng không phải quy định pháp luật, chính sách chung của ngành du lịch hay điều kiện giá của một nhà cung cấp cụ thể.
Tuổi có ý nghĩa khi đi kèm một ngày tham chiếu
Câu hỏi “trẻ bao nhiêu tuổi?” thiếu một phần thông tin nếu chuyến đi diễn ra nhiều tháng sau. Doanh nghiệp cần nói rõ tuổi tính vào ngày đặt, ngày khởi hành, ngày kết thúc tour hay một mốc khác do nhà cung cấp quy định. Website phải dùng đúng mốc đã công bố, không tự chọn ngày hiện tại của máy chủ cho thuận tiện.
Ví dụ trẻ sinh ngày 20 tháng 6 năm 2014. Với tour khởi hành ngày 19 tháng 6 năm 2026, tuổi đã tròn là 11; khởi hành ngày 20 tháng 6 thì là 12. Chỉ lấy năm đi trừ năm sinh cho cả hai trường hợp sẽ đưa ra cùng kết quả 12 và bỏ qua ngày sinh nhật. Đây là lỗi phép tính, không phải một khác biệt nhỏ về trình bày.
Cũng không nên lấy số ngày đã sống chia cho 365 rồi làm tròn để tính tuổi theo năm đã tròn. Số ngày trong năm không cố định và ranh giới cần đối chiếu là ngày sinh nhật theo quy tắc được chọn. Với trường hợp đặc biệt như ngày 29 tháng 2, doanh nghiệp cần xác nhận chính sách áp dụng, không để thư viện lập trình quyết định âm thầm.

Nhóm giá cần ranh giới không chồng lấn
Giả sử chính sách minh họa chia nhóm dưới 2 tuổi, từ đủ 2 đến dưới 12 tuổi và từ đủ 12 tuổi. Cách viết này cho biết rõ tuổi 2 và tuổi 12 thuộc đâu. Hai nhãn “2–12 tuổi” và “12 tuổi trở lên” lại chồng lên nhau ở tuổi 12, khiến website có thể tính giá khác với tư vấn viên.
Không phải mọi nhà cung cấp dùng cùng ranh giới. Một tour có thể phân nhóm theo độ tuổi, một dịch vụ khác theo chiều cao, và dịch vụ kèm theo có thể dùng tiêu chí riêng. Nếu gói tour có vé tham quan hoặc vận chuyển từ nhiều bên, không nên ép tất cả vào một nhóm “trẻ em” duy nhất rồi hứa đã tính đúng toàn bộ.
WooCommerce Bookings có cấu hình loại người tham gia như người lớn hoặc trẻ em, kèm các điều kiện tương ứng. Khả năng tạo nhãn nhóm không tự chứng minh có phép tính tuổi theo ngày khởi hành. Đội triển khai phải xác minh cách lấy dữ liệu và kiểm tra ranh giới trong giải pháp đang dùng.
Hỏi ngày sinh hay hỏi tuổi lúc đi?
Nếu chỉ cần phân nhóm và không cần tái tính sau này, hỏi tuổi tại ngày khởi hành có thể giảm dữ liệu phải thu thập. Nhãn câu hỏi phải nói rõ mốc ngày; ô “Tuổi” đứng riêng dễ khiến khách nhập tuổi hiện tại. Tuy nhiên, khi đổi ngày đi, con số tuổi đã nhập có thể không đủ để tự tính lại chính xác.
Ngày sinh cho phép tính lại khi đổi lịch nhưng là dữ liệu cá nhân cần được quản lý đúng phạm vi. Không nên thu bản chụp giấy tờ hoặc thông tin nhạy cảm chỉ để minh họa một công thức tính tuổi. Chỉ hỏi dữ liệu thật sự cần cho việc cung cấp dịch vụ và giải thích mục đích ngay trong luồng đặt.
Hướng dẫn câu hỏi khi đặt của GetYourGuide nêu tuổi hoặc ngày sinh có thể được hỏi cho yêu cầu an toàn hoặc giá, đồng thời khuyến nghị chỉ yêu cầu thông tin thật sự cần. Đây là quy trình của nền tảng đó, không phải cơ sở để kết luận website riêng được tự do thu thêm mọi trường thông tin.
Người đặt đơn khác với từng người tham gia
Một phụ huynh có thể đặt cho hai trẻ với ngày sinh khác nhau. Ngày sinh của người thanh toán không thể dùng để phân loại cả nhóm. Dữ liệu tuổi cần gắn với từng người tham gia hoặc từng dòng số lượng theo thiết kế, đủ để hệ thống giải thích vì sao một người được xếp vào nhóm nào.
Rezdy tách câu hỏi một lần cho đơn và câu hỏi cho từng người tham gia. Sự phân biệt này giúp viết yêu cầu dữ liệu: thông tin liên hệ của người đặt thuộc đơn, còn thông tin để xác định điều kiện tham gia phải nằm đúng đối tượng. Không cần sao chép nguyên biểu mẫu của một nhà cung cấp để áp dụng nguyên tắc đó.
Khi khách tăng số trẻ từ một lên hai, website cần yêu cầu dữ liệu còn thiếu cho người thứ hai hoặc chuyển sang xác nhận phù hợp. Không nên sao chép tuổi của trẻ đầu tiên, tự gán một tuổi mặc định hoặc mặc định mọi trẻ đều cùng nhóm giá. Thông báo phải chỉ rõ đang thiếu thông tin nào.

Ngày sinh là ngày lịch, không phải một thời điểm UTC
Đối với phép tính tuổi theo ngày, ngày sinh nên giữ ý nghĩa ngày lịch. Nếu phần mềm tự thêm giờ nửa đêm rồi chuyển múi giờ, dữ liệu có thể lệch sang hôm trước ở một giao diện khác. Ngày khởi hành cũng cần được xác định theo lịch và múi giờ của chuyến đi, thay vì múi giờ của người đang mở trình duyệt.
Tài liệu Rezdy Connect về booking fields có kiểu Date với định dạng ngày không giờ. Đây là ví dụ về hợp đồng dữ liệu cụ thể; API khác có thể yêu cầu định dạng khác. Đội tích hợp cần giữ đúng ý nghĩa ngày ngay cả khi chuyển đổi định dạng giữa các hệ thống.
Không nên chấp nhận ngày sinh trong tương lai hoặc một ngày không tồn tại rồi sửa tự động thành ngày gần nhất mà khách không biết. Nếu dữ liệu không hợp lệ, báo rõ để sửa trước khi tính nhóm. Một phép tính trả ra số tuổi không âm chưa đủ để chứng minh đầu vào là đúng.
Đổi ngày khởi hành phải kiểm tra lại điều kiện
Nếu chuyến đi dời qua sinh nhật, nhóm tuổi theo ngày đi có thể thay đổi. Website cần tính lại điều kiện và trình bày phần thay đổi trước khi xác nhận đổi lịch. Không nên âm thầm tăng tiền, cũng không nên hứa giữ nhóm giá cũ nếu điều khoản không cho phép. Việc có giữ giá hay không là chính sách thương mại cần được công bố riêng.
Đối với một hành trình kéo dài qua sinh nhật, có nhà cung cấp xét ngày bắt đầu, có nơi xét ngày sử dụng từng dịch vụ hoặc yêu cầu khác. Hãy ghi rõ phạm vi của quy tắc đang triển khai và chuyển trường hợp chưa xác định cho nhân viên. Bài viết không đưa ra một mốc đúng cho mọi vé và mọi loại tour.
Lịch sử đơn nên lưu ngày tham chiếu, nhóm được áp dụng và phiên bản quy tắc tại thời điểm xác nhận, trong phạm vi cần thiết. Khi chính sách nhóm tuổi của sản phẩm thay đổi, không được diễn giải lại đơn lịch sử như thể khách đã chọn điều kiện mới. Nhờ vậy đội chăm sóc có thể giải thích chênh lệch bằng dữ liệu của đúng giao dịch.
Kiểm thử ranh giới thay vì chỉ thử một trẻ tám tuổi
Chuẩn bị ba ca ngay trước, đúng và ngay sau sinh nhật chuyển nhóm. Thêm một ca đặt trước sinh nhật nhưng khởi hành sau sinh nhật, một ca đổi lịch qua ranh giới và hai trẻ khác nhóm trong cùng đơn. Những mẫu này phân biệt được cách tính đúng với phép trừ năm đơn giản.
Tiếp theo, thử ngày sinh sai định dạng, ngày không tồn tại, ngày tương lai, thiếu tuổi của người thứ hai và thay số lượng sau khi đã nhập dữ liệu. Nếu hệ thống lấy giá từ đối tác, kiểm tra thông tin nhóm gửi đi có khớp dữ liệu đã hiển thị cho khách. Chỉ tổng tiền giống nhau ở một mẫu không chứng minh quy tắc đã được áp dụng đúng.
Để thiết kế luồng website đặt tour phù hợp quy tắc thực tế, hãy chuẩn bị bảng nhóm tuổi, mốc tham chiếu và một số tình huống giả lập. Giá: Liên hệ. Nhận tư vấn & báo giá theo phạm vi dữ liệu và tích hợp, không cần gửi ngày sinh của trẻ thật trong trao đổi ban đầu.

