Create a system based on PHP and MySQL w. multi-language interface. System represents a Sub-Domain Registry. Client Domains are registered as 3rd level domains under a set of existing 2nd level domains owned by registry.
User Registration & Management
Domain Registration & Management
Invoicing & Payment
Reseller & Affiliate Interface
Support & Helpdesk
User Registration & Management
- user can register and create an account
- use captcha image to prevent automated registrations
- use blacklist to ban registration from certain email providers, like yahoo.com, gmail.com, hotmail.com, etc. (s. admin interface)
- user can log in, in order to register new domain names and manage his existing domain name registration (contacts, DNS, paments, and addl. services*)
- user ID is his email address
- password can be chosen freely but must respect a certain level of security (e.g.: a min. number of chars, CAPS, numbers, etc.)
- forgotten password can be sent by email upon request
user data to be collected shall be :
- Handle (if known)
- (I)ndividual (R)ole
- Name (Last, First, MI)
- Organization Name
- Street Address
- ZIP/Postal Code
- Phone Number
- Fax Number
- account can hold multiply entities (e.g. for admin-c, owner-c, etc.) Key shall always be the respective email address
- assignment and management of unique handles. Handle shall be: [SERVICE-XYZABC-0107-000] (= name of service, users names initials, followed by month and years of the date when the handle was generated, a dash and 3 random digits).
- Domain Registration & Management
- track users IP, exact time and date, browser-version used upon registration, referrer
- user can register new domain names
- user can modify and delete his existing domain names
user can set up and edit for all domain names assigned to his account:
- edit NS records if he is using his own DNS (default)
- edit DNS info for A, MX, CNAME, IPv6-Addresses (AAAA-Record) and TXT records if he is using our DNS*
- edit SIP forwarding to be used w. his new domain name*. User is able to set the destination of calls.
- use dynamic DNS* (must use our DNS to use feature)
- URL Forwarding (cloaked and “normal”)* (must use our DNS to use feature)
- emailforwarding (limited to max. 30 email addresses per domain, max. size per email: 3 MB, max. 100 emails per day per address. Limits editable via Admin Interface)* (must use our DNS to use feature)
- allow registration of IDNs w. all characters defined in RFC 3492 and others. Conversion must be compatible w. all browsers (e.g. www.glück.com is encoded correctly, while www.glück.de is not compatible w. e.g. MSIE 6).
- allow simple and global edits (i.e.: allow him to modify the DNS for all his domains at once), domain locking and unlocking (locked domains can not be modified by user until unlocked), contact management, transaction history (e.g. all modifications made, renewals processed, etc.)
- provide possibility of bulk registration
- provide Wait Listing Service (WLS). With WLS, a registrar’s customers have the option to subscribe to a wait list for a currently registered domain name. If the domain name becomes available during the subscription term, the customer receives the registration automatically. WLS is not publicly accessible as intended for dispute resolution
- make WHOIS data accessible via commandline and webpage
- imply security measures in order to prevent robots from collecting data (e.g. captcha image on web frontend)
- allow queries for handles assigned by us, for domain names that were registered w. us, for domain names under all existing TLDs and for IP-Numbers
- allow admin to filter lines of WHOIS data received from other WHOIS Servers for domains not within our 2nd level domain names
- allow admin to add WHOIS data for domains not within our 2nd level domain names
- build system based on “PowerDNS” or any other similar product. Hold DNS data in MySQL Database instead of zonefiles, but keep it compatible w. BIND style secondairies.
- allow up to 10 nameservers per domain
- allow user to use our nameservers*
- restrict xfer to specified secondairies in order to prevent unauthorized entities to download entire zones
- As the whole system is to be template based, the admin can modify the look of all pagesn via the admin panel
- admin is able to set defaluit language
- admin can add/remove the 2nd-level domains, under which registartion is offered
- admin can create, edit, delete, modify domain name registration and user data
- admin can re-send resp. re-generate original invoices and reminders or send modified invoices
- admin can edit payment information (set domain status (connected, on hold, dispute, paid till, etc.)
- admin can change prices for all features offered (incl. setting diff. prices for diff. domains)
- admin can move domains from/to diff. users and reseller-accounts
- admin can set a “usual” user account to a “reseller” account
- admin can acknowledge payments received in context w. “Business Partner Program”.
- admin can ban individual IPs, IP Classes, eMail Providers and countires (via GeoIP) from using the service. Banned entities are forwared to a certain "bogus" error page
there are basically 2 payment methods:
- instant online payment via Credit Card at moment of domain name registration through 2 processors: 2Checkout.com and Paypal. Process their servers feedback and generate/display a payment status instantly to user.
- within 30 days after the user received the invoice, either online, or cash or banktransfer.
- accept online payments, even if banktransfer was initially chosen.
- allow user to re-new his domain name registration at any time for any period offered (1,2,3,5,10,99 years)
- allow user to buy addl. services at any time for any period offered.
- invoices are sent our as .pdf and text and kept in database for later retrieval by user and/or re-seller and/or admin
- 30 days after invoice is submitted and no payment was accounted for, send "Final Notice" to Billing-c
- 10 days after final notice, send deactivation notice to all contacts and deactivate domain "(change status to: "on hold")
- 30 days after deactivation notice remove domain from database and make it available registration again
- 30 days before expiration of domain name, send invoice for renewal to billing c (proceed as 6.3)
- allow admin to set status of a domain name registration to “paid” when a payment via banktransfer is received
- allow admin to set status of a domain name registration to “un-paid” if a payment is contested (CC chargeback, etc.)
- “Business Partner Program” w. prepaid, discounted registrations (see below).
- allow conditions (via admin interface) e.g. diff. VAT for diff. countries, diff. texts for diff. destinations, etc. (Example: If billing-c is in Nigeria, do not send invoice to billing-c, just to service accounting).
- autorespond to all emails to "[OBSCURED]" w. a certain static text
- include a quote of the senders original message
- assign tracking number. Examples: [SERVICE[OBSCURED]3] or [SERVICE[OBSCURED]3] etc. which is: Shortcut for the entity addressed, date when email was received, a dash and a 3 digit random number.
- make auto-responder sensible for bouncing auto-replies e.g. w. other auto-responders (e.g.: do not submit more then 5 auto- responses to 1 sender within 10 minutes, do not submit more then 30 auto-responses to 1 sender per day, do not reply to mailer-errors, mailer-daemons, etc.
- make auto-responder “spam-aware” (e.g. let him work “behind spam-assassin”)
- keep editable blacklist in order to manage who will never get a auto-reply from hostmaster
- forward incoming emails and auto-replies to hostmaster's POP3 account.
- parse for domain template: if emails contains valid template, process as registration, modification or deletion.
- Mandatory: "Business Partner Program". Resellers that register larger amounts of domains can set up a business account by making a one time payment. Registration fees are then debited from their credit. Free discounts can be applied by admin by e.g. adding 3.900,- EUR to an account that actually received a 3.000,- EUR payment, granting an effective 30% discount.
- Optional: Affiliates can register account. Provide unique link to be implemented on Affiliates website to track all leads that result in a successful domain name registration
- create a level above the user level that can manage the user accounts assigned to it
- create an API that is compatibile w. enom.
- create a ticket management system based on php/mysql
- user can enter w. his account data in order to submit a trouble ticket
- system (="engine") to be accessible over diff. frontends / domains in order to support various services
- tracking number is assigned to each ticket. Format varies w. the site the ticket is referring to. Examples: [SERVICE1- TICKET#[OBSCURED]] or [SERVICE2-TICKET#[OBSCURED]] etc. which is: Shortcut for the entity concerned, date when ticket was opened, a dash and a 3 digit random number.
- copies of tickets are sent to user and admin when a ticket is opened, modified or closed
- DNS Management
- Admin Module
- Invoicing & Payments
- Reseller & Affiliate Interface
- Support & Helpdesk (optinal)
*) additional fees apply for the user.