In order to issue a ticket for a parker's vehicle via your app or website, you need to directly integrate into Valet Manager's Ticket Controller API. This API allows you to issue new tickets, edit ticket details, close tickets, and apply custom rates (amount other things).
When issuing a ticket there are a few key elements that have to be correctly set:
- garageId (The id of the garage)
- printRemote (The lane that should print this ticket; typically 0 [the check in lane])
- claimTag (Where should the customer claim tag print?)
- vehicleTag (Where should the vehicle/winshield ticket tag print?)
- attendantTag (Where should the attendant/rack tag print?)
- keyTag (Where should the key tag print?)
If the garageId isn't correct, the ticket won't be issued in the correct facility.
The printRemote field dictates which lane the ticket is printed at.
The valid options for the Tags are
- SMS [The system will send this section as a SMS, only valid for claimTag.]
- MOBILE (Not Recommended) [The system will attempt print this tag on a paired Bluetooth printer.]
- DESKTOP [The system will print this tag on a connected USB or IP printer.]
- NONE [The system will not print this tag.]
You should set
- plate (The license plate of the vehicle)
- state (The state of the vehicle)
- make (The make of the vehicle)
- color (The color of the vehicle)
- type (The size type of the vehicle)
- phone (The phone number of the customer)
If plate, state, make, color, or type are not set; the attendant can enter these in garage.
Please see the following examples:
A sample request to create a ticket with a digital claim check:
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'api_key: apiKey' --header 'Authorization: Bearer <token>'
-d '{ \
"garageId": "d72046a64560ce9dadd6b2cac963f8d0", \
"printRemote": 0, \
"claimTag": "NONE", \
"attendantTag": "DESKTOP", \
"vehicleTag": "DESKTOP", \
"keyTag": "NONE", \}'
'https://demo.api.valet-manager.com/ticket/demo'
A sample request to create a normal printed ticket:
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json'
--header 'api_key: apiKey' --header 'Authorization: Bearer <token>' -d '{ \ "garageId": "d72046a64560ce9dadd6b2cac963f8d0", \ "printRemote": 0, \ "claimTag": "DESKTOP", \ "attendantTag": "DESKTOP", \ "vehicleTag": "DESKTOP", \ "keyTag": "NONE", \ }' 'https://demo.api.valet-manager.com/ticket/demo'
A sample request to create a touchless ticket:
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json'
--header 'api_key: apiKey' --header 'Authorization: Bearer <token>' -d '{ \ "garageId": "d72046a64560ce9dadd6b2cac963f8d0", \ "printRemote": 0, \ "claimTag": "SMS", \ "attendantTag": "DESKTOP", \ "vehicleTag": "DESKTOP", \ "keyTag": "NONE", \ "phone":"5555555555" \ }' 'https://demo.api.valet-manager.com/ticket/demo'
The response is the ticket data model. The GUID of the ticket is encoded in the id field.
For a user to redeem the ticket in the facility from your application, you must encode this ID ashttps://myvm.us/<GUID> using either QR Code, Aztec, or PDF417 encoding.
For example if the response is
{
...
"id":"8d93b9e5-3293-4f5f-8307-584206f057d"
...
}
You should encodehttps://myvm.us/8d93b9e5-3293-4f5f-8307-584206f057d5in your digital claim check.
