We require a coder who is familiar with Modern Bill to customise our
ordering system, our current ordering system is available at
[url removed, login to view]
We are familiar with MB v5 and are currently using the back end, all
registry modules and payment gateway have been written.
Logical flow chart is attached.
The customer enters a domain:
If the domain is available, go to PAGE 3.
If the domain is not available, go to PAGE 2.
Domain is not available, customer has two options:
Transfer - transfer a domain to us (go to PAGE 3).
Self-manage - just order hosting and manage the domain & dns yourself (go to PAGE 3a).
This page displays the hosting packages/add-ons.
They have 2 options:
Hosting package is selected via a select box, beside which is a link to pop-up a page with brief descriptions of packages.
Add-ons are then selected via second drop down menu if applicable, link to pop showing brief description also.
Domain Only - 2 further options:
just use our nameservers (default).
specify other nameservers for the domain.
Two Buttons at the bottom:
Proceed to check-out.
Select and order more products. This adds the products to the order, and redirects back to PAGE 1.
They are self-managing their domain, and are asked which hosting package they want.
This page is the same as PAGE 3, but with no 'Domain only' option. They must select a hosting package and add-on if applicable.
Two Buttons at the bottom, as in PAGE 3 above.
This is the checkout page.
Their order is displayed at the top, very simply, with no clutter, and clear amounts/totals, with VAT if applicable.
Then this is the details section, either they are:
'I am a new customer' - they enter their contact details (* required)
First Name *
Email Address *
Address 1 *
County is either a select box (for Ireland/UK/USA) or a text field.
Phone Number *
There will be a button beside the 'VAT Number' field to recalculate VAT in the order totals at the top of the page. This will not refresh the page, but use ajax to recalculate and then change values. (Further information on VAT in the 'Notes' section.)
'I am an existing customer' - they enter their email and password.
Then (if they are registering a domain) there is the domain registrant details section. We will assume that the registrant details are identical for all domains in the order. There are two options:
They can choose to use the same details as above (or if they are an existing customer, the details in the system) (default option)
Or, they can specify different contact details for the registrant.
Registrant details fields are the same as above, without 'VAT Number'.
Then (if they are registering a .ie domain) we display 3 further options for the registrant. Again we assume these are the same for all .ie domains in the order.
Domain name category
Optional CRO/RBN number
Then there is the payment section, they can:
Pay online - they enter their card details
Tell them that the order was made successfully.
Tell them the amount that was charged to their card (if they payed online).
Display what they ordered, with totals (as on PAGE 4).
Usernames will be email addresses.
If they are an existing customer, we must first check the login before charging any cards.
If existing customer enters incorrect password then we need to advise incorrect password and reissue password link and email password.
If existing customer enters incorrect email address/and/or password then we need to advise customer to enter details and note added to order advising us to investigate.
If they are a new customer, we must first authorise the card before creating a new client in modernbill.
If they choose to be a new customer, but we find that the email address is already in the system, validation fails, and we then ask them for their password.
VAT (Value Added Tax) is 21% in Ireland.
For Irish businesses, the following rules govern charging VAT:
Clients outsite the EU: VAT is not charged.
Clients in the EU, but outside Ireland: VAT is charged, unless they have a valid VAT number for their country, in which case VAT is not charged.
Clients in Ireland: VAT is charged, regardless.
A php5 class to validate VAT numbers using the VIES web service will be provided.
A list of EU country codes will also be provided. This should remain editable in the code, because the EU is still expanding, and more countries will be joining soon.
The style of the pages is to be as simple as possible.
For example, on PAGE3, if they are selecting 'Domain Only', the DNS section should be displayed, If they select a Hosting package, the DNS section should be hidden. And further, within the DNS section, if they are providing their own nameservers, the nameserver text fields should be displayed, but if they are using our nameservers, these should be hidden.
If the user enters invalid data, or doesn't enter required data, they should be redirected to the same page with the error clearly marked and explained.
We have a validation class, which we can provide if it is needed.