Develop a WHMCS module that allows users to push and pull active domains between users.
- Module verify existence of the other user account pull / push (input based upon client id or e-mail which should configurable by admin user);
- Push / pull only possible when a domain is active;
- Push / pull only be possible if there are no open invoices for it (open invoice error notification should not be visible to pull requester);
- Push / pull only be possible if automatic renewal is enabled;
- When push is requested it sends out an e-mail to confirm;
> After confirmation it sends out e-mail to receiver to accept;
- When pull is requested, it sends out an e-mail to current holder to accept;
- E-mail notification when push / pull is accepted by the other party and the domain is transferred;
- Push / pull status should be visible in the domain details page overview;
- Push button which leads to push / pull module page should be visable in action menu from the domain details page.
- Pull domain link should be visable in actions menu from domains list page;
- Grace (push / pull expiry) period should be configurable by admin;
- E-mail reminders should be send out to both parties relates to open pending push / pull requests and informing push / pull expiry;
- Push / pull log of domains and status should be visable in admin side;
- Log should contain IP info of requester / accepter;
- e-mails to admin roles based upon status change.