Create one or more catalog rate modifier rules in parallel. Each rule requires buildingId, name, plus a
match object (tagged union on type: FLOOR / FLOOR_SIZE / ZONE / ORIENTATION — set only the matching
branch payload) and an adjustment object (tagged union on type: PERCENTAGE → percentage delta, or
FLAT → flat cash amount). Partial failures do not abort the rest.
| Parameter |
Type |
Required |
Description |
rateModifiers |
CreateRateModifierInput[] |
Yes |
Array of rate modifier rules to create - CreateRateModifierInput |
| Field |
Type |
Required |
Description |
buildingId |
string |
Yes |
The ID of the building the rule applies to |
name |
string |
Yes |
Human-readable name (max 150 characters) |
match |
MatchCriteria |
Yes |
MatchCriteria |
adjustment |
RateAdjustment |
Yes |
RateAdjustment |
enabled |
boolean |
No |
Whether the rule is enabled. Defaults to true. |
effectiveFrom |
string |
No |
Optional ISO-8601 start of the effective window |
effectiveTo |
string |
No |
Optional ISO-8601 end of the effective window |
| Field |
Type |
Required |
Description |
type |
Type |
Yes |
Discriminator selecting the adjustment arm. PERCENTAGE → set percentage; FLAT → set flat. - Type |
percentage |
PercentageAdjustment |
No |
PercentageAdjustment |
flat |
FlatAdjustment |
No |
FlatAdjustment |
| Field |
Type |
Required |
Description |
operator |
OrderedMatchOperator |
Yes |
OrderedMatchOperator |
floors |
number[] |
Yes |
Floor numbers the rule matches against. Scalar operators require exactly one value; IN/NIN require at least one. |
| Field |
Type |
Required |
Description |
operator |
OrderedMatchOperator |
Yes |
OrderedMatchOperator |
floorSizes |
number[] |
Yes |
Floor sizes (in square metres) the rule matches against. Must be non-negative. |
| Field |
Type |
Required |
Description |
operator |
IdentityMatchOperator |
Yes |
IdentityMatchOperator |
zoneIds |
string[] |
Yes |
Zone IDs the rule matches against. All zones must belong to the rule’s building. |
| Field |
Type |
Required |
Description |
operator |
IdentityMatchOperator |
Yes |
IdentityMatchOperator |
orientationIds |
string[] |
Yes |
Orientation IDs the rule matches against. All orientations must belong to the rule’s building. |
| Field |
Type |
Required |
Description |
delta |
number |
Yes |
Multiplicative delta, e.g. 0.1 = +10%. Range -9.9999..9.9999. |
| Field |
Type |
Required |
Description |
amount |
unknown |
Yes |
Signed money object (minor units + ISO 4217 currency). |
| Value |
Description |
FLOOR |
Rule matches against unit floors |
FLOOR_SIZE |
Rule matches against unit floor sizes (in square metres) |
ZONE |
Rule matches against unit zones |
ORIENTATION |
Rule matches against unit orientations |
| Value |
Description |
PERCENTAGE |
Percentage delta applied to the base rate |
FLAT |
Fixed cash amount added to/subtracted from the base rate |
| Value |
Description |
EQ |
Equal to |
NEQ |
Not equal to |
GT |
Greater than |
GTE |
Greater than or equal to |
LT |
Less than |
LTE |
Less than or equal to |
IN |
In the set of values |
NIN |
Not in the set of values |
| Value |
Description |
EQ |
Equal to |
NEQ |
Not equal to |
IN |
In the set of values |
NIN |
Not in the set of values |
| Field |
Type |
Description |
content |
ContentItem[] |
Array of content items returned by the tool - ContentItem |
isError |
boolean |
Whether the tool execution resulted in an error |
| Field |
Type |
Description |
type |
'text' |
Content type (currently only ‘text’ is supported) |
text |
string |
The text content to display |