If you want to know the reason:
The guys at the surface lots have little hand-held machines that take your credit card for payment for your cruise when you enter the lot, i.e., before your cruise. They are preprogrammed. The guys can't change them. So they have to send B2B to the garage, where the machine at the entrance records your entry date and the machine at the exit records your exit date, and charges you accordingly. 😄