The way we do that with GD is with Pricing Manager.
When a field is ‘included’ in a pricing package, then that field can be filled out by the listing owner in the form, and then it will also be visible on the frontend on the archive item or detail template.
If, say, you have a field ‘xyz’ and that field is displayed with GD Post Meta key=”xyz”, then when the page is shown, it will automatically be visible/hidden based on the price package of the listing.
It is possible with builders to use fields for additional layout changes, too. If xyz -> show.
https://wpgeodirectory.com/docs-v2/integrations/builders/
I hope I have answered your question, but if not please write back and let me know what additional information would help.
https://wpgeodirectory.com/downloads/pricing-manager/