A travel book could store database variables, but why the heck not change its description instead, to reflect exploration.
Area OnEnter:
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC)) return; // kill script if entering object is not a player
object oJournal = GetItemPossessedBy(oPC, "TRAVEL_DB_BOOK"); // Get the travel guide object
if (oJournal != OBJECT_INVALID)
{
string sDescription = GetDescription(oJournal); // Get its full description
if (FindSubString(sDescription, "Neverwinter City Dump") == -1)
{ // Search description and append more text to it, if it doesn't have that text already
GiveXPToCreature(oPC, 25);
SetDescription(oJournal, sDescription + "\nThe next entry describes your exciting journey to the Neverwinter City Dump.\n");
}
}
}