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 More
We offer a range of maritime titles and are an authorised distributor of IMO Publishing.
Read More
We 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 (`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.005220890045166 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.0012929439544678 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.0008080005645752 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.00073790550231934 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.00059199333190918 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.00083708763122559 seconds - 0 row(s) affected.