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.002471923828125 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.00060892105102539 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.0025651454925537 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.0014121532440186 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.00087308883666992 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.00063586235046387 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.00066399574279785 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.00071597099304199 seconds - 0 row(s) affected.