Reuse parts of dialplan/call flow


I have a quite long dialplan/call flow until customer gets into our IVR. There are some checks for business hours, holidays, maintenance work, outages and so on (used destinations call flow control, time conditions, custom destinations). If everything is okay, the customers get into the IVR and by selection into a queue.

Now there is an extra phone number for a special queue. The customer should immediately be placed in the queue but only if all of those checks are okay.
At the moment my last check is a “Call Flow control” with Normal Flow “IVR” and Override Flow “Announcement”.
I want to reuse my checks for the extra inbound route without having to rebuild them.
My question is: How can I do this?
Pre-FreePBX I would have done by setting a variable based on inbound route, then go to the checks and after that separate again by some kind of “variable condition module” by pre-setted variable.

Is there a destination that can do that for me?

Best regards

Edit: Of course I could write the dialplan by hand (custom), but I want to use the WebGUI as much as possible.

Is there really no chance to reuse a dialplan?
How do you solve this?

Myself I can’t think of an easy way to duplicate that into the GUI. Even copy/pasting the actual dialcode to a _custom file would be fairly tedious as it would be all over the place in the _additional file, would probably be just as quick rebuild it from scratch.

I had a similar experience once with a PBX that had so much dialplan, both a mixture of GUI and and custom stuff we cloned the PBX to another box, modded the code we needed, sent the calls from PBX-a to pbx-b, processed them, then sent them back via an IAX trunk. It worked, but was not an ideal solution.

There is no supported method of doing conditional call branching in the GUI. In these situations, usually a small block of custom code in extensions_custom.conf will suffice (ending in a return), and then create a custom destination that references the code block.