Skip to contents

library(fmr)
library(tidyverse)
key <- "your_FM_API_key"

Preamble

This document is just to explore the FM data model, done to prevent any misunderstanding when setting up the downstream code.

Site

fmr:::fm_site(key, trim = FALSE) |> glimpse()
#> Rows: 19
#> Columns: 8
#> $ site          <chr> "New Guinea", "Dieppe Bay", "Basseterre East", "Basseter…
#> $ island        <chr> "Saint Kitts", "Saint Kitts", "Saint Kitts", "Saint Kitt…
#> $ lon           <dbl> -62.83470, -62.81372, -62.71136, -62.73200, -62.80498, -…
#> $ lat           <dbl> 17.33829, 17.41714, 17.29370, 17.29300, 17.32188, 17.206…
#> $ party_id      <int> 10083, 10085, 10080, 10081, 10082, 11818, 10088, 10089, …
#> $ party_type_id <int> 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 1765, 17…
#> $ tenant_id     <int> 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 1…
#> $ is_active     <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

Vessel

The vessel registry can be accessed in three ways:

vf <- fm_vesselF(key)
vd <- fm_vesselD(key)
v  <- fm_vessel(key, add_owner = TRUE, add_operator = TRUE)
v |> glimpse()
#> Rows: 298
#> Columns: 26
#> $ vid               <int> 1861, 1875, 1889, 1903, 1917, 1929, 1945, 1961, 1977…
#> $ vessel            <chr> "Perseverance", "Royalty", "Kasim", "Adlyn", "MISHOY…
#> $ vessel_version    <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ regno             <chr> "V4-594-BE", "V4-503-DB", "V4-149-SP", "V4-443-BE", …
#> $ district_code     <chr> "BE", "DB", "SP", "BE", "CH", "IC", "CH", "IC", "JB"…
#> $ class_id          <int> 1029, 1025, 1029, 1029, 1029, 1029, 1029, 1029, 1029…
#> $ flag_state_id     <int> 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 18…
#> $ status_id         <int> 2360, 2360, 2360, 2360, 2292, 2292, 2292, 2292, 2292…
#> $ material_id       <int> 2300, 2300, 2300, 1956, 2300, 1956, 1956, 2300, 1956…
#> $ registration_date <date> 2023-09-01, 2024-04-04, 1950-01-01, 2004-02-05, 195…
#> $ decked            <chr> "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y…
#> $ home_port_id      <int> 10080, 10085, 10087, 10080, 10092, 11816, 10092, 118…
#> $ primary_use_id    <int> 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958…
#> $ secondary_use_id  <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ power_type_id     <int> 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951…
#> $ engine_type_id    <int> 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938…
#> $ fuel_type_id      <int> 1940, 1940, NA, NA, 1940, 1940, 1940, 1940, 1940, NA…
#> $ manufacturer_id   <int> 1944, 1944, 1943, 1943, 1943, 1943, 1943, 1943, 1945…
#> $ serial_no         <chr> "515003P/9102181/910582", "11503F-511407", "1023615"…
#> $ power             <dbl> 150.0, 115.0, 2.0, 85.0, 85.0, 200.0, 85.0, 40.0, 20…
#> $ is_active         <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ tenant_id         <int> 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 10…
#> $ loa               <dbl> 26.0, 23.0, 20.0, 22.0, 29.0, 25.0, 22.0, 20.8, 18.0…
#> $ beam              <dbl> 8.0, 8.0, 6.0, 6.0, 8.2, 8.0, 7.0, 6.4, 8.0, 7.0, NA…
#> $ owner             <chr> NA, NA, NA, "Ewart King", "Kingsley Thomas", "Chase …
#> $ operator          <chr> NA, NA, NA, "Ewart King", "Kingsley Thomas", "Chase …

vesselF

fmr:::fm_vesselF(key) |> glimpse()
#> Rows: 298
#> Columns: 42
#> $ vessel_id         <int> 1861, 1875, 1889, 1903, 1917, 1929, 1945, 1961, 1977…
#> $ vessel_name       <chr> "Perseverance", "Royalty", "Kasim", "Adlyn", "MISHOY…
#> $ vessel_version    <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ registration_no   <chr> "V4-594-BE", "V4-503-DB", "V4-149-SP", "V4-443-BE", …
#> $ district_no       <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ imo               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ district_code     <chr> "BE", "DB", "SP", "BE", "CH", "IC", "CH", "IC", "JB"…
#> $ call_sign         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ mmsi              <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ irci              <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ ais               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ class_id          <int> 1029, 1025, 1029, 1029, 1029, 1029, 1029, 1029, 1029…
#> $ flag_state_id     <int> 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 18…
#> $ status_id         <int> 2360, 2360, 2360, 2360, 2292, 2292, 2292, 2292, 2292…
#> $ material_id       <int> 2300, 2300, 2300, 1956, 2300, 1956, 1956, 2300, 1956…
#> $ registration_date <date> 2023-09-01, 2024-04-04, 1950-01-01, 2004-02-05, 195…
#> $ construction_date <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ decked            <chr> "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y…
#> $ owner_id          <int> NA, NA, NA, 14298, 13748, 13786, 13757, 14376, 13708…
#> $ operator_id       <int> NA, NA, NA, 14298, 13748, 13786, 13757, 14456, 13708…
#> $ home_port_id      <int> 10080, 10085, 10087, 10080, 10092, 11816, 10092, 118…
#> $ primary_use_id    <int> 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958, 1958…
#> $ secondary_use_id  <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ power_type_id     <int> 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951, 1951…
#> $ engine_type_id    <int> 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938, 1938…
#> $ fuel_type_id      <int> 1940, 1940, NA, NA, 1940, 1940, 1940, 1940, 1940, NA…
#> $ manufacturer_id   <int> 1944, 1944, 1943, 1943, 1943, 1943, 1943, 1943, 1945…
#> $ serial_no         <chr> "515003P/9102181/910582", "11503F-511407", "1023615"…
#> $ power             <dbl> 150.0, 115.0, 2.0, 85.0, 85.0, 200.0, 85.0, 40.0, 20…
#> $ manufacture_date  <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ comment           <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ comment1          <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ is_active         <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ tenant_id         <int> 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 10…
#> $ shipyard_id       <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ loa               <dbl> 26.0, 23.0, 20.0, 22.0, 29.0, 25.0, 22.0, 20.8, 18.0…
#> $ beam              <dbl> 8.0, 8.0, 6.0, 6.0, 8.2, 8.0, 7.0, 6.4, 8.0, 7.0, NA…
#> $ gr_tng            <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ net_tng           <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ deadw             <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ draught           <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ lbp               <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …

vesselD

fmr:::fm_vesselD(key) |> glimpse()
#> Rows: 296
#> Columns: 16
#> $ vessel_id         <int> 1861, 1875, 1889, 1903, 1917, 1929, 1945, 1961, 1977…
#> $ vessel_version    <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ vessel_name       <chr> "Perseverance", "Royalty", "Kasim", "Adlyn", "MISHOY…
#> $ registration_no   <chr> "V4-594-BE", "V4-503-DB", "V4-149-SP", "V4-443-BE", …
#> $ district_code     <chr> "BE", "DB", "SP", "BE", "CH", "IC", "CH", "IC", "JB"…
#> $ district_no       <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ class_id          <int> 1029, 1025, 1029, 1029, 1029, 1029, 1029, 1029, 1029…
#> $ tenant_id         <int> 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 10…
#> $ is_active         <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ isscfv_id         <int> 1029, 1025, 1029, 1029, 1029, 1029, 1029, 1029, 1029…
#> $ category_code     <int> 10, 9, 10, 10, 10, 10, 10, 10, 10, 1, 10, 29, 10, 29…
#> $ category          <chr> "Multipurpose vessels", "Line vessels (other)", "Mul…
#> $ category_abbr     <chr> "MO", "LO", "MO", "MO", "MO", "MO", "MO", "MO", "MO"…
#> $ sub_category_code <dbl> 10.9, 9.9, 10.9, 10.9, 10.9, 10.9, 10.9, 10.9, 10.9,…
#> $ sub_category      <chr> "Multipurpose vessels nei", "Line vessels nei", "Mul…
#> $ sub_category_abbr <chr> "MOX", "LOX", "MOX", "MOX", "MOX", "MOX", "MOX", "MO…

licence

licenceF

fmr:::fm_licenseF(key) |> glimpse()
#> Rows: 2,010
#> Columns: 17
#> $ license_id        <int> 3517, 3518, 3519, 3520, 3521, 3522, 3523, 3524, 3525…
#> $ type_id           <int> 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712…
#> $ vessel_id         <int> 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855…
#> $ party_id          <int> NA, 14359, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ issued            <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ submitted         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ valid_from_date   <chr> "01.01.2022", "01.01.2024", "01.01.2022", "01.01.202…
#> $ valid_to_date     <chr> "31.12.2022", "31.12.2024", "31.12.2022", "31.12.202…
#> $ valid_from        <chr> "2022-01-01", "2024-01-01", "2022-01-01", "2022-01-0…
#> $ valid_to          <chr> "2022-12-31 00:00:00", "2024-12-31 00:00:00", "2022-…
#> $ status_id         <int> 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707…
#> $ payment_type_id   <int> NA, 3309, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
#> $ operation_site_id <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ comment           <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ tenant_id         <int> 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 10…
#> $ is_active         <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ count             <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …

licenceV

fmr:::fm_licenseV(key) |> glimpse()
#> Rows: 2,010
#> Columns: 26
#> $ license_id        <int> 3517, 3518, 3519, 3520, 3521, 3522, 3523, 3524, 3525…
#> $ license_type_id   <int> 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712, 1712…
#> $ license_type      <chr> "Vessel", "Vessel", "Vessel", "Vessel", "Vessel", "V…
#> $ license_status_id <int> 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707, 1707…
#> $ license_status    <chr> "Active", "Active", "Active", "Active", "Active", "A…
#> $ issued            <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ submitted         <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ valid_from_date   <chr> "01.01.2022", "01.01.2024", "01.01.2022", "01.01.202…
#> $ valid_to_date     <chr> "31.12.2022", "31.12.2024", "31.12.2022", "31.12.202…
#> $ valid_from        <chr> "2022-01-01T00:00:00.000+00:00", "2024-01-01T00:00:0…
#> $ valid_to          <chr> "2022-12-31T00:00:00.000+00:00", "2024-12-31T00:00:0…
#> $ party_id          <int> NA, 14359, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ vessel_id         <int> 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855…
#> $ vessel_name       <chr> "MANNO", "DO ROAD", "MASTER J", "ZIA", "CHANTEL", "K…
#> $ vessel_version    <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1…
#> $ payment_type_id   <int> NA, 3309, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
#> $ payment_type      <chr> NA, "Paid", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ operation_site_id <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ operation_site    <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ registration_no   <chr> "V4-100-CG", "V4-063 –NC", "V4-061-CH", "V4-059-CH",…
#> $ district_code     <chr> "CG", "NC", "CH", "CH", "IC", "IC", "CH", "SP", "BE"…
#> $ district_no       <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ comment           <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ tenant_id         <int> 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 10…
#> $ is_active         <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
#> $ count             <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …

party

partyV

fmr:::fm_partyV(key) |> glimpse()
#> Rows: 1,963
#> Columns: 35
#> $ party_id              <int> 14600, 4, 10083, 10085, 10086, 10094, 10102, 101…
#> $ type_id               <int> 1763, 1766, 1765, 1765, 1766, 1766, 1766, 1766, …
#> $ party_type            <chr> "Person", "System", "Port", "Port", "System", "S…
#> $ salutation_id         <int> 1754, NA, NA, NA, 1756, 1755, 1754, 1756, 1754, …
#> $ salutation            <chr> "Mr", NA, NA, NA, "Mrs", "Ms", "Mr", "Mrs", "Mr"…
#> $ first_name            <chr> "Vilhjálmur", "Administrator", "New Guinea", "Di…
#> $ middle_name           <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, "Jamas", NA,…
#> $ last_name             <chr> "Hallgrímsson", NA, NA, NA, "Browne", "Brookes "…
#> $ nick_name             <chr> "Villi", NA, NA, NA, NA, NA, NA, NA, NA, "Jama",…
#> $ gender_id             <int> 1752, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
#> $ gender                <chr> "Male", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ date_of_birth         <chr> "02.02.2023", NA, NA, NA, NA, NA, NA, NA, NA, NA…
#> $ country_name          <chr> "Iceland", NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ address               <chr> "Básbryggja 15", NA, NA, NA, NA, NA, NA, NA, NA,…
#> $ address2              <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ pri_mobile            <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ sec_mobile            <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ passport              <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ ssn                   <chr> "6658", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ em_contact_first_name <chr> "Silas", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
#> $ em_contact_last_name  <chr> "Bruno", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
#> $ em_contact_pri_mobile <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ driver_license        <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ no_of_children        <int> 0, NA, 0, 0, 0, 0, 0, 0, 0, 0, NA, NA, NA, NA, N…
#> $ no_of_boys            <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ no_of_girls           <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ family_status         <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ marital_status        <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ time_working          <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ time_working_2        <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ dependants            <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ tenant_id             <int> 103, 103, 103, 103, 103, 103, 103, 103, 103, 103…
#> $ is_active             <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
#> $ national_id           <chr> "58746200", NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ state_id              <chr> "3431", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …

choice

choiceD

fmr:::fm_choice(key) |> glimpse()
#> Rows: 376
#> Columns: 7
#> $ choice_id <int> 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, …
#> $ table     <chr> "accounts", "accounts", "accounts", "auction_bids", "auction…
#> $ variable  <chr> "license_type_id", "license_type_id", "license_type_id", "bi…
#> $ value     <chr> "Enterprise", "Community", "Business", "Accepted", "Declined…
#> $ code      <chr> "Enterprise", "Community", "Business", "Accepted", "Declined…
#> $ tenant_id <int> 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, …
#> $ is_active <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …