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.0080161094665527 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.0055451393127441 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.0031709671020508 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.00096392631530762 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.0007939338684082 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.00076794624328613 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.00075888633728027 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.00071001052856445 seconds - 0 row(s) affected.