class GdsApi::Worldwide

def format_office(office)

def format_office(office)
  return {} unless office
  contact = office.dig("links", "contact", 0)
  {
    "title" => office["title"],
    "format" => "World Office",
    "updated_at" => office["public_updated_at"],
    "web_url" => office["web_url"],
    "details" => {
      "email" => contact&.dig("details", "email_addresses"),
      "description" => contact&.dig("details", "description"),
      "contact_form_url" => contact&.dig("details", "contact_form_links"),
      "access_and_opening_times" => office.dig("details", "access_and_opening_times"),
      "type" => office.dig("details", "type"),
    },
    "address" => {
      "adr" => {
        "fn" => contact&.dig("details", "post_addresses", 0, "title"),
        "street-address" => contact&.dig("details", "post_addresses", 0, "street_address"),
        "postal-code" => contact&.dig("details", "post_addresses", 0, "postal_code"),
        "locality" => contact&.dig("details", "post_addresses", 0, "locality"),
        "region" => contact&.dig("details", "post_addresses", 0, "region"),
        "country-name" => contact&.dig("details", "post_addresses", 0, "world_location"),
      },
    },
    "contact_numbers" => contact&.dig("details", "phone_numbers")&.map do |phone_number|
      {
        "label" => phone_number["title"],
        "number" => phone_number["number"],
      }
    end,
    "services" => contact&.dig("details", "services")&.map do |service|
      {
        title: service["title"],
        type: service["type"],
      }
    end,
  }
end