Books
Improving safety and welfare at sea, one book at a time.
With around 100 years’ experience providing books at sea, our crew libraries supply 20,000 books to ships across the world, so seafarers can have the books they want to read.
With around 100 years’ experience providing books at sea, our crew libraries supply 20,000 books to ships across the world, so seafarers can have the books they want to read.
Learn about our non-returnable paperback library available to seafarers and ships worldwide.
Read MoreWe offer a range of maritime titles and are an authorised distributor of IMO Publishing.
Read MoreWe offer an excellent and prompt service, fulfilling the needs of corporate customers globally.
Read MoreStart typing your email on the grey line below and click the white and blue rectangular 'sign up' button to subscribe to our newsletter
SELECT (`label`.`id`) AS `id`, (`label`.`name`) AS `name`, (`label`.`path`) AS `path`, (`label`.`source`) AS `source`, (`label`.`content`) AS `content`, (`label`.`block`) AS `block`, (`label`.`discard`) AS `discard` FROM `label` WHERE `label`.`discard` IS FALSE AND (`label`.`path` = '' OR '/books' LIKE `label`.`path`) ORDER BY `label`.`name` ASC, `label`.`path` ASC
Command completed in 0.0023131370544434 seconds - 292 row(s) affected.
SELECT (`page`.`id`) AS `id`, (`page`.`parent`) AS `parent`, (`page`.`ordinal`) AS `ordinal`, (`page`.`name`) AS `name`, (`page`.`title`) AS `title`, (`page`.`summary`) AS `summary`, (`page`.`content`) AS `content`, (`page`.`theme`) AS `theme`, (`page`.`meta_title`) AS `meta_title`, (`page`.`meta_description`) AS `meta_description`, (`page`.`slug`) AS `slug`, (`page`.`password`) AS `password`, (`page`.`donation_text`) AS `donation_text`, (`page`.`donation_amounts`) AS `donation_amounts`, (`page`.`grid`) AS `grid`, (`page`.`grid_title`) AS `grid_title`, (`page`.`static`) AS `static`, (`page`.`donate`) AS `donate`, (`page`.`publish`) AS `publish`, (`page`.`discard`) AS `discard`, (`page`.`updated`) AS `updated`, ( SELECT `image` FROM `page_image` WHERE `page_image`.`discard` IS FALSE AND `page_image`.`publish` IS TRUE AND `page_image`.`page_id` = `page`.`id` ORDER BY `page_image`.`ordinal` ASC LIMIT 1) AS `image` FROM `page` WHERE `page`.`discard` IS FALSE AND `page`.`publish` IS TRUE ORDER BY `page`.`parent` ASC, `page`.`ordinal` ASC, `page`.`name` ASC, `page`.`id` ASC
Command completed in 0.0042328834533691 seconds - 63 row(s) affected.
SELECT (`page_image`.`id`) AS `id`, (`page_image`.`page_id`) AS `page_id`, (`page_image`.`ordinal`) AS `ordinal`, (`page_image`.`name`) AS `name`, (`page_image`.`title`) AS `title`, (`page_image`.`summary`) AS `summary`, (`page_image`.`url`) AS `url`, (`page_image`.`image`) AS `image`, (`page_image`.`image_mobile`) AS `image_mobile`, (`page_image`.`image_alt`) AS `image_alt`, (`page_image`.`publish`) AS `publish`, (`page_image`.`discard`) AS `discard`, (`page_image`.`updated`) AS `updated` FROM `page_image` WHERE `page_image`.`discard` IS FALSE AND `page_image`.`publish` IS TRUE ORDER BY `page_image`.`ordinal` ASC, `page_image`.`name` ASC, `page_image`.`id` ASC
Command completed in 0.0015649795532227 seconds - 62 row(s) affected.
SELECT (`page_section`.`id`) AS `id`, (`page_section`.`page_id`) AS `page_id`, (`page_section`.`ordinal`) AS `ordinal`, (`page_section`.`type`) AS `type`, (`page_section`.`content`) AS `content`, (`page_section`.`publish`) AS `publish`, (`page_section`.`discard`) AS `discard`, (`page_section`.`updated`) AS `updated`, (`page`.`name`) AS `page_name` FROM `page_section` INNER JOIN `page` ON `page`.`id` = `page_section`.`page_id` AND `page`.`discard` IS FALSE AND `page`.`publish` IS TRUE WHERE `page_section`.`discard` IS FALSE AND `page_section`.`publish` IS TRUE AND `page_section`.`page_id` = 93 ORDER BY `page_section`.`ordinal` ASC, `page_section`.`id` ASC
Command completed in 0.00098991394042969 seconds - 0 row(s) affected.
SELECT (`notice`.`id`) AS `id`, (`notice`.`ordinal`) AS `ordinal`, (`notice`.`name`) AS `name`, (`notice`.`title`) AS `title`, (`notice`.`content`) AS `content`, (`notice`.`image`) AS `image`, (`notice`.`button_text`) AS `button_text`, (`notice`.`button_link`) AS `button_link`, (`notice`.`position`) AS `position`, (`notice`.`icon`) AS `icon`, (`notice`.`publish_date`) AS `publish_date`, (`notice`.`publish_until`) AS `publish_until`, (`notice`.`publish`) AS `publish`, (`notice`.`discard`) AS `discard`, (`notice`.`updated`) AS `updated` FROM `notice` WHERE `notice`.`discard` IS FALSE AND `notice`.`publish` IS TRUE AND `notice`.`publish_until` >= CURRENT_DATE ORDER BY `notice`.`publish_date` DESC, `notice`.`id` DESC LIMIT 1
Command completed in 0.00074505805969238 seconds - 0 row(s) affected.
SELECT (`page_section`.`id`) AS `id`, (`page_section`.`page_id`) AS `page_id`, (`page_section`.`ordinal`) AS `ordinal`, (`page_section`.`type`) AS `type`, (`page_section`.`content`) AS `content`, (`page_section`.`publish`) AS `publish`, (`page_section`.`discard`) AS `discard`, (`page_section`.`updated`) AS `updated`, (`page`.`name`) AS `page_name` FROM `page_section` INNER JOIN `page` ON `page`.`id` = `page_section`.`page_id` AND `page`.`discard` IS FALSE AND `page`.`publish` IS TRUE WHERE `page_section`.`discard` IS FALSE AND `page_section`.`publish` IS TRUE AND `page_section`.`page_id` = 93 ORDER BY `page_section`.`ordinal` ASC, `page_section`.`id` ASC
Command completed in 0.0008080005645752 seconds - 0 row(s) affected.
SELECT (`banner`.`id`) AS `id`, (`banner`.`name`) AS `name`, (`banner`.`url`) AS `url`, (`banner`.`image`) AS `image`, (`banner`.`image_alt`) AS `image_alt`, (`banner`.`publish`) AS `publish`, (`banner`.`discard`) AS `discard`, (`banner`.`updated`) AS `updated`, (`page_banner`.`ordinal`) AS `ordinal` FROM `banner` INNER JOIN `page_banner` ON `page_banner`.`banner_id` = `banner`.`id` AND `page_banner`.`page_id` = 93 WHERE `banner`.`discard` IS FALSE AND `banner`.`publish` IS TRUE AND `banner`.`id` IN ( SELECT `banner_id` FROM `page_banner` WHERE `page_banner`.`page_id` = 93) ORDER BY `page_banner`.`ordinal` ASC, `banner`.`name` ASC
Command completed in 0.00080084800720215 seconds - 0 row(s) affected.