First, I'm curious as to why you're pigeon-holing yourself with symfony2/doctrine2 - is this due to legacy systems? If not, I'd suggest having your potential developers sell you on tech stacks, not the other way around.
If I walked into a meeting where the following was already prepared, I'd leave that room with a big smile:
- An executive summary. There should be a mission statement somewhere in here. A single sentence that defines the objective of the project. This will not only help your developers keep the end goal in mind, but will also help the design team while developing features (should
x
actually be a feature of the system?)
- Subsystem design (high level). Does your application contain logically modular systems? If so, break it up (these could be seen as milestone deliverables).
- Prototypes. Use programs like Pencil (free) or Balsamiq (commercial) to mock up what you want in your application.
Of course, things will always change, so while there should definitely be much though put into each of these points, you should definitely not come away thinking that the design is set in stone and won't change.