They obviously need to have the domain name first. Go to their DNS and create entries that point the domain to your web hosting server ip address.
Next, go to your web host cpanel or equiv, and you need to map the incoming domain name to a folder in your hosting server. This will be the folder you have the WPMS installed.
Final step, once you’ve got the above plugin installed, go and add the mapping for the new domain name and mark it as primary, this way when wordpress receives a request from that domain name (and wordpress receives it because it’s mapped at your host server to the wordpress directory), the wordpress domain mapping plugin will ensure the user coming from the outside sees the correct domain name.
There is an added benefit, that the existing http://sitename.mainsite.com will still work, but if you marked the mapped directory as Primary (above) then when someone comes into it from that address, it will be remapped to the new http://sitename.com
I have a setup exactly as described. I have a placeholder root account http://main.com