Check-In URL Configuration¶
The Check-In URL Configuration feature allows you to configure check-in stations using a specially formatted URL, eliminating the need for users to manually log in and configure each station. This is particularly useful for quickly setting up multiple kiosks or for situations where you want to ensure consistent configuration across stations.
Overview¶
Instead of manually entering credentials, kiosk name, profile, and camera settings at each check-in station, you can generate a single URL that includes all of this information. When a user navigates to this URL, the check-in station will automatically sign in with the provided credentials and apply the specified configuration.
URL Format¶
The check-in URL follows this format:
https://yourdatabase.tpsdb.com/CheckIn?name=KIOSK_NAME&profile=PROFILE_NAME&id=ENCODED_CREDENTIALS&cam=CAMERA_OPTION
Parameters:
- name (required)
The unique name for this kiosk. This must match the name configured in your print server.
- profile (required)
The name of the Check-In Profile to use. This must match an existing profile name (case sensitive).
- id (required)
Base64-encoded credentials in the format
username:password. The username must be for an account with the Checkin role.- cam (optional)
Camera configuration for QR code scanning. Options are:
none- No camera (default)user- Front-facing cameraenvironment- Rear-facing camera
See also
Creating Configuration URLs Manually¶
To create a configuration URL manually:
Choose your kiosk name, profile name, and camera option
Encode your credentials (
username:password) using Base64 encodingConstruct the URL with all parameters
Warning
The URL contains encoded credentials. Treat these URLs as sensitive information and do not share them publicly. Anyone with access to the URL can decode the credentials.
URL Generator Python Script¶
For convenience, you can use the following Python script as Special Content in TouchPoint to automatically generate configuration URLs with a user-friendly interface. This script provides a form where you can select your options and automatically generates the properly formatted URL.
Special Content Setup¶
Go to Admin > Advanced > Special Content
Create a new Special Content item
Set the name (e.g., “Check-In URL Generator”)
Paste the Python script below into the content area
Save the Special Content
Python Script¶
# Pckgd
# Title: Check-in Link Generator
# Description: Kiosks can be configured to sign in automatically with credentials computed by this script.
# Updates from: GitHub/TenthPres/TouchPointScripts/CheckinLinkGenerator/CheckinLinkGenerator.py
# Author: James at Tenth
global model, q
# get profiles
profs = q.QuerySql("SELECT TOP 100 * FROM CheckinProfiles ORDER BY Name")
profileOpts = []
for p in profs:
profileOpts.append('<option value="{0}">{1}</option>'.format(p.Name.lower(), p.Name))
# language=html
print('''
<div class="form-group">
<label class="control-label" for="cam">Camera</label>
<select class="form-control" data-bind="value: cam" name="cam">
<option value="none">None</option>
<option value="user">User / Front</option>
<option value="environment">Environment / Back</option>
</select>
</div>
<div class="form-group">
<label class="control-label" for="kioskName">Kiosk Name</label>
<input class="form-control" data-bind="value: name" name="kioskName" type="text" />
</div>
<div class="form-group">
<label class="control-label" for="profile">Profile</label>
<select class="form-control" data-bind="value: profile" name="profile">
%s
</select>
</div>
<div class="form-group">
<label class="control-label" for="user">Username</label>
<input class="form-control" data-bind="value: user" name="user" type="text" />
</div>
<div class="form-group">
<label class="control-label" for="pass">Password</label>
<input class="form-control" data-bind="value: pass" name="pass" type="password" />
</div>
<div class="form-group">
<label class="control-label" for="outputUrl">Configured Check-in URL</label>
<input class="form-control" data-bind="value: outputUrl, click: copyContent" name="outputUrl" type="text" />
</div>
''' % ('\n'.join(profileOpts)))
# language=html
print('''
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.5.0/knockout-min.js"></script>
<script>
function LinkGenModel(){
this.host = "%s";
this.cam = ko.observable("none");
this.name = ko.observable("");
this.profile = ko.observable("");
this.user = ko.observable("");
this.pass = ko.observable("");
let model = this;
this.outputUrl = ko.computed(function() {
let url = model.host + "/CheckIn?";
if (model.cam() && model.cam() !== "none") { // cam is optional
url += "cam=" + encodeURIComponent(model.cam()) + "&";
}
if (!model.name()) {
return ""
} else {
url += "name=" + encodeURIComponent(model.name()) + "&";
}
if (model.profile()) {
url += "profile=" + encodeURIComponent(model.profile()) + "&";
}
if (!model.user() || !model.pass()) {
return ""
} else {
let credentials = model.user() + ":" + model.pass();
let encodedCreds = btoa(credentials);
url += "id=" + encodeURIComponent(encodedCreds);
}
return url;
});
this.copyContent = function() {
let copyText = model.outputUrl();
if (!copyText) {
return;
}
navigator.clipboard.writeText(copyText).then(function() {
swal("Copied the URL to clipboard.");
}, function(err) {
console.warn("Could not copy text: ", err);
});
};
}
ko.applyBindings(new LinkGenModel());
</script>''' % (model.CmsHost))
Using the URL Generator¶
Navigate to the Special Content item you created
Select your camera option (None, User/Front, or Environment/Back)
Enter the unique kiosk name
Select the Check-In Profile from the dropdown
Enter the username of an account with the Checkin role
Enter the password for that account
The configured URL will be automatically generated in the output field
Click on the output URL field to copy it to your clipboard
Best Practices¶
Security Considerations
Create dedicated user accounts specifically for check-in kiosks rather than using personal accounts
Use different credentials for different kiosk groups (e.g., one account for children’s check-in, another for youth)
Regularly rotate credentials and update URLs if a device is lost or compromised
Store URLs securely and limit access to authorized personnel only
Configuration Management
Document which URL is used for each physical kiosk location
Create bookmarks or shortcuts on kiosk devices to make access easy
Test URLs before deploying to ensure proper configuration
If using browser kiosk mode, configure the shortcut with the full configuration URL
Browser Kiosk Mode with URL Configuration¶
If you are using Chrome in kiosk mode (see Using Check-In for details), you can combine kiosk mode with automatic URL configuration. In your Chrome shortcut properties, set the Target field to:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --kiosk "https://mychurch.tpsdb.com/CheckIn?name=KIOSK_NAME&profile=PROFILE_NAME&id=ENCODED_CREDENTIALS"
Replace the URL parameters with your actual configuration values.
Warning
Do not use browser kiosk mode with Check-In profiles set to Continuous Admin or Scanning mode, as those modes do not display the numeric keypad needed to enter the logout code.
Troubleshooting¶
Station doesn’t log in automatically
Verify the username has the Checkin role
Check that credentials are correctly encoded
Ensure the profile name matches exactly (case sensitive)
Verify the account credentials are correct by manually logging in
Wrong profile loads
Profile names are case sensitive - check the exact capitalization
Ensure the profile name in the URL matches an existing profile
Camera doesn’t work
Verify the camera parameter is set correctly (user or environment)
Check browser permissions for camera access
Test the camera in a regular check-in session first
See also
Check-In Troubleshooting for additional troubleshooting information
Latest Update |
12/01/2025 |
Initial documentation for URL configuration feature
