Hello all,
I have a huge problem and have no clue what I should do.

I'm rewriting a site, which is all in tables. It's a site where people can search for vacation homes. Each home has its own group of information pages, which include a calendar, which I decided to keep in a table (the calendar, not the page). The current calendars are simply tables with numbers in them, background colours assigned to convey information and a colour legend underneath (as well as a link to a page which described the rates more fully).

Help! There's zero information in these tables in the source! Looking at it, it seems every single datum has to convey at least 5 pieces of information: the day, the month, the year, the price-season, and the availability. It's looking like that means I have to make up a unique id for every single day-- 365 unique id's on every page of just one house, meaning each house has it's own unique set of 365... millions and millions of ids. And even with id's, I can't figure out how to get this other information into these dates. With "headers" I can likely get the day-names associated via normal table patterns, but so far I've only got a caption naming the month, and the visual aspect of the calendar must remain (they only display numbers with the background colour). Price-season is only shown if the date is available, so there's a default-- one piece of information can set the other to "no".

I don't think I can do this with "headers" and "scope"... yeah, I'm not too good at tables anyway but this was my start until I figured out what to do for non-visual browsers (and searching... currently the clients can search by date availability but I dunno what script that is, and seems to not directly affect the tables which seem to merely be displays):
Code:
	<table class="maand" summary="Aantal beschikbare dagen en seizoenen voor dit huis in Maart">
	  <caption>Maart 2008</caption>
	  <thead title="dagen">
	    <tr>
	      <th abbr="zaterdag">za</th>
	      <th abbr="zondag">zo</th>
	      <th abbr="mandag">ma</th>
	      <th abbr="dinsdag">di</th>
	      <th abbr="woensdag">wo</th>
	      <th abbr="donderdag">do</th>
	      <th abbr="vrijdag">vr</th>
	    </tr>
	  </thead>
	  <tbody>
	    <tr>
	      <td class="laag">1</td>
	      <td class="bezig">2</td>
	      <td class="bezig">3</td>
	      <td class="bezig">4</td>
	      <td class="bezig">5</td>
	      <td class="bezig">6</td>
	      <td class="bezig">7</td>
	    </tr>
	    <tr>
	      <td class="bezig">8</td>
	      <td class="bezig">9</td>
	      <td class="laag">10</td>	
	      <td class="laag">11</td>
	      <td class="laag">12</td>
	      <td class="laag">13</td>
	      <td class="laag">14</td>
	    </tr>
	    <tr>
	      <td class="laag">15</td>
	      <td class="laag">16</td>
	      <td class="laag">17</td>
	      <td class="laag">18</td>
	      <td class="laag">19</td>
	      <td class="laag">20</td>
	      <td class="laag">21</td>
	    </tr>
	    <tr>
	      <td class="laag">22</td>
	      <td class="laag">23</td>
	      <td class="laag">24</td>
	      <td class="laag">25</td>
	      <td class="laag">26</td>
	      <td class="laag">27</td>
	      <td class="laag">28</td>
	    </tr>
	    <tr>
	      <td class="laag">29</td>
	      <td class="laag">30</td>
	      <td class="laag">30</td>
	    </tr>
	  </tbody>
	</table>
So I added summary (which I do not want to display for visual browsers), caption to hold the month (which I do want displayed, inside the month table), thead, th with abbr, tbody... the classes are placeholders to deal with the background colours, but I'm really not worried about background colours. They should be an extra, to make the information easier for visual users to pick out info quickly.

I also don't want all 5 pieces of information read when someone with a screen reader tabs or keys through every single date unless they request that information.... same goes for text browsers which also won't display the colours. Chances are, if you start at March and key through the dates, you know that they are March dates. But it needs to be available if they ask for it. I have no clue how that actually works with stuff like axis and headers, but as I have no row-headers, I'm not using axis either. I also don't want to make every datum a link to a page with the info... who wants to have to keep clicking back and forth to see a bit of information?

What do I do???

A related question, currently homeowners and real estate agents upload home info via an XML document, which our scripts use to fill the fields displaying home information. As I plan to make this from a table to a definition list, I'm wondering... would microformats have a future here? Currently, the partner companies and homeowners have to use certain tags so that our scripts know what information is what. If a new company comes from say, Sweden (we're in talks), their tags will be in Swedish and not Dutch or English... every new partner means a rewrite of the scripts. A standard information-carrying format seems to be the way, but I dunno much about them. Mostly it seems bloggers use them... and the required tags for iCalendar includes "events" which, well, we have no events, only data.

But this is just a side thought, the important thing is the tables.

Thanks for any help/thoughts,
-Poes