geodirectory/get-listing-package reports which pricing package a listing is on, when it expires, and which custom fields that package permits.
On a paid directory this is the call before updating a listing.
At a glance
| Ability | geodirectory/get-listing-package |
| Toolset | GeoDirectory — toolset/geodirectory |
| Group | GeoDirectory › Pricing Packages |
| Requires | AcrossAI Pro, plus GeoDirectory active on the site |
| Capability | manage_options |
| Safety | Read-only — changes nothing |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Pro 0.9.16 and later |
How it works
A package can exclude fields. A listing on the free package may not be allowed a website URL, or a gallery, or a featured flag — and GeoDirectory enforces that by dropping those values on save rather than rejecting the write.
So an update reports success, the response looks right, and the field is empty afterwards. There is no error and nothing in the listing explains it.
This is the only way to know in advance. It tests the fields against the package and says which ones will stick.
The check_fields parameter narrows the test to specific keys; omitting it tests every field the listing type defines.
The expiry matters separately. A listing whose package has expired behaves differently — usually downgraded or unpublished — and that is a state worth reading before wondering why a listing vanished.
Requires the Pricing Manager add-on. Without it there are no packages, and the ability reports that rather than returning nothing.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
id | integer | Yes | Listing post ID. |
check_fields | array | No | Specific field keys to test against the package. Omit to test every field. |
What comes back
| Name | Type | What it is |
|---|---|---|
package | object | The package the listing is on, with its expiry. |
allowed_fields | array | Fields this package permits. |
excluded_fields | array | Fields whose writes would be dropped. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation. |
Example
Ask your assistant:
Why did the website field not save on this listing?
It resolves to one call:
{
"ability": "geodirectory/get-listing-package",
"parameters": {
"id": 812
}
}Worth knowing
- Excluded fields are dropped on save, not rejected. This is the only warning.
- An expired package changes how the listing behaves.
- Test before updating on a paid directory.
- Requires the Pricing Manager add-on.
Related abilities
- GeoDirectory Update Listing — the write this protects
- GeoDirectory List Pricing Packages — the packages themselves
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category