Facade deals with interface, not implementation. Its purpose is to hide internal complexity behind a single interface that appears simple on the outside. In the example from your question, the facade hides four classes (Order, OrderLine, Address, BasketItem) behind a single method.
Template method deals with implementation. Its purpose is to extract the common algorithm from several ones that differ only in a 'fill in the blanks' way. The template method in the superclass implements the common algorithm and each subclass 'fills in the blanks' in its own specific way.
So why don't the author use Template Pattern here?
It would make sense to make placeOrder
a template method if there were several similar versions of the operation. Maybe a few methods like placePhoneOrder
, placeInternetOrder
, placeManuallyEnteredOrder
could be refactored into a single template placeOrder
with some subclasses implementing only the {phone,internet,manual}-specific differences.