{"id":365,"date":"2025-10-06T13:00:07","date_gmt":"2025-10-06T13:00:07","guid":{"rendered":"https:\/\/aiportcenter.nl\/?page_id=365"},"modified":"2025-11-29T22:04:57","modified_gmt":"2025-11-29T22:04:57","slug":"pre-arrival","status":"publish","type":"page","link":"https:\/\/aiportcenter.nl\/index.php\/pre-arrival\/","title":{"rendered":"Pre-Arrival"},"content":{"rendered":"\n<!-- ======= BREADCRUMB (FULL WIDTH MATCH + ADMIN LINK + WP SPACING REMOVED) ======= -->\n\n<style>\n\/* Remove WordPress default spacing ONLY for this breadcrumb block *\/\n.breadcrumb-wrapper.wp-block-html {\n  margin-top: 0 !important;\n  margin-bottom: 0 !important;\n}\n\n\/* Wrapper that matches .pc-container.polished width *\/\n.breadcrumb-container {\n  max-width: 1200px;\n  margin: -110px auto 0 auto;   \/* negative top only *\/\n  padding: 0 20px;\n  box-sizing: border-box;\n  position: relative;\n  z-index: 10;\n}\n\n\/* Styled breadcrumb bar *\/\n.breadcrumb {\n  font-family: Inter, system-ui, sans-serif;\n  font-size: 0.92rem;\n  color: var(--muted, #5b6570);\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 6px;\n\n  margin-top: 8px;\n  margin-bottom: 12px;\n\n  padding: 10px 14px;\n  border-radius: 10px;\n  background: linear-gradient(180deg, rgba(10,106,176,0.06), rgba(10,106,176,0.02));\n  box-shadow: 0 2px 6px rgba(10,29,56,0.08);\n  border: 1px solid rgba(10,106,176,0.12);\n}\n\n.breadcrumb a {\n  color: var(--accent, #0a5c94);\n  text-decoration: none;\n  font-weight: 500;\n}\n\n.breadcrumb a:hover {\n  text-decoration: underline;\n}\n\n.breadcrumb .current {\n  color: var(--muted, #5b6570);\n  font-weight: 500;\n}\n<\/style>\n\n<div class=\"breadcrumb-wrapper wp-block-html\">\n<div class=\"breadcrumb-container\">\n  <nav class=\"breadcrumb\">\n\n    <a href=\"https:\/\/aiportcenter.nl\/\">Home<\/a>\n    <span>\u203a<\/span>\n\n    <a href=\"https:\/\/aiportcenter.nl\/index.php\/port-call\/\">Port-Call Data Hub<\/a>\n    <span>\u203a<\/span>\n\n    <a href=\"https:\/\/aiportcenter.nl\/index.php\/port-call\/\">Processes Timeline<\/a>\n    <span>\u203a<\/span>\n\n    <span class=\"current\">Pre-Arrival<\/span>\n\n  <\/nav>\n<\/div>\n<\/div>\n\n<!-- ======= \/END BREADCRUMB ======= -->\n\n\n\n<!-- ========= PORT CALL: PRE-ARRIVAL (ROTTERDAM) \u2014 POLISHED DROP-IN (Datasets as Table) ========= -->\n<div class=\"pc-container polished\" id=\"prearrival-rotterdam\">\n  <header class=\"pc-hero\" role=\"banner\" aria-label=\"Pre-Arrival overview\">\n    <div class=\"pc-hero-bg\" aria-hidden=\"true\"><\/div>\n    <div class=\"pc-hero-inner\">\n      <div class=\"pc-hero-eyebrow\">Port-Call Optimization at the Port of Rotterdam<\/div>\n      <h1>Pre-Arrival<\/h1>\n      <p class=\"lead\">This process spans from the vessel\u2019s departure from origin through the formal announcement to the Port of Rotterdam. It establishes the intent to call and, well before the ship enters Vessel Traffic Service (VTS) range, secures a workable berth-window. In parallel, it aligns the Estimated Time of Arrival (ETA), draft, cargo class, and service requirements with the port authority, pilots, and terminal planners. Early data flows, such as ETA updates, Pre-Arrival Notification\/Maritime Vessel Arrival (PAN\/MVA), IMO FAL forms, and Dangerous Goods (DG) details, are initiated, enabling timely resource reservations and proactive safety profiling. Operational constraints are verified, including tide and under-keel clearance, air draft, tug needs, and terminal acceptance.<\/p>\n      <nav class=\"pc-steps-nav\" aria-label=\"Steps\">\n        <a href=\"#step-1\" class=\"chip\" data-step=\"1\"><span class=\"num\">1<\/span> Origin Sailing<\/a>\n        <a href=\"#step-2\" class=\"chip\" data-step=\"2\"><span class=\"num\">2<\/span> Advance Notice<\/a>\n        <a href=\"#step-3\" class=\"chip\" data-step=\"3\"><span class=\"num\">3<\/span> Announcement<\/a>\n        <a href=\"#research\" class=\"chip\" data-step=\"3\"><span class=\"num\">4<\/span> Research Problems<\/a>\n        <a href=\"#exec\" class=\"chip\" data-step=\"3\"><span class=\"num\">5<\/span> Execution Party<\/a>\n        <a href=\"#plan\" class=\"chip\" data-step=\"3\"><span class=\"num\">6<\/span> Planning Party<\/a>\n        <a href=\"#data\" class=\"chip\" data-step=\"3\"><span class=\"num\">7<\/span> Available Data<\/a>\n      <\/nav>\n    <\/div>\n  <\/header>\n\n  <aside class=\"pc-toc\" aria-label=\"On-page navigation\">\n    <div class=\"pc-toc-inner\">\n      <div class=\"pc-toc-title\">On this page<\/div>\n      <ol>\n        <li><a href=\"#step-1\">Origin Sailing<\/a><\/li>\n        <li><a href=\"#step-2\">Advance Notice<\/a><\/li>\n        <li><a href=\"#step-3\">Announcement<\/a><\/li>\n        <li><a href=\"#research\">Research Problems<\/a><\/li>\n        <li><a href=\"#exec\">Execution Party<\/a><\/li>\n        <li><a href=\"#plan\">Planning Party<\/a><\/li>\n        <li><a href=\"#data\">Available Data<\/a><\/li>\n      <\/ol>\n    <\/div>\n  <\/aside>\n\n  <main class=\"pc-main\">\n    <!-- Step 1 -->\n    <section class=\"pc-step card\" id=\"step-1\" data-keywords=\"origin sailing departure previous port ETA AIS PortXchange JIT\" aria-labelledby=\"title-step-1\">\n      <div class=\"card-accent\" aria-hidden=\"true\"><\/div>\n      <header class=\"card-head\">\n        <h2 id=\"title-step-1\"><span class=\"badge\">Step 1<\/span> Origin Sailing<\/h2>\n      <\/header>\n      <p class=\"pc-desc\">Confirms a clean departure from the origin port and establishes the first credible ETA\/ETD pair that seeds pilot, tug, and berth planning in Rotterdam. Shares the vessel\u2019s key particulars and any constraints that influence berth selection, then initiates continuous ETA refinement using live voyage intelligence. The aim is to set a reliable baseline for all downstream commitments. Getting this right limits knock-on replans and protects schedule integrity.<\/p>\n    <\/section>\n\n    <!-- Step 2 -->\n    <section class=\"pc-step card\" id=\"step-2\" data-keywords=\"announcement pre-announcement agent terminal berth coordination PortXchange\" aria-labelledby=\"title-step-2\">\n      <div class=\"card-accent\" aria-hidden=\"true\"><\/div>\n      <header class=\"card-head\">\n        <h2 id=\"title-step-2\"><span class=\"badge\">Step 2<\/span> Advance Notice<\/h2>\n      <\/header>\n      <p class=\"pc-desc\">Issues an early, lightweight intent to call that provides core identifiers, timing, and any relevant risk indicators. This enables the port and terminal to provisionally allocate capacity, begin preliminary safety screening, and lets agents line up critical services and documentation. As routing and weather evolve, the notice is iteratively sharpened to keep plans aligned while preserving flexibility. The goal is early visibility and fewer late surprises.<\/p>\n    <\/section>\n\n    <!-- Step 3 -->\n    <section class=\"pc-step card\" id=\"step-3\" data-keywords=\"announcement pre-announcement agent terminal berth coordination PortXchange\" aria-labelledby=\"title-step-3\">\n      <div class=\"card-accent\" aria-hidden=\"true\"><\/div>\n      <header class=\"card-head\">\n        <h2 id=\"title-step-3\"><span class=\"badge\">Step 3<\/span> Announcement<\/h2>\n      <\/header>\n      <p class=\"pc-desc\">Converts intent into a formal request for berth and operations in line with local procedure. It locks preliminary ETB\/ETD windows, triggers required regulatory and operational submissions, and reserves pilot and tug windows subject to confirmation and conflicts. Roles, messages, and cut-offs are clarified from this point forward. The outcome is an executable, synchronized port-call plan that all parties can operate against.<\/p>\n    <\/section>\n\n    <!-- Research Problems -->\n    <section class=\"pc-step card\" id=\"research\" data-keywords=\"origin sailing departure previous port ETA AIS PortXchange JIT\" aria-labelledby=\"title-research\">\n      <div class=\"card-accent\" aria-hidden=\"true\"><\/div>\n      <header class=\"card-head\">\n        <h2 id=\"title-research\">Related Research Problems<\/h2>\n        <div class=\"sub\">Below, the main optimization problems related to pre-arrival operations are listed.<\/div>\n      <\/header>\n\n      <!-- Instructional note: clickable cards (subtle pulsing dot) -->\n      <div class=\"pc-research-note\" aria-hidden=\"false\" style=\"margin-top:8px; margin-bottom:8px; display:flex; align-items:center; gap:10px;\">\n        <style>\n          \/* Scoped highlight dot for research note *\/\n          .pc-research-note .highlight-dot {\n            display:inline-block; width:14px; height:14px; border-radius:50%;\n            background: linear-gradient(90deg, #74c9ff, #2aa7e8);\n            box-shadow: 0 2px 6px rgba(42,175,244,0.18);\n            margin-right:10px; vertical-align:middle;\n            animation: pcPulse 2.2s ease-in-out infinite;\n            flex: 0 0 auto;\n          }\n          .pc-research-note .instruction { font-size:.95rem; color:var(--muted); margin:0; }\n          @keyframes pcPulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.15)} }\n        <\/style>\n        <span class=\"highlight-dot\" aria-hidden=\"true\"><\/span>\n        <div class=\"instruction\">Click on a card to open the webpage and data sets for each research problem.<\/div>\n      <\/div>\n\n      <div class=\"pc-grid\">\n        <article class=\"pc-card\" data-url=\"https:\/\/aiportcenter.nl\/index.php\/berth-allocation\/\">\n          <div class=\"pc-card-head\">\n            <span class=\"pc-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M3 19a1 1 0 0 0 .894.553h16.212A1 1 0 0 0 21 19v-2h-2v-5.382l-7-2.333-7 2.333V17H3v2Zm4-4h10v2H7v-2Zm6-9V4h-2v2H5v2.118l7-2.333 7 2.333V6h-6Z\"\/><\/svg><\/span>\n            <h3>Berth Allocation<\/h3>\n          <\/div>\n          <ul>\n            <li>Assign vessels to berths, balancing berth utilization, vessel priorities, and time windows.<\/li>\n          <\/ul>\n        <\/article>\n        \n        <article class=\"pc-card\" data-url=\"https:\/\/aiportcenter.nl\/index.php\/tug-pilot-assignment\/\">\n          <div class=\"pc-card-head\">\n            <span class=\"pc-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12 2 2 7l10 5 10-5-10-5Zm0 7L2 4v13l10 5 10-5V4l-10 5Z\"\/><\/svg><\/span>\n            <h3>Tug &#038; Pilot Assignment<\/h3>\n          <\/div>\n          <ul>\n            <li>Optimize the booking of time slots for inbound and outbound trucks while leveling arrivals to avoid gate bottlenecks.<\/li>\n          <\/ul>\n        <\/article>\n        \n        <article class=\"pc-card\" data-url=\"https:\/\/aiportcenter.nl\/index.php\/truck-appointment-scheduling\/\">\n          <div class=\"pc-card-head\">\n            <span class=\"pc-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M3 3h18v2H3V3Zm0 4h18v14H3V7Zm2 2v10h14V9H5Z\"\/><\/svg><\/span>\n            <h3>Truck Appointment Scheduling<\/h3>\n          <\/div>\n          <ul>\n            <li>Optimize truck arrival slots and gate throughput to reduce dwell time and queuing at terminal gates.<\/li>\n          <\/ul>\n        <\/article>\n      <\/div>\n    <\/section>\n\n    <!-- Execution Party -->\n    <section class=\"pc-step card\" id=\"exec\" data-keywords=\"origin sailing departure previous port ETA AIS PortXchange JIT\" aria-labelledby=\"title-exec\">\n      <div class=\"card-accent\" aria-hidden=\"true\"><\/div>\n      <header class=\"card-head\">\n        <h2 id=\"title-exec\">Execution Party<\/h2>\n        <div class=\"sub\">Below, the main companies involved in the execution of pre-arrival operations are listed.<\/div>\n      <\/header>\n\n      <div class=\"pc-grid\">\n        <article class=\"pc-card\">\n          <div class=\"pc-card-head\">\n            <span class=\"pc-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M3 19a1 1 0 0 0 .894.553h16.212A1 1 0 0 0 21 19v-2h-2v-5.382l-7-2.333-7 2.333V17H3v2Zm4-4h10v2H7v-2Zm6-9V4h-2v2H5v2.118l7-2.333 7 2.333V6h-6Z\"\/><\/svg><\/span>\n            <h3>Rhenus Port Agency<\/h3>\n          <\/div>\n          <ul>\n            <li>Acts on behalf of the vessel owner\/charterer: submits arrival documentation, coordinates customs, arranges pilotage\/tugs\/berth, and liaises with port authorities.<\/li>\n          <\/ul>\n        <\/article>\n\n        <article class=\"pc-card\">\n          <div class=\"pc-card-head\">\n            <span class=\"pc-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12 2 2 7l10 5 10-5-10-5Zm0 7L2 4v13l10 5 10-5V4l-10 5Z\"\/><\/svg><\/span>\n            <h3>Kentra Rotterdam<\/h3>\n          <\/div>\n          <ul>\n            <li>Local agency handling formalities, documentation, and coordination with terminals as the on-the-ground representative.<\/li>\n          <\/ul>\n        <\/article>\n\n        <article class=\"pc-card\">\n          <div class=\"pc-card-head\">\n            <span class=\"pc-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M4 6h16v2H4V6Zm0 5h16v2H4v-2Zm0 5h16v2H4v-2Z\"\/><\/svg><\/span>\n            <h3>Stolt Tankers \/ Vroon Shipping \/ Maersk Line<\/h3>\n          <\/div>\n          <ul>\n            <li>Shipping lines\/operators supplying schedules, cargo manifests, and arrival plans; responsible for compliance with maritime, customs, safety, and security regulations.<\/li>\n          <\/ul>\n        <\/article>\n      <\/div>\n    <\/section>\n\n    <!-- Planning Party -->\n    <section class=\"pc-step card\" id=\"plan\" data-keywords=\"berth window planning UKC tides\" aria-labelledby=\"title-plan\">\n      <div class=\"card-accent\" aria-hidden=\"true\"><\/div>\n      <header class=\"card-head\">\n        <h2 id=\"title-plan\">Planning Party<\/h2>\n        <div class=\"sub\">Below, the main companies involved in planning pre-arrival operations are listed.<\/div>\n      <\/header>\n\n      <div class=\"pc-grid\">\n        <article class=\"pc-card\">\n          <div class=\"pc-card-head\">\n            <span class=\"pc-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M3 3h18v2H3V3Zm0 4h18v14H3V7Zm2 2v10h14V9H5Z\"\/><\/svg><\/span>\n            <h3>Rotterdam Port Authority<\/h3>\n          <\/div>\n          <ul>\n            <li>Oversees berths, traffic control, safety, and scheduling. Uses pre-arrival submissions to plan arrivals, pilotage, and tugs.<\/li>\n          <\/ul>\n        <\/article>\n\n        <article class=\"pc-card\">\n          <div class=\"pc-card-head\">\n            <span class=\"pc-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M19 3H5a2 2 0 0 0-2 2v12l4-4h12a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2Z\"\/><\/svg><\/span>\n            <h3>APM Terminals Operations<\/h3>\n          <\/div>\n          <ul>\n            <li>Plans crane allocation, yard resources, haulier notifications, security, and container handling. Uses pre-arrival data to reserve slots and labour.<\/li>\n          <\/ul>\n        <\/article>\n\n        <article class=\"pc-card\">\n          <div class=\"pc-card-head\">\n            <span class=\"pc-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M5 4h14v2H5V4Zm0 4h14v2H5V8Zm0 4h9v2H5v-2Z\"\/><\/svg><\/span>\n          <h3>Cargill Shipping Agent<\/h3>\n          <\/div>\n          <ul>\n            <li>Acts for cargo owner to submit documentation, coordinate with shipping lines, customs, and terminals, ensuring data quality and timeliness.<\/li>\n          <\/ul>\n        <\/article>\n      <\/div>\n    <\/section>\n\n    <!-- Datasets (FREE\/OPEN SOURCES ONLY) -->\n    <section class=\"pc-step card\" id=\"data\" data-keywords=\"advance notice vessel notification harbour master ENS SafeSeaNet Portbase open data tides weather vts\" aria-labelledby=\"title-data\">\n      <div class=\"card-accent\" aria-hidden=\"true\"><\/div>\n      <header class=\"card-head\">\n        <h2 id=\"title-data\">Available Data<\/h2>\n        <div class=\"sub\">Free, real-time data sources and official guidance used in pre-arrival operations in Rotterdam.<\/div>\n      <\/header>\n\n      <!-- TABLE -->\n      <div class=\"pc-table-wrap\">\n        <table class=\"pc-table pc-anim-table\" role=\"table\" aria-label=\"Pre-Arrival datasets\">\n          <thead>\n            <tr>\n              <th scope=\"col\">Data Source<\/th>\n              <th scope=\"col\">Description<\/th>\n            <\/tr>\n          <\/thead>\n          <tbody>\n            <tr>\n              <td>\n                <a href=\"https:\/\/www.portofrotterdam.com\/en\/up-to-date-information\/arrival-and-departures\" target=\"_blank\" rel=\"noopener\">Port of Rotterdam \u2014 Arrivals &amp; Departures<\/a>\n                <div class=\"last-updated\">Last update: <time id=\"rotterdam-last\"><\/time><\/div>\n              <\/td>\n              <td>\n                Live list of expected, in-port, and departing vessels with ETAs\/ETDs and call details.\n                <div class=\"version\">Version: Free (public)<\/div>\n              <\/td>\n            <\/tr>\n            <tr>\n              <td>\n                <a href=\"https:\/\/weather-tide.portofrotterdam.com\/desktop\/\" target=\"_blank\" rel=\"noopener\">HMC Hydro\/Meteo Dashboards<\/a>\n                <div class=\"last-updated\">Last update: <time id=\"hmc-last\"><\/time><\/div>\n              <\/td>\n              <td>Real-time wind, currents, visibility, and water levels for under-keel\/tide planning.\n                <div class=\"version\">Version: Free (public)<\/div>\n              <\/td>\n            <\/tr>\n            <tr>\n              <td>\n                <a href=\"https:\/\/www.portofrotterdam.com\/en\/sea-shipping\" target=\"_blank\" rel=\"noopener\">Sea Shipping \u2014 Reporting &amp; Timelines<\/a>\n                <div class=\"last-updated\">Last update: <time id=\"sea-shipping-last\"><\/time><\/div>\n              <\/td>\n              <td>Who submits what\/when for inbound\/outbound\/warp notifications and procedural guidance.\n                <div class=\"version\">Version: Free (public)<\/div>\n              <\/td>\n            <\/tr>\n            <tr>\n              <td>\n                <a href=\"https:\/\/www.knmi.nl\/nederland-nu\/weer\/waarschuwingen\" target=\"_blank\" rel=\"noopener\">KNMI Marine Weather<\/a>\n                <div class=\"last-updated\">Last update: <time id=\"knmi-last\"><\/time><\/div>\n              <\/td>\n              <td>Official marine forecasts and warnings for the Dutch North Sea sectors.\n                <div class=\"version\">Version: Free (public)<\/div>\n              <\/td>\n            <\/tr>\n            <tr>\n              <td>\n                <a href=\"https:\/\/waterinfo.rws.nl\/\" target=\"_blank\" rel=\"noopener\">Rijkswaterstaat Waterinfo<\/a>\n                <div class=\"last-updated\">Last update: <time id=\"rws-last\"><\/time><\/div>\n              <\/td>\n              <td>Authoritative water levels vs NAP, currents and hydrology data across the delta.\n                <div class=\"version\">Version: Free (public)<\/div>\n              <\/td>\n            <\/tr>\n            <tr>\n              <td>\n                <a href=\"https:\/\/english.defensie.nl\/topics\/notices-to-mariners\" target=\"_blank\" rel=\"noopener\">Netherlands Notices to Mariners (NtM)<\/a>\n                <div class=\"last-updated\">Last update: <time id=\"ntm-last\"><\/time><\/div>\n              <\/td>\n              <td>Current navigational notices affecting approaches, fairways and safety.\n                <div class=\"version\">Version: Free (public)<\/div>\n              <\/td>\n            <\/tr>\n            <tr>\n              <td>\n                <a href=\"https:\/\/www.equasis.org\/\" target=\"_blank\" rel=\"noopener\">Equasis<\/a>\n                <div class=\"last-updated\">Last update: <time id=\"equasis-last\"><\/time><\/div>\n              <\/td>\n              <td>Free-registration database for ship particulars, ownership, inspections, and PSC history.\n                <div class=\"version\">Version: Free (registration)<\/div>\n              <\/td>\n            <\/tr>\n            <tr>\n              <td>\n                <a href=\"https:\/\/experience.arcgis.com\/experience\/aef5cad4ef6a437499c2ba6a7606c07b\/page\/Harbour-Master-Port-Map\" target=\"_blank\" rel=\"noopener\">Harbour Master Interactive Map<\/a>\n                <div class=\"last-updated\">Last update: <time id=\"harbour-map-last\"><\/time><\/div>\n              <\/td>\n              <td>Berths, fairways, soundings, and key services (ArcGIS Experience).\n                <div class=\"version\">Version: Free (ArcGIS)<\/div>\n              <\/td>\n            <\/tr>\n            <tr>\n              <td>\n                <a href=\"https:\/\/www.portofrotterdam.com\/sites\/default\/files\/2024-01\/port-call-optimisation-water-depths-tides.pdf\" target=\"_blank\" rel=\"noopener\">Water Depths &amp; Tides (ALAT\/NAP explainer)<\/a>\n                <div class=\"last-updated\">Last update: <time id=\"alat-last\"><\/time><\/div>\n              <\/td>\n              <td>ALAT vs NAP, soundings, and how depths\/levels are communicated in Rotterdam.\n                <div class=\"version\">Version: Free (PDF)<\/div>\n              <\/td>\n            <\/tr>\n            <tr>\n              <td>\n                <a href=\"https:\/\/www.loodswezen.nl\/en\/regions\/rotterdam-rijnmond\" target=\"_blank\" rel=\"noopener\">Pilotage \u2014 Rotterdam-Rijnmond<\/a>\n                <div class=\"last-updated\">Last update: <time id=\"pilotage-last\"><\/time><\/div>\n              <\/td>\n              <td>Maascenter pilot boarding information and regional pilotage notes.\n                <div class=\"version\">Version: Free (public)<\/div>\n              <\/td>\n            <\/tr>\n          <\/tbody>\n        <\/table>\n\n        <!-- Title placed below the table and left-aligned, just before the legend -->\n        <div class=\"pc-desc-title\">Description of Versions<\/div>\n\n      <\/div>\n        <div class=\"pc-table-legend\" aria-hidden=\"false\">\n          <p><b>Free (public):<\/b> The content is publicly accessible on the website without login or payment.<\/p>\n          <p><b>Free (registration):<\/b> The resource is free but requires creating a (free) account or signing-in to access certain features or datasets.<\/p>\n          <p><b>Free (ArcGIS):<\/b> The content is delivered through an interactive mapping platform (ArcGIS Experience\/ArcGIS Online).<\/p>\n          <p><b>Free (PDF):<\/b> The resource is a downloadable PDF (static document) that is free to download and read.<\/p>\n        <\/div>\n    <\/section>\n  <\/main>\n<\/div>\n\n<style>\n\/* Hide default WordPress page\/post title *\/\nh1.entry-title, .post-title, .page-title { display: none !important; }\n\n\/* ===== Scoping: only style within .pc-container.polished ===== *\/\n:root{ --wp-adminbar: 0px; --site-header: 0px; --extra-offset: 160px; --sticky-offset: calc(var(--wp-adminbar) + var(--site-header) + var(--extra-offset) + 12px); scroll-padding-top: calc(var(--sticky-offset) + 8px); }\nbody.admin-bar{ --wp-adminbar: 32px; }\n@media (max-width: 782px){ body.admin-bar{ --wp-adminbar: 46px; } }\n\n.pc-container.polished {\n  --ink: #0b1220;\n  --muted: #5b6570;\n  --bg: #f6f8fb;\n  --card: #ffffff;\n  --accent: #0a5c94;\n  --accent-2: #7ccdf0;\n  --radius: 14px;\n  --shadow: 0 8px 28px rgba(10, 29, 56, 0.09);\n  --gap: 18px;\n  --ring: 0 0 0 3px rgba(43,176,237,.25);\n  position: relative;\n  isolation: isolate;\n  width: 100%;\n  max-width: 1200px;\n  margin: -15px;\n  padding: 20px;\n  box-sizing: border-box;\n  font-family: Inter, system-ui, Segoe UI, Roboto, Arial, sans-serif;\n  color: var(--ink);\n}\n\n\/******** Hero ********\/\n.pc-container.polished .pc-hero {\n  position: relative;\n  overflow: hidden;\n  border-radius: calc(var(--radius) + 4px);\n  padding: 28px 28px 20px;\n  box-shadow: var(--shadow);\n  background: linear-gradient(180deg, rgba(10,106,176,.03), rgba(10,106,176,.005));\n}\n.pc-container.polished .pc-hero-bg::before,\n.pc-container.polished .pc-hero-bg::after{\n  content:\"\"; position:absolute; inset:auto -10% -40% -10%; height:180px;\n  background: radial-gradient(60% 80% at 50% 0%, rgba(43,176,237,.08), transparent 70%);\n  filter: blur(40px); pointer-events:none;\n}\n.pc-container.polished .pc-hero-inner{ position: relative; z-index: 1; }\n.pc-container.polished .pc-hero-eyebrow{\n  font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--accent);\n  margin-bottom:6px; font-weight:600;\n}\n.pc-container.polished .pc-hero h1{ margin:.1rem 0 .4rem; font-size: clamp(1.4rem, 2.2vw, 2rem); letter-spacing:-.2px; }\n.pc-container.polished .lead{ margin:0; color:var(--muted); font-size: .98rem; }\n\n.pc-container.polished .pc-steps-nav{ display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }\n.pc-container.polished .chip{\n  display:inline-flex; align-items:center; gap:.5rem; padding:.48rem .72rem; border-radius:999px;\n  background: #fff; color: var(--ink); box-shadow: var(--shadow); text-decoration:none; transition: transform .2s ease, box-shadow .2s ease;\n}\n.pc-container.polished .chip .num{\n  display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; font-size:.9rem; font-weight:700; color:#fff; background: linear-gradient(135deg, var(--accent), var(--accent-2));\n}\n.pc-container.polished .chip:hover{ transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.10); }\n\n\/******** Sticky TOC ********\/\n.pc-container.polished .pc-toc{ position: sticky; top: var(--sticky-offset, 12px); margin: 18px 0; z-index: 2; }\n.pc-container.polished .pc-toc-inner{\n  border-radius: var(--radius); background: #ffffff; box-shadow: var(--shadow); padding: 14px 16px; border: 1px solid rgba(10,106,176,.10);\n}\n.pc-container.polished .pc-toc-title{ font-size:.9rem; font-weight:700; margin-bottom:6px; color: var(--accent); }\n.pc-container.polished .pc-toc ol{ list-style:none; padding:0; margin:0; display:grid; gap:6px; }\n.pc-container.polished .pc-toc a{ color: var(--ink); text-decoration:none; padding:6px 8px; border-radius:8px; display:block; }\n.pc-container.polished .pc-toc a:is(:hover,:focus){ background: rgba(43,176,237,.08); box-shadow: var(--ring); outline: none; }\n.pc-container.polished .pc-toc a.active{ background: linear-gradient(180deg, rgba(43,176,237,.12), rgba(43,176,237,.06)); }\n\n\/******** Cards ********\/\n.pc-container.polished .card{\n  position: relative; background: var(--card); border-radius: var(--radius); padding: 18px; margin: 16px 0; box-shadow: var(--shadow);\n}\n.pc-container.polished .card-head h2{ font-size: 1.2rem; margin: 0 0 6px; display:flex; align-items:center; gap:10px; }\n.pc-container.polished .card-head .sub{ color: var(--muted); font-size:.95rem; }\n.pc-container.polished .badge{ display:inline-flex; align-items:center; justify-content:center; height:24px; padding:0 8px; font-size:.75rem; border-radius:6px; background: linear-gradient(135deg, var(--accent), var(--accent-2)); color:#fff; box-shadow: inset 0 -1px 0 rgba(255,255,255,.25); }\n.pc-container.polished .pc-desc{ color: var(--muted); margin: 0 0 10px; }\n\/* Ensure anchor scrolling accounts for sticky bars *\/\n.pc-container.polished .pc-step{ scroll-margin-top: calc(var(--sticky-offset, 12px) + 16px); }\n.pc-container.polished .card-accent{\n  position:absolute; inset:0; border-radius: inherit; padding:1px; background: linear-gradient(135deg, rgba(10,106,176,.28), rgba(43,176,237,.28)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);\n  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);\n  -webkit-mask-composite: xor; mask-composite: exclude; pointer-events:none; opacity:.7;\n}\n\n\/******** Grid for org cards ********\/\n.pc-container.polished .pc-grid{ display:grid; grid-template-columns: repeat(12, 1fr); gap: 14px; margin-top: 10px; }\n.pc-container.polished .pc-grid.onecol{ grid-template-columns: repeat(12, 1fr); }\n.pc-container.polished .pc-card{ grid-column: span 6; background:#fff; border:1px solid rgba(10,106,176,.10); border-radius: 12px; padding: 14px; transition: transform .2s ease, box-shadow .2s ease; }\n.pc-container.polished .pc-card:hover{ transform: translateY(-4px); box-shadow: 0 14px 28px rgba(10, 29, 56, .12); }\n.pc-container.polished .pc-card.list{ grid-column: 1 \/ -1; }\n.pc-container.polished .pc-card-head{ display:flex; align-items:center; gap:10px; margin-bottom:6px; }\n.pc-container.polished .pc-card h3{ margin:0; font-size:1.05rem; font-weight:700; }\n.pc-container.polished .pc-card ul{ margin:0; padding-left: 1.15rem; color: var(--muted); }\n.pc-container.polished .pc-icon{ display:inline-grid; place-items:center; width:28px; height:28px; border-radius:8px; background: linear-gradient(135deg, rgba(10,106,176,.15), rgba(43,176,237,.15)); color: var(--accent); flex-shrink:0; }\n.pc-container.polished .pc-icon svg{ display:block; }\n\n\/******** Links ********\/\n.pc-container.polished a{ color: var(--accent); text-decoration: none; }\n.pc-container.polished a:hover{ text-decoration: underline; }\n\n\/******** Layout ********\/\n@media (min-width: 900px){\n  .pc-container.polished{ display:grid; grid-template-columns: 260px 1fr; gap:20px; align-items:start; }\n  .pc-container.polished .pc-hero{ grid-column: 1 \/ -1; }\n  .pc-container.polished .pc-toc{ grid-column: 1; align-self:start; }\n  .pc-container.polished .pc-main{ grid-column: 2; min-width:0; }\n}\n\n@media (max-width: 899.98px){\n  .pc-container.polished .pc-grid{ grid-template-columns: repeat(6, 1fr); }\n  .pc-container.polished .pc-card{ grid-column: 1 \/ -1; }\n}\n\n\/******** Accessible focus ********\/\n.pc-container.polished :is(a,button,[tabindex]){ outline: none; }\n.pc-container.polished :is(a,button,[tabindex]):focus{ box-shadow: var(--ring); border-radius: 8px; }\n\n\/******** Dark mode (respects system) ********\/\n@media (prefers-color-scheme: dark){\n  .pc-container.polished{ --ink:#e8eef7; --muted:#b7c2cf; --bg:#0b1220; --card:#151e30; --accent:#55a9ee; --accent-2:#9fd8ff; --shadow: 0 10px 30px rgba(0,0,0,.5); }\n  .pc-container.polished .pc-hero{ background: linear-gradient(180deg, rgba(90,180,255,.18), rgba(90,180,255,.06)); }\n  .pc-container.polished .pc-card{ background: #0f1726; border-color: rgba(154,200,255,.22); }\n  .pc-container.polished .pc-toc-inner{ background:#0f1726; border-color: rgba(154,200,255,.22); }\n  .pc-container.polished .chip{ background:#0f1726; color:var(--ink); }\n}\n\n\/* ===== Datasets table (sharp, full grid, slight hover lift) ===== *\/\n\n.pc-table-wrap{ margin-top: 10px; }\n\n\/* The table itself (kept sharp corners & full grid) *\/\n.pc-table{\n  width: 100%;\n  border-collapse: collapse;\n  background: #fff;\n  border: 1px solid rgba(10,106,176,.25);   \/* single outer border *\/\n  border-radius: 0;                          \/* sharp corners *\/\n  table-layout: fixed;\n}\n\n.pc-table th,\n.pc-table td{\n  border: 1px solid rgba(10,106,176,.2);     \/* full grid lines *\/\n  padding: 10px 12px;\n  vertical-align: top;\n  word-wrap: break-word;\n}\n\n\/* Header: lighter & semi-transparent background + BLACK titles centered *\/\n.pc-table thead th{\n  background: rgba(215,236,251,0.55);\n  color: #000;\n  font-weight: 700;\n  text-align: center;\n}\n\n\/* Body text colors *\/\n.pc-table tbody td{\n  text-align: left;\n  color: inherit; \/* let per-column rules apply *\/\n}\n\n\/* First column (\"Data\"): a bit darker blue (links too) *\/\n.pc-table tbody td:first-child{\n  color: #084EAE; \/* darker than before *\/\n}\n.pc-table tbody td:first-child a{\n  color: #084EAE;\n  text-decoration: none;\n}\n.pc-table tbody td:first-child a:hover{\n  text-decoration: underline;\n}\n\n\/* Second column (\"Description\"): keep muted grey so table descriptions stay visually distinct from links *\/\n.pc-table tbody td:nth-child(2){\n  color: var(--muted); \/* restored to muted grey *\/\n}\n\n\/* Small title aligned over the description column, matching table header style *\/\n.pc-table-headers{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; align-items:end; margin-bottom:6px; }\n\/* When moved below the table, make the description title left-aligned and add spacing *\/\n.pc-desc-title{ color: #000; font-weight:700; font-size: .95rem; text-align: left; margin: 10px 0 6px; }\n\n\/* Legend under the table *\/\n.pc-table-legend{ margin-top: 12px; font-size: .95rem; color: var(--muted); }\n.pc-table-legend b{ color: #084EAE; font-weight: 400; }\n\n\/* Left-column small 'last-updated' text only *\/\n.pc-table tbody td:first-child .last-updated{\n  color: #666;\n  display: block;\n  font-size: .9rem;\n  margin-top: 6px;\n  font-style: italic;\n}\n\n\/* Version text for right-column descriptions *\/\n.pc-table tbody td:nth-child(2) .version{\n  color: var(--muted);\n  display: block;\n  font-size: .92rem;\n  margin-top: 8px;\n  font-style: italic;\n}\n\n\/* Subtle lift ONLY on the table *\/\n.pc-anim-table{\n  transition: transform .16s ease, box-shadow .16s ease;\n  will-change: transform;\n}\n.pc-anim-table:hover,\n.pc-anim-table:focus-within{\n  transform: translateY(-3px);\n  box-shadow: 0 10px 24px rgba(10, 29, 56, 0.12);\n}\n\n@media (prefers-reduced-motion: reduce){\n  .pc-anim-table{ transition: none; }\n  .pc-anim-table:hover,\n  .pc-anim-table:focus-within{ transform: none; box-shadow: none; }\n}\n<\/style>\n\n<script>\n\/* Smooth scroll + active TOC highlighting *\/\n(function(){\n  try{\n    const root = document.documentElement;\n    const detect = () => {\n      const nodes = Array.from(document.querySelectorAll('header, .site-header, #masthead, .navbar, .header, [data-fixed-header], .sticky-header, .header-wrapper, .elementor-location-header, .fl-page-header, .fusion-header, .kadence-header, .ast-primary-header-bar, .generatepress-header, .blocksy-header'));\n      const fixedLike = nodes.filter(el => {\n        const cs = getComputedStyle(el);\n        const pos = cs.position;\n        const top = Math.round(el.getBoundingClientRect().top);\n        return (pos==='fixed' || pos==='sticky') && top <= 0 &#038;&#038; el.offsetHeight > 0;\n      });\n      const h = fixedLike.reduce((m,el)=> Math.max(m, el.offsetHeight||0), 0);\n      root.style.setProperty('--site-header', h + 'px');\n    };\n    ['load','resize','scroll'].forEach(ev=> window.addEventListener(ev, detect, { passive:true }));\n    detect();\n  }catch(e){}\n\n  const tocLinks = Array.from(document.querySelectorAll('#prearrival-rotterdam .pc-toc a'));\n  const sections = tocLinks.map(a => document.querySelector(a.getAttribute('href'))).filter(Boolean);\n\n  tocLinks.forEach(a=>a.addEventListener('click', e=>{\n    e.preventDefault();\n    const target = document.querySelector(a.getAttribute('href'));\n    if(target){ target.scrollIntoView({behavior:'smooth', block:'start'}); }\n  }));\n\n  const io = new IntersectionObserver((entries)=>{\n    entries.forEach(entry=>{\n      const id = '#' + entry.target.id;\n      const link = tocLinks.find(l=>l.getAttribute('href')===id);\n      if(link){ if(entry.isIntersecting){ tocLinks.forEach(l=>l.classList.remove('active')); link.classList.add('active'); } }\n    })\n  },{ rootMargin: 'calc(var(--sticky-offset, 12px) * -1) 0px -60% 0px', threshold: 0.01 });\n\n  sections.forEach(sec=> io.observe(sec));\n})();\n<\/script>\n  <script>\n    (function () {\n      \/\/ Find all first-column links that have a sibling .last-updated time element\n      const rows = Array.from(document.querySelectorAll('.pc-table tbody td:first-child'));\n      if (!rows.length) return;\n\n      \/\/ Helper: extract only the date portion (localised) from a Date object\n      function formatDateOnly(d) {\n        try {\n          \/\/ Format as DD\/MM\/YYYY\n          const day = String(d.getDate()).padStart(2, '0');\n          const month = String(d.getMonth() + 1).padStart(2, '0');\n          const year = d.getFullYear();\n          return `${day}\/${month}\/${year}`;\n        } catch (e) { return d.toISOString().slice(0,10); }\n      }\n\n      async function fetchLastModified(url) {\n        try {\n          let resp;\n          try { resp = await fetch(url, { method: 'HEAD', mode: 'cors', cache: 'no-cache' }); } catch (e) { resp = null; }\n          let last = resp && resp.ok ? resp.headers.get('last-modified') : null;\n\n          if (!last) {\n            try { resp = await fetch(url, { method: 'GET', mode: 'cors', cache: 'no-cache' }); } catch (e) { resp = null; }\n            if (resp && resp.ok) {\n              last = resp.headers.get('last-modified');\n              if (!last) {\n                try {\n                  const txt = await resp.text();\n                  const m = txt.match(\/(?:Last updated|Last update|Updated on|Updated:)\\s*([A-Za-z0-9,\\-:\\.\\s]+)\/i);\n                  if (m && m[1]) last = m[1].trim();\n                } catch (e) { \/* ignore *\/ }\n              }\n            }\n          }\n\n          return last || null;\n        } catch (err) {\n          return null;\n        }\n      }\n\n      rows.forEach(async (td) => {\n        const a = td.querySelector('a[href]');\n        const timeEl = td.querySelector('time');\n        if (!a || !timeEl) return;\n        const url = a.href;\n\n        const last = await fetchLastModified(url);\n        if (!last) {\n          const dLocal = new Date(document.lastModified);\n          timeEl.dateTime = dLocal.toISOString();\n          timeEl.textContent = formatDateOnly(dLocal);\n          return;\n        }\n\n        const d = new Date(last);\n        if (!isNaN(d)) {\n          timeEl.dateTime = d.toISOString();\n          timeEl.textContent = formatDateOnly(d);\n        } else {\n          \/\/ Not a parseable date: write the raw snippet (trim) and try to avoid time info\n          timeEl.textContent = last.split('\\n')[0].trim();\n        }\n      });\n    })();\n  <\/script>\n  <script>\n  \/* Make Research Problems cards clickable \u2014 paste your links into the\n     `researchLinks` array as { title: 'Exact H3 text', url: 'https:\/\/...' }\n     This script is tolerant: it also supports index-based fallback via\n     `linksByIndex` (0 = first card).\n  *\/\n  (function(){\n    const researchLinks = [\n      { title: 'Berth Allocation', url: 'https:\/\/aiportcenter.nl\/index.php\/berth-allocation\/' },\n      { title: 'Tug & Pilot Assignment', url: 'https:\/\/aiportcenter.nl\/index.php\/tug-pilot-assignment\/' },\n      { title: 'Truck Appointment Scheduling', url: 'https:\/\/aiportcenter.nl\/index.php\/truck-appointment-scheduling\/' }\n    ];\n\n    const linksByIndex = [ \/* optional: 'https:\/\/...' *\/ ];\n\n    const section = document.getElementById('research');\n    if(!section) return;\n\n    const cards = Array.from(section.querySelectorAll('.pc-card'));\n    cards.forEach((card, idx) => {\n      const h3 = card.querySelector('h3');\n      const title = h3 ? h3.textContent.trim() : null;\n      \/\/ Priority: data-url attribute on the card > explicit mapping by title > index fallback\n      const dataUrl = card.dataset && (card.dataset.url || card.dataset.href || card.dataset.link);\n      let mapping = null;\n      if(dataUrl) mapping = { url: dataUrl };\n      if(!mapping) mapping = researchLinks.find(r => r.title === title && r.url);\n      if(!mapping && linksByIndex[idx]) mapping = { url: linksByIndex[idx] };\n\n      if(mapping && mapping.url){\n        \/\/ Make keyboard accessible\n        card.tabIndex = 0;\n        card.setAttribute('role','link');\n        card.style.cursor = 'pointer';\n\n        \/\/ Click \/ keyboard handlers\n        card.addEventListener('click', (e) => { window.open(mapping.url, '_blank'); });\n        card.addEventListener('keydown', (ev) => { if(ev.key === 'Enter' || ev.key === ' '){ ev.preventDefault(); window.open(mapping.url, '_blank'); } });\n\n        \/\/ Add an invisible anchor overlay to preserve pointer semantics\n        const anchor = document.createElement('a');\n        anchor.href = mapping.url;\n        anchor.target = '_blank';\n        anchor.rel = 'noopener noreferrer';\n        anchor.setAttribute('aria-hidden','true');\n        anchor.style.position = 'absolute';\n        anchor.style.inset = '0';\n        anchor.style.zIndex = '2';\n        anchor.style.background = 'transparent';\n        anchor.style.textDecoration = 'none';\n        \/\/ ensure card can host absolute child\n        const pos = getComputedStyle(card).position;\n        if(!pos || pos === 'static') card.style.position = 'relative';\n        card.appendChild(anchor);\n      }\n    });\n\n    \/\/ Ensure the TOC entry exists and uses the desired label\n    const toc = document.querySelector('#prearrival-rotterdam .pc-toc ol');\n    if(toc){\n      const existing = toc.querySelector('a[href=\"#research\"]');\n      if(!existing){\n        const li = document.createElement('li');\n        const a = document.createElement('a'); a.href = '#research'; a.textContent = 'Research Problems';\n        li.appendChild(a);\n        const execItem = toc.querySelector('a[href=\"#exec\"]');\n        if(execItem && execItem.parentNode) toc.insertBefore(li, execItem.parentNode);\n        else toc.appendChild(li);\n      } else {\n        existing.textContent = 'Research Problems';\n      }\n    }\n  })();\n  <\/script>\n<!-- ========= \/END PRE-ARRIVAL (POLISHED) ========= -->\n","protected":false},"excerpt":{"rendered":"<p>Home \u203a Port-Call Data Hub \u203a Processes Timeline \u203a Pre-Arrival Port-Call Optimization at the Port of Rotterdam Pre-Arrival This process spans from the vessel\u2019s departure from origin through the formal announcement to the Port of Rotterdam. It establishes the intent to call and, well before the ship enters Vessel Traffic Service (VTS) range, secures a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","footnotes":""},"class_list":["post-365","page","type-page","status-publish","hentry"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":7}},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"peterwenzel","author_link":"https:\/\/aiportcenter.nl\/index.php\/author\/peterwenzel\/"},"uagb_comment_info":0,"uagb_excerpt":"Home \u203a Port-Call Data Hub \u203a Processes Timeline \u203a Pre-Arrival Port-Call Optimization at the Port of Rotterdam Pre-Arrival This process spans from the vessel\u2019s departure from origin through the formal announcement to the Port of Rotterdam. It establishes the intent to call and, well before the ship enters Vessel Traffic Service (VTS) range, secures a&hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/aiportcenter.nl\/index.php\/wp-json\/wp\/v2\/pages\/365","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aiportcenter.nl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/aiportcenter.nl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/aiportcenter.nl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aiportcenter.nl\/index.php\/wp-json\/wp\/v2\/comments?post=365"}],"version-history":[{"count":130,"href":"https:\/\/aiportcenter.nl\/index.php\/wp-json\/wp\/v2\/pages\/365\/revisions"}],"predecessor-version":[{"id":1647,"href":"https:\/\/aiportcenter.nl\/index.php\/wp-json\/wp\/v2\/pages\/365\/revisions\/1647"}],"wp:attachment":[{"href":"https:\/\/aiportcenter.nl\/index.php\/wp-json\/wp\/v2\/media?parent=365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}