Dynamic product is called dynamic because we can't guarantee a proper contract type.
The booking gets tied to a standard accommodation type and the description of the room is put in the room_type text field.

All dynamic contracts can be detected by the is_dynamic="true" field in the availability response.
You can feel free to remove them from the comparison, but please be aware that usually this kind of contract have very good prices.

Maybe you could consider a warning, when one of these contracts is selected, asking the user to read carefully the room_type before confirmation.