Bookshop

Offering a range of maritime titles

We are the bookseller of choice for the maritime sector. Supporting seafarers through their maritime studies and professional development with our extensive range of books – technical, regulatory, vocational, educational.

We enjoy strong links with key organisations and are official distributors for both the IMO and Nautical Institute, as well as suppliers of Witherbys, Brown, Son & Ferguson, Admiralty, and Reeds titles, among others.

A woman picking out a book from the library shelf

Newsletter

For monthly updates, please take a look at our newsletter:

2021 - January, February, March, April, May

 

We welcome enquiries from individuals and can help tailor books requirements for Deck Cadets, OOW, Masters, Mates and Engineering specialists.

Visit the Marine Society shop.

For more information, contact us on: books@ms-sc.org 

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 '/bookshop' LIKE `label`.`path`)
ORDER BY `label`.`name` ASC, `label`.`path` ASC
Command completed in 0.0056078433990479 seconds - 292 row(s) affected.
SELECT	(`redirect`.`id`) AS `id`,
	(`redirect`.`source`) AS `source`,
	(`redirect`.`target`) AS `target`,
	(`redirect`.`status`) AS `status`,
	(`redirect`.`publish`) AS `publish`,
	(`redirect`.`discard`) AS `discard`,
	(`redirect`.`created`) AS `created`,
	(`redirect`.`updated`) AS `updated`
FROM `redirect`
WHERE `redirect`.`discard` IS FALSE
AND `redirect`.`publish` IS TRUE
AND `redirect`.`source` = '/bookshop'
ORDER BY `redirect`.`id` ASC
LIMIT 1
Command completed in 0.0008690357208252 seconds - 0 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.0071580410003662 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.00070095062255859 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` = 137
ORDER BY `page_section`.`ordinal` ASC, `page_section`.`id` ASC
Command completed in 0.00090312957763672 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.00070595741271973 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` = 137
ORDER BY `page_section`.`ordinal` ASC, `page_section`.`id` ASC
Command completed in 0.00054192543029785 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` = 137
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` = 137)
ORDER BY `page_banner`.`ordinal` ASC, `banner`.`name` ASC
Command completed in 0.00085687637329102 seconds - 0 row(s) affected.