<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://www.w3.org/2005/10/profile">
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />

  <title>OpenOffice.org Conference 2009</title>
  <link rel="stylesheet" type="text/css" href="../marketing.css" />
  <link rel="stylesheet" type="text/css" href="ooocon.css" />
  <script language="JavaScript" type="text/javascript" src="ooocon.js">
</script>
</head>

<body>
  <div id="MyContent">
    <div id="title">
      <a href="/conference/index.html"><img style=
      "border: 0px solid; margin-left: 25px; float: left;" src=
      "images/oooconlogo.png" alt="OpenOffice.org Conference logo" /></a>

      <h3>OpenOffice.org Conference (OOoCon 2009)</h3>

      <p>3rd-6th November 2009<br />
      Orvieto, Italy<br />
      <!--
    <a href="attendees.html#register"><span class="register">Register Now</span></a>
--></p>
<p style="text-align:right"><a href="http://www.plio.it/ooocon2009"><img src="images/it.png"/>Versione Italiana</a></p>

      <div id="midtabs">
        <ul>
          <li><a href="index.html">Home</a></li>
<!--
          <li><a href="news.html">News</a></li>
-->
          <li><a href="venue.html">Venue</a></li>
<!--
          <li><a href="hotels.html">Hotels</a></li>
-->
          <li class="th"><a href="travel.html">Travel</a></li>
          <!-- <li><a href="programme.html">Programme</a></li> -->
<!--
          <li id="progroot">
            <a onmouseover="dropdown('prog','visible');" onmouseout=
            "dropdown('prog','hidden');" href="programme.html">Programme</a>

            <ul id="progmenu" class="subtabs" onmouseover=
            "dropdown('prog','visible');" onmouseout=
            "dropdown('prog','hidden');">
              <li style="display: none;" id="fixfox"><a href=
              "programme.html">Programme</a></li>

              <li><a href="programme/wednesday.html">Wednesday</a></li>

              <li><a href="programme/thursday.html">Thursday</a></li>

              <li><a href="programme/friday.html">Friday</a></li>
            </ul>
          </li>
-->
<!--
          <li><a href="speakers.html">Speakers</a></li>

          <li><a href="attendees.html">Attendees</a></li>
-->
<!--
          <li><a href="cfp/index.html">Speakers</a></li>
-->
          <li><a href="sponsors.html">Sponsors</a></li>
        </ul>
      </div>
    </div><br style="clear: left;" />
    <br />
    <a id="registration" name="registration"></a>

    <h2>By  plane</h2>

    <p>Roma Fiumicino and Roma Ciampino are the two main airports near Orvieto. Low cost
    flights are also available from the main airlines.</p>

    <p>International Airport Leonardo da Vinci (Rome Fiumicino) is about 130
    km far from Orvieto.</p>

    <p>From Fiumicino Airport, Trains “Leonardo Express” run every day, every
    30 minutes from 6 a.m. to 11 p.m. and take you directly to the Roma
    Termini Train Station in 31 minutes.</p>

    <p>Ciampino Airport is about 150 km from Orvieto. From the airport buses
    take you directly to the Roma Ciampino train station. From here take a
    train to Roma Termini<strong>.</strong></p>

    <p><strong>Orvieto is very easy to reach by train from Rome because is
    directly connected.</strong></p>

    <p>For more information, please visit the websites:</p>

    <p><a href=
    "http://www.adr.it/"><strong>http://www.adr.it</strong></a></p>

    <p><strong><a href=
    "http://www.trenitalia.com/">http://www.trenitalia.com</a></strong></p>

    <p><br /></p>

    <p><strong>To facilitate SUN's OpenOffice.org developers and other
    groups:</strong></p>

    <p>Bus transfers from meeting points (i.e. Fiumicino airport and Ciampino
    airport) to Orvieto will be organized.</p>

    <p><strong>Flight rates (in Euros)</strong></p>

    <table>

      <col />
      <col />

      <tr>
        <td>CITY</td>

        <td>COST</td>
      </tr>

      <tr>
        <td>London – Rome - London</td>

        <td>From 126</td>
      </tr>

      <tr>
        <td>Paris – Rome - Paris</td>

        <td>From 116</td>
      </tr>

      <tr>
        <td>Hamburg – Rome - Hamburg</td>

        <td>From 164</td>
      </tr>

      <tr>
        <td>Beijing – Rome - Beijing</td>

        <td>From 899</td>
      </tr>

      <tr>
        <td>Sydney – Rome - Sydney</td>

        <td>From 1075,54</td>
      </tr>

      <tr>
        <td>New York – Rome – New York</td>

        <td>From 703,25</td>
      </tr>

      <tr>
        <td>Dublin – Rome - Dublin</td>

        <td>From 153</td>
      </tr>

      <tr>
        <td>San Francisco – Rome – San Francisco</td>

        <td>From 1602,30</td>
      </tr>

      <tr>
        <td>Cape Town – Rome – Cape Town</td>

        <td>From 648,64</td>
      </tr>

      <tr>
        <td>Tokyo – Rome – Tokyo</td>

        <td>From 1010,16</td>
      </tr>
    </table>

    <h2>By train:</h2>

    <p>From Roma Termini Station (direction Florence) a train each hour .</p>

    <p>Trip duration: around 1 hour</p>

    <p>From Florence (direction Rome) a train each hour.</p>

    <p>Trip duration: around 1 hour and half, two hours.</p>

    <p>For more information and for the train schedules please visit the
    website <a href="http://www.trenitalia.com">http://www.trenitalia.com</a></p>

    <h2>By car:</h2>

    <p>Orvieto is located quite at the same distance from Florence and Rome
    on the the A1 Highway. From South, take the A1 highway Florence direction
    and from North, take the A1 Highway Rome Direction. Orvieto exit is about
    4 km from the city centre.</p>  </div>
</body>
</html>
