The 1990-built Carnival Fantasy came in contact with one of the locks while the water levels were being lowered, the company said in a statement.
Carnival noted that no one was injured in the incident.
An initial assessment of the accident points to damage to the metal overhang, broken glass and handrails on Deck 9 and 10.
The necessary clean-up was planned to be completed by Saturday afternoon while other repairs would take longer but should not disrupt guests, the company added.
Carnival Fantasy arrived in Puerto Limon, Costa Rica, as scheduled on Saturday morning.
The ship got underway from its Mobile, Alabama, homeport on September 16, for a 10-day cruise.