Create two systemd units and one script.
First unit:
/etc/systemd/system/are-users-logged.timer [Unit] Description=Start check for logged users [Timer] OnBootSec=15min Unit=shutdown-ifno-logged-users [Install] WantedBy=timers.target runs shutdown-ifno-logged-users.service once after 15min from the boot.
Second unit:
/etc/systemd/system/shutdown-ifno-logged-users.service [Unit] Description=Shutdown if there are no logged users [Service] Type=oneshot User=root ExecStart=script_to_check_logged_users starts your script to check logged users.
In your script parse output of loginctl --no-pager list-users or maybe even who -q and shutdown if there is no user logged.
To prevent reboot if you login and then logout before timer is triggered you may try to stop are-users-logged.timer from ~./profile with something like sudo systemctl stop are-users-logged.timer. But i guess it is mayby problematic due password asking.
Better create some file in /tmp with echo from ~./profile to indicate you are was logged and check in your script_to_check_logged_users if it exists and skip shutdown.