Merge a structure and a single section
But this only outputs the pageContent. I guess because booking is a single section and therefore has no level?


In short, yes. It's not super clean but you could fetch everything without worrying about level:

{% set merger = craft.entries.section(['pageContent','booking']).all() %}


Then check for level in your loop ('normal' entries return null as a level)

{% for item in merger %}
    {% if item.level is null or item.level == 1 %}
        {{ item.title }}&lt;br&gt;
    {% endif %}
{% endfor %}