User manual

GroundZones user manual

This manual covers everything on the GroundZones map page. Upload a hotel association file, select hotels on the map and give them zones by hand, check the pins that could not be confirmed, and export the file in its original columns with the zone filled in. Zone rules, which assign hotels by distance, city, ZIP code or a drawn area, are an optional first pass that you tidy up by hand afterwards.

Updated

Contents

Chapter 1

How GroundZones works

Projects, markets, hotels and zones, and the two ways to zone a file.

GroundZones takes a hotel association file (the list of hotels you serve around one airport), puts every hotel on a map, and lets you give each one a pricing zone. When you are done you export the same file, in the same columns, with the zone filled in.

WordWhat it means here
ProjectOne hotel file for one airport. It keeps the hotels, the zones, the map view and up to 50 earlier versions.
MarketThe airport a project belongs to. You pick it from a list when you create the project, and every distance in the project is measured from its terminal.
HotelOne row of your file. Most buttons and counters on the map page call it a "property"; the two words mean the same thing.
ZoneA name and a colour, such as "Zone 3" in green. Every hotel has one zone or is unassigned.
Zone ruleA zone plus optional conditions (cities, a maximum distance, ZIP codes, a drawn area) that GroundZones can use to assign hotels for you.
OriginThe point distances are measured from. It is the terminal of the project's airport unless you set a temporary one.
Zoning by hand is the normal way to work. Rules are an optional first pass.

There are two ways to give hotels their zones, and you can mix them freely.

  • By hand, on the map. Select hotels by dragging a box around them, or click them one at a time, and pick a zone. This is how most files are zoned, and it is all you need. You see the geography, so you can follow a river, a highway or a neighbourhood line that no formula knows about.
  • With zone rules, then by hand. Describe your zones once (by distance, by city, by ZIP code or by an area you draw) and let GroundZones assign every hotel in one go. Then fix the edges by hand. Rules are optional: they save time on large files and on schemes that really are "0 to 5 miles, 5 to 10 miles", and they are never required.

Chapter 2

Quick start

From a hotel file to a zoned export, by hand or with a first pass of rules.

Both routes start and end the same way. The difference is only in step 4.

Zoning by hand

  1. On the dashboard, choose New Project, name it, and pick the airport from the list. Attach your hotel file if you have it ready.
  2. In the Map Columns window, check that each dropdown points at the right column of your file, then choose Import Properties. Hotels without coordinates are placed on the map from their address.
  3. Open Zone Rules in the left panel and choose + Add Rule once for each zone you need. Click a name to rename it (for example "Zone 1") and click the colour dot to change its colour. Leave the other cells empty.
  4. On the map, hold Space and drag a box around a group of hotels. In the panel that appears at the top, open the zone dropdown and pick the zone. Repeat for each area. Use Ctrl + drag to add to a selection and Shift + drag to take hotels out of it.
  5. Click any single hotel to open its popup and change its zone there, for the ones a box cannot catch cleanly.
  6. Open the Table tab on the right edge and tick Check pins to list hotels whose location could not be confirmed. Fix or confirm each one.
  7. Choose Export in the left panel (or XLSX / CSV in the table). You get your original columns back, in their original order, with the zone filled in.

A first pass with rules, then by hand

  1. Create the project and import the file as above.
  2. Open Zone Rules, add one rule per zone, and fill in what defines each zone: a maximum distance in Dist, city names in City, ZIP codes in ZIPs, or a drawn area.
  3. Under Assignment Mode, choose the mode that matches what you filled in. Distance Only is the simplest: it turns the distances into bands such as 0 to 7 miles and 7 to 15 miles.
  4. Choose Apply Zoning Rules. Every hotel that matches a rule gets its zone, and the map is recoloured.
  5. Tidy up by hand: box-select the hotels that landed in the wrong zone and move them, exactly as in the manual route.
  6. Check pins, then export.

Chapter 3

Create a project and pick the airport

One project per hotel file. The airport you pick becomes one of your markets.

  1. Open the Dashboard (the logo in the top bar always takes you there) and choose New Project, or the dashed Create New Project tile.
  2. Type a Project Name, for example "Denver Airport Hotels". A Description is optional.
  3. Under Market, type a city, an airport name or a code in the box that reads "Search by city, airport name or code", and pick the airport from the list. Typing a code without picking a row does nothing: the airport is always chosen from the list, never typed, so a project can never point at the wrong place.
  4. Read the notice under the airport (see below) and tick its checkbox if it has one.
  5. Optionally choose Select property file (CSV, Excel) to attach your hotel file now.
  6. Choose Create Project.

If you attached a file, you are taken straight to the map and the Map Columns window opens by itself. If you did not, you stay on the dashboard: click the new project tile to open its map.

Markets are permanent

Your plan is counted in airports, called markets. The first time any project uses an airport, that airport becomes one of your markets, and the notice under the picker tells you exactly what will happen before you create anything:

  • "{CODE} is already one of your markets - no change to your plan." You already hold this airport. Create as many projects on it as you like; they cost nothing extra.
  • "This makes {CODE} market 2 of 5. Markets are permanent." The airport is new and your plan has room. Tick "I understand {CODE} becomes a permanent market on my account." to continue. On a new account the notice also says "Opening your first airport starts your 30-day free trial."
  • "{CODE} is a new market. Adding it changes your plan:" You subscribe already and the airport takes you past the number you pay for. The notice shows the new number of markets, the plan and what is charged today. Add market and continue bills your card at once.
  • "{CODE} would be market 2, and your trial covers 1." Choose a plan first, with Choose a plan.
  • A team member who is not an admin sees a note asking the workspace owner or an admin to add the market, because adding one is permanent and billed to the owner.

Chapter 4

A tour of the map page

What each part of the screen is for, and where to find it.

The map page. Every panel over the map can be moved or folded away.
PartWhereWhat it is for
Top barTopThe project switcher, Undo, Redo, History and Snapshots, the ZIP check (an amber ZIP issues badge when hotels are flagged), a ? that opens this manual, and Jobs, Team and Profile.
Zone Management panelLeftFive sections that open and close: File Management, Set Origin Point, Zone Rules, ZIP Code Conflicts and Zone Statistics.
MapCentreOne coloured dot per hotel, a red dot for the origin, and any areas you have drawn.
SearchTop left of the mapA magnifying glass that opens into "Search this area...". It finds places and addresses and moves the map there.
ControlsTop right of the mapBoundary layers, which zones are shown, which layer draws on top, and the size of the dots.
TableRight edgeA tab that slides out every hotel as a spreadsheet you can sort, filter, edit and export.
Selection panelTop of the mapAppears when hotels are selected. Changes their zone, measures their distance, or deletes them, all at once.
Map InfoBottom right of the mapCounts, the selection's distance range, the airport and the origin.
  • Drag the right edge of the left panel to make it wider or narrower, and use the small arrow on that edge to fold it away. On a phone it opens from the layers button at the top left of the map.
  • Controls and Map Info can be dragged by their header and folded with the arrow in it. They go back to their corner when the table is opened or closed.
  • The sections of the left panel remember whether they were open, per browser. The first time, File Management and Set Origin Point are open and the other three are closed.
  • On a narrow window the top bar folds itself: labels shrink to icons first, then the links move into a menu button. Every icon keeps its tooltip.
  • A small ? beside a panel's title opens the part of this manual that explains it, in a new tab, so the map keeps your selection and undo history.

Chapter 5

Upload your hotel file

Column mapping, what happens to your columns, and adding a new list to a project later.

Open File Management in the left panel and choose Upload. Pick a .csv, .xlsx or .xls file of up to 50 MB. The first row must hold the column headers, and in an Excel file only the first sheet is read. Nothing is sent yet: the Map Columns window opens first.

Map your columns

The window shows the file name with its number of rows and columns, a preview of the first five rows, and nine dropdowns under Column Mapping: Property Name, External ID, Address, City, State, ZIP Code, Country, Latitude and Longitude. Each one lists every header in your file, plus -- Not mapped --.

GroundZones fills the dropdowns in by reading your headers ("Hotel Name", "Postal Code", "Lat"...). It guesses; you confirm.

  • You need at least one of Address, City or ZIP Code, or both Latitude and Longitude. Latitude and longitude only count as a pair.
  • Map External ID whenever your file has a hotel ID. It is how GroundZones recognises a hotel it already has when you upload the next list.
  • Columns you do not map are not lost. They are kept with each hotel, shown in the table, and written back into the export in their original position.

Sort into zones from a column (optional)

If the file already carries zones, choose that column under Sort into zones by column. Each different value becomes a zone with its own colour, every hotel starts in the zone the file gave it, and the zone is written back into that same column when you export. Leave it on -- Don't create zones -- to start with every hotel unassigned.

The zones created this way also get their cities, their ZIP codes and a maximum distance filled in from the hotels they contain, so they are ready to be used as rules later if you want. The Airport Code shown beside the option is the project's market and cannot be changed here.

Import options

When the project already has hotels, Property Import Mode asks what to do with them:

  • Add new properties only (the default) keeps everything you have. A row whose External ID is already in the project is skipped, so uploading the same file twice is safe, and hotels you have zoned keep their zones.
  • Replace all properties deletes this project's hotels first and imports the file in their place. While it runs, the map is view-only for everyone in the project.

When you are creating zones from a column and the project already has zone rules, Existing Zone Rules offers Replace with new zone rules (your current rules are cleared, and a backup file is offered for download afterwards) or Keep existing zone rules (your rules stay as they are, and a zone in the file that has no rule yet gets one).

Automatically geocode properties missing coordinates is ticked by default. Leave it on unless every row already has a latitude and longitude.

What the import does

Choose Import Properties. The window shows a progress bar (and a map joke or two) while the work runs on the server:

  1. The rows are read. A row with no address, city, ZIP code or coordinates at all is left out.
  2. Hotels without coordinates are placed from their address. Each answer is checked against the address that was asked for: a different street number, or a city and ZIP code that both disagree, flags the pin for review instead of passing it off as exact.
  3. If you are creating zones from a column, the driving distance from the airport terminal to each hotel is measured, and a hotel no road reaches is flagged for review.
  4. If you are creating zones from a column, the zones are created.
  • Coordinates that are already in the file are trusted as they are and are never moved by the import.
  • Without a zone column, distances are not measured during the import. They are measured when you ask for them (see Origin and distances) or when a rule needs them.
  • State and country are tidied into two-letter codes ("Colorado" becomes "CO"; a blank country becomes "US"). Everything else is kept as you wrote it, including a ZIP code that a spreadsheet stripped of its leading zero.

The Upload Complete screen shows four counts: Properties Created, Geocoded, Zone Rules Created and Distances Calculated. It also lists rows skipped because they already existed, hotels still missing coordinates, and up to ten row errors in the form "Row 12: ...", where the header is row 1. Choose Done to return to the map.

Chapter 6

Zoning by hand on the map

The main way to work: make your zones, select hotels, give them a zone.

Zoning by hand takes three things: a list of zones, a way to select hotels, and a way to give the selection a zone. None of it needs a rule, a distance or an assignment mode.

1. Make your zones

  1. Open Zone Rules in the left panel.
  2. Choose + Add Rule. A zone called "Zone 1" appears with a colour of its own. Choose it again for "Zone 2", and so on.
  3. Click a zone's name to rename it, and press Enter. Name zones exactly as your rate sheet does.
  4. Click the round colour dot to pick a different colour.

That is all a zone needs. The City, Dist and ZIPs cells can stay empty ("Any", "No limit", "None"): they only matter if you later use rules. If you created zones from a column during the upload, they are already here.

  • Click the Color heading to give every zone a fresh colour at once. It is a single Undo step, but it is easy to do by accident.
  • Renaming a zone renames it on every hotel in the project that has it.
  • Deleting a zone with the x at the end of its row removes it from the list only. Hotels keep the zone name, without its colour, until you give them another zone.
  • The Unassigned row at the bottom shows how many hotels have no zone yet. Click its dot to choose the colour unassigned hotels are drawn in.

2. Select hotels

Hold a key and drag to draw a selection box. The colour of the box tells you what it will do.
Space + dragDraw a box and select the hotels inside it, replacing the current selection. The cursor becomes a crosshair and the box is purple.
Ctrl + drag (Cmd on a Mac)Add the hotels in the box to the selection. The box is green.
Shift + dragTake the hotels in the box out of the selection. The box is red.
Click a hotelSelect just that hotel and open its popup.
Ctrl + click (Cmd on a Mac)Add one hotel to the selection.
Shift + clickTake one hotel out of the selection.
Click empty mapClear the selection.
  • A whole zone at once. In the Zone Rules table, the pointer icon at the end of a row selects every hotel in that zone; the same icon on the Unassigned row selects every hotel without a zone. This is the quickest way to work through what is left.
  • From the table. Click rows or their checkboxes; Shift + click selects a range; the checkbox in the header selects every row currently listed. The table and the map share one selection.
  • A selected dot is drawn slightly larger. Map Info shows "Selected: 12" with a Clear link, and the range of driving distances in the selection.
  • A box only catches hotels you can see: hotels in a zone you have hidden under Controls are left out. Selecting a zone from the table does include them.
  • Move the pointer over the map before pressing Space, so the map is what hears the key. A plain drag always pans the map.

3. Give the selection a zone

As soon as two or more hotels are selected (or one, if you used Ctrl + click or a box), a purple panel appears at the top of the map reading "12 properties selected", with the selection's distance range under it. You can drag it by its header.

  1. Open the dropdown at the left of the panel. It shows the zone the selected hotels share, "N/A" if none of them has a zone, or "Mixed".
  2. Pick a zone, or Unassigned to clear the zone.
  3. The hotels change colour at once and the panel confirms: Rezoned 12 properties to "Zone 3".
  • The whole change is one step in the history: Ctrl+Z puts every hotel back.
  • If a colleague changed some of those hotels after your map loaded them, theirs are left as they are and the panel says how many: "... 2 changed by someone else".
  • Only zones in the Zone Rules list are offered. Add a zone there first if you need a new one.

One hotel at a time

Click a hotel to open its popup. The coloured Zone button at the bottom shows its zone: click it, pick another from the list, and it is saved. The rest of the popup is editable the same way: click a value, type, and press Enter (or click away) to save, Esc to cancel.

In the popupWhat you can do
Name, Address, City, State, ZIPClick to edit. Saving a change to the address, city, state or ZIP looks the address up again and moves the pin to the new location.
CoordsClick to type a latitude or longitude, or paste a pair such as "41.936, -87.850" into either box to set both. This is how you move a pin; dots cannot be dragged.
DistanceThe driving distance from the origin, when it has been measured.
ZoneClick to change the zone.
GeocodeLooks the address up and, if the result differs, shows the old and new coordinates with Update and Keep.
ReverseLooks up the address at the pin and offers it with Update and Keep.
DistanceMeasures the driving distance from the origin now.
Delete PropertyDeletes the hotel.

Zoning in the table

Open the Table tab on the right edge. Click the Zone cell of a row: a box opens with Unassigned, your zones (the list narrows as you type) and, when what you typed matches none of them, Create: .... Use the arrow keys and Enter, or click an option. Esc cancels. Clicking elsewhere closes the list without saving.

The table is the best place to zone by a column rather than by location: filter with the search box, tick the header checkbox to select everything listed, and pick the zone in the selection panel over the map.

The other buttons in the selection panel

ButtonWhat it does to the selected hotels
GeocodePlaces the hotels that have no coordinates yet, from their address. Hotels that already have a pin are left alone and counted as "unchanged", so this never moves an existing pin.
ReverseReplaces the address, city, state and ZIP of each hotel with the address found at its pin. It does not ask hotel by hotel, so use it on rows that came with coordinates and no address.
DistanceMeasures the driving distance from the origin to each hotel, replacing any earlier figure. Needs an origin.
DeleteDeletes the hotels, without asking.

Zone changes and deletes happen in one go. Geocode, Reverse and Distance on ten or more hotels run on the server: a progress bar appears in the panel with Pause, Resume and Cancel, and the selection is locked until it finishes. Cancel puts every hotel back as it was before the run.

Every one of these, once finished, is a single step in the history: Ctrl+Z puts the addresses, pins or distances back as they were.

Chapter 7

Checking pins

The amber ring, what each reason means, and how to settle it.

A wrong pin gives a wrong distance and sits in the wrong place for a box selection, so GroundZones does not take a geocoder's word for it. Every location it finds is compared with the address it was asked for, and a pin it could not confirm is marked with an amber ring.

  1. Open the Table and tick Check pins (N). It appears only when there is something to check, and it lists exactly those hotels. Their Pin column reads Check; hover it for the reason.
  2. Double-click a row to fly the map to the hotel, then click its dot.
  3. Read the amber Check this pin box in the popup: it gives the reason and, when there is one, the address the map matched ("Matched: ...").
  4. If the dot is on the right building, choose Pin is correct. If not, correct the address (the pin moves when you save it), or type the right coordinates under Coords.
The popup saysWhat happened
"The map found a different street number than this address, so the pin may be on the wrong building."The geocoder did not know this street number and answered with a nearby one.
"Only the street or area of this address was found, not the building itself."The pin is somewhere on the street, or in the middle of the city or ZIP code.
"Checking this address again placed it somewhere other than this pin, so the pin may be in the wrong spot."The address checks out, but the stored pin is far from it.
"This pin was placed before addresses were checked, so it has never been confirmed."An older project, from before pins were checked against addresses.
"No driving route reaches this pin from the airport, so the coordinates may be wrong."The pin is in water, on an island with no road link, or on another continent.
  • Pin is correct clears the flag and nothing else. Ctrl+Z brings the flag back.
  • Typing new coordinates does not clear the flag by itself; confirm the pin afterwards.
  • Coordinates that came in your file are trusted and are not flagged for their address. They are flagged only when no road reaches them.

Chapter 8

Origin and distances

Where distances are measured from, when they are measured, and how to refresh them.

Every distance in GroundZones is a driving distance in miles, by road, from the origin to the hotel. The origin is the red dot on the map. In a project it is the airport's terminal, the point a vehicle actually leaves from, not the middle of the airfield.

Distances are shown in the hotel popup, in the table's Dist (mi) column, in the selection panel and Map Info (as a range for the selection), and in Zone Statistics. They are not part of the exported file.

When distances are measured

  • During an upload, only when you create zones from a column.
  • When you ask: select hotels and choose Distance in the selection panel, or Distance in one hotel's popup. This always measures afresh.
  • When rules run: every hotel is measured from the origin the run uses, so a moved pin or a new market is always taken into account. Routes already worked out are remembered, so an unchanged hotel costs nothing to measure again.
  • When the market changes: every hotel is measured again from the new airport, by itself (see below).

Changing the market

Open Set Origin Point. The box reads "Market DEN" with a Change link. Choose it, pick another airport from the list, read the notice (a new airport becomes a permanent market, exactly as when creating a project), and choose Set market. The origin moves to the new terminal, the map centres on it, and every hotel is measured again from there: a banner at the top of the map shows the progress, with pause and cancel, and the map reloads when it is done.

Measuring from somewhere else, for now

To measure from a convention centre or a cruise terminal, choose the x on the origin chip ("Remove origin") and then click the map where the new origin should be. Distance, Apply Zoning Rules and the Cities Distance List all use it.

Chapter 9Optional

Zone rules and automatic assignment

Describe your zones once and let GroundZones do the first pass. Never required.

A zone rule is a zone with conditions attached: a maximum distance, a list of cities, a list of ZIP codes, or an area drawn on the map. Apply Zoning Rules reads the conditions and assigns every hotel that meets them. It is a first pass, not a verdict: what it gets wrong you move by hand, exactly as in the previous chapter.

Use rules when the file is large, when your scheme really is a set of distance bands or a list of cities, or when the same scheme will be applied to a new list every season. Skip them when the map tells you more than a formula would.

The rule table

ColumnWhat goes in it
ColorThe zone's colour. Click the dot to change it. Clicking the heading recolours every zone.
ZoneThe name. Click to rename.
CityOne or more city names, separated by semicolons: "Denver; Aurora". Empty reads "Any".
DistThe zone's maximum driving distance from the origin, in miles. Empty reads "No limit". There is no minimum: where one is needed it is the previous zone's maximum.
ZIPsZIP codes separated by commas: "80202, 80203". Write five-digit ZIP codes in full, including a leading zero ("07114").
Pointer iconSelects every hotel in the zone.
xDeletes the rule. Hotels keep their zone.
  • Click the Zone, City or Dist heading to sort the list. The list is always shown sorted, and the order of the rows has no effect on which rule wins (see When two rules claim a hotel).
  • Download saves the rules as zone_rules.xlsx (with no rules yet, it saves a small CSV template to fill in). Upload replaces all the rules with the ones in a CSV or Excel file that has a zone name column and, optionally, city, maximum distance, ZIP codes and colour. It asks first, and drawn areas are not part of a rules file, so they are lost with the rules they belonged to.
  • Clear All deletes every rule after asking. Hotels keep their zones, and a snapshot named "Before deleting all zone rules" is saved first.
  • If a colleague edits the same rule at the same time, you see "Someone else changed this zone rule. Showing their version." and your edit is dropped.

The four assignment modes

Under the table, Assignment Mode decides which of a rule's cells are read. The mode is chosen each time you apply; it is not saved with the project, and the page opens on City and Distance.

ModeReadsA hotel matches a rule when
Distance OnlyDistits driving distance falls in the rule's band
City and DistanceCity, Distits city is in the rule's list (by name or by boundary) and its distance fits
ZIP Code BoundariesZIPs, Distits pin lies inside one of the rule's ZIP code areas, and its distance fits
Custom Polygonthe drawn area, optionally Distits pin lies inside the rule's area

Distance Only

Distance Only turns each zone's maximum into a band. Distances are by road, so the bands are not circles.

The rules are sorted by Dist and turned into bands that do not overlap: with zones at 7, 15 and 25 miles you get 0 to 7, 7 to 15 and 15 to 25. City, ZIPs and drawn areas are ignored.

  • A rule with no Dist is left out of the run.
  • A hotel exactly on a boundary goes to the nearer zone.
  • A hotel beyond the largest distance matches nothing and keeps its zone. Give your outermost zone a generous maximum if it should catch everything else.
  • Needs an origin.

City and Distance

Two choices appear when this mode is selected. The first is how a city is recognised:

  • Match by city name (text comparison) compares the hotel's City column with the rule's list. The match ignores upper and lower case but is otherwise exact: "St. Louis" is not "Saint Louis". A hotel with no city never matches a rule that names cities; a rule with no city accepts any.
  • Match by city boundaries ignores the City column and asks whether the hotel's pin lies inside the city's boundary from OpenStreetMap. It catches hotels whose City column names a suburb or is misspelt.

The second is City only (ignore distance limits). Ticked, the distance is not checked and no origin is needed: the city alone decides, and a rule with no city matches nothing.

With distance on, each rule's Dist is its own upper limit: a hotel matches when its city is in the rule's list and it is within that distance. "Zone 1, Denver, 7 mi" and "Zone 2, Aurora, 15 mi" take Denver hotels up to 7 miles and Aurora hotels up to 15. Two rules on the same city, say 7 and 15 miles, split that city at 7, because where two rules both claim a hotel the tighter one wins. A rule with no city matches any city, but only within its distance; a rule with no Dist matches its cities at any distance.

  • By boundary, a city is matched by its name alone, so a name shared by towns in two states matches both. A city GroundZones has no boundary for matches nothing, without a message: turn on City Boundaries under Controls and look at the area first to see what is there.

ZIP Code Boundaries

A hotel matches a rule when its pin lies inside the area of one of the rule's ZIP codes, and (unless ZIP only (ignore distance limits) is ticked) it is within the rule's Dist. A rule with no ZIP codes is skipped; a rule with no distance matches on the area alone.

Custom Polygon: areas you draw

Selecting Custom Polygon lists your zones as chips under "Click to toggle visibility/editing:". A zone can have one area or several.

  1. Click the chip of a zone that has no area yet. Drawing tools appear at the top left of the map, under the zoom buttons.
  2. Choose the polygon tool and click around the area, finishing on the first point; or choose the rectangle tool and drag. The shape is saved to the zone as soon as it is closed, in the zone's colour. Lines that cross themselves are refused.
  3. Draw another shape to add a second area to the same zone (the chip shows "x2").
  4. Click the chip again to finish. This also hides the area; click the chip once more to show it again and edit it: drag the handles with the edit tool and choose Save. A hidden area still counts when rules are applied.
  5. Choose Apply Zoning Rules. Hotels inside an area get its zone; hotels outside every area keep what they had.
  • On a chip, a tick means the area is shown and a crossed eye means it is hidden. Showing an area also opens it for editing.
  • To remove a zone's areas, use the bin button beside its chip, or the delete tool on the map. Both save at once.
  • Drawing, reshaping and removing an area are each one step in the history, so Ctrl+Z takes them back. If a shape cannot be saved, a message says so.
  • Also enforce max distance from origin makes a hotel match only when it is inside the area and within the rule's Dist. With it ticked, a rule with no distance matches nothing.

Generate Sectors

Each sector is a 40° wedge from the origin toward a city, out to the rule's maximum distance.

In Custom Polygon mode, Generate Sectors draws the areas for you: for each rule that has both a City and a Dist, a 40° wedge from the origin toward that city, reaching out to the rule's distance. A rule with several cities gets a wedge for each, joined together. It needs an origin.

  • If some rules already have areas you are asked whether to overwrite them. OK replaces them; Cancel keeps them and still fills in the rules that have none.
  • A summary lists what was generated and what was skipped: rules with no distance, rules with no city, existing areas that were kept, and cities that could not be found.
  • The wedge's reach is measured in a straight line. Tick Also enforce max distance from origin to hold hotels to the driving distance as well.
  • Nothing is assigned until you choose Apply Zoning Rules, and generating is not a step in the history.
  • A city is looked up by its name alone. If a wedge points the wrong way, a town of the same name elsewhere was found: redraw that area by hand.

Turning a city boundary into an area

Turn on City Boundaries under Controls, zoom in until the dashed blue outlines appear, and click a city. Below its details, choose a zone under Select zone... and then Add to Zone: the city's outline is added to that zone's area. Tick Clip to driving distance and enter Max distance (miles) to keep only the part of the city within that drive of the origin; the button becomes Add Clipped to Zone.

As with any area, hotels are not assigned until you apply the rules in Custom Polygon mode.

When two rules claim a hotel

A hotel inside two areas goes to the zone with the smaller maximum distance.

Areas, ZIP code lists and city boundaries can overlap: two wedges cross near the airport, or two zones both list Chicago. The hotel then goes to the tightest zone, the one with the smallest Dist. A rule with no distance counts as the loosest and only picks up what no other rule claimed.

  • The position of a rule in the table, its name and the size of its area play no part.
  • If overlapping zones have no distances at all, which one wins is not something you control. Fill in Dist on zones that overlap, or draw areas that do not.
  • Distance Only has no overlaps to settle, because bands never overlap.

Applying the rules

Choose Apply Zoning Rules. If the mode needs an origin and there is none, you are told: "Please set an origin point on the map for distance-based assignment". The run happens on the server, and a progress bar appears under the button with Pause, Resume and Cancel. A paused run carries on with the same mode and options when resumed.

  • Cancel stops the run and puts every hotel's zone back as it was ("Canceling will roll back all changes"). This works from the page that started the run. If you leave and come back, the run is shown in a banner at the top of the map instead, and cancelling there keeps what was already changed.
  • When it finishes, the map is recoloured, Zone Statistics are refreshed, and the history gains one step such as "Applied zone rules (Distance Only) - 412 properties updated".
  • Every hotel a distance matters to is measured from the run's origin during the run, and the new figure is stored. A hotel no road reaches from the origin matches no distance rule.
  • If a colleague is already applying rules in the project, yours is refused with "Already running" and their name.

Chapter 10

The two ZIP code tools

ZIP Code Conflicts changes zones. ZIP issues questions the ZIP code, or the pin.

Two tools with similar names that answer different questions.
ZIP Code ConflictsZIP issues
WhereA section of the left panelAn amber badge in the top bar
The questionDo hotels that share a ZIP code sit in different zones?Does this hotel's ZIP code agree with where its pin is?
What it changesZonesOne hotel's ZIP code, when you say so
How much at onceEvery conflict in the projectOne hotel at a time

ZIP Code Conflicts: one ZIP code, one zone

Many rate sheets are published by ZIP code, so a ZIP code split between two zones is a problem. Open ZIP Code Conflicts in the left panel and choose Check ZIP Code Conflicts. You get either "No ZIP code conflicts found" or a count, "3 conflicts found", which also appears in Map Info, with a list of the ZIP codes: each with its city, the zones its hotels are in and how many are in each, and a Select button.

To settle one by hand, choose Select: its hotels are selected on the map, and you give them a zone in the selection panel as usual. This is the careful way, and the one to use when your zones follow streets or drawn areas rather than ZIP codes.

To settle them all at once, pick a Resolution Strategy and choose Fix 3 Conflicts:

  • Majority - assign to most common zone: each ZIP code goes to the zone most of its hotels are already in.
  • Nearest - closest to origin: each ZIP code goes to whichever of its zones has the smallest Dist in the rule table.
  • Furthest - farthest from origin: the zone with the largest Dist.
  • Only zoned hotels count. A ZIP code with nine hotels in Zone 2 and one unassigned is not a conflict, and the fix never zones an unassigned hotel.
  • Hotels are grouped by ZIP code and city. A ZIP code is read as five digits, so "7114" (a ZIP a spreadsheet stripped of its zero), "07114" and "07114-1234" are the same ZIP; the city is compared without regard to capitals.

ZIP issues: a wrong ZIP code, or a wrong pin

When a hotel's pin lies well outside the area of its own ZIP code, one of the two is wrong, and the file alone cannot say which. GroundZones counts these hotels in an amber badge in the top bar, "12 ZIP issues". When nothing is flagged the badge is a plain ZIP check button instead. Click either to open ZIP codes.

  1. Choose Check 12 addresses. It looks up exactly the hotels listed under Not checked yet, with the ZIP code deliberately left out of the question so the answer cannot simply echo it. Progress shows in place of the button ("Checking 4 / 12").
  2. When it finishes, the list is sorted into three groups.
  3. Work through The ZIP looks wrong: the row shows the ZIP code on file, the one the address resolved to, and the address that was matched. Choose Use 80203 to accept it, or Dismiss to leave the row as it is and take it off the list.
  4. For The ZIP is right; the pin is somewhere else, there is nothing to change in the ZIP code. Find the hotel on the map and correct its pin (see Checking pins).
GroupWhat it means
The ZIP looks wrongThe address was found at building level, and it is in a different ZIP code from the one on file.
Not checked yetThe pin is outside its ZIP code's area, and the address has not been confirmed either way. On its own this test is right about half the time, which is why there is no "fix all" button.
The ZIP is right; the pin is somewhere elseThe address confirms the ZIP code on file, and the stored pin is a long way from the address.
  • If a check cannot start, or a row cannot be changed, the reason is shown at the top of the window.
  • Nothing here ever moves a pin, and a ZIP code is only changed when you choose Use. Ctrl+Z reverses a Use. Dismiss cannot be reversed from the list; the row returns by itself if the hotel's ZIP code or pin later changes.
  • A ZIP code that lost its leading zero in a spreadsheet is understood: the row shows "7114 -> 07114" and is compared as 07114. Your file is not rewritten.
  • Not listed at all: Canadian and other non-US postal codes, ZIP codes that have no mapped area (PO boxes, single buildings), pins within 500 metres of their ZIP code's area, and hotels whose address confirmed both the ZIP code and the pin.
  • Check whole project, beside it, looks up every hotel's address in the project, including hotels that are not on the list, and skips the ones already answered. It is the only way to catch a wrong ZIP code whose pin happens to sit inside the right area.
  • Large projects may need a check run more than once. Addresses the first lookup cannot settle go to a slower second service with a limit per run. The ones it did not reach stay under Not checked yet, and choosing Check N addresses again carries on with them.

Chapter 11

The table, search, Controls and Map Info

Everything else on the map page, control by control.

The hotel table

The Table tab on the right edge of the map slides out a spreadsheet of every hotel, including those with no pin. The number on the tab is the number of hotels, or the number selected when there is a selection. Drag the table's left edge to resize it.

Your own columns come first, in your order and under your headers, including the ones GroundZones does not use. After them come the built-in columns your file did not have, typically Zone, Lat, Lng, Dist (mi), Status and Pin.

ToDo this
Find hotelsType in Search properties.... It looks in the name, address, city, ZIP code and External ID.
Show one zoneUse the dropdown beside it: All Zones, Unassigned, or a zone.
Show only what is selectedTick Selected.
Show unconfirmed pinsTick Check pins (N).
SortClick a column heading; click again to reverse. "Zone 2" sorts before "Zone 10", and empty cells always go last.
Widen a columnDrag the right edge of its heading.
Select rowsClick a row or its checkbox. Shift + click selects a range. The header checkbox selects everything currently listed.
Go to a hotelDouble-click its row. The map flies there.
Edit a cellClick its text, type, and press Enter or click away. Esc cancels. Status saves as soon as you pick a value, and Zone needs Enter or a click on an option.
ExportXLSX or CSV at the top right of the table.
  • Selecting exactly one row opens that hotel's popup on the map. Selecting hotels on the map scrolls the table to the first of them.
  • Every edit is a step in the history. If a colleague changed the same hotel first, you see "Changed by someone else" and their version is shown.
  • Dist (mi) and Pin cannot be edited. Your own extra columns can.

Controls

SectionWhat it does
Map LayersZIP Code Boundaries draws ZIP code areas in red once you are zoomed in to about city level. City Boundaries draws city outlines in dashed blue a little further out ("Zoom in to see cities"). Click an area for its name and size; a city can also be added to a zone's area.
Zone VisibilityOne button per zone, plus Unassigned. Click to hide or show that zone's dots; Show All and Hide All at the bottom. Hiding is for looking only: hidden hotels are still in the table, the statistics and the export.
Layer OrderWhich of Properties, City Boundaries and ZIP Boundaries is drawn on top. The first in the list is in front. Keep Properties on top while you are selecting, or clicks land on a boundary instead of a hotel.
Marker SizeA slider from Small to Large for the hotel dots.
  • These choices, and the map's position and zoom, are saved with the project within a couple of seconds, shared with your colleagues, and included in snapshots.
  • Boundaries need a closer zoom than you might expect. If nothing appears after ticking ZIP Code Boundaries, zoom in.
  • City outlines are drawn where GroundZones holds boundary data from OpenStreetMap. Not every town has one.
  • The map itself follows the light or dark theme chosen in the top bar.

Map Info

LineMeaning
"Properties: 412"Every hotel in the project, including those with no pin and those in hidden zones.
"Selected: 12" and ClearThe size of the selection, and a link to clear it.
"27.3-32.6 mi from origin"The shortest and longest driving distance in the selection, from the stored figures. " - 3 without a distance" is added when some have none.
"Airport: DEN"The project's market.
"Origin: 39.8494, -104.6738"Where distances are measured from.
"3 conflicts detected"The result of the last Check ZIP Code Conflicts.

The distance range is the quickest way to sanity-check a zone: select it with its pointer icon and read off how near and how far its hotels are.

Zone Statistics

The last section of the left panel. Three tiles give Total, Assigned and Unassigned hotels, and a Coverage bar shows the share that has a zone. Below, one card per zone shows its number of hotels, the Avg, Min and Max driving distance of those hotels, and how many different ZIPs they cover. A dash means no distance has been measured in that zone yet.

  • Zones are listed from the hotels, not from the rule table: a zone whose rule you deleted still appears, with a grey dot, for as long as hotels carry its name.
  • The figures refresh after uploads, selection panel actions, rule runs and undo. After a single edit in a popup or a table cell they can lag until the next refresh.
  • Clear All Properties, at the bottom, deletes every hotel in the project after asking. Undo does not bring them back, but a snapshot named "Before clearing all hotels" is saved first. Your zones and rules stay.

Cities Distance List

In File Management, Cities Distance List builds a spreadsheet of every city in your file with its distance from the origin: the raw material for deciding which cities belong in which zone, and what each zone's maximum distance should be. It needs hotels and an origin.

  • Calculation Method: Property-based uses the distances of your own hotels in each city; City boundary-based uses the city's centre or outline from OpenStreetMap.
  • Distance Type: Average Distance or Max Distance (the furthest hotel, or the furthest edge of the city).
  • Add coordinates to file adds a latitude and longitude for each city.

Choose Download. The list is built on the server and downloads by itself as an Excel file with the columns City, the distance in miles, and Property Count, nearest city first.

Chapter 12

Undo, history and snapshots

Undo is for the last few minutes. Snapshots are for yesterday.

GroundZones gives you two safety nets. Undo steps back through what you did in this browser tab. Snapshots are complete saved copies of the project, kept on the server, that survive closing the browser.

Undo and redo

Ctrl+Z (Cmd+Z)Undo the last step.
Ctrl+Y or Ctrl+Shift+Z (Cmd on a Mac)Redo.

The same two actions are the Undo and Redo buttons in the top bar, beside a caption of the last step ("Last: Rezoned 12 properties to Zone 3"). The shortcuts are ignored while you are typing in a box.

A step is whatever you did in one go, however many hotels it touched: a zone change on 500 hotels is one step, and so is a rule run, a conflict fix, a delete, an import, a Geocode, Reverse or Distance run, an edit in a popup or a table cell, Pin is correct, Use in the ZIP list, drawing an area, and any change to a zone rule.

  • History opens the list of steps, newest first. Click a step to go back to the moment just after it; everything newer is undone, and shown faded. Current State at the top returns to the newest step. Clear History empties the list without changing the map.
  • A deleted hotel comes back complete, with every column of your file.
  • An import can be undone but not redone: upload the file again instead.
  • Undoing thousands of hotels shows a progress bar in the top bar with Cancel. What has already been put back stays put back, and pressing Undo again finishes the job.
  • If a colleague has changed some of those hotels since, theirs are left alone and you are told: "Some changes not undone".

Not in the history: map position, hidden zones and the other Controls choices; changing the market; Generate Sectors; and Dismiss in the ZIP list.

Snapshots

Choose Snapshots in the top bar. A snapshot holds every hotel with all its columns, every zone and rule with its drawn areas, the market and origin, and the map view with its Controls choices.

  • Save one yourself before anything sweeping: type a name such as "before bulk rezone" (optional) and choose Save snapshot.
  • Saved for you: when you leave the project after changing something, and a few minutes after you stop making changes even if you never leave, so a crashed browser loses little. They are listed as Auto.
  • Saved before destructive actions: before a restore, before Clear All Properties ("Before clearing all hotels") and before all rules are deleted or replaced ("Before deleting all zone rules").
  1. Find the snapshot in the list. Each shows its name, when it was saved, and how many hotels and rules it holds.
  2. Choose Restore, then Yes, restore. The project as it is now is saved as a new snapshot first, so a restore can itself be reversed.
  3. The page reloads with the restored project.
  • If hotels or rules have changed since you opened the project, possibly by a colleague, you are asked before they are replaced.
  • A restore waits for running work: it is refused while an upload or another job is running in the project.
  • Not restored: the project's name, description and folder. The ZIP issues check starts afresh after a restore.
  • A restore clears the Undo history of the tab.

Chapter 13

Export the zoned file

Your columns, your order, your headers, with the zone filled in.

There are three export buttons and they produce the same file: Export under File Management in the left panel (Excel), and XLSX and CSV at the top right of the table. The file is named after the airport and the date, for example DEN_properties_2026-09-18.xlsx.

In the fileDetail
RowsEvery hotel in the project, zoned or not, with or without a pin.
ColumnsExactly the columns of the file you uploaded, in the same order, under the same headers, including the columns GroundZones never used.
ValuesThe current ones. An address you corrected, a ZIP code you accepted and an extra column you edited all come out as they are now.
The zoneIf you created zones from a column during upload, the zone is written back into that column. Otherwise a last column, Assigned Zone, is added.
Unassigned hotelsTheir zone reads "N/A".
  • Distances are not exported, and neither are the pin status or the notes of the address check. They are working figures for zoning.
  • Coordinates are exported only if your file had latitude and longitude columns. A file uploaded with addresses alone comes back with addresses alone.
  • State and country come out as two-letter codes. Other values come out as stored; a number or a date in one of your extra columns may be formatted differently from the original.
  • Rows are not guaranteed to be in the order you uploaded them. Sort on your ID column if the order matters.
  • If a project was built from two files with different layouts, the export follows the layout of the first. Keep to one layout per project.
  • Anyone who can open the project can export it, including view-only colleagues, and exports still work after a trial has ended.

Other downloads

  • Zone rules: Download above the rule table saves zone_rules.xlsx with the zone name, city, maximum distance, ZIP codes and colour. Drawn areas are not included.
  • Cities Distance List: see The table, search, Controls and Map Info.
  • Rules backup: when an upload replaces your zone rules, the Upload Complete screen offers Download Backup. It is only offered there.
  • Row errors: when a job reports failed rows, the Jobs page offers them as a CSV.

Chapter 14

Working with colleagues, and long-running work

View-only access, two people in one project, and jobs that outlast the page.

View-only access

Every plan includes unlimited users. A colleague can be given view-only access to the workspace or to a single project. They see the map, can select hotels, open popups, sort and filter the table, use Controls and export the file. Everything that changes the project is hidden: upload, rules, the selection panel, Undo and Snapshots. The left panel says so at the top: "You have view-only access."

Two people in one project

Nothing is pushed live between browsers: you see a colleague's changes when your map next reloads its data, which happens after your own actions and when you reload the page. What GroundZones does guarantee is that nobody's work is overwritten silently.

You seeWhat happened
"Changed by someone else - Someone else changed this hotel. Showing their version."A colleague saved that hotel after your map loaded it. Your edit was dropped and theirs is on screen. Make yours again if it still applies.
"Some hotels left as they were"In a group action, the hotels a colleague had changed were skipped. The rest went through.
"Already running"A colleague is running the same kind of job on some of the same hotels. Try again when it finishes.
"Project busy"An upload that replaces every hotel is running. Editing resumes when it ends.
A question before a restore or a replacing uploadHotels or rules changed after you opened the project. Continue only if you mean to replace those changes.

Work that runs on the server

Imports, rule runs, the ZIP check, the cities list and large Geocode, Reverse and Distance runs happen on the server. You can keep the page open and watch the progress bar, or leave: the work carries on either way.

  • When you open a map where work is still running, yours or a colleague's, a banner at the top of the map names it ("Applying zone rules is running (started by ...)") with its progress, and the map reloads when it finishes.
  • On your own jobs the banner has pause, resume and cancel buttons. Cancelling from the banner keeps what the job has already changed; only a cancel from the page that started the job rolls it back.
  • While an upload in Replace all properties mode runs, an amber strip says the map is view-only until it finishes, for everyone. Whoever started it can pause, resume or cancel it from the banner.
  • The Jobs page in the top bar lists finished and running jobs with their results, and has Pause, Resume and Cancel for any job still running in your workspace. Cancelling there keeps what the job has already changed.

During and after the free trial

The 30-day trial starts when you open your first airport, not when you sign up, and includes every feature described here. In its last week a banner counts the days down. If it ends without a plan, your work is kept and becomes read-only: you can open every project, look around and export. The map hides its editing controls and says why, and editing returns the moment you choose a plan.

Chapter 15

Shortcuts and troubleshooting

Every key and mouse gesture on one page, and answers to "why did that happen?".

Keyboard and mouse

Space + dragSelect the hotels in a box (replaces the selection).
Ctrl + dragAdd the hotels in a box to the selection.
Shift + dragRemove the hotels in a box from the selection.
Click a hotelSelect it and open its popup.
Ctrl + clickAdd a hotel to the selection.
Shift + clickRemove a hotel from the selection.
Click empty mapClear the selection.
DragMove the map. The mouse wheel and the + and - buttons zoom.
Ctrl+ZUndo.
Ctrl+Y or Ctrl+Shift+ZRedo.
Enter / EscSave or cancel the value you are editing, in a popup, a table cell or the rule table.
Shift + click a table rowSelect the range of rows from the last one clicked.
Double-click a table rowFly the map to that hotel.
Arrow keys, Enter, EscMove through and pick from the search results, the airport list and the table's zone list.

On a Mac, Cmd works wherever Ctrl is listed.

Why did that happen?

What you seeWhy, and what to do
Some hotels have no dot on the mapThey have no coordinates. Find them in the Table (sort by Lat; empty cells go last), select them and choose Geocode, or fix their addresses first.
Holding Space and dragging just moves the mapThe map did not hear the key. Move the pointer over the map, press Space, then drag. If a text box has the cursor, click the map first.
Clicking a hotel opens a ZIP code or city popup insteadA boundary layer is drawn above the hotels. Under Controls, Layer Order, move Properties to the top.
A hotel is grey although it has a zoneIts zone name has no entry in Zone Rules, usually because the name was typed in the table or the rule was deleted. Add a zone with exactly that name.
I ticked ZIP Code Boundaries and nothing appearedZoom in. ZIP code areas are drawn from about city level, city outlines from a little further out.
The same hotels appeared twice after a second uploadThe file has no External ID mapped, so nothing could be recognised as already there. Undo the import, then upload with Replace all properties, or map an ID column.
Rules left some hotels untouchedA hotel that matches no rule keeps its zone. Check that the outermost zone reaches far enough, that every rule has a Dist where the mode uses one, and that city names are spelt as in the file.
Rules put a hotel in an unexpected zoneWhere rules overlap, the smallest Dist wins. In Distance Only, each zone is a band starting where the previous one ends. In ZIP Code Boundaries, the pin decides, not the ZIP column.
A hotel's distance reads "--"Its pin was moved, or it has never been measured. Choose Distance in its popup; the next rule run measures it too.
The export is missing coordinates or distancesCoordinates are exported only into latitude and longitude columns your file already had. Distances are never exported.
Undo is greyed out after a reloadHistory lives in the browser tab. Use Snapshots to go further back.
The top bar shows ZIP check instead of ZIP issuesNo hotel is flagged. Open it to run Check whole project anyway.
The editing controls have disappeared from the mapThe left panel says why: view-only access, a free trial that has ended, or an upload replacing every hotel. Exports still work.

Frequently asked questions

Do I have to use zone rules?

No. Most files are zoned by hand: add your zones, select hotels on the map with a box, and pick their zone. Rules are an optional first pass for large files and for schemes that are genuinely distance bands, city lists or ZIP code lists.

Can I use rules first and then fix things by hand?

Yes, and that is the recommended order. Rules overwrite the zone of any hotel they match, including hotels zoned by hand, so apply them first and tidy up afterwards.

What does the exported file look like?

It has exactly the columns of the file you uploaded, in the same order and under the same headers, with current values. The zone goes into the zone column you mapped at upload, or into a new last column called Assigned Zone. Distances are not exported.

Does the export respect my filters or selection?

No. Every export button exports the whole project, zoned and unassigned hotels alike.

What happens when I upload a newer hotel list into the same project?

With "Add new properties only", rows whose External ID is already in the project are skipped and the hotels you have zoned keep their zones. Rows with no External ID are always added, so map an ID column if your file has one.

Are distances driving distances or straight lines?

Driving distances in miles, by road, from the airport terminal. Every rule run measures afresh, a changed airport re-measures the whole project, and a moved pin loses its old distance until it is measured again.

How far back can I undo?

Undo keeps the last 50 steps of the current browser tab and is lost on reload. Snapshots are complete copies of the project kept on the server, up to 50 per project, saved automatically when you leave and whenever you ask.

What is the difference between ZIP Code Conflicts and ZIP issues?

ZIP Code Conflicts finds ZIP codes whose hotels are in more than one zone and can move them all into one zone. ZIP issues finds hotels whose ZIP code and pin disagree and lets you correct the ZIP code one hotel at a time.

Try it on your own hotel file.

Your first 30 days are free, with no card. The trial starts when you open your first airport.

Questions this manual does not answer: support@groundzones.com. GroundZones is independent and not affiliated with or endorsed by Expedia Group.