Don’t make the user notice your technical restrictions
The journey planner on TFL is an example of technical limitations being pushed forward to the user interface. The user is forced to make a choice of how to search before they actually search. Interestingly if you type a postcode the system detects and auto-sets the search value to ‘postcode’ (why not just do that automatically and not have the option?).
When searching across multiple possible value sets, auto complete prompts are a much more effective way to target the user’s search. The Hotels.com example is an excellent demonstration of this.