Update instalment plan templates by ID. Core fields (name, guarantorRequired, type, and optional academicYear) are
replaced together. External-name translations can be upserted independently by locale: omitted locales remain
unchanged and an empty value clears that locale. Tags can also be set independently; they replace any existing tags
and an empty array clears them. Each template in the batch is updated independently; partial failures are reported
per-item. Phases run in order (core fields, translations, tags); a later failure is reported explicitly but does not
roll earlier phases back. Use list_instalment_plan_templates to discover template IDs first.
| Parameter |
Type |
Required |
Description |
instalmentPlanTemplates |
UpdateInstalmentPlanTemplateInput[] |
Yes |
Array of instalment plan templates to update - UpdateInstalmentPlanTemplateInput |
| Field |
Type |
Required |
Description |
id |
string |
Yes |
ID of the instalment plan template to update |
name |
string |
No |
Human-readable name for the template (max 255 characters) |
guarantorRequired |
boolean |
No |
Whether a guarantor is required when using this template |
academicYear |
AcademicYear | null |
No |
Academic year this template applies to. It can only be supplied with name, guarantorRequired, and type; pass null with those fields to clear it, or omit it to preserve the current value. - AcademicYear |
type |
PlanType |
No |
PlanType |
externalNameTranslations |
ExternalNameTranslation[] |
No |
External-name translations to upsert by locale. Omitted locales remain unchanged; an empty value clears the supplied locale. - ExternalNameTranslation |
tags |
string[] |
No |
Tag keys to set on the template, replacing any existing tags. Pass an empty array to clear all tags. Use list_tags with entity INSTALMENT_PLAN_TEMPLATE to discover existing keys. |
| Field |
Type |
Required |
Description |
kind |
PlanTypeKind |
Yes |
Plan type discriminator. One of FULL_PAYMENT, CALENDAR_MONTHLY, or CUSTOM. FULL_PAYMENT = one payment; CALENDAR_MONTHLY = monthly instalments; CUSTOM = bespoke schedule requiring startDate and instalments. - PlanTypeKind |
currency |
string |
No |
ISO-4217 currency code the plan is denominated in (e.g. GBP, EUR) |
startDate |
string |
No |
Start date of the plan (ISO date). Required when kind is CUSTOM. |
instalments |
CustomInstalment[] |
No |
Ordered list of instalments. Required when kind is CUSTOM; percentages must sum to 100. Only the last instalment may have a null to. - CustomInstalment |
advancedPayments |
AdvancedPayment[] |
No |
Optional advanced payments collected before the regular instalment schedule begins - AdvancedPayment |
| Field |
Type |
Required |
Description |
locale |
string |
Yes |
BCP 47 locale code for the translation (e.g. en, es, en-GB) |
value |
string |
Yes |
Translated external name (max 255 characters). Use an empty string to clear this locale; omit the locale entry entirely to leave it unchanged. |
| Field |
Type |
Required |
Description |
to |
string | null |
Yes |
End date of the instalment period (ISO date, e.g. 2025-12-31). Pass null on the last instalment only to make it open-ended (“Extend to booking check-out date”); it then runs to the booking’s billing end date. |
percentage |
string |
Yes |
Percentage of the total due in this instalment, as a decimal string (e.g. “70.25”) |
| Field |
Type |
Required |
Description |
kind |
AdvancedPaymentOnKind |
Yes |
Advanced payment trigger kind. One of IMMEDIATE or DAYS_BEFORE_CONTRACT_START. IMMEDIATE is due on booking; DAYS_BEFORE_CONTRACT_START is due N days before the contract start date. - AdvancedPaymentOnKind |
days |
number |
No |
Number of days before contract start. Required when kind is DAYS_BEFORE_CONTRACT_START. |
| Field |
Type |
Required |
Description |
kind |
AdvancedPaymentAmountKind |
Yes |
Advanced payment amount kind. One of PERCENTAGE, FIXED, or MONTHS. Determines which of percentage, fixedAmount, or months must be populated. - AdvancedPaymentAmountKind |
percentage |
string |
No |
Percentage value as a decimal string (e.g. “25.5”). Required when kind is PERCENTAGE. |
fixedAmount |
AdvancedPaymentFixedAmount |
No |
Fixed monetary amount. Required when kind is FIXED. - AdvancedPaymentFixedAmount |
months |
string |
No |
Number of months as a decimal string (e.g. “2.5”). Required when kind is MONTHS. |
| Field |
Type |
Required |
Description |
amount |
number |
Yes |
Monetary value in the smallest currency unit (e.g. cents/pence) |
currency |
string |
Yes |
ISO-4217 currency code (e.g. EUR, GBP, USD) |
| Value |
Description |
YEAR_2025_2026 |
2025/26 academic year |
YEAR_2026_2027 |
2026/27 academic year |
YEAR_2027_2028 |
2027/28 academic year |
YEAR_2028_2029 |
2028/29 academic year |
YEAR_2029_2030 |
2029/30 academic year |
| Value |
Description |
FULL_PAYMENT |
A single up-front payment for the full balance |
CALENDAR_MONTHLY |
Equal monthly instalments aligned to calendar months |
CUSTOM |
Bespoke instalment schedule defined by startDate and instalments |
| Value |
Description |
IMMEDIATE |
Due immediately on booking |
DAYS_BEFORE_CONTRACT_START |
Due N days before the contract start date |
| Value |
Description |
PERCENTAGE |
Percentage of the total balance |
FIXED |
Fixed monetary amount in a specific currency |
MONTHS |
Number of months of contract value |
| 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 |