Suggested use of JSON, which is fine.. don't need the nesting mess of xml.
Most things can probably be stored and sorted on long&lat map coordinates. Then it is easy to find "near by" things. Will all places have a physical location?
Items needed to be stored:
name location coordinates location keywords (Asia, Japan, tokyo, shinjuku area) address url or other contact details tags amenities (keyword=value list, shops=yes type) access (nearby stations, bus/walk requirements, parking?) short description description rating? feedback? review? icon image for offline map image for offline
Suggest 'update' feedback built in, for reporting errors, deadlinks, or similar corrections. Possibly with end-dates, for the situation where you can add comment to say 'special festival week on, ending XX/YY' to automatically remove stale information.
I'd also like to make it ready for Locales. However, which is better? I like to have tools that I use in English, but also display place names with kanji. or should it be that if you chose english, than all is in english, and you pick japanese to see kanji. Or should each place store 'name' and 'local name' for english, and native name/address?