The imin Platform
2.0.0
2.0.0
  • Introduction to the imin Platform
  • Using the Platform
    • imin's Platform Products
    • Authentication
    • Our Platform Data
      • Understanding Responses
      • Namespaces and Extensions
      • Defensive Data Consumption
      • Mocking the Interface
  • platform products
    • Search
      • imin Events API
        • Events API Reference
        • Virtual & Physical Sessions
        • Concepts
          • EventSeries
          • ScheduledSessions and eventSchedules
          • Activities and Collections
            • Activities
            • Activity Concept Collections
          • Accessibility Support
          • Prices
        • Filters
          • Modes
          • Age Ranges
          • Dates and Times
          • Activities and Concept Collections
          • High Frequency Sessions
      • imin Facilities API
        • Query Parameter Search
          • Mandatory Query Parameters
            • mode=discovery-geo
            • mode=upcoming-slots
          • Optional Query Parameters
        • ByID Search
          • FacilityUse By-ID
          • Slot By-ID
        • FacilityUses and IndividualFacilityUses
        • Slots
        • Facilities Slot Booking
      • imin Places API [BETA]
        • Example Request & Response
    • Firehose
      • Introduction to the Firehose
      • Accessing the Firehose
      • Firehose Usage Policy & Restrictions
      • Firehose and Search
      • Bookable Firehose Feeds
      • Bookable Sellers Feed
      • Attribution Catalog Endpoint
    • Live Timetables
      • Pre-Requisites: Open Data Feeds
      • The Onboarding Process
        • 1. Ensuring your Data Offers the Best User Experience
        • 2. Setting up and Embedding your First Timetable
        • 3. Setting up the Rest of your Timetables
        • 4. Activating Booking via Guest Checkout
      • Features Available Upon Request
      • Styling the Live Timetables
      • FAQs
    • Data Dashboard
  • incorporating book and pay
    • imin Branded Checkout
      • Introduction
      • Setup
        • Information We Require From You
        • Actions You Need to Complete
      • Authenticated Checkout
        • Testing [BETA]
        • 👪Group Booking [BETA]
      • Standalone Checkout
      • Firehose and Checkout [BETA]
        • Loading the Checkout via Firehose
    • imin Booking Platform
      • Customer Account Management
        • Create Customer Account
        • Update Customer Account
        • Get Customer Account
        • Delete Customer Account
        • Example Scenario
        • Payment Card Management
        • Linked Accounts
        • Entitlement
          • Evidence Requests
          • Entitlement Pricing in Search
          • Entitlement Pricing in Checkout
        • Access Pass
        • Webhooks
      • Orders
        • Order History
        • Order (by ID)
        • Cancellations & Refunds
      • Upcoming OrderItems
      • Receipt (by ID)
  • imin and booking systems
    • Seller Onboarding
      • API
  • HINTS & TIPS
    • Get the Best Out of Search
      • Displaying Schedule Information
      • URLs and Offering a Call to Action
      • Searching by Activity
      • Your Search Results and HighFrequencySessions
      • Customer Specific Images
  • Info for Data Publishers
    • Your RPDE Feed & the imin Platform [BETA]
      • Providing Places Data [BETA]
      • Providing Schedule Information [BETA]
Powered by GitBook
On this page
  • Pre-fetching, Caching or Storage of Content
  • Resync Limit
  • Rate Limits
  • Termination
  • Orphaned ScheduledSessions
  1. platform products
  2. Firehose

Firehose Usage Policy & Restrictions

PreviousAccessing the FirehoseNextFirehose and Search

Last updated 4 years ago

Pre-fetching, Caching or Storage of Content

You can use the imin Firehose to maintain an index of all open data items within your own datastore. Therefore, the imin Firehose is exempt from the general caching restrictions (as stated in Section 3.7 of our standard ). However, Firehose-specific caching restrictions do apply. To remain compliant with the specific caching restrictions of the imin Firehose, you must ensure that:

  • Items are not more than 24 hours out-of-date; and

  • Items marked as “updated” are completely replaced the previous data for that item in your data store, and any items marked as “deleted” must be hard-deleted from your data store within 24 hours of the “modified” timestamp. This ensures that you remain compliant with both our Terms Of Service and with GDPR.

To achieve compliance with these restrictions, the Firehose feeds must be frequently harvested, ideally continuously or at least every 24 hours.

Because the Firehose is compatible with the OpenActive Modelling Specification and published using the OpenActive Paging Specification (as noted in the ), the work needed to harvest the data into an existing data repository is small. For more information, please watch the video on the OpenActive page.

Resync Limit

When an feed is harvested from the beginning of time, it is termed a "resync". Normal consumption of the Firehose should not result in frequent resyncs, since RPDE provides continuous near-real-time data synchronisation if used correctly. Use of the imin Firehose is, therefore, subject to a fair-use limit of 1 resync per week.

The Firehose must be continuously polled and must not re-downloaded (“resynced”) from the beginning except for test purposes for which you will have our explicit permission.

Rate Limits

Rate limits for the imin Firehose feeds are outlined as follows:

Live mode (content pages) - no artificial limit

There is no artificially imposed rate limit on the feeds for pages with more than zero items - a client can simply consume them as quickly as they are retrieved.

Sleep mode (last page) - poll a maximum of once every 8 seconds

When a last page (with zero items) is encountered, it signifies that no further updates are currently available in the feed. This is known as "sleep mode".

When a zero-item page is encountered, the client MUST wait at least 8 seconds before attempting to poll the same page again for new items.

Termination

Should you cease to be an imin customer for any reason, you must purge all content retrieved from Firehose within 24 hours.

Orphaned ScheduledSessions

Whilst the session-series and scheduled-sessions feeds are related, they are updated in their independent RPDE feeds by the data provider. The result of this can be that one feed is updated before the other, which can lead to temporary "orphan" ScheduledSessions.

If you are taking a daily pull of the data in the Firehose, because it will be a snapshot of the data at a specific time, you are liable to see some scheduled sessions that are yet to be matched.

Terms Of Use
Introduction to the Firehose
How an RPDE data feed works
RPDE
RPDE