ReadingByFormatDto
Totals for one file format.
booksFinishedinteger<int64>required
duration objectrequired
Reading time split by how it was arrived at.
Deliberately two numbers rather than one. Time from the compatibility surfaces is reconstructed from the gaps between their writes: it undercounts and cannot see reading done from a downloaded book at all. Presenting a combined figure is fine; hiding that part of it is an estimate is not.
inferredMsinteger<int64>required
Milliseconds reconstructed server-side. An underestimate.
Example:
900000measuredMsinteger<int64>required
Milliseconds reported by a client that measured its own reading.
Example:
5400000totalMsinteger<int64>required
Convenience sum of the two, so clients do not each reimplement it.
Example:
6300000formatstring | nullnullable
Null on the removed-from-library row.
Example:
cbzpagesReadinteger<int64>required
removedFromLibrarybooleanrequired
True on the single row that gathers reading whose book has since been deleted from the server, and whose format is therefore unknown.
sessionsinteger<int64>required
ReadingByFormatDto
{
"booksFinished": 0,
"duration": {
"inferredMs": 900000,
"measuredMs": 5400000,
"totalMs": 6300000
},
"format": "cbz",
"pagesRead": 0,
"removedFromLibrary": true,
"sessions": 0
}