CityPASS is a multi-attraction pass bundling admission to a fixed set of headline attractions in seventeen North American destinations, from New York, Chicago and Boston to Toronto, Orlando and Southern California, at a single discounted price, sold through consumer advertising, the travel trade, hotels and affiliates. For operators, it brings prepaid pass holders who commit to several admissions before arrival and visit them over a multi-day stay, travelers planning a full city itinerary.
Connecting CityPASS to Ventrata lets you scan, validate and redeem CityPASS passes at your entrance, on Ventrata-powered turnstiles, kiosks, point-of-sale terminals, the mobile app or the Ventrata Dashboard, without a separate CityPASS app.
To learn more about CityPASS, visit citypass.com.
📒 NOTE
Looking to resell CityPASS tickets instead? See CityPASS: Operator Backend.
🏆 CityPASS Preferred Integration Partner. Ventrata was designated a CityPASS Preferred Integration Partner and supports the full CityPASS integration feature set.
Primary website | |
Tags | Multi-Attraction Pass |
Connection type | Pass redemption: you scan CityPASS passes at your entrance |
Connection features | Product Mapping · Availability Sync · Pricing Sync · Bookings Sync · Redemption Sync · Pass Walkup Scanning Sync |
Developed by | Ventrata (using CityPASS API) |
This connection lets you:
Scan CityPASS and C-Ticket barcodes at your entrance and validate them with CityPASS in real time.
Record each pass visit as an open-dated booking in Ventrata, with the barcode as the reseller reference.
Mark the ticket as used in CityPASS automatically, either at scan time or later when it's redeemed or marked no-show.
How It Works
You scan or enter a barcode at your entrance.
If the barcode starts with 308458, Ventrata treats it as a CityPASS ticket and validates it with the CityPASS API.
Ventrata finds the mapping row for the ticket's product family, attraction and ticket class. If it isn't mapped yet, the scan fails until you map it.
Ventrata creates an open-dated booking for the mapped product, option and unit, quantity 1, with the barcode as the reseller reference.
Ventrata tells CityPASS the ticket was used. If staff picked a date or time slot, that's sent as the usage date; otherwise the current time is used.
📒 NOTE
Only barcodes starting with 308458 are treated as CityPASS.
Creating the CityPASS Connection
🔐 Required Role Permissions: See Connections, Modify Connections
Before you begin:
You have CityPASS set up as a Reseller in Ventrata; the connection form asks you to pick one.
You have a CityPASS user and password for the CityPASS API.
Create the CityPASS connection
Select the CityPASS Reseller.
Enter the CityPASS user and password.
Choose which tickets to accept with Is affiliate / Is not affiliate and Product families.
Save. Ventrata checks the credentials by fetching the CityPASS redemption product list; if that fails, the user and password fields are marked invalid.
The connection form has these options:
Reseller | The reseller whose settings the connection uses and on whose behalf bookings are recorded. |
CityPASS user | API user from CityPASS. A 'uat:' prefix points the connection at the CityPASS integration (test) environment. |
CityPASS password | API password from CityPASS. |
Is affiliate | Accept tickets where CityPASS flags the attraction as affiliate/inventory. On by default. |
Is not affiliate | Accept tickets where CityPASS does not flag the attraction as affiliate/inventory. On by default. |
Product families | Which CityPASS product families you accept: CityPASS and/or CTicket. Both by default. |
📗 TIP
Prefix the user with 'uat:' to point the connection at the CityPASS integration (test) environment.
Mapping Products
Rows come from CityPASS's redemption product list (/ventrata/redemptionproducts). New ticket classes seen at scan time add rows on the fly.
Open the connection and map each CityPASS row to a Ventrata product, option and unit.
📒 NOTE
Every row needs a product, option and unit.
📒 NOTE
Until a row is mapped, scans for that ticket class fail with ' is not mapped in <connection>'.
Redemption
Immediately: Default: at scan time Ventrata tells CityPASS the ticket is REDEEMED (Use call).
On redemption or no-show: Redeem on undefer / no-show is supported. Ventrata sends the Use call later, with REDEEMED or the Ventrata ticket status in upper case, for example NOSHOW or CANCELLED.
What's sent to CityPASS: The ticket's status (REDEEMED, or in deferred mode the ticket status) and the usage date: the booking date/time if staff picked one, otherwise now. No price is sent.
Connection Features Detailed
This section is for anyone who wants the detail. Click a row to see how each feature works.
Product Mapping | ✅ |
You map each CityPASS pass listing to a Ventrata product in the Ventrata Dashboard. Rows come from CityPASS's redemption product list (/ventrata/redemptionproducts). New ticket classes seen at scan time add rows on the fly. Every row needs a product, option and unit. Until a row is mapped, scans for that ticket class fail with ' is not mapped in <connection>'. |
Content Sync | ❌ |
Product content isn't synced. CityPASS sells its own pass. Your products and their content stay in Ventrata. |
Availability Sync | ✅ |
No availability is synced with CityPASS. No availability is synced with CityPASS. |
Pricing Sync | ✅ |
Prices are shared with CityPASS. The booking uses your Ventrata unit price with voucher settlement. Nothing about price is sent to CityPASS. |
Promotions Sync | ❌ |
Promotions don't apply to CityPASS passes. Your Ventrata promotions don't apply to bookings made by scanning a pass. |
Bookings Sync | ✅ |
Bookings are created in Ventrata when a pass is scanned. Bookings are created at scan time, open-dated, quantity 1 (one ticket per barcode), with the barcode as the reseller reference. There's no cancel call to CityPASS. In deferred mode, a canceled or no-show ticket status can be forwarded to CityPASS in the Use call. |
Pickups/Dropoff Sync | ❌ |
Not part of this connection. Pass redemptions don't carry pickups. |
Custom Questions Sync | ❌ |
Not part of this connection. Booking questions aren't asked or sent for pass redemptions. |
Extras Sync | ❌ |
Not part of this connection. Extras can't be added to a pass redemption. |
Redemption Sync | ✅ |
Redemptions are sent to CityPASS. Default: at scan time Ventrata tells CityPASS the ticket is REDEEMED (Use call). Redeem on undefer / no-show is supported. Ventrata sends the Use call later, with REDEEMED or the Ventrata ticket status in upper case, for example NOSHOW or CANCELLED. The ticket's status (REDEEMED, or in deferred mode the ticket status) and the usage date: the booking date/time if staff picked one, otherwise now. No price is sent. |
Pass Walkup Scanning Sync | ✅ |
You scan CityPASS passes at your entrance. You scan or enter a barcode at your entrance. If the barcode starts with 308458, Ventrata treats it as a CityPASS ticket and validates it with the CityPASS API. Ventrata finds the mapping row for the ticket's product family, attraction and ticket class. If it isn't mapped yet, the scan fails until you map it. |
Gift Card Sync | ❌ |
Not part of this connection. CityPASS passes aren't Ventrata gift cards. |
✅ supported · ❌ not supported
Good to know: limits of this connection
Good to know: limits of this connection
One ticket per barcode.
Only barcodes starting with 308458 are recognized.
No pickups, extras or booking questions.
No availability or pricing sync.
Troubleshooting
" is not mapped in <connection>"</b>
" is not mapped in <connection>"</b>
This CityPASS product family, attraction and ticket class isn't mapped to a Ventrata product yet. Map the row in the CityPASS connection to a product, option and unit.
"Redemption not allowed"
"Redemption not allowed"
"Pass expired, cancelled, or already used"
"Pass expired, cancelled, or already used"
"CityPASS's own Message text"
"CityPASS's own Message text"
CityPASS rejected the ticket for another reason; Ventrata shows its message as is.
📚 More about Ventrata connections
Partner Information
City Pass, Inc.
Ventrata Partner ID: 41927759-10fb-4011-9315-aa4ece876c67


