The reason for the unexpected behavior is likely due to multiple misunderstandings regarding how WordPress roles & capabilities operate:
edit/read/delete capabilities:
As indicated in the help ? text of the User Capability option, a custom capability such as booking will be used in several forms, same as post or page : edit_booking, delete_booking, read_booking
“full user capabilities” (delete/private/plural variations):
As indicated in the help ? text of the Full User Capabilities option, checking the box will cause many more capabilities to be defined and used for the post type, including:
delete_{capability}s
delete_private_{capability}s
delete_published_{capability}s
delete_others_{capability}s
edit_private_{capability}s
edit_published_{capability}s
…notice how the three capabilities now have plural versions, and variations depending on whether a post is public, private, authored by another user, etc.
Users with role administrator do not automatically have all capabilities:
administrator is a role which is assigned certain capabilities
If you define new capabilities, they do not necessarily get automatically assigned the administrator role
If you change capabilities for the role, but do not clear caches, the user interface might not update immediately
Within Pods, you can check and edit capabilities assigned to roles using Pods Admin > Components > Roles & Capabilities
WordPress roles & capabilities are a facade
It is important to understand that the WordPress user roles and capabilities system is DEFINED WITHIN THE SYSTEM TO WHICH IT ATTEMPTS TO CONTROL ACCESS
For this reason, it is not capable of doing the thing it is designed to do except within very narrow conditions.
Specifically, for a capability to be respected by PHP, it has to be CHECKED by PHP. Most plugins within WordPress and all systems outside WordPress do not check these capabilities.