I have high experience with captive portal and hotspot systems , Actually I did a lot of projects that contain what you want exactly , and I can do your job perfectly .
you will be able to control with all devices and set user's properties luke (quota , expiration date , login time , session time ..etc)
you will be able to add ads to your captive portal login page .
see user's logs (start date , stop date , download ,upload , mac address , ip address)
collect user's phone number and emails to use them for marketing
send sms , email messages to users