<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>OpenOffice.org Conference 2007 - Travel</title>
  
  <!-- Include the common CSS stylesheet -->
  <link rel="stylesheet" type="text/css" href="default.css">
  <script language="JavaScript" type="text/javascript" src="ooocon.js"></script>
  
</head>


<body>

<div id="content">

  <div id="title">
    <a href="/conference/index.html">
      <img style="border: 0px solid; margin-left: 25px; float: left;" 
           src="images/ooocon2007_176x105.png"
           alt="OpenOffice.org Conference logo" />
    </a>
    <h3>OpenOffice.org Conference (OOoCon 2007)</h3>
    <p>19th-21st.September 2007<br />Barcelona, Spain<br /><br />
<!--
    <a href="attendees.html#register"><span class="register">Register Now</span></a>
-->
    </p>
  </div>

  <br style="clear: left;"/>
  <br />

  <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 class="th"><a href="travel.html">Travel</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/tuesday.html">Tuesday</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="sponsorship.html">Sponsors</a></li>
   </ul>
 </div>

   <div class="contentpart" id="contextualinformation">
    <br />
    <br />
   </div>

    <h3>Flights</h3>
    <p class="news"><span class="date">Airports</span> <span class="content">Barcelona is served by three airports.
    The closest one to town is the 
    <a href="http://www.aena.es/csee/Satellite?cid=1045569607435&pagename=Estandar%2FPage%2FAeropuerto&SMO=1&SiteName=BCN&c=Page&MO=5">Barcelona 
    International Airport</a>, known as <i>El Prat</i>.</span></p>
    
    <p class="news"><span class="date">By Car</span> <span class="content"> Located 12 kilometres from the 
    Barcelona City Centre, the route between the airport and city is extremely well sign posted.</span></p>
    <p class="news"><span class="date">By Taxi</span> <span class="content">	Cost between 15€ - 25€ dependent
    on pick/up drop off point in Barcelona. Journey time is approx 20 minutes. There is also a supplement for 
    each large piece of luggage carried in taxi boot (approx 1 euro per piece).</span></p>
    <p class="news"><span class="date">By Train</span> <span class="content">	Cost one way 2,25€. Departs from 
    platform located between Terminals A and B which can be accessed by crossing the long overhead moving walkway. 
    Operates every half hour with a journey time of 20 minutes.</span></p>
    <p class="news"><span class="date">Aerobus</span> <span class="content"> Cost one way 3,50€. Airport shuttle 
    bus stops outside each terminal every 15 minutes and goes to central Plaça Catalunya. 
    This 35 minute journey is the most popular way to transfer due to frequency and comfort level.</span></p>

    <p class="news"><span class="content">There are also daily flights into the 
    <a href="http://en.wikipedia.org/wiki/Reus_Airport">Reus</a> or the 
    <a href="http://en.wikipedia.org/wiki/Girona-Costa_Brava_Airport">Girona</a> airports, usually at bargain prices.
    However, Reus and Girona are ~100km away from Barcelona, and you may find the lower price you pay by flying there
    instead of El Prat may not be worth the extra time and money spent on transportation to Barcelona.</span></p>

    <p class="news"><span class="date">Typical flight costs</span> <span class="content"> from:<br />
    London 280 euros<br />
    Paris 200 euros<br />
    Beijing 770 euros<br />
    Sydney 900 euros<br />
    New York 510 euros<br />
    Hamburg 230 euros<br />
    Dublin 230 euros<br />
    San Francisco 880 Euros<br />
    South Africa 700 euros<br />
    Tokyo 920 euros</span></p>

    <h3>Hotels</h3>
    
    <p class="news"><span class="date">Google map</span> <span class="content">Please <a href="http://maps.google.es/maps?f=l&hl=ca&q=Hotels&near=Gran+Via+de+les+Corts+Catalanes,+585,+Barcelona,+Catalonia&layer=&ie=UTF8&om=1&z=15&ll=41.38824,2.169886&spn=0.017032,0.047035">click here</a></span></a>
    
    <p class="content"><span class="content">
    4 star hotels
<br /><br />
    <a href="http://www.abbahotels.com">ABBA SANTS</a><br />
    Numància, 32<br />
    08029 Barcelona<br />
    Phone: +34 936003100
<br /><br />

    <a href="http://www.ac-hotels.com">AC DIPLOMATIC</a><br />
    Pau Claris, 122<br />
    08009 Barcelona<br />
    Phone: +34 932723810
<br /><br />
    3 star hotels
<br /><br />
    <a href="http://www.hotelatlantis-bcn.com">Holel ATLANTIS</a><br />

    Pelai, 20<br />
    08001 Barcelona
<br /><br />
    <a href="http://www.hotelcontinental.com">Hotel CONTINENTAL BARCELONA</a><br />
    La Rambla, 138<br />
    08002 Barcelona<br />
    Phone:+34 933012570

<br /><br />
    2 star hotels
<br /><br />
    Hotel CATALUÑA<br />
    Santa Anna, 24<br />
    08002 Barcelona<br />
    Phone: +34 933019150
<br /><br />
    Hotel CONDAL<br />

    Boqueria, 23<br />
    08002 Barcelona<br />
    Telèfon: +34 933181882
</span></p>

    <h3>Low cost accomodation</h3>
    
    <p class="content"><span class="content">We are trying to arrange a limited number of cheap university rooms
    close to the University of Barcelona. Prices are likely to be:<br />
    Individual room: Bed & Breakfast: 33 euros / night; Half board: 40 euros / night<br />
    Twin room: Bed & Breakfast: 46 euros / night; Half board: 60 euros / night<br />
    all + 7% VAT but with free internet access. Further details will be posted here when available.</span></p>


    <h3>Keep informed&nbsp;</h3>
        
    <p style="text-align: left;">Keep up to date with the latest news - subscribe to the conference attendees' mailing list 
        <a href="/servlets/SummarizeList?listName=ooocon2007_discuss">
        ooocon2007_discuss@marketing.openoffice.org</a> by sending an empty message to 
        <a href="mailto:ooocon2007_discuss-subscribe@marketing.openoffice.org">
        ooocon2007_discuss-subscribe@marketing.openoffice.org</a>.</p>

</div>
<!-- Right menu
<div id="menu">


    <p id="langLine">
		<span class="thisLang">En</span> -
		<a class="lang" href="index_fr.html">Fr</a>
	</p>

    <h3>OOoCon 2007</h3>
        <p><a href="indox.html">Home</a></p>
        <p><a href="news.html">News</a></p>
        <p><a href="travel.html">Travel</a></p>    
        <p><a href="programme.html">Programme</a></p>
        <p><a href="sponsorship.html">Sponsors</a></p>

    <h3>How to participate</h3>
        <p><a href="schedule.html">Programme</a></p>
        <p><a href="sponsorship.html">Sponsors</a></p>
        <p><a href="registration.html">Registration</a></p>
    <h3>Travel informations</h3>
        <p><a href="travel.html">Travel</a></p>    
        <p><a href="accommodation.html">Accommodation</a></p>
        <p><a href="map.html">Map</a></p> 
-->
</div>

</body>
</html>
