Fire crews have put out a blaze at the iconic Sheffield Hotel, located about 50km inland of Christchurch.
Emergency services were called to the 1800s-era building just after 1am this morning.
Fire and Emergency crews said the blaze that tore through the hotel could have been much worse if smoke alarms were not working.
The sole occupant of the hotel was woken by alarms shortly after 1am. She escaped unharmed.
The 1882 building was extensively damaged in the blaze, with 13 fire crews there at its height.
The Canterbury area fire commander, David Berry, said the alarms might have saved the occupant's life.
"Daylight Savings is this weekend, we do need to check our smoke alarms, make sure they're working.
"This could have really been a lot worse if the smoke alarm hadn't activated, so now's the time to do it."
Berry said a fire investigator is on site and two crews are there on stand-by.
The building has suffered extensive damage, particularly to the upper level and roof.
It was not yet known how the fire started.