Luisterhuis audiobook integration for platforms

Master files, metadata and report documentation 

Document revision history

Date

Version

 


Added to 3.1 Audio specifications: Maximum file size: 250 MB 

 

v1.5

Local ONIX best pratices

  • Added: Content detail effective from 16 May 2023
  • Changed: the order of Local ONIX best practices topics to match the order in the ONIX Product record

 

v1.4Added to 5.3.14: Announcements, effective from 1 Dec 2022

 

v1.3Added to 5.3.7:  RelatedProduct

 

v1.2

Update to ONIX 3.0.7 with Code Lists Issue 49, support of Luisterhuis ONIX API v3

 

v1.1Update to ONIX 3.0.6 with Code Lists Issue 46

 

v1.0First English language release, based on ONIX 3.0.4

Published by

Luisterhuis, a subsidiary of CB BV

More information

support@luisterhuis.nl

© 2010-2020 CB BV

This document contains confidential and proprietary information.

All rights reserved. No part of this publication may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and microfilm, without prior written consent of CB.

1 Introduction

1.1 About CB and Luisterhuis

CB is the main book distributor in the Netherlands and Flanders and the link between publisher, (online) bookseller and consumer. Over 1000 publishers and 1500 booksellers trust their logistics to CB for their physical books, POD productions, ebooks and audiobooks.

Dutch and Flemish publishers use CB as their distribution partner for ebooks (either PDF, EPUB2 or EPUB3) and audiobooks. This offers national and international e-tailers and platforms a one-stop-shop, providing access to the entire Dutch (language) market.

­­­­­

Publishers use the ‘CB Online’ web interface to offer their titles and data to any connected retailer or platform. Publishers can offer their digital titles for sale, for subscription or for lending via a library. In addition to master file and metadata distribution, CB also offers invoicing services for the net pricing between publishers and e-tailers and takes care of insightful consolidated reporting to the publishers using advanced analytics tools.

Luisterhuis, part of CB since 2020, was established in 2010 and is the leading digital distributor of Dutch and Flemish digital audiobooks. Luisterhuis handles digital fulfilment, offers extensive reports and provides master files and metadata to local and international web shops, library services, subscription platforms and other content platforms. For publishers, Luisterhuis is integrated into the CB Online web interface.

Luisterhuis offers different feeds and services to its B2B audiobook customers, like ONIX metadata web services, digital dropship delivery with download link fulfilment for web shops and (S)FTP based delivery of metadata and audiobook master files for audiobook platforms. Luisterhuis also ingests and processes all (monthly) sales and usage reports from audiobook retailers and platforms.

Audiobook retailers and platforms are connected directly to the Luisterhuis system for both master file and metadata delivery as for reporting.

1.2 About this document

This documentation is intended for audiobook platforms who needs to integrate with the Luisterhuis system. 

The next chapters are dedicated to all details regarding the audiobook integration for platforms:

  • Chapter 2: Scope
  • Chapter 3: Technical specifications audio master files
  • Chapter 4: Table of contents metadata
  • Chapter 5: Details about the ONIX metadata
  • Chapter 6: Sales reporting

2 Scope

2.1 Principles

The Luisterhuis master file and metadata delivery principles for platforms are based on file delivery through (S)FTP. In short, all metadata and master files of a single audiobook will be copied by the Luisterhuis exporter to an (S)FTP server managed by the platform. It is up to the platform to regularly check their FTP server, scan its folders, and download and process the files. In addition, the Luisterhuis importer ingests the (monthly) sales reports from the platform.

Wherever possible, Luisterhuis can be configured to match the platform ingestion and reporting specifications. It is essential for the Luisterhuis integration team to get access to the platform specifications, FTP information and (sample) reporting files a.s.a.p.

2.2 Towards a daily workflow

A publisher uses the CB Online-portal to enable an audiobook for a platform client. This can be done 24/7. Once a day, at 02:00 CET (or another time, to be determined in consultation with the platform), the Luisterhuis exporter copies the metadata and audio master files on the (S)FTP server of the platform.

The files to be copied can consist of a combination of:

  • All audiobook mp3 master files
  • The ONIX metadata
  • A sample audio file
  • A square cover image
  • (optional) All audiobook files cut to 2 to 3-minute segments in flac format
  • (optional) A json manifest with table of contents and chapter metadata
  • (optional) A trigger file, signalling the complete upload of all files belonging to a title

In addition to a full delivery (containing both audio master files and metadata), there are two kinds of updates supported:

  1.  Metadata updates (including takedowns, price changes, new cover images, new sample audio)
  2. Audio updates (to replace to old audio files). An audio update always consists of a complete set of the audiobook master files, to replace the original audio files.

After a sales period, Luisterhuis ingests the sales report from the platform. Depending on the business model, difference report fields are required. Luisterhuis parses this data and feeds it into the CB Online system where it will be used for analytics, invoicing and general reporting to the respective publishers.

2.3 Integration step by step

Luisterhuis can be configured to match most platform ingestion and reporting specifications, including flexible (S)FTP file and folder naming options and the use of a trigger file. This manual describes the possibilities of Luisterhuis and the specific metadata aspects for the Dutch language market.

Usually, an integration project follows these steps:

  1. Luisterhuis and platform exchange their specifications. For Luisterhuis this means this documentation and some sample ONIX files. For the platform this means the ingestion specifications and some sample report files.
  2. Luisterhuis and platform discuss the testing environments (if any)
  3. Platform sends (S)FTP endpoints and credentials to support@luisterhuis.nl
  4. Luisterhuis configures their Luisterhuis exporter
  5. Platform prepares their ingestion to support Luisterhuis deliveries
  6. Luisterhuis pushes some test audiobooks to the platform (master files and metadata)
  7. Luisterhuis prepares their Luisterhuis importer to support platform reports format(s)
  8. Platform sends some reports with real data to Luisterhuis (to report@luisterhuis.nl)
  9. Multiple test rounds follow (including updates and withdrawals)
  10. Going to production
  11. CB will invite publishers to enable their audiobooks for the new platform
  12. The daily workflow will start (see chapter 2.2).

Although Luisterhuis has multiple configuration options, it is also possible to develop a bespoke interface between Luisterhuis and a platform. Whether this is necessary usually will become clear during the preparation phase, when the platform specifications and these Luisterhuis specifications are compared.

2.4 Checklist (download)

Luisterhuis audiobook integration for platforms checklist.docx  is available for the platform team to define the platform integration requirements and specifications. This checklist will be used by Luisterhuis to ease the configuration and integration.

3 Technical specifications audio master files

3.1 Audio specifications

Luisterhuis exports ‘chapterized’ audio master files. This means that every full audiobook title is delivered as a set of mp3-files. If the platform doesn’t support multiple mp3 files per title, it needs to concatenate all mp3-files into a single, large mp3 file during ingestion.

Usually a mp3 track contains a single chapter. When there are no recognizable chapters in the original book, a track will be a specific part of the book. Only very short audiobooks can consist of a single mp3 file.

These are the specifications of the mp3 audio files:

  • Single voice (spoken book): sample rate 44.1 kHz, bitrate 128 kbps to 192 kbps CBR, mono
  • Radio play, music productions: sample rate 44.1 kHz, bitrate 192 kbps to 256 kbps CBR or VBR, stereo
  • Sound level: -3dB peak values
  • Maximum file duration: 80 minutes
  • Maximum file size: 250 MB
  • Maximum number of tracks per title: 999

3.2 Segmented audio support

Segmented audio is used to optimize the monetization for streaming music platforms. Luisterhuis includes an automated smart ‘segment cutter engine’ which cuts a track into several small audio segments of a few minutes each. The smart cutter ensures that a track is never cut in the middle of a sentence.

The output format of the cutter is flac by default, since this is the most common music platform ingestion format.

If the platform requires segmented audio files, a single audiobook can contain up to 9999 segments.

3.3 ID3v2 tag support

Every mp3 file delivered to a platform contains an ID3v2 header, generated by Luisterhuis, with the following information:

  • Book title
  • First author
  • Narrator
  • Track number
  • Total number of Tracks
  • Chapter name
  • Year of publication
  • Name of publisher

The cover image is also embedded in the mp3 file.

3.4 File naming convention

In order to be compatible with most client platforms, Luisterhuis supports different mp3 file naming conventions. The currently supported file name configurations are:

naming conventionfor example
[ISBN][TRACKNO].mp3 9781234567890_001.mp3
[ISBN][TRACKNO][TOTALTRACKNO].mp39781234567890_001_013.mp3
[TRACKNO][ISBN].mp3  001_9781234567890.mp3
[ISBN][CHAPTERNAME].mp3  9781234567890_Proloog.mp3
[TRACKNO][CHAPTERNAME].mp3001_Proloog.mp3
[ISBN][TRACKNO][CHAPTERNAME].mp39781234567890_001_Proloog.mp3
[AUTHOR][TITLE][TRACKNO][TOTALTRACKNO][CHAPTERNAME}Barbara Cartland - Barbara Cartland’s Eternal Collection (001-013) Proloog.mp3

A single audiobook can contain up to 999 tracks. Track numbers will always be 3 digits.

A segmented audiobook can contain up to 9999 segments. Track numbers will always be 4 digits.


3.5 Social DRM

All mp3 files delivered to a platform are watermarked using social DRM with ‘channel watermarking’ using BooXtream Audio technology. This means that all mp3 files contain visible and invisible references to the specific platform client. This data can be used to trace a delivery leak when mp3 files are found in the wild.

4 Table of contents metadata

4.1 Background

As explained in the previous chapter, Luisterhuis exports ‘chapterized’ audio master files. Usually a mp3 track contains a single chapter. When there are no recognizable chapters in the original; book, a track will be a specific part of the book, based on a maximum length.

In order to provide the best user experience with an in-app table of contents, some audiobook platforms require the chapter name of each individual audio track. To support this, the Luisterhuis master repository contains all chapter names of all mp3 tracks and maintains a table of contents of every title.

4.2 How Luisterhuis supports chapter and table of contents metadata

Until a worldwide standard for chapter names is established and accepted by all relevant parties, there are several different ways to transfer the chapter names to the platform.

Luisterhuis currently supports the following methods:

4.2.1 Chapter name in mp3 ID3v2 header

Every mp3 file delivered to a platform contains an ID3v2 header with the chapter name. Also see chapter 3.3 ID3v2 tag support.

4.2.2 Chapter name as part of the mp3 file name

Depending on the configuration, Luisterhuis can add the actual chapter name to the mp3 file name. Also see chapter 3.4 File naming convention.

4.2.3 Table of contents manifest in separate json file

Luisterhuis can add a separate json file with a manifest containing the file names and their chapter names. Usually the json file is named isbn.json and placed in the same folder as the ONIX metadata.

Example json file
{
  "manifest_version": 1,
  "file_list": [
    {
      "media_type": "audio\/mpeg",
      "file_name": "9789462174665_001.mp3",
      "file_order_id": 0
    },
    {
      "media_type": "audio\/mpeg",
      "file_name": "9789462174665_002.mp3",
      "file_order_id": 1
    },
    {
      "media_type": "audio\/mpeg",
      "file_name": "9789462174665_003.mp3",
      "file_order_id": 2
    },
    {
      "media_type": "audio\/mpeg",
      "file_name": "9789462174665_004.mp3",
      "file_order_id": 3
    },
    {
      "media_type": "audio\/mpeg",
      "file_name": "9789462174665_005.mp3",
      "file_order_id": 4
    },
    {
      "media_type": "audio\/mpeg",
      "file_name": "9789462174665_006.mp3",
      "file_order_id": 5
    }
  ],
  "table_of_contents": [
    {
      "title": "Voorwoord",
      "file_order_id": 0,
      "offset": 0
    },
    {
      "title": "Hoofdstuk 1 Hoe het begon",
      "file_order_id": 1,
      "offset": 0
    },
    {
      "title": "Hoofdstuk 2 Een dag in Amsterdam",
      "file_order_id": 2,
      "offset": 0
    },
    {
      "title": "Hoofdstuk 3 Het ging mis",
      "file_order_id": 3,
      "offset": 0
    },
    {
      "title": "Hoofdstuk 4 Eind goed, al goed",
      "file_order_id": 4,
      "offset": 0
    },
    {
      "title": "Epiloog",
      "file_order_id": 5,
      "offset": 0
    }
  ]
}

5 ONIX metadata

5.1 Background

The Luisterhuis catalogue of audiobook products contains all metadata of the audiobooks, like author, publisher, prices et cetera. The data is supplied in XML following the ONIX 3.0 guidelines.

ONIX for Books is a worldwide XML standard to describe book information, to connect the servers of publishers, distributors and retailers, without any conversion or manual data entry of the book data. Information about the ONIX standard is available online on www.editeur.org

We recommend to download the most current documentation on http://www.editeur.org/93/Release-3.0-Downloads/

The current supported ONIX version by Luisterhuis is a subset of ONIX 3.0 revision 7 with ONIX Code Lists Issue 49. Please note: the ONIX metadata will always be supplied using full reference names. An ONIX file will always contain a single product.

In this chapter we’ll discuss the subset used by Luisterhuis. Test ONIX xml-files are available on request.

5.2 Platform specific ONIX

Luisterhuis creates platform specific ONIX metadata. The content is based on a combination of parameters of the underlying CB Online platform. The ONIX is tailored and personalised to the specific platform. For instance, catalogue selection, pricing and publication dates can differ from platform to platform.

5.3 Local ONIX best practices

Since CB and Luisterhuis both have their roots in the Dutch language publishing market, the ONIX 3.0 subset in use by Luisterhuis is highly compatible with the Dutch ONIX subset defined by CB. CB is Charter Member of EDItEUR and takes part in the Dutch language ONIX working group. CB maintains the ‘best practice’ for ONIX in the Dutch language area.

The following paragraphs describe the specific ONIX implementation and best practices for the Dutch market.

5.3.1 ProductForm and PrimaryContentType

For digital audiobooks, the following ProductForm is used:

Audiobook ProductForm and ProductFormDetail
<ProductForm>AJ</ProductForm>
<ProductFormDetail>A103</ProductFormDetail>

The following values for PrimaryContentType are supported:

  • 01           Audio (audiobook)
  • 02           Performance (audio drama, theatre, cabaret)
  • 03           Music Recording
  • 04           Other Audio (nature sounds, soundscapes)
  • 13           Other Speech Content (lectures, interviews, discussions, audio tours)

5.3.2 Title and collection

The ONIX metadata supports the following title and collection elements:

Title detail:

  • Title
  • Sub title

Collection:

  • Series title
  • Series part number

Title is always available. The other elements are optional.

Example without collection
<TitleDetail>
 <TitleType>01</TitleType>
 <TitleElement>
  <TitleElementLevel>01</TitleElementLevel>
  <TitleText>Geschiedenis NL Live</TitleText>
  <Subtitle>Nederlandse geschiedenis in 2,5 uur</Subtitle>
 </TitleElement>
</TitleDetail>
Example with collection
<Collection>
 <CollectionType>10</CollectionType>
 <TitleDetail>
  <TitleType>01</TitleType>
  <TitleElement>
   <TitleElementLevel>02</TitleElementLevel>
   <PartNumber>1</PartNumber>
   <TitleText>Ben Stil</TitleText>
  </TitleElement>
 </TitleDetail>
</Collection>
<TitleDetail>
 <TitleType>01</TitleType>
 <TitleElement>
  <TitleElementLevel>01</TitleElementLevel>
  <TitleText>Geythorn</TitleText>
  <Subtitle>De wraak van de flagellant</Subtitle>
  </TitleElement>
</TitleDetail>

5.3.3 Contributor roles

Audiobook metadata supports the following contributor roles:

  • A01        Author of the work
  • E07         Read by (reader of recorded text)
  • B06        Translator (optionally)

5.3.4 PrefixToKey in contributor elements

In the Dutch language area, <PrefixToKey> is used for all relevant contributor names (authors, narrators) with a typical Dutch prefix in their last name. For instance, the name ‘Dirkjan van Ittersum’ will be supplied in the ONIX as follows:

Example Contributor with Prefix tot Key
<PersonName>Dirkjan van Ittersum</PersonName>
<NamesBeforeKey>Dirkjan</NamesBeforeKey>
<PrefixToKey>van</PrefixToKey>
<KeyNames>Ittersum</KeyNames>

It is the responsibility of the platform client to comply with this standard and parse the <PrefixToKey> field.

5.3.5 Abridged / unabridged

The ONIX contains the <EditionType> element which refers to either abridged (content has been shortened in relation to the original book) or unabridged content:

There are 2 possible values for <EditionType> supported:

  • ABR       Abridged
  • UBR       Unabriged

5.3.6 Language codes

All audiobooks contain the language code for the text (<LanguageRole> 01) and spoken language (<LanguageRole> 08>, which are always identical. Most translated audiobooks also contain the language code for the original language (<LanguageRole> 02).

Example for Dutch spoken audiobook
<Language>
 <LanguageRole>01</LanguageRole>
 <LanguageCode>dut</LanguageCode>
</Language>
<Language>
 <LanguageRole>08</LanguageRole>
 <LanguageCode>dut</LanguageCode>
</Language>
Example for Dutch spoken audiobook, translated from Swedish
<Language>
 <LanguageRole>01</LanguageRole>
 <LanguageCode>dut</LanguageCode>
</Language>
<Language>
 <LanguageRole>02</LanguageRole>
 <LanguageCode>swe</LanguageCode>
</Language>
<Language>
 <LanguageRole>08</LanguageRole>
 <LanguageCode>dut</LanguageCode>
</Language>

5.3.7 Duration and size values

The ONIX contains duration and size values of the audiobook master files.

Example ONIX elements duration and size values
<Extent>
 <ExtentType>09</ExtentType>
 <ExtentValue>21287</ExtentValue>
 <ExtentUnit>06</ExtentUnit>
</Extent>
<Extent>
 <ExtentType>09</ExtentType>
 <ExtentValue>0055447</ExtentValue>
 <ExtentUnit>16</ExtentUnit>
</Extent>
<Extent>
 <ExtentType>22</ExtentType>
 <ExtentValue>197</ExtentValue>
 <ExtentUnit>19</ExtentUnit>
</Extent>

These are the supported types and units:

ExtentType       

  • 09           Duration (running time)
  • 22           File size

ExtentUnit        

  • 06           seconds (integer value)
  • 16           Hours minutes seconds (HHHMMSS)
  • 19           Mbytes (integer value)

5.3.8 Subject metadata

The ONIX can contain up to four different subject elements: NUR (Dutch), BISAC (international), Thema (international) and keywords. All titles contain at least one NUR and one BISAC value. Thema values and keywords are optional. A growing number of titles will be supplied with Thema subject metadata.

ONIX elements
NUR

NUR

<Subject>
 <MainSubject/> <SubjectSchemeIdentifier>32</SubjectSchemeIdentifier>
 <SubjectCode>332</SubjectCode>
</Subject>

The NUR value of 332 is an example. The valid NUR range is 200 to 999. More info about NUR can be found here: https://www.isbn.nl/uploads/images/NUR-lijst-versie-2011.pdf
Multiple NUR values are supported. The main NUR subject has the tag <MainSubject/>.
BISAC

BISAC

<Subject>
  <MainSubject/>
  <SubjectSchemeIdentifier>10</SubjectSchemeIdentifier>
  <SubjectCode>HIS010020</SubjectCode>
</Subject>

Multiple BISAC values are supported. The main BISAC subject has the tag <MainSubject/>.
Thema

Thema

<Subject>
    <MainSubject/>
    <SubjectSchemeIdentifier>93</SubjectSchemeIdentifier>
    <SubjectSchemeVersion>1.3</SubjectSchemeVersion>
    <SubjectCode>FXM</SubjectCode>
</Subject>
<Subject>
    <SubjectSchemeIdentifier>93</SubjectSchemeIdentifier>
    <SubjectSchemeVersion>1.3</SubjectSchemeVersion>
    <SubjectCode>FBA</SubjectCode>
</Subject>
    <Subject>
    <SubjectSchemeIdentifier>94</SubjectSchemeIdentifier>
    <SubjectSchemeVersion>1.3</SubjectSchemeVersion>
    <SubjectCode>1KBB-US-WPC</SubjectCode>
</Subject>

The ONIX elements for Thema supports multiple values of the <SubjectSchemeIdentifier> 93, 94, 95, 96, 97 and 98.
Keywords

Keywords

<Subject>
 <SubjectSchemeIdentifier>20</SubjectSchemeIdentifier>
 <SubjectHeadingText>chicklit;dochtertje becky;engels;feel-good roman;
rebecca bloomwood;shopaholic;sophie kinsella</SubjectHeadingText>
</Subject>

The ONIX element for Keywords uses <SubjectSchemeIdentifier> 20. Different keywords
are separated by a ; character.

5.3.9 Short and long description/annotation

The ONIX metadata contains two different descriptive texts for every audiobook: a short one (max 200 characters, no HTML) and a long one (no limitations).

The short text (Short description/annotation) can be used for hitlists, SEO, mobile, social media, pop-ups, alt-tags, and other situations where there is no space for a long text.

The ONIX element for short text is defined by <TextType> 02
<TextContent>
 <TextType>02</TextType>
 <ContentAudience>00</ContentAudience>
 <Text><![CDATA[Wat waren de belangrijkste gebeurtenissen van de Nederlandse geschiedenis? Hoe zou de radio verslag hebben gedaan? In dit luisterboek hoor je het! Van de prehistorie tot nu. Boeiend voor jong en oud.]]></Text>
 <ContentDate>
  <ContentDateRole>01</ContentDateRole>
  <Date dateformat="00">20180209</Date>
 </ContentDate>
</TextContent>
The long description is defined by <TextType> 03
<TextContent>
 <TextType>03</TextType>
 <ContentAudience>00</ContentAudience>
 <Text textformat="02"><![CDATA[Radio en TV doen tegenwoordig 24 uur per dag verslag van actuele gebeurtenissen. Wat als dat in het verleden was gebeurd, hoe had dat geklonken? Dit luisterboek zet de klok terug. De volledige canon van de Nederlandse geschiedenis wordt behandeld. 
<br /><br />
Een reis door de tijd onder leiding van oud-nieuwslezer Dirkjan van Ittersum. Het begint bij de prehistorie en spoelt telkens weer een stukje vooruit, richting nu. Fraaie, maar ook minder fraaie historische momenten komen voorbij: ijstijden, oorlogen, opstanden, politieke moorden, ontdekkingsreizen, slavernij, industrialisatie, het koningshuis et cetera.
<br /><br />
Met een verslaggever ter plekke, nieuwsbulletins uit het verleden en - hoe kan het anders - het weerbericht. In 2,5 uur weet je welke gebeurtenissen Nederland hebben gevormd.
<br /><br />
Dit luisterboek geeft antwoord op vragen als:
<br />
* Welke gevolgen van ijstijden zie je nog steeds terug?<br />
* Wanneer liep de eerste mens rond in Nederlands gebied? <br />
* Waarom was Willem van Oranje zo belangrijk? <br />
* Hoe werd Nederland rijk tijdens de Gouden Eeuw? <br />
* Welke rol speelden de Nederlanders bij slavernij?<br />
* Wie was de eerste koning van Nederland?
<br /><br />
Bij dit luisterboek wordt de volledige tekst meegeleverd in een pdf-bestand. Handig om mee te lezen! De illustraties in dit boekje werden gemaakt door grafisch ontwerper Dana Dool. 
<br />
<br />
Interessant voor iedereen die zijn basiskennis over de Nederlandse geschiedenis wil bijspijkeren. Boeiend voor jong en oud!
<br /><br />
Opname onder leiding van Huub Krom van Geluidsstudio OORbit in Amsterdam.]]></Text>
</TextContent>

5.3.10 Image assets

In <SupportingResource>, the ONIX contains 2 references to image assets for the audiobook cover, using <FeatureNote> large and thumb. Both images are always square. The images itself are supplied as jpg files.

The large cover image has a minimum resolution of 1024 px x 1024 px (jpg, RGB), but sometimes higher resolutions (up to 3000 x 3000) are available. The size of the thumb cover image asset is always 512 px x 512 px (jpg, RGB). It is the responsibility of the platform to resize the cover images.

Example ONIX composite for the large image asset
SupportingResource>
 <ResourceContentType>03</ResourceContentType>
 <ContentAudience>00</ContentAudience>
 <ResourceMode>03</ResourceMode>
 <ResourceVersion>
  <ResourceForm>02</ResourceForm>
  <ResourceVersionFeature>
   <ResourceVersionFeatureType>01</ResourceVersionFeatureType>
   <FeatureValue>D502</FeatureValue>
  </ResourceVersionFeature>
  <ResourceVersionFeature>
   <ResourceVersionFeatureType>02</ResourceVersionFeatureType>
   <FeatureValue>3000</FeatureValue>
  </ResourceVersionFeature>
  <ResourceVersionFeature>
   <ResourceVersionFeatureType>03</ResourceVersionFeatureType>
   <FeatureValue>3000</FeatureValue>
   <FeatureNote>large</FeatureNote>
  </ResourceVersionFeature>
  <ResourceVersionFeature>
   <ResourceVersionFeatureType>04</ResourceVersionFeatureType>
   <FeatureValue>bookcover_org.jpg</FeatureValue>
  </ResourceVersionFeature>
  <ResourceVersionFeature>
   <ResourceVersionFeatureType>05</ResourceVersionFeatureType>
   <FeatureValue>0.3</FeatureValue>
  </ResourceVersionFeature>
  <ResourceVersionFeature>
   <ResourceVersionFeatureType>07</ResourceVersionFeatureType>
   <FeatureValue>289348</FeatureValue>
  </ResourceVersionFeature>
  <ResourceLink datestamp="20200903T110743">file://9789178614158.jpg</ResourceLink>
  <ContentDate>
   <ContentDateRole>01</ContentDateRole>
   <Date dateformat="00">20200903</Date>
  </ContentDate>
 </ResourceVersion>
</SupportingResource>

5.3.11 Sample audio file asset

In <SupportingResource>, the ONIX contains a reference to an audiobook sample file. It is allowed to use this sample file for promotional purposes. The sample file is supplied in mp3 format, 96 / 128 / 192 / 256 kbps, CBR/VBR, (joint) stereo. The audio length is usually 1 to 5 minutes. In most cases the sample is hand-picked by the publisher. However, in some cases, the sample is auto generated.

Example ONIX SupportingResource compite with sample file
<SupportingResource>
 <ResourceContentType>15</ResourceContentType>
 <ContentAudience>00</ContentAudience>
 <ResourceMode>02</ResourceMode>
 <ResourceVersion>
  <ResourceForm>02</ResourceForm>
  <ResourceVersionFeature>
   <ResourceVersionFeatureType>01</ResourceVersionFeatureType>
   <FeatureValue>A103</FeatureValue>
  </ResourceVersionFeature>
  <ResourceVersionFeature>
   <ResourceVersionFeatureType>04</ResourceVersionFeatureType>
   <FeatureValue>sample.mp3</FeatureValue>
  </ResourceVersionFeature>
  <ResourceLink datestamp="20200903T110746">file://9789178614158_sample.mp3</ResourceLink>
  <ContentDate>
   <ContentDateRole>01</ContentDateRole>
   <Date dateformat="00">20200129</Date>
  </ContentDate>
 </ResourceVersion>
</SupportingResource>

5.3.12 Content Detail

The "ContentDetail" element is used in metadata to provide information about the content items in an audiobook, including any chapter or scene titles. This is important for organizing and categorizing the content as well as for helping listeners find the parts they are looking for.

  1. The ContentDetail block consists of multiple ContentItem elements, with each element representing a part of the table of contents.
  2. Each ContentItem element has a LevelSequenceNumber, which indicates the hierarchical position of the corresponding part in the table of contents (1.1, 1.2, 1.3, etc.). 
  3. Within the ContentItem element, there is the AVItem element, which contains an AVItemType with a value of "03".
Example ContentDetail
<ContentDetail>
  <ContentItem>
    <LevelSequenceNumber>1.1</LevelSequenceNumber>
    <AVItem>
      <AVItemType>03</AVItemType>
    </AVItem>
    <TitleDetail>
      <TitleType>01</TitleType>
      <TitleElement>
        <TitleElementLevel>04</TitleElementLevel>
        <TitleText>Proloog</TitleText>
      </TitleElement>
    </TitleDetail>
  </ContentItem>
  <ContentItem>
    <LevelSequenceNumber>1.2</LevelSequenceNumber>
    <AVItem>
      <AVItemType>03</AVItemType>
    </AVItem>
    <TitleDetail>
      <TitleType>01</TitleType>
      <TitleElement>
        <TitleElementLevel>04</TitleElementLevel>
        <TitleText>Hoofdstuk 1</TitleText>
      </TitleElement>
    </TitleDetail>
  </ContentItem>
  <ContentItem>
    <LevelSequenceNumber>1.3</LevelSequenceNumber>
    <AVItem>
      <AVItemType>03</AVItemType>
    </AVItem>
    <TitleDetail>
      <TitleType>01</TitleType>
      <TitleElement>
        <TitleElementLevel>04</TitleElementLevel>
        <TitleText>Hoofdstuk 2</TitleText>
      </TitleElement>
    </TitleDetail>
  </ContentItem>
</ContentDetail> 


5.3.13 Related products (ISBN) and related works (NSTC)

The ONIX feed can contain Related products. These products refer to the same work as the audiobook but with a different ProductForm. The supported ProductRelationCode is: 13 (= Epublication based on print product).

Example ONIX elements for Related ISBN
<RelatedMaterial>
 <RelatedProduct>
  <ProductRelationCode>13</ProductRelationCode>
   <ProductIdentifier>
    <ProductIDType>03</ProductIDType>
    <IDValue>9789020211122</IDValue>
  </ProductIdentifier>
   <ProductIdentifier>
    <ProductIDType>15</ProductIDType>
    <IDValue>9789020211122</IDValue>
  </ProductIdentifier>
 </RelatedProduct>
</RelatedMaterial>

In addition, CB assigns a unique work identifier called NSTC (Netherlands Standard Text Code) to every work published in the Netherlands and Flanders. All product forms of a specific book (hardback, paperback, ebook, audiobook) have the same NSTC, which allows a client to group the different product forms of the same book. This value is less relevant for platforms that offer only audiobooks.

Example ONIX elements for NSTC
<RelatedMaterial>
 <RelatedWork>
  <WorkRelationCode>01</WorkRelationCode>
   <WorkIdentifier>
    <WorkIDType>01</WorkIDType>
    <IDTypeName>NSTC</IDTypeName>
    <IDValue>100020228</IDValue>
   </WorkIdentifier>
  </RelatedWork>
</RelatedMaterial>

5.3.14 Product availability

The value of the element <ProductAvailability> defines whether or not an audiobook product is allowed for sale / use or not.

Example ONIX elements ProductAvailability
<ProductSupply>
 <SupplyDetail>
  <ProductAvailability>20</ProductAvailability>
 </SupplyDetail>
</ProductSupply>

There are 3 possible values for <ProductAvailability>:

  • 10           Announced (this includes a future SupplyDate)
  • 20           Available
  • 40           Withdrawn

It is the responsibility of the platform client to comply with this standard, parse the <ProductAvailability> field, and show or take down the title when necessary.


The audiobook may be enabled for play / sales only when <ProductAvailability> is 20
As soon as the <ProductAvailability> value changes to 40, the title needs to be disabled.

Behaviour of Announcements:

  1. For audiobooks where the CB Online life cycle is set to ‘Aangekondigd’ (Announced), the ONIX element <ProductAvailability> will contain 10 and <PublishingStatus> will contain 02.
  2. The expected delivery date of the complete audiobook (Expected availability date) is passed through <SupplyDate> and the <SupplyDateRole> with the value 08.
  3. The formal publication date is specified in <PublishingDate> with a <PublishingDateRole> 01.
  4. As soon as the life cycle in CB Online is set to 'Verschenen’ (Available), the element <ProductAvailability> will contain 20 and <PublishingStatus> will contain 04. <SupplyDate> with a <SupplyDateRole> 08 will then contain the delivery date of the complete audiobook (Expected availability date).
Example ONIX elements for an announcement
<ProductSupply>
<SupplyDetail>
  <ProductAvailability>10</ProductAvailability>
  <SupplyDate>
   <SupplyDateRole>08</SupplyDateRole>
   <Date dateformat="00">20221005</Date>
  </SupplyDate>
</SupplyDetail>
</ProductSupply>

<PublishingDetail>
<PublishingStatus>02</PublishingStatus>
<PublishingDate>
  <PublishingDateRole>01</PublishingDateRole>
  <Date dateformat="00">20221103</Date>
</PublishingDate>
</PublishingDetail>

Comments:

  • The publication date in the ONIX (<PublishingDate> with <PublishingDateRole> 01) may differ from the actual publication date, because of the following: if Bureau ISBN has not yet carried out the editorial check, the publisher can modify the publication date and updates will be specified in the ONIX for resellers. After Bureau ISBN has carried out the editorial check, the publication date is fixed. If in doubt, contact the publisher.
  • Announced audiobooks will not always have an audio sample, cover image, and/or sales price. The description and subject classification may also still be incomplete. As soon as the title has been published (<ProductAvailability> 20) there is always an audio fragment and cover image available, and the metadata has been checked and complete.

5.3.15 Price fields and territorial restrictions

Luisterhuis provides at least a single RRP price in the ONIX. The ONIX generation process will be configured to offer the correct RRP and special sale price values as supplied by the publisher for this specific platform. Please note: the current (reduced) VAT percentage for digital audiobooks in The Netherlands is 9% and in Flanders is 6%.

Example ONIX Price composite
<Price>
 <PriceType>01</PriceType>
 <PriceAmount>9.17</PriceAmount>
 <CurrencyCode>EUR</CurrencyCode>
  <Territory>
  <RegionsIncluded>WORLD</RegionsIncluded>
  <CountriesExcluded>NL</CountriesExcluded>
 </Territory>
</Price>
<Price>
 <PriceType>02</PriceType>
 <PriceAmount>9.99</PriceAmount>
 <Tax>
  <TaxType>01</TaxType>
  <TaxRateCode>R</TaxRateCode>
  <TaxRatePercent>9.00</TaxRatePercent>
  <TaxableAmount>9.17</TaxableAmount>
  <TaxAmount>0.82</TaxAmount>
 </Tax>
 <CurrencyCode>EUR</CurrencyCode>
 <Territory>
  <CountriesIncluded>NL</CountriesIncluded>
 </Territory>
</Price>
<Price>
 <PriceType>05</PriceType>
 <PriceAmount>6.42</PriceAmount>
 <CurrencyCode>EUR</CurrencyCode>
</Price>

Special sale prices are supported with <PriceType> 11 and 12 using <PriceDate> <PriceDateRole> 14 and 15 to define the period.

6 Sales and usage reporting

6.1 Background

Luisterhuis can ingest the (monthly) sales and usage information from a platform. Depending on the business model (sales, subscription, lending), different data is required. 

Usually, Luisterhuis can ingest the standard reporting format supplied by a platform. In order to prepare and configure the Luisterhuis report importer, some sample files are needed.

6.2 Subscription data

The supported dataset contains the following fields (bold fields are required):

  • Reporting period (StartDate / EndDate)
  • ISBN
  • Number of plays / reads
  • Value per minute
  • Total minutes
  • Publisher revenue share (%)
  • Payable Amount / net due (excl tax)
  • Tax
  • Payable Currency
  • Exchange Rate
  • Territory/country/market/region

6.3 Sales data

The supported dataset contains the following fields (bold fields are required):

  • Reporting period (StartDate / EndDate)
  • Transaction Date
  • ISBN
  • Sales Quantity
  • List price / unit price
  • COGS (cost of goods sold)
  • Publisher share (%)
  • Payable Amount / net due (excl tax)
  • Tax
  • Payable Currency
  • Exchange Rate
  • Territory/country/market/region

Refunds are accepted. Preferably by suppling negative Sales Quantity

6.4 Delivery method

The report files in csv or xlsx can be mailed to report@luisterhuis.nl