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.0025041103363037 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.0006561279296875 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.002830982208252 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.00081706047058105 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.00065183639526367 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.00054383277893066 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.00077104568481445 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.00080490112304688 seconds - 0 row(s) affected.