London, England (CNN) -- Britain's Prince William will marry Kate Middleton on Friday April 29, at Westminster Abbey in London, the royal family said Tuesday, ending a week of speculation about the date and venue.
"The royal family will pay for the wedding, following the precedence set by the marriages of the prince and princess of Wales in 1981 and Princess Elizabeth and Prince Philip in 1947," Prince Charles' spokeswoman said in a statement.
The government will meet any wider transportation or security-related costs, Prime Minister David Cameron said.
The thousand-year-old Westminster Abbey has been the favorite of royal fans, the media, and bookies ever since the couple announced their engagement a week ago.
Westminster Abbey was founded in 960, with the present Gothic church dating to 1245. Since 1066, it has been the "coronation church" -- the place where kings and queens are crowned when they ascend to the throne.
Its close ties to the monarchy means it has also been the site of many royal weddings and funerals. Queen Elizabeth II married Prince Philip there in 1947, when she was still a princess; her father, King George VI, got married there in 1923.
The funeral service for Princess Diana, William's mother, took place there in 1997.
Middleton was photographed leaving the Abbey last week with her parents, and British newspapers reported they had a private after-hours tour.
The wedding day will be a national holiday, Cameron said, though Scottish lawmakers still must approve the measure because Scotland has its own devolved government.
"The wedding of Kate and William will be a happy and momentous occasion," Cameron said in a statement. "We want to mark the day as one of national celebration. A public holiday will ensure the most people possible will have a chance to celebrate on the day."
The palace had already said the wedding would take place in the spring or summer of 2011, but it refused to give a firm date.
It's unclear whether the couple chose April 29 because it coincides with St. Catherine's Day on the Anglican calendar of saints. The palace has been referring to Middleton as "Catherine" instead of her usual "Kate."