Hi Liam,
A little late to the game here, but we put together a sample of how to organize this.
https://www.odddogmedia.com/seo-blog/json-schema-for-businesses-with-multiple-locations/
Essentially you first want to establish the Organization, logo and any "same as" social media properties for your brand. From there you can begin to list each location with its details, location specific social media, etc.
The secret with the GMB is to ensure each location has a dedicated webpage on your website and that the GMB page links to its pertinent location page on your site. As you build citations for this location, be sure to keep the location specific URL. This will be different with each location, thus why Local SEO is a ton of work.
Hopefully you have already been able to figure this out, but it not feel free to reference our code sample.