Create on-demand release
Generate complete guidebook structure and release in a single API call using flexible JSON payload with inline content or library references.
On-demand releases vs guidebook releases
Guidebook Release
Creates a personalized release for a specific booking based on an existing guidebook. Use this if your trip structure is the same for all bookings. Note that you still have the possibility to personalize the release to add content specific for a booking (e.g., additional content, accommodations).
On-demand Release
Creates a guidebook and release simultaneously via JSON payload. Use this if the trip structure differs from booking to booking and you need to create highly individual releases (e.g., tailor-made trips created in a third-party system).
On-demand releases are created in two phases:
Validation (synchronous) – All library references (if present) are validated immediately. Missing references return an error in the HTTP response.
Creation (asynchronous) – After validation, the complete release is generated in the background. Any errors during this phase are logged in the Audit Logs (visible in the Release Dashboard for this release).
Create on-demand release
curl --location --request POST 'https://services.schneidergeo.com/content/release/ondemand' \
--header 'Content-Type: application/json' \
--header 'Authorization: xxxxxx-xxxxxx-xxxxxx-xxxxxx' \
--data-raw '
{
"metadata":{
"operator":"HID", // Operator ID in GUIBO of organizing organization
"seller":"HID", // Operator ID in GUIBO of seller organization (optional for B2B)
"operatorCode":22244086, // Operator download code (typically booking reference)
"sellerCode":22244086, // Seller download code (optional, auto-generated if not provided)
"lang":"de", // Language for PDF roadbook and release page interface
"guidebookTemplateExternalId":"TRIP_355" //Optional. External ID of an existing guidebook. Analytics data will be accessible in this guidebook.
},
"publish":{
"startDate":"2025-08-01", // Release period start - when content becomes downloadable
"endDate":"2025-08-10", // Release period end - when access expires
"devices":4, // Number of smartphone devices that can download this release
"app":true, // Enable Tour Guide App access (default: true)
"gpx": true // Enable GPX file downloads (default: true)
},
"booking":{
"arrivalDate":"2025-08-03", // Trip start date (must be within publish period)
"departureDate":"2025-08-08", // Trip end date (enables day-specific content in app)
"accommodation":[ // Personalized accommodation details
{
// Example 1: Inline hotel definition - for custom or one-off accommodations
"arrivalDate":"2025-08-03", // Hotel check-in date
"departureDate":"2025-08-04", // Hotel check-out date
"stageNumber": 1, // The stage in which to add this accommodation
"content":{ // Inline hotel definition - complete hotel data in JSON
"name":"Hotel Post",
"description":"Im Zentrum von Passau gelegen, ist dieses traditionelle Hotel eine der besten Adressen",
"imageBase64":"acafaeer", // Base64 encoded image (PNG/JPEG, max 5MB)
"lat":47.1235, // Latitude coordinate
"lon":12.3425 // Longitude coordinate
},
"comment":"Der umfangreiche SPA-Bereich ist in Ihrer Gebühr enthalten." // Booking-specific notes
},
{
// Example 2: Library reference - for hotels managed in GUIBO libraries
"arrivalDate":"2025-08-04", // Hotel check-in date
"departureDate":"2025-08-05", // Hotel check-out date
"stageNumber": 1, // The stage in which to add this accommodation
"libraryReference":{ // Reference existing hotel POI from library - reuses centrally managed hotel data
"libraryExternalId":"HOTELS", // Your external library identifier
"externalId":"HTL_LINZ_01" // Your external hotel identifier
},
"comment":"Frühstück ist inklusive" // Booking-specific notes (arrival/departure dates and comments are always booking-specific)
}
]
},
"guidebook":{
"title":"In vier Tagen von Passau nach Wien", // If not provided, but metadata.guidebookTemplateExternalId is specified, the title from the referenced guidebook will be used.
"imageBase64": "data:image/...", // Optional guidebook cover image as Base64 string. If not provided but metadata.guidebookTemplateExternalId is provided, then image from the referenced guidebook will be used.
"stages":[ // Day/stage structure for multi-day tours
{
"number":1, // Stage number for ordering
"title":"From Passau to Linz", // Stage title
"routes":[ // Routes for this stage
{
// Example 1: Inline route definition - for custom routes or route data generated by external systems
"content":{ // Inline route definition
"type":"CYCLING", // Route type: CYCLING, HIKING, WALKING, DRIVING
"name":"Passau - Linz",
"description":"<b>Eine traumhafte Route</b><p>Von der Ortsspitze geniesen sie morgens noch den Blick flussabwärts wo sie kurz darauf radeln werden.", // HTML supported
"imagesBase64":["..."], // Array of Base64 encoded route images
"waypoints":[ // GPS coordinates defining the route
{
"lat":48.57534915287589,
"lon":13.477583926637873
},
{
"lat":48.57559,
"lon":13.49137
},
{
"lat":48.57976,
"lon":13.49840
}
]
}
},
{
// Example 2: Library reference via GUIBO internal ID - when you store GUIBO's internal identifiers
"libraryReference":{ // Reference existing route via GUIBO internal ID
"link":"k8JB2e" // GUIBO's internal unique identifier
}
},
{
// Example 3: Library reference via external IDs - when you maintain your own ID system
"libraryReference":{ // Reference existing route via external IDs
"libraryExternalId":"ROUTEN", // Your external library identifier
"externalId":"RT_233" // Your external route identifier
}
},
{
// Example 4: Route grouping - combine multiple existing routes into one continuous route
"group": { // Combine multiple routes into one continuous route
"name":"Von Passau nach Engelhartszell", // Name for the combined route
"parts": [ // Array of route references to combine
{
"libraryExternalId":"ROUTEN",
"externalId":"RT_234"
},
{
"libraryExternalId":"ROUTEN",
"externalId":"RT_235"
},
{
"libraryExternalId":"ROUTEN",
"externalId":"RT_236"
}
]
}
}
],
"pois":[ // Points of Interest for this stage
{
// Example 1: Inline POI definition - for custom POIs or POI data generated by external systems
"content":{ // Inline POI definition
"name":"Passau Ortsspitze",
"description":"<p>Hier vereinen sich drei Flüsse: Donau, Inn und Ilz<p>", // HTML supported
"imageBase64":"acafaeer", // Base64 encoded POI image
"lat":48.57369, // Latitude coordinate
"lon":13.47673, // Longitude coordinate
"web":"https://guibo.travel", // Website URL (optional)
"phone":"+4911231213", // Phone number (optional)
"type":"SIGHT" // POI type: SIGHT, HOTEL, RESTAURANT, etc.
}
},
{
// Example 2: Library reference via GUIBO internal ID - when you store GUIBO's internal identifiers
"libraryReference":{ // Reference existing POI via GUIBO internal ID
"link":"eJQk6Z"
}
},
{
// Example 3: Library reference via external IDs - when you maintain your own ID system
"libraryReference":{ // Reference existing POI via external IDs
"libraryExternalId":"SIGHTS",
"externalId":"POI_111"
}
}
],
"texts":[ // Text pages for this stage
{
// Example 1: Inline text definition - for custom text content generated by external systems
"content":{ // Inline text page definition
"name":"Superroute",
"description":"<p>Eine traumhafte Route</p>" // HTML content supported
}
},
{
// Example 2: Library reference via GUIBO internal ID - when you store GUIBO's internal identifiers
"libraryReference":{ // Reference existing text page via GUIBO internal ID
"link":"MflI3L"
}
}
]
}
],
"generalInfo":[ // Trip-wide information pages
{
// Example 1: Inline text definition - for custom general information generated by external systems
"content":{ // Inline general info definition
"name":"Hinweise zur Anreise",
"description":"<p>Bitte passen Sie auf sich auf</p>" // HTML content supported
}
},
{
// Example 2: Library reference via GUIBO internal ID - when you store GUIBO's internal identifiers
"libraryReference":{ // Reference existing text page via GUIBO internal ID
"link":"rtrtrt"
}
},
{
// Example 3: Library reference via external IDs - when you maintain your own ID system
"libraryReference":{ // Reference existing text page via external IDs
"libraryExternalId":"INFOPAGES",
"externalId":"PG_2343"
}
}
]
}
}
'
Last updated