OpenRental - boekingsmodule voor bootverhuur

Aanleveren volgens Open Rental

Open Rental is een systeem om sloepen, motorboten, zeiljachten of andere vaartuigen te verhuren. Met het systeem kun je jouw verhuuraanbod op elke gewenste website presenteren.

Als je als verhuurder verschillende boten aanbiedt, moet je voor elk type een aparte feed aanleveren. Elke feed moet je afzonderlijk aanmelden bij de Open Rental-aanbieder. Gebruik hiervoor de volgende structuur en gegevensformaten:

Structuur

  • Unieke ID (uid, verplicht)

    Elk object moet een unieke ID hebben. Deze ID mag niet gebruikt worden door andere data-aanbieders of door andere objecten binnen jouw eigen aanbod.

    Een goede richtlijn voor de UID is een combinatie van je bedrijfsnaam, het type object en het interne volgnummer van het object. Je kunt punten of streepjes gebruiken, bijvoorbeeld:
    bootverhuurder.sloepen.1024 of bootverhuurder-sloepen-1024

  • Teksten (texts, verplicht)

    Per taal/regio lever je een set teksten aan. OpenRental herkent alleen de onderstaande tekstvelden. Extra velden worden genegeerd.

    • Titel (title, verplicht)
      De titel van het object.

    • Korte omschrijving (short_desc)
      Een korte omschrijving voor bijvoorbeeld overzichtspagina’s. HTML-tags worden door OpenRental verwijderd.
      Lange HTML-teksten kunnen worden gecomprimeerd met GZIP en daarna omgezet in base64. OpenRental herkent automatisch of de inhoud gecomprimeerd is of niet.

    • Lange omschrijving (long_desc)
      Een langere omschrijving voor detailpagina’s. HTML-tags worden verwijderd.

    • HTML
      Je kunt optioneel eigen HTML-opgemaakte tekst meesturen. Er is geen garantie dat deze overal goed wordt weergegeven.
      Risicovolle tags en attributen (zoals <script><link>style="") worden verwijderd.

    • URL (url, verplicht)
      De pagina-URL van dit object in de betreffende taal.

    • URL naar voorwaarden (terms_url)
      Een URL met de voorwaarden van dit object in deze taal.

    • Opties (options)
      Een lijst met opties of eigenschappen. Elke optie bevat een title en optioneel een short_desc.

  • Media (media, optioneel)

    Media kan bestaan uit afbeeldingen, video’s en documenten. Je moet deze per type indelen en voorzien van titel en optioneel een omschrijving.

    Afbeeldingen (images)

    • URL (url) – grote versie

    • Breedte & hoogte (width, height)

    • Thumbnail URL (thumbnail_url)

    • Thumbnail breedte & hoogte (thumbnail_width, thumbnail_height)

    • Categorie (category)
      Geldige categorieën: cover, mood, interior, exterior, floormap

    Video’s (videos)

    • Embed code (embed_html)
      Wordt geweigerd als deze onveilig is.

    • Beeldverhouding (aspect_ratio) (bijv. 4:316:10 of numeriek)

    • Thumbnail URL & afmetingen

    • Lengte (duration) in seconden

    • Categorie (category)
      Geldige categorieën: mood, interior, exterior

    Documenten (documents)

    • URL (url)

    • Bestandsgrootte (filesize) in bytes

    • MIME type (mimetype)

    • Categorie (category)
      Geldige categorieën: general, terms, brochure

  • Filteropties (filter_options, optioneel)

    Filteropties zijn kenmerken waarop bezoekers kunnen filteren.
    Het formaat is een sleutel-waarde-collectie; de waarde kan één item zijn of een lijst.

  • Beschikbaarheid (availability, optioneel)

    Beschikbaarheid kan met vier variabelen worden aangegeven, vooral handig voor objecten die door meerdere personen tegelijk geboekt kunnen worden, zoals reizen:

    • capacity – totaal aantal plekken

    • occupied – bezette plekken

    • free – beschikbare plekken

    • availability – true (beschikbaar) of false (niet beschikbaar)

  • Boekingsmogelijkheden (booking_options, verplicht)

    Alle boekingsmogelijkheden die je aanbiedt, moeten telkens opnieuw meegestuurd worden.
    Alles wat ontbreekt, wordt automatisch verwijderd door OpenRental.

    Elke boekingsmogelijkheid bevat:

    • Prijs (price)

    • Valuta (currency, optioneel) – standaard euro

    • Periode (period) – day, Ndays, weekend, midweek, week, Nweeks, month, year

    • Vakantieperiode (holiday, optioneel) – christmas, easter, ascension, fronleichnam, pentecost

    • Sleutel (key) – unieke identificatie als meerdere opties dezelfde datums hebben

    • Begin & eind (date_from, date_to) – datum+tijd

    • Teksten (texts)
      Per taal/regio: title en url verplicht, short_desc en long_desc optioneel.

Gegevensformaten

  • Taal/regio

    Teksten per taal worden georganiseerd onder een "locale".
    Formaat: taal_regio zoals
    nl_NLde_DEen_GBen_US
    Andere formaten worden niet geaccepteerd.

  • Datum en tijd

    Altijd in dit formaat:

    yyyy-mm-ddThh:mm:sszzzz

    Voorbeeld: 2025-06-21T14:30:00+0100

Feeds aanbieden

Feeds bied je aan via een url waar de Open Rental-aanbieder de data kan ophalen. De feed moet zichtbaar zijn als JSON of XML, zonder login of authenticatie. Het is mogelijk en aanbevolen om de feed via een HTTPS-verbinding aan te bieden voor extra veiligheid.

Voorbeeld JSON-feed


{
    "success": true,
    "data": [
        {
            "uid": "Unieke ID",
            "texts": {
                "[LOCALE]": {
                    "title": "Titel van het object",
                    "short_desc": "Korte omschrijving",
                    "long_desc": "Lange omschrijving",
                    "html": "",
                    "terms_url": "https://example.com/path/to/terms",
                    "detail_url": "https://example.com/path/to/detail",
                    "options": [
                        {
                            "title": "Option",
                            "short_desc": "Korte omschrijving"
                        }
                    ]
                }
            },
            "booking_options": [
                {
                    "currency": "EUR",
                    "price": 123.00,
                    "period": "day|Ndays|weekend|midweek|week|Nweeks|month|year",
                    "holiday": "christmas|easter|ascensionday|pentecost|fronleichnam",
                    "date_from": "yyyy-mm-ddThh:mm:sszzzz",
                    "date_to": "yyyy-mm-ddThh:mm:sszzzz",
                    "texts": {
                        "[LOCALE]": {
                            "title": "Option title",
                            "short_desc": "Korte omschrijving",
                            "long_desc": "Lange omschrijving",
                            "booking_url": "https://example.com/path/to/bookingpage"
                        }
                    }
                }
            ],
            "media": {
                "images": [
                    {
                        "url": "https://example.com/path/to/image",
                        "thumbnail_url": "https://example.com/path/to/thumbnail",
                        "width": 1024,
                        "height": 768,
                        "thumb_width": 400,
                        "thumb_height": 300,
                        "title": "Titel van de afbeelding",
                        "description": "Omschrijving of bijschrift",
                        "category": "general|interior|exterior|mood|floormap"
                    }
                ],
                "videos": [
                    {
                        "embed": "url",
                        "thumbnail_url": "",
                        "aspect_ratio": 1.333 / "4:3",
                        "thumb_width": 400,
                        "thumb_height": 300,
                        "duration": 123456,
                        "title": "Video title",
                        "description": "Video description",
                        "category": "interior|exterior|mood"
                    }
                ],
                "documents": [
                    {
                        "url": "",
                        "size": "",
                        "mimetype": "type/subtype",
                        "title": "Document title",
                        "description": "Document description",
                        "category": "general|terms|brochure"
                    }
                ]
            },
            "availability": {
                "capacity": 20,
                "occupied": 5,
                "free": 15,
                "occupied_percentage": 25,
                "available": true
            },
            "filter_options": {
		     "category": "motorjacht",
                "sleutel": "waarde",
                "sleutel1": [ "waarde1", "waarde2" ]
		     "category": [ "motorjacht", "zeiljacht", "open zeilboot", "traditionele zeilschepen", "sloep", "houseboats/aqualodges", "platbodem", "vistourboot" ]
            }
        }
    ]
}

Vragen of hulp nodig?

Heb je vragen of wil je zeker weten of alles goed is ingericht? Neem dan contact op met Jan Ybema

Lid worden?

Meer informatie over het lidmaatschap

Als watersport- en recreatieondernemer heb je veel profijt van het lidmaatschap. Zo word je RECRON Erkend Bedrijf of HISWA Erkend Bedrijf en daarmee straal je kwaliteit en zekerheid uit naar je gasten en klanten.