score:3
Short answer: it's ok to book through Expedia/Orbitz as long as the airline is the operating airline, and you have to call the right airline.
For example, if you book the British Airways's ticket on Expedia, and they're the marketing as well as operating airline for this flight, you will have no problem calling British Airways to add the bassinet request to your booking, assuming they're still available.
Here is the tricky part: say you see a flight on Expedia, marketed as British Airways, but operated by American Airlines. After you booked the flight, you will get a reservation number for British Airways, but not American Airlines. If you call British Airways, they cannot request the bassinet for you as American Airline has the control for that. What you can do is to ask about your "American Airlines" reservation number. With this 6-character code (different from your original one), you can then call American Airlines to request the bassinet. However, it's based on availability as well as the priority. So it's not guaranteed.
Upvote:3
Requesting a bassinent is normally done directly with the airline. It is not an alteration of your booking (as DCTLib aluded to) rather it is a special request that is tied to the seat you are assigned. Bassinents are ONLY available in bulkhead rows and most airplanes only carry a couple.
So to request one, you need to first request bulkhead seats, then request the bassinent. BUT seat requests are just that, requests, so there is no guarantee you will have that seat on the flight and hence no guarantee of a bassinent.