I've had to do it for a couple of customers, here's my take......
Assign the lines to the phone in the order you want them to be accessed for outgoing calls. Make them ring or not ring as desired. Label them Line 1, Line 2, etc. Assign 2 Call Appearances underneath the lines, label them Intercom 1 and 2.
Assign the extensions to the Main group, Collective Call Waiting with Queuing turned ON, but UNcheck the extensions so they do not receive calls through the Intercom/Call Appearances. You can program the Main group for Voicemail, overflow to an automated attendant, Night Service, etc. as needed
Set the Incoming Call Route to the Main group
DON'T teach the customer how to transfer calls, except for directly to a mailbox. Teach them to put the call on hold, which will blink on all sets like an old fashioned key system, and Intercom to the user that needs to retrieve the call.