diff --git a/types/consumer-data-standards/.eslintrc.json b/types/consumer-data-standards/.eslintrc.json index 39d4cc857bbf89..52abb9e97c1b54 100644 --- a/types/consumer-data-standards/.eslintrc.json +++ b/types/consumer-data-standards/.eslintrc.json @@ -1,5 +1,6 @@ { "rules": { - "@definitelytyped/no-const-enum": "off" + "@definitelytyped/no-const-enum": "off", + "@typescript-eslint/no-empty-interface": "off" } } diff --git a/types/consumer-data-standards/admin/index.d.ts b/types/consumer-data-standards/admin/index.d.ts index fee2251c820ac4..2b4976d2809b21 100644 --- a/types/consumer-data-standards/admin/index.d.ts +++ b/types/consumer-data-standards/admin/index.d.ts @@ -1,2838 +1,1066 @@ /* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ /** - * Percentage availability of the CDR platform over time - */ -export interface AvailabilityMetrics { - /** - * Percentage availability of the CDR platform so far for the current calendar month. 0.0 means 0%. 1.0 means 100%. - */ - currentMonth?: number | null; - /** - * Percentage availability of the CDR platform for previous calendar months. The first element indicates the last month and so on. A maximum of twelve entries is required if available. 0.0 means 0%. 1.0 means 100%.clear - */ - previousMonths?: number[] | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ - -/** - * Average response time in seconds, at millisecond resolution, within each performance tier - */ -export interface AverageResponseMetricsV2 { - /** - * Average response time for the high priority tier - */ - highPriority: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time for the large payload tier - */ - largePayload: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time for the large payload tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster - */ - largeSecondary?: { - /** - * Average response time as measured for the primary data holder - */ - primary: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time as measured for the secondary data holder - */ - secondary: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - } | null; - /** - * Average response time for the low priority tier - */ - lowPriority: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time for the secondary tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster - */ - secondary?: { - /** - * Average response time as measured for the primary data holder - */ - primary: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time as measured for the secondary data holder - */ - secondary: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - } | null; - /** - * Average response time for the unattended tier - */ - unattended: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time for the unauthenticated tier - */ - unauthenticated: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ - -/** - * Transactions per second over time - */ -export interface AverageTPSMetrics { - /** - * Average TPS for current day - */ - currentDay?: number | null; - /** - * Average TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ - -/** - * Average transactions per second over time - */ -export interface AverageTPSMetricsV2 { - /** - * Aggregate average transactions per second over time for all endpoints - */ - aggregate: { - /** - * Average TPS for current day. Must be a positive value or zero - */ - currentDay?: number | null; - /** - * Average TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average transactions per second over time for authenticated endpoints - */ - authenticated: { - /** - * Average TPS for current day. Must be a positive value or zero - */ - currentDay?: number | null; - /** - * Average TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average transactions per second over time for unauthenticated endpoints - */ - unauthenticated: { - /** - * Average TPS for current day. Must be a positive value or zero - */ - currentDay?: number | null; - /** - * Average TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ - -/** - * Authorisation counts for the data holder + * Authorisation counts for the data holder. */ export interface AuthorisationMetricsV2 { /** - * The number of consents flows that were not successfully authorised + * The number of consents flows that were not successfully authorised. */ abandonedConsentFlowCount: { /** - * Number of consents flows that were not successfully authorised for the current day + * Number of consents flows that were not successfully authorised for the current day. */ currentDay?: number | null; /** - * Number of consents flows that were not successfully authorised for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Number of consents flows that were not successfully authorised for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * Customer abandonment count per stage of the consent flow. Note that the aggregated abandonment count for all stages for a period should equal the count in `abandonedConsentFlowCount` for the same period (ie. each abandoned consent should assigned to one, and only one, stage) + * Customer abandonment count per stage of the consent flow. Note that the aggregated abandonment count for all stages for a period should equal the count in _abandonedConsentFlowCount_ for the same period (i.e. each abandoned consent should assigned to one, and only one, stage). */ abandonmentsByStage: { /** - * The number of authorisations that completed the interactive flow with the consumer authorising the consent, but the ADR failed to - or was unable to - obtain a refresh or access token using the authorisation code + * The number of authorisations that completed the interactive flow with the consumer authorising the consent, but the ADR failed to - or was unable to - obtain a refresh or access token using the authorisation code. */ failedTokenExchange: { /** - * Number of abandoned consent flows for this stage for the current day + * Number of abandoned consent flows for this stage for the current day. */ currentDay?: number | null; /** - * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * The number of authorisations where the customer successfully authenticated with a valid OTP or equivalent but abandoned the process before selecting accounts + * The number of authorisations where the customer successfully authenticated with a valid OTP or equivalent but abandoned the process before selecting accounts. */ preAccountSelection: { /** - * Number of abandoned consent flows for this stage for the current day + * Number of abandoned consent flows for this stage for the current day. */ currentDay?: number | null; /** - * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * The number of authorisations where the customer identified themselves (ie. they successfully identify the customer profile to use for the authorisation) but failed to provide a valid OTP or equivalent + * The number of authorisations where the customer identified themselves (i.e. they successfully identify the customer profile to use for the authorisation) but failed to provide a valid OTP or equivalent. */ preAuthentication: { /** - * Number of abandoned consent flows for this stage for the current day + * Number of abandoned consent flows for this stage for the current day. */ currentDay?: number | null; /** - * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * The number of authorisations where the customer has passed the account selection step but abandoned the process before approving or rejecting the consent being requested + * The number of authorisations where the customer has passed the account selection step but abandoned the process before approving or rejecting the consent being requested. */ preAuthorisation: { /** - * Number of abandoned consent flows for this stage for the current day + * Number of abandoned consent flows for this stage for the current day. */ currentDay?: number | null; /** - * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * The number of authorisations that commenced with the data holder but the customer did not successfully identify their profile or user ID + * The number of authorisations that commenced with the data holder but the customer did not successfully identify their profile or user ID. */ preIdentification: { /** - * Number of abandoned consent flows for this stage for the current day + * Number of abandoned consent flows for this stage for the current day. */ currentDay?: number | null; /** - * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * The number of authorisations where the customer actively rejected the authorisation rather than abandoning the process + * The number of authorisations where the customer actively rejected the authorisation rather than abandoning the process. */ rejected: { /** - * Number of abandoned consent flows for this stage for the current day + * Number of abandoned consent flows for this stage for the current day. */ currentDay?: number | null; /** - * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; - [k: string]: unknown; }; /** - * The number of active ongoing authorisations + * The number of active ongoing authorisations. */ activeAuthorisationCount: { /** - * Active ongoing authorisation count for individual customers + * Active ongoing authorisation count for individual customers. */ individual: number; /** - * Active ongoing authorisation count for non-individual customers + * Active ongoing authorisation count for non-individual customers. */ nonIndividual: number; - [k: string]: unknown; }; /** - * The number of amended ongoing authorisations + * The number of amended ongoing authorisations. */ amendedAuthorisationCount: { /** - * Number of amended authorisations for the current day + * Number of amended authorisations for the current day. */ currentDay?: { /** - * Amended authorisation count for individual customers + * Amended authorisation count for individual customers. */ individual: number; /** - * Amended authorisation count for non-individual customers + * Amended authorisation count for non-individual customers. */ nonIndividual: number; - [k: string]: unknown; } | null; /** - * Number of amended authorisations for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Number of amended authorisations for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: - | Array<{ + | { /** - * Amended authorisation count for individual customers + * Amended authorisation count for individual customers. */ individual: number; /** - * Amended authorisation count for non-individual customers + * Amended authorisation count for non-individual customers. */ nonIndividual: number; - [k: string]: unknown; - }> + }[] | null; - [k: string]: unknown; }; /** - * The number of expired ongoing authorisations + * The number of expired ongoing authorisations. */ expiredAuthorisationCount: { /** - * Number of expired authorisations for the current day + * Number of expired authorisations for the current day. */ currentDay?: { /** - * Expired authorisation count for individual customers + * Expired authorisation count for individual customers. */ individual: number; /** - * Expired authorisation count for non-individual customers + * Expired authorisation count for non-individual customers. */ nonIndividual: number; - [k: string]: unknown; } | null; /** - * Number of expired authorisations for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Number of expired authorisations for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: - | Array<{ + | { /** - * Expired authorisation count for individual customers + * Expired authorisation count for individual customers. */ individual: number; /** - * Expired authorisation count for non-individual customers + * Expired authorisation count for non-individual customers. */ nonIndividual: number; - [k: string]: unknown; - }> + }[] | null; - [k: string]: unknown; }; /** - * The number of new authorisations + * The number of new authorisations. */ newAuthorisationCount: { /** - * Number of new authorisations for the current day + * Number of new authorisations for the current day. */ currentDay?: { /** - * New authorisation count for once-off authorisations + * New authorisation count for once-off authorisations. */ onceOff: { /** - * New authorisation count for individual customers + * New authorisation count for individual customers. */ individual: number; /** - * New authorisation count for non-individual customers + * New authorisation count for non-individual customers. */ nonIndividual: number; - [k: string]: unknown; }; /** - * New authorisation count for ongoing authorisations + * New authorisation count for ongoing authorisations. */ ongoing: { /** - * New authorisation count for individual customers + * New authorisation count for individual customers. */ individual: number; /** - * New authorisation count for non-individual customers + * New authorisation count for non-individual customers. */ nonIndividual: number; - [k: string]: unknown; }; - [k: string]: unknown; } | null; /** - * Number of new authorisations for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Number of new authorisations for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: - | Array<{ + | { /** - * New authorisation count for once-off authorisations + * New authorisation count for once-off authorisations. */ onceOff: { /** - * New authorisation count for individual customers + * New authorisation count for individual customers. */ individual: number; /** - * New authorisation count for non-individual customers + * New authorisation count for non-individual customers. */ nonIndividual: number; - [k: string]: unknown; }; /** - * New authorisation count for ongoing authorisations + * New authorisation count for ongoing authorisations. */ ongoing: { /** - * New authorisation count for individual customers + * New authorisation count for individual customers. */ individual: number; /** - * New authorisation count for non-individual customers + * New authorisation count for non-individual customers. */ nonIndividual: number; - [k: string]: unknown; }; - [k: string]: unknown; - }> + }[] | null; - [k: string]: unknown; }; /** - * The number of revoked authorisations + * The number of revoked authorisations. */ revokedAuthorisationCount: { /** - * Number of revoked authorisations for the current day + * Number of revoked authorisations for the current day. */ currentDay?: { /** - * Revoked authorisation count for individual customers + * Revoked authorisation count for individual customers. */ individual: number; /** - * Revoked authorisation count for non-individual customers + * Revoked authorisation count for non-individual customers. */ nonIndividual: number; - [k: string]: unknown; } | null; /** - * Number of revoked authorisations for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Number of revoked authorisations for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: - | Array<{ + | { /** - * Revoked authorisation count for individual customers + * Revoked authorisation count for individual customers. */ individual: number; /** - * Revoked authorisation count for non-individual customers + * Revoked authorisation count for non-individual customers. */ nonIndividual: number; - [k: string]: unknown; - }> + }[] | null; - [k: string]: unknown; }; - [k: string]: unknown; -} - -/** - * Number of calls resulting in error due to server execution over time - */ -export interface ErrorMetrics { - /** - * Number of errors for current day - */ - currentDay?: number | null; - /** - * Number of errors for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ /** - * Number of calls resulting in error due to server execution over time + * Availability metrics. */ -export interface ErrorMetricsV2 { +export interface AvailabilityMetricsV2 { /** - * Aggregate number of calls resulting in error due to server execution over time for all endpoints + * Aggregated availability metrics. */ aggregate: { /** - * Error counts for current day + * Percentage availability of the CDR platform so far for the current calendar month. `0.0` means 0%. `1.0` means 100%. Must be a positive value or zero. */ - currentDay?: number | null; + currentMonth?: string | null; /** - * Error counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Percentage availability of the CDR platform for previous calendar months. The first element indicates the last month and so on. A maximum of twelve entries is required if available. `0.0` means 0%. `1.0` means 100%. Values must be a positive or zero. */ - previousDays?: number[] | null; - [k: string]: unknown; - } | null; + previousMonths?: string[] | null; + }; /** - * Number of calls resulting in error due to server execution over time for authenticated endpoints + * Availability metrics for the authenticated aspects of the CDR regime. */ authenticated: { /** - * Error counts, by HTTP error code, for current day + * Percentage availability of the CDR platform so far for the current calendar month. `0.0` means 0%. `1.0` means 100%. Must be a positive value or zero. */ - currentDay?: { - /** - * Number of errors for HTTP error code 500. Note that this field is an example of a single entry due to the lack of OAS support for the JSON Schema `patternProperties` syntax. See the `additionalProperties` field in this schema for the generic property structure for error code counts - */ - "500"?: number | null; - /** - * Number of errors for a specific HTTP error code. Note that the property name must be 3 digits represent the HTTP error code the error is for - */ - [k: string]: unknown; - } | null; + currentMonth?: string | null; /** - * Error counts, by HTTP error code, for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Percentage availability of the CDR platform for previous calendar months. The first element indicates the last month and so on. A maximum of twelve entries is required if available. `0.0` means 0%. `1.0` means 100%. Values must be a positive or zero. */ - previousDays?: - | Array<{ - /** - * Number of errors for HTTP error code 500. Note that this field is an example of a single entry due to the lack of OAS support JSON Schema `patternProperties` syntax. See the `additionalProperties` field in this schema for the generic property structure for error code counts - */ - "500"?: number; - /** - * Number of errors for a specific HTTP error code. Note that the property name must be 3 digits represent the HTTP error code the error is for - */ - [k: string]: unknown; - }> - | null; - [k: string]: unknown; + previousMonths?: string[] | null; }; /** - * Number of calls resulting in error due to server execution over time for unauthenticated endpoints + * Availability metrics for the unauthenticated aspects of the CDR regime. */ unauthenticated: { /** - * Error counts, by HTTP error code, for current day + * Percentage availability of the CDR platform so far for the current calendar month. `0.0` means 0%. `1.0` means 100%. Must be a positive value or zero. */ - currentDay?: { - /** - * Number of errors for HTTP error code 500. Note that this field is an example of a single entry due to the lack of OAS support for the JSON Schema `patternProperties` syntax. See the `additionalProperties` field in this schema for the generic property structure for error code counts - */ - "500"?: number | null; - /** - * Number of errors for a specific HTTP error code. Note that the property name must be 3 digits represent the HTTP error code the error is for - */ - [k: string]: unknown; - } | null; + currentMonth?: string | null; /** - * Error counts, by HTTP error code, for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Percentage availability of the CDR platform for previous calendar months. The first element indicates the last month and so on. A maximum of twelve entries is required if available. `0.0` means 0%. `1.0` means 100%. Values must be a positive or zero. */ - previousDays?: - | Array<{ - /** - * Number of errors for HTTP error code 500. Note that this field is an example of a single entry due to the lack of OAS support JSON Schema `patternProperties` syntax. See the `additionalProperties` field in this schema for the generic property structure for error code counts - */ - "500"?: number; - /** - * Number of errors for a specific HTTP error code. Note that the property name must be 3 digits represent the HTTP error code the error is for - */ - [k: string]: unknown; - }> - | null; - [k: string]: unknown; + previousMonths?: string[] | null; }; - [k: string]: unknown; } +/* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ + /** - * Number of API calls in each performance tier over time + * Average response time in seconds, at millisecond resolution, within each performance tier. */ -export interface InvocationMetricsV2 { +export interface AverageResponseMetricsV2 { /** - * API call counts for the high priority tier + * Average response time for the high priority tier. */ highPriority: { /** - * API call counts for current day + * Average response time for current day. */ currentDay?: number | null; /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * API call counts for the large payload tier + * Average response time for the large payload tier. */ largePayload: { /** - * API call counts for current day + * Average response time for current day. */ currentDay?: number | null; /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * API call counts for the large Shared Responsibility Data Requests tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster + * Average response time for the large payload tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster. */ largeSecondary?: { /** - * API call counts for current day + * Average response time as measured for the primary data holder. */ - currentDay?: number | null; + primary: { + /** + * Average response time for current day. + */ + currentDay?: number | null; + /** + * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. + */ + previousDays?: number[] | null; + }; /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Average response time as measured for the secondary data holder. */ - previousDays?: number[] | null; - [k: string]: unknown; - } | null; - /** - * API call counts for the low priority tier - */ - lowPriority: { + secondary: { + /** + * Average response time for current day. + */ + currentDay?: number | null; + /** + * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. + */ + previousDays?: number[] | null; + }; + } | null; + /** + * Average response time for the low priority tier. + */ + lowPriority: { /** - * API call counts for current day + * Average response time for current day. */ currentDay?: number | null; /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * API call counts for the Shared Responsibility Data Requests tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster + * Average response time for the secondary tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster. */ secondary?: { /** - * API call counts for current day + * Average response time as measured for the primary data holder. */ - currentDay?: number | null; + primary: { + /** + * Average response time for current day. + */ + currentDay?: number | null; + /** + * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. + */ + previousDays?: number[] | null; + }; /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Average response time as measured for the secondary data holder. */ - previousDays?: number[] | null; - [k: string]: unknown; + secondary: { + /** + * Average response time for current day. + */ + currentDay?: number | null; + /** + * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. + */ + previousDays?: number[] | null; + }; } | null; /** - * API call counts for the unattended tier + * Average response time for the unattended tier. */ unattended: { /** - * API call counts for current day + * Average response time for current day. + */ + currentDay?: number | null; + /** + * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. + */ + previousDays?: number[] | null; + }; + /** + * Average response time for the unauthenticated tier. + */ + unauthenticated: { + /** + * Average response time for current day. + */ + currentDay?: number | null; + /** + * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. + */ + previousDays?: number[] | null; + }; +} +/* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ + +/** + * Average transactions per second, over time. + */ +export interface AverageTPSMetricsV2 { + /** + * Aggregate average transactions per second, over time, for all endpoints. + */ + aggregate: { + /** + * Average TPS for current day. Must be a positive value or zero. + */ + currentDay?: number | null; + /** + * Average TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero. + */ + previousDays?: number[] | null; + }; + /** + * Average transactions per second, over time, for authenticated endpoints. + */ + authenticated: { + /** + * Average TPS for current day. Must be a positive value or zero. */ currentDay?: number | null; /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Average TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * API call counts for the unauthenticated tier + * Average transactions per second, over time, for unauthenticated endpoints. */ unauthenticated: { /** - * API call counts for current day + * Average TPS for current day. Must be a positive value or zero. + */ + currentDay?: number | null; + /** + * Average TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero. + */ + previousDays?: number[] | null; + }; +} +/* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ + +/** + * Number of calls resulting in error, over time. + */ +export interface ErrorMetricsV2 { + /** + * Aggregate number of calls resulting in error due to server execution, over time, for all endpoints. + */ + aggregate: { + /** + * Error counts for current day. */ currentDay?: number | null; /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Error counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; - [k: string]: unknown; + /** + * Number of calls resulting in error for authenticated endpoints. + */ + authenticated: { + /** + * Error counts, by HTTP error code, for current day. + */ + currentDay?: { + /** + * Reflecting the description provided in the adjacent _additionalProperties_ field, this is an example demonstrating the structure for reporting the number of calls resulting in HTTP error code `500`. Each error code recorded by the Data Holder in the 4xx and 5xx range **MUST** be provided in this format against the respective property name. + */ + "500"?: number | null; + /** + * This is a placeholder field to be substituted with each respective HTTP error code in the 4xx and 5xx range recorded by the Data Holder. It is represented by _property1_ and _property2_ in the _Non-normative Examples_ section. Note that the property name **MUST** be the three-digit HTTP error code as per the adjacent _500_ example. All possible property names have not been defined as the range is expected to vary across participants. Examples would include, but are not limited to: _400, 401, 403, 404, 405, 406, 415, 422, 429, 500, 503, 504_. + */ + [k: string]: unknown; + } | null; + /** + * Error counts, by HTTP error code, for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. + */ + previousDays?: + | { + /** + * Reflecting the description provided in the adjacent _additionalProperties_ field, this is an example demonstrating the structure for reporting the number of calls resulting in HTTP error code `500`. Each error code recorded by the Data Holder in the 4xx and 5xx range **MUST** be provided in this format against the respective property name. + */ + "500"?: number; + /** + * This is a placeholder field to be substituted with each respective HTTP error code in the 4xx and 5xx range recorded by the Data Holder. It is represented by _property1_ and _property2_ in the _Non-normative Examples_ section. Note that the property name **MUST** be the three-digit HTTP error code as per the adjacent _500_ example. All possible property names have not been defined as the range is expected to vary across participants. Examples would include, but are not limited to: _400, 401, 403, 404, 405, 406, 415, 422, 429, 500, 503, 504_. + */ + [k: string]: unknown; + }[] + | null; + }; + /** + * Number of calls resulting in error for unauthenticated endpoints. + */ + unauthenticated: { + /** + * Error counts, by HTTP error code, for current day. + */ + currentDay?: { + /** + * Reflecting the description provided in the adjacent _additionalProperties_ field, this is an example demonstrating the structure for reporting the number of calls resulting in HTTP error code `500`. Each error code recorded by the Data Holder in the 4xx and 5xx range **MUST** be provided in this format against the respective property name. + */ + "500"?: number | null; + /** + * This is a placeholder field to be substituted with each respective HTTP error code in the 4xx and 5xx range recorded by the Data Holder. It is represented by _property1_ and _property2_ in the _Non-normative Examples_ section. Note that the property name **MUST** be the three-digit HTTP error code as per the adjacent _500_ example. All possible property names have not been defined as the range is expected to vary across participants. Examples would include, but are not limited to: _400, 404, 405, 406, 415, 422, 429, 500, 503, 504_. + */ + [k: string]: unknown; + } | null; + /** + * Error counts, by HTTP error code, for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. + */ + previousDays?: + | { + /** + * Reflecting the description provided in the adjacent _additionalProperties_ field, this is an example demonstrating the structure for reporting the number of calls resulting in HTTP error code `500`. Each error code recorded by the Data Holder in the 4xx and 5xx range **MUST** be provided in this format against the respective property name. + */ + "500"?: number; + /** + * This is a placeholder field to be substituted with each respective HTTP error code in the 4xx and 5xx range recorded by the Data Holder. It is represented by _property1_ and _property2_ in the _Non-normative Examples_ section. Note that the property name **MUST** be the three-digit HTTP error code as per the adjacent _500_ example. All possible property names have not been defined as the range is expected to vary across participants. Examples would include, but are not limited to: _400, 404, 405, 406, 415, 422, 429, 500, 503, 504_. + */ + [k: string]: unknown; + }[] + | null; + }; +} +/* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ + +export interface ErrorV2 { + /** + * The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the _meta_ object. Otherwise, the value is the error code URN. + */ + code: string; + /** + * A human-readable explanation specific to this occurrence of the problem. + */ + detail: string; + /** + * Additional data for customised error codes. + */ + meta?: { + /** + * The CDR error code URN which the application-specific error code extends. Mandatory if the error _code_ is an application-specific error rather than a standardised error code. + */ + urn?: string | null; + } | null; + /** + * A short, human-readable summary of the problem that **MUST NOT** change from occurrence to occurrence of the problem represented by the error code. + */ + title: string; } /* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ /** - * Number of API calls in each performance tier over time + * Number of API calls in each performance tier, over time. */ export interface InvocationMetricsV3 { /** - * API call counts for the high priority tier + * API call counts for the high priority tier. */ highPriority: { /** - * API call counts for current day + * API call counts for current day. */ currentDay?: number | null; /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * API call counts for the large payload tier + * API call counts for the large payload tier. */ largePayload: { /** - * API call counts for current day + * API call counts for current day. */ currentDay?: number | null; /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * API call counts for the large Shared Responsibility Data Requests tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster + * API call counts for the large Shared Responsibility Data Requests tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster. */ largeSecondary?: { /** - * API call counts for current day + * API call counts for current day. */ currentDay?: number | null; /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; } | null; /** - * API call counts for the low priority tier + * API call counts for the low priority tier. */ lowPriority: { /** - * API call counts for current day + * API call counts for current day. */ currentDay?: number | null; /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * API call counts for the Shared Responsibility Data Requests tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster + * API call counts for the Shared Responsibility Data Requests tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster. */ secondary?: { /** - * API call counts for current day + * API call counts for current day. */ currentDay?: number | null; /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; } | null; /** - * API call counts for the unattended tier + * API call counts for the unattended tier. */ unattended: { /** - * API call counts for current day + * API call counts for current day. */ currentDay?: number | null; /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * API call counts for the unauthenticated tier + * API call counts for the unauthenticated tier. */ unauthenticated: { /** - * API call counts for current day + * API call counts for current day. */ currentDay?: number | null; /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ export interface Links { /** - * Fully qualified link to this API call + * Fully qualified link to this API call. */ self: string; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ - -export interface Meta { - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ - -/** - * Additional data for customised error codes - */ -export interface MetaError { - /** - * The CDR error code URN which the application-specific error code extends. Mandatory if the error `code` is an application-specific error rather than a standardised error code. - */ - urn?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ -/** - * Maximum record transactions per second over time - */ -export interface PeakTPSMetrics { - /** - * Peak TPS for current day - */ - currentDay?: number | null; - /** - * Peak TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; -} +export interface Meta {} /* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ /** - * Peak transactions per second over time + * Peak transactions per second, over time. */ export interface PeakTPSMetricsV2 { /** - * Aggregate peak transactions per second over time for all endpoints + * Aggregate peak transactions per second, over time, for all endpoints. */ aggregate: { /** - * Peak TPS for current day. Must be a positive value or zero + * Peak TPS for current day. Must be a positive value or zero. */ currentDay?: number | null; /** - * Peak TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero + * Peak TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * Peak transactions per second over time for authenticated endpoints + * Peak transactions per second, over time, for authenticated endpoints. */ authenticated: { /** - * Peak TPS for current day. Must be a positive value or zero + * Peak TPS for current day. Must be a positive value or zero. */ currentDay?: number | null; /** - * Peak TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero + * Peak TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * Peak transactions per second over time for unauthenticated endpoints + * Peak transactions per second, over time, for unauthenticated endpoints. */ unauthenticated: { /** - * Peak TPS for current day. Must be a positive value or zero + * Peak TPS for current day. Must be a positive value or zero. */ currentDay?: number | null; /** - * Peak TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero + * Peak TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero. */ previousDays?: number[] | null; - [k: string]: unknown; }; - [k: string]: unknown; } - -/** - * Percentage of calls within the performance threshold for the specified hour. 0.0 means 0%. 1.0 means 100%. Must be a positive value or zero - */ -export type PerformanceHours = string; /* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ /** - * Array of contiguous hourly metrics for the specified day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder - */ -export type PerformancePreviousDays = PerformanceHours[]; - -/** - * Percentage of calls within the performance thresholds + * Percentage of calls within the performance threshold for the specified hour. `0.0` means 0%. `1.0` means 100%. Must be a positive value or zero. */ -export interface PerformanceMetrics { - /** - * Percentage of calls within the performance threshold for the current day. 0.0 means 0%. 1.0 means 100% - */ - currentDay?: number | null; - /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100% - */ - previousDays?: number[] | null; - [k: string]: unknown; -} +export type PerformanceHours = string; /* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ /** - * Percentage of calls within the performance thresholds in each performance tier over time + * Percentage of calls within the performance thresholds in each performance tier, over time. */ export interface PerformanceMetricsV3 { /** - * Percentage of calls within Primary Data Holder performance thresholds. Note that Secondary Data Holder performance MUST be excluded from this metric. + * Percentage of calls within Primary Data Holder performance thresholds. Note that Secondary Data Holder performance **MUST** be excluded from this metric. */ aggregate?: { /** - * Percentage of calls within the performance threshold for the current day. 0.0 means 0%. 1.0 means 100%. Must be a positive value or zero + * Percentage of calls within the performance threshold for the current day. `0.0` means 0%. `1.0` means 100%. Must be a positive value or zero. */ currentDay?: string | null; /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero + * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. `0.0` means 0%. `1.0` means 100%. Values must be a positive or zero. */ previousDays?: string[] | null; - [k: string]: unknown; } | null; /** - * Percentage of high priority calls within the performance thresholds + * Percentage of high priority calls within the performance thresholds. */ highPriority: { /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder + * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder. */ currentDay?: string[] | null; /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero + * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. `0.0` means 0%. `1.0` means 100%. Values must be a positive or zero. */ previousDays?: PerformancePreviousDays[] | null; - [k: string]: unknown; }; /** - * Percentage of large payload calls within the performance thresholds + * Percentage of large payload calls within the performance thresholds. */ largePayload: { /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder + * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder. */ currentDay?: string[] | null; /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero + * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. `0.0` means 0%. `1.0` means 100%. Values must be a positive or zero. */ previousDays?: PerformancePreviousDays[] | null; - [k: string]: unknown; }; /** - * Percentage of large Shared Responsibility calls within the performance thresholds. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster + * Percentage of large Shared Responsibility calls within the performance thresholds. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster. */ largeSecondary?: { /** - * Percentage of large Shared Responsibility calls within the performance thresholds for the secondary data holder + * Percentage of large Shared Responsibility calls within the performance thresholds for the secondary data holder. */ primary: { /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder + * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder. */ currentDay?: string[] | null; /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero + * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. `0.0` means 0%. `1.0` means 100%. Values must be a positive or zero. */ previousDays?: PerformancePreviousDays[] | null; - [k: string]: unknown; }; /** - * Percentage of large Shared Responsibility calls within the performance thresholds for the secondary data holder + * Percentage of large Shared Responsibility calls within the performance thresholds for the secondary data holder. */ secondary: { /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder + * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder. */ currentDay?: string[] | null; /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero + * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. `0.0` means 0%. `1.0` means 100%. Values must be a positive or zero. */ previousDays?: PerformancePreviousDays[] | null; - [k: string]: unknown; }; - [k: string]: unknown; } | null; /** - * Percentage of low priority calls within the performance thresholds + * Percentage of low priority calls within the performance thresholds. */ lowPriority: { /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder + * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder. */ currentDay?: string[] | null; /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero + * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. `0.0` means 0%. `1.0` means 100%. Values must be a positive or zero. */ previousDays?: PerformancePreviousDays[] | null; - [k: string]: unknown; }; /** - * Percentage of Shared Responsibility calls within the performance thresholds. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster + * Percentage of Shared Responsibility calls within the performance thresholds. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster. */ secondary?: { /** - * Percentage of Shared Responsibility calls within the performance thresholds for the primary data holder + * Percentage of Shared Responsibility calls within the performance thresholds for the primary data holder. */ primary: { /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder + * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder. */ currentDay?: string[] | null; /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero + * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. `0.0` means 0%. `1.0` means 100%. Values must be a positive or zero. */ previousDays?: PerformancePreviousDays[] | null; - [k: string]: unknown; }; /** - * Percentage of Shared Responsibility calls within the performance thresholds for the secondary data holder + * Percentage of Shared Responsibility calls within the performance thresholds for the secondary data holder. */ secondary: { /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder + * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder. */ currentDay?: string[] | null; /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero + * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. `0.0` means 0%. `1.0` means 100%. Values must be a positive or zero. */ previousDays?: PerformancePreviousDays[] | null; - [k: string]: unknown; }; - [k: string]: unknown; } | null; /** - * Percentage of unattended calls within the performance thresholds + * Percentage of unattended calls within the performance thresholds. */ unattended: { /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder + * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder. */ currentDay?: string[] | null; /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero + * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. `0.0` means 0%. `1.0` means 100%. Values must be a positive or zero. */ previousDays?: PerformancePreviousDays[] | null; - [k: string]: unknown; }; /** - * Percentage of unauthenticated calls within the performance thresholds + * Percentage of unauthenticated calls within the performance thresholds. */ unauthenticated: { /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder + * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder. */ currentDay?: string[] | null; /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero + * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. `0.0` means 0%. `1.0` means 100%. Values must be a positive or zero. */ previousDays?: PerformancePreviousDays[] | null; - [k: string]: unknown; }; - [k: string]: unknown; } +/* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ + /** - * Number of calls rejected due to traffic thresholds over time + * Array of contiguous hourly metrics for the specified day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder. */ -export interface RejectionMetricsV2 { - /** - * Rejection counts for all authenticated end points - */ - authenticated: { - /** - * Number of calls rejected for current day - */ - currentDay?: number | null; - /** - * Number of calls rejected for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Rejection counts for all unauthenticated end points - */ - unauthenticated: { - /** - * Number of calls rejected for current day - */ - currentDay?: number | null; - /** - * Number of calls rejected for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; -} +export type PerformancePreviousDays = string[]; /* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ /** - * Number of calls rejected due to traffic thresholds over time + * Number of calls rejected due to traffic thresholds, over time. */ export interface RejectionMetricsV3 { /** - * Rejection counts for all authenticated end points + * Rejection counts for all authenticated endpoints. */ authenticated: { /** - * Number of calls rejected for current day + * Number of calls rejected for current day. */ currentDay?: number | null; /** * Number of calls rejected for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * Rejection counts for all unauthenticated end points + * Rejection counts for all unauthenticated endpoints. */ unauthenticated: { /** - * Number of calls rejected for current day + * Number of calls rejected for current day. */ currentDay?: number | null; /** * Number of calls rejected for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ -export interface RequestMetaDataUpdate { +export interface RequestMetaDataUpdateV1 { data: { /** - * The action to take for the meta data. At the moment the only option is REFRESH which requires the data holder to call the ACCC to refresh meta data as soon as practicable + * The action to take for the meta data. At the moment the only option is `REFRESH` which requires the data holder to call the ACCC to refresh meta data as soon as practicable. */ action: "REFRESH"; - [k: string]: unknown; - }; - meta?: { - [k: string]: unknown; }; - [k: string]: unknown; + meta?: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ export interface ResponseErrorListV2 { - errors: Array<{ - /** - * The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the meta object. Otherwise, the value is the error code URN. - */ - code: string; + /** + * List of errors. + */ + errors: ErrorV2[]; +} +/* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ + +export interface ResponseMetricsListV5 { + data: { + authorisations: AuthorisationMetricsV2; + availability: AvailabilityMetricsV2; + averageResponse: AverageResponseMetricsV2; + averageTps: AverageTPSMetricsV2; /** - * A human-readable explanation specific to this occurrence of the problem. + * Number of customers with active authorisations at the time of the call. */ - detail: string; + customerCount: number; + errors: ErrorMetricsV2; + invocations: InvocationMetricsV3; + peakTps: PeakTPSMetricsV2; + performance: PerformanceMetricsV3; /** - * Additional data for customised error codes + * Number of Data Recipient Software Products with active authorisations at the time of the call. */ - meta?: { - /** - * The CDR error code URN which the application-specific error code extends. Mandatory if the error `code` is an application-specific error rather than a standardised error code. - */ - urn?: string | null; - [k: string]: unknown; - }; + recipientCount: number; + rejections: RejectionMetricsV3; /** - * A short, human-readable summary of the problem that MUST NOT change from occurrence to occurrence of the problem represented by the error code. + * The date and time that the metrics in this payload were requested. */ - title: string; - [k: string]: unknown; - }>; - [k: string]: unknown; + requestTime: string; + secondaryHolder?: SecondaryHolderMetricsV2; + sessionCount: SessionCountMetricsV2; + }; + links: Links; + meta?: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ -export interface ResponseMetricsListV3 { - data: { +/** + * Errors and rejections received by the primary data holder from the secondary data holder. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster. + */ +export interface SecondaryHolderMetricsV2 { + /** + * Number of calls resulting in error due to server execution, over time. + */ + errors: { /** - * Percentage availability of the CDR platform over time + * Number of errors for current day. */ - availability: { - /** - * Percentage availability of the CDR platform so far for the current calendar month. 0.0 means 0%. 1.0 means 100%. - */ - currentMonth?: number | null; - /** - * Percentage availability of the CDR platform for previous calendar months. The first element indicates the last month and so on. A maximum of twelve entries is required if available. 0.0 means 0%. 1.0 means 100%. - */ - previousMonths?: number[] | null; - [k: string]: unknown; - }; + currentDay?: number | null; /** - * Average response time in seconds, at millisecond resolution, within each performance tier - */ - averageResponse: { - /** - * Average response time for the high priority tier - */ - highPriority: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time for the large payload tier - */ - largePayload: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time for the large payload tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster - */ - largeSecondary?: { - /** - * Average response time as measured for the primary data holder - */ - primary: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time as measured for the secondary data holder - */ - secondary: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - } | null; - /** - * Average response time for the low priority tier - */ - lowPriority: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time for the secondary tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster - */ - secondary?: { - /** - * Average response time as measured for the primary data holder - */ - primary: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time as measured for the secondary data holder - */ - secondary: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - } | null; - /** - * Average response time for the unattended tier - */ - unattended: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time for the unauthenticated tier - */ - unauthenticated: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Transactions per second over time - */ - averageTps: { - /** - * Average TPS for current day - */ - currentDay?: number | null; - /** - * Average TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Number of customers with active authorisations at the time of the call - */ - customerCount: number; - /** - * Number of calls resulting in error due to server execution over time - */ - errors: { - /** - * Number of errors for current day - */ - currentDay?: number | null; - /** - * Number of errors for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Number of API calls in each performance tier over time - */ - invocations: { - /** - * API call counts for the high priority tier - */ - highPriority: { - /** - * API call counts for current day - */ - currentDay?: number | null; - /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * API call counts for the large payload tier - */ - largePayload: { - /** - * API call counts for current day - */ - currentDay?: number | null; - /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * API call counts for the large Shared Responsibility Data Requests tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster - */ - largeSecondary?: { - /** - * API call counts for current day - */ - currentDay?: number | null; - /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - } | null; - /** - * API call counts for the low priority tier - */ - lowPriority: { - /** - * API call counts for current day - */ - currentDay?: number | null; - /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * API call counts for the Shared Responsibility Data Requests tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster - */ - secondary?: { - /** - * API call counts for current day - */ - currentDay?: number | null; - /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - } | null; - /** - * API call counts for the unattended tier - */ - unattended: { - /** - * API call counts for current day - */ - currentDay?: number | null; - /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * API call counts for the unauthenticated tier - */ - unauthenticated: { - /** - * API call counts for current day - */ - currentDay?: number | null; - /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Maximum record transactions per second over time - */ - peakTps: { - /** - * Peak TPS for current day - */ - currentDay?: number | null; - /** - * Peak TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Percentage of calls within the performance thresholds - */ - performance: { - /** - * Percentage of calls within the performance threshold for the current day. 0.0 means 0%. 1.0 means 100% - */ - currentDay?: number | null; - /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100% - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Number of Data Recipient Software Products with active authorisations at the time of the call - */ - recipientCount: number; - /** - * Number of calls rejected due to traffic thresholds over time - */ - rejections: { - /** - * Rejection counts for all authenticated end points - */ - authenticated: { - /** - * Number of calls rejected for current day - */ - currentDay?: number | null; - /** - * Number of calls rejected for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Rejection counts for all unauthenticated end points - */ - unauthenticated: { - /** - * Number of calls rejected for current day - */ - currentDay?: number | null; - /** - * Number of calls rejected for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * The date and time that the metrics in this payload were requested. - */ - requestTime: string; - /** - * Errors and rejections received by the primary data holder from the secondary data holder. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster - */ - secondaryHolder?: { - /** - * Number of calls resulting in error due to server execution over time - */ - errors: { - /** - * Number of errors for current day - */ - currentDay?: number | null; - /** - * Number of errors for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Number of calls rejected due to traffic thresholds over time - */ - rejections: { - /** - * Number of rejections for current day - */ - currentDay?: number | null; - /** - * Number of rejections for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Session counts over time. Note that a session is defined as the provisioning of an Access Token. - */ - sessionCount: { - /** - * Session count for current day - */ - currentDay?: number | null; - /** - * Session count for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - links: { - /** - * Fully qualified link to this API call - */ - self: string; - [k: string]: unknown; - }; - meta?: { - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ - -export interface ResponseMetricsListV5 { - data: { - /** - * Authorisation counts for the data holder - */ - authorisations?: { - /** - * The number of consents flows that were not successfully authorised - */ - abandonedConsentFlowCount: { - /** - * Number of consents flows that were not successfully authorised for the current day - */ - currentDay?: number | null; - /** - * Number of consents flows that were not successfully authorised for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Customer abandonment count per stage of the consent flow. Note that the aggregated abandonment count for all stages for a period should equal the count in `abandonedConsentFlowCount` for the same period (ie. each abandoned consent should assigned to one, and only one, stage) - */ - abandonmentsByStage: { - /** - * The number of authorisations that completed the interactive flow with the consumer authorising the consent, but the ADR failed to - or was unable to - obtain a refresh or access token using the authorisation code - */ - failedTokenExchange: { - /** - * Number of abandoned consent flows for this stage for the current day - */ - currentDay?: number | null; - /** - * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * The number of authorisations where the customer successfully authenticated with a valid OTP or equivalent but abandoned the process before selecting accounts - */ - preAccountSelection: { - /** - * Number of abandoned consent flows for this stage for the current day - */ - currentDay?: number | null; - /** - * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * The number of authorisations where the customer identified themselves (ie. they successfully identify the customer profile to use for the authorisation) but failed to provide a valid OTP or equivalent - */ - preAuthentication: { - /** - * Number of abandoned consent flows for this stage for the current day - */ - currentDay?: number | null; - /** - * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * The number of authorisations where the customer has passed the account selection step but abandoned the process before approving or rejecting the consent being requested - */ - preAuthorisation: { - /** - * Number of abandoned consent flows for this stage for the current day - */ - currentDay?: number | null; - /** - * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * The number of authorisations that commenced with the data holder but the customer did not successfully identify their profile or user ID - */ - preIdentification: { - /** - * Number of abandoned consent flows for this stage for the current day - */ - currentDay?: number | null; - /** - * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * The number of authorisations where the customer actively rejected the authorisation rather than abandoning the process - */ - rejected: { - /** - * Number of abandoned consent flows for this stage for the current day - */ - currentDay?: number | null; - /** - * Number of abandoned consent flows for this stage for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * The number of active ongoing authorisations - */ - activeAuthorisationCount: { - /** - * Active ongoing authorisation count for individual customers - */ - individual: number; - /** - * Active ongoing authorisation count for non-individual customers - */ - nonIndividual: number; - [k: string]: unknown; - }; - /** - * The number of amended ongoing authorisations - */ - amendedAuthorisationCount: { - /** - * Number of amended authorisations for the current day - */ - currentDay?: { - /** - * Amended authorisation count for individual customers - */ - individual: number; - /** - * Amended authorisation count for non-individual customers - */ - nonIndividual: number; - [k: string]: unknown; - } | null; - /** - * Number of amended authorisations for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: - | Array<{ - /** - * Amended authorisation count for individual customers - */ - individual: number; - /** - * Amended authorisation count for non-individual customers - */ - nonIndividual: number; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }; - /** - * The number of expired ongoing authorisations - */ - expiredAuthorisationCount: { - /** - * Number of expired authorisations for the current day - */ - currentDay?: { - /** - * Expired authorisation count for individual customers - */ - individual: number; - /** - * Expired authorisation count for non-individual customers - */ - nonIndividual: number; - [k: string]: unknown; - } | null; - /** - * Number of expired authorisations for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: - | Array<{ - /** - * Expired authorisation count for individual customers - */ - individual: number; - /** - * Expired authorisation count for non-individual customers - */ - nonIndividual: number; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }; - /** - * The number of new authorisations - */ - newAuthorisationCount: { - /** - * Number of new authorisations for the current day - */ - currentDay?: { - /** - * New authorisation count for once-off authorisations - */ - onceOff: { - /** - * New authorisation count for individual customers - */ - individual: number; - /** - * New authorisation count for non-individual customers - */ - nonIndividual: number; - [k: string]: unknown; - }; - /** - * New authorisation count for ongoing authorisations - */ - ongoing: { - /** - * New authorisation count for individual customers - */ - individual: number; - /** - * New authorisation count for non-individual customers - */ - nonIndividual: number; - [k: string]: unknown; - }; - [k: string]: unknown; - } | null; - /** - * Number of new authorisations for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: - | Array<{ - /** - * New authorisation count for once-off authorisations - */ - onceOff: { - /** - * New authorisation count for individual customers - */ - individual: number; - /** - * New authorisation count for non-individual customers - */ - nonIndividual: number; - [k: string]: unknown; - }; - /** - * New authorisation count for ongoing authorisations - */ - ongoing: { - /** - * New authorisation count for individual customers - */ - individual: number; - /** - * New authorisation count for non-individual customers - */ - nonIndividual: number; - [k: string]: unknown; - }; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }; - /** - * The number of revoked authorisations - */ - revokedAuthorisationCount: { - /** - * Number of revoked authorisations for the current day - */ - currentDay?: { - /** - * Revoked authorisation count for individual customers - */ - individual: number; - /** - * Revoked authorisation count for non-individual customers - */ - nonIndividual: number; - [k: string]: unknown; - } | null; - /** - * Number of revoked authorisations for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: - | Array<{ - /** - * Revoked authorisation count for individual customers - */ - individual: number; - /** - * Revoked authorisation count for non-individual customers - */ - nonIndividual: number; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Availability metrics - */ - availability: { - /** - * Aggregated availability metrics - */ - aggregate: { - /** - * Percentage availability of the CDR platform so far for the current calendar month. 0.0 means 0%. 1.0 means 100%. Must be a positive value or zero - */ - currentMonth?: string | null; - /** - * Percentage availability of the CDR platform for previous calendar months. The first element indicates the last month and so on. A maximum of twelve entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero - */ - previousMonths?: string[] | null; - [k: string]: unknown; - }; - /** - * Availability metrics for the authenticated aspects of the CDR regime - */ - authenticated: { - /** - * Percentage availability of the CDR platform so far for the current calendar month. 0.0 means 0%. 1.0 means 100%. Must be a positive value or zero - */ - currentMonth?: string | null; - /** - * Percentage availability of the CDR platform for previous calendar months. The first element indicates the last month and so on. A maximum of twelve entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero - */ - previousMonths?: string[] | null; - [k: string]: unknown; - }; - /** - * Availability metrics for the unauthenticated aspects of the CDR regime - */ - unauthenticated: { - /** - * Percentage availability of the CDR platform so far for the current calendar month. 0.0 means 0%. 1.0 means 100%. Must be a positive value or zero - */ - currentMonth?: string | null; - /** - * Percentage availability of the CDR platform for previous calendar months. The first element indicates the last month and so on. A maximum of twelve entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero - */ - previousMonths?: string[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Average response time in seconds, at millisecond resolution, within each performance tier - */ - averageResponse: { - /** - * Average response time for the high priority tier - */ - highPriority: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time for the large payload tier - */ - largePayload: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time for the large payload tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster - */ - largeSecondary?: { - /** - * Average response time as measured for the primary data holder - */ - primary: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time as measured for the secondary data holder - */ - secondary: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - } | null; - /** - * Average response time for the low priority tier - */ - lowPriority: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time for the secondary tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster - */ - secondary?: { - /** - * Average response time as measured for the primary data holder - */ - primary: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time as measured for the secondary data holder - */ - secondary: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - } | null; - /** - * Average response time for the unattended tier - */ - unattended: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average response time for the unauthenticated tier - */ - unauthenticated: { - /** - * Average response time for current day - */ - currentDay?: number | null; - /** - * Average response time for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Average transactions per second over time - */ - averageTps: { - /** - * Aggregate average transactions per second over time for all endpoints - */ - aggregate: { - /** - * Average TPS for current day. Must be a positive value or zero - */ - currentDay?: number | null; - /** - * Average TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average transactions per second over time for authenticated endpoints - */ - authenticated: { - /** - * Average TPS for current day. Must be a positive value or zero - */ - currentDay?: number | null; - /** - * Average TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Average transactions per second over time for unauthenticated endpoints - */ - unauthenticated: { - /** - * Average TPS for current day. Must be a positive value or zero - */ - currentDay?: number | null; - /** - * Average TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Number of customers with active authorisations at the time of the call - */ - customerCount: number; - /** - * Number of calls resulting in error due to server execution over time - */ - errors: { - /** - * Aggregate number of calls resulting in error due to server execution over time for all endpoints - */ - aggregate: { - /** - * Error counts for current day - */ - currentDay?: number | null; - /** - * Error counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Number of calls resulting in error due to server execution over time for authenticated endpoints - */ - authenticated: { - /** - * Error counts, by HTTP error code, for current day - */ - currentDay?: { - /** - * Number of errors for HTTP error code 500. Note that this field is an example of a single entry due to the lack of OAS support for the JSON Schema `patternProperties` syntax. See the `additionalProperties` field in this schema for the generic property structure for error code counts - */ - "500"?: number | null; - /** - * Number of errors for a specific HTTP error code. Note that the property name must be 3 digits represent the HTTP error code the error is for - */ - [k: string]: unknown; - } | null; - /** - * Error counts, by HTTP error code, for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: - | Array<{ - /** - * Number of errors for HTTP error code 500. Note that this field is an example of a single entry due to the lack of OAS support JSON Schema `patternProperties` syntax. See the `additionalProperties` field in this schema for the generic property structure for error code counts - */ - "500"?: number; - /** - * Number of errors for a specific HTTP error code. Note that the property name must be 3 digits represent the HTTP error code the error is for - */ - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }; - /** - * Number of calls resulting in error due to server execution over time for unauthenticated endpoints - */ - unauthenticated: { - /** - * Error counts, by HTTP error code, for current day - */ - currentDay?: { - /** - * Number of errors for HTTP error code 500. Note that this field is an example of a single entry due to the lack of OAS support for the JSON Schema `patternProperties` syntax. See the `additionalProperties` field in this schema for the generic property structure for error code counts - */ - "500"?: number | null; - /** - * Number of errors for a specific HTTP error code. Note that the property name must be 3 digits represent the HTTP error code the error is for - */ - [k: string]: unknown; - } | null; - /** - * Error counts, by HTTP error code, for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: - | Array<{ - /** - * Number of errors for HTTP error code 500. Note that this field is an example of a single entry due to the lack of OAS support JSON Schema `patternProperties` syntax. See the `additionalProperties` field in this schema for the generic property structure for error code counts - */ - "500"?: number; - /** - * Number of errors for a specific HTTP error code. Note that the property name must be 3 digits represent the HTTP error code the error is for - */ - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Number of API calls in each performance tier over time - */ - invocations: { - /** - * API call counts for the high priority tier - */ - highPriority: { - /** - * API call counts for current day - */ - currentDay?: number | null; - /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * API call counts for the large payload tier - */ - largePayload: { - /** - * API call counts for current day - */ - currentDay?: number | null; - /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * API call counts for the large Shared Responsibility Data Requests tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster - */ - largeSecondary?: { - /** - * API call counts for current day - */ - currentDay?: number | null; - /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - } | null; - /** - * API call counts for the low priority tier - */ - lowPriority: { - /** - * API call counts for current day - */ - currentDay?: number | null; - /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * API call counts for the Shared Responsibility Data Requests tier. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster - */ - secondary?: { - /** - * API call counts for current day - */ - currentDay?: number | null; - /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - } | null; - /** - * API call counts for the unattended tier - */ - unattended: { - /** - * API call counts for current day - */ - currentDay?: number | null; - /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * API call counts for the unauthenticated tier - */ - unauthenticated: { - /** - * API call counts for current day - */ - currentDay?: number | null; - /** - * API call counts for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Peak transactions per second over time - */ - peakTps: { - /** - * Aggregate peak transactions per second over time for all endpoints - */ - aggregate: { - /** - * Peak TPS for current day. Must be a positive value or zero - */ - currentDay?: number | null; - /** - * Peak TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Peak transactions per second over time for authenticated endpoints - */ - authenticated: { - /** - * Peak TPS for current day. Must be a positive value or zero - */ - currentDay?: number | null; - /** - * Peak TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Peak transactions per second over time for unauthenticated endpoints - */ - unauthenticated: { - /** - * Peak TPS for current day. Must be a positive value or zero - */ - currentDay?: number | null; - /** - * Peak TPS for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. Values must be a positive or zero - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Percentage of calls within the performance thresholds in each performance tier over time - */ - performance: { - /** - * Percentage of calls within the performance thresholds - */ - aggregate?: { - /** - * Percentage of calls within the performance threshold for the current day. 0.0 means 0%. 1.0 means 100%. Must be a positive value or zero - */ - currentDay?: string | null; - /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero - */ - previousDays?: string[] | null; - [k: string]: unknown; - } | null; - /** - * Percentage of high priority calls within the performance thresholds - */ - highPriority: { - /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder - */ - currentDay?: string[] | null; - /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero - */ - previousDays?: string[][] | null; - [k: string]: unknown; - }; - /** - * Percentage of large payload calls within the performance thresholds - */ - largePayload: { - /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder - */ - currentDay?: string[] | null; - /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero - */ - previousDays?: string[][] | null; - [k: string]: unknown; - }; - /** - * Percentage of large Shared Responsibility calls within the performance thresholds. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster - */ - largeSecondary?: { - /** - * Percentage of large Shared Responsibility calls within the performance thresholds for the secondary data holder - */ - primary: { - /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder - */ - currentDay?: string[] | null; - /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero - */ - previousDays?: string[][] | null; - [k: string]: unknown; - }; - /** - * Percentage of large Shared Responsibility calls within the performance thresholds for the secondary data holder - */ - secondary: { - /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder - */ - currentDay?: string[] | null; - /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero - */ - previousDays?: string[][] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - } | null; - /** - * Percentage of low priority calls within the performance thresholds - */ - lowPriority: { - /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder - */ - currentDay?: string[] | null; - /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero - */ - previousDays?: string[][] | null; - [k: string]: unknown; - }; - /** - * Percentage of Shared Responsibility calls within the performance thresholds. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster - */ - secondary?: { - /** - * Percentage of Shared Responsibility calls within the performance thresholds for the primary data holder - */ - primary: { - /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder - */ - currentDay?: string[] | null; - /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero - */ - previousDays?: string[][] | null; - [k: string]: unknown; - }; - /** - * Percentage of Shared Responsibility calls within the performance thresholds for the secondary data holder - */ - secondary: { - /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder - */ - currentDay?: string[] | null; - /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero - */ - previousDays?: string[][] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - } | null; - /** - * Percentage of unattended calls within the performance thresholds - */ - unattended: { - /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder - */ - currentDay?: string[] | null; - /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero - */ - previousDays?: string[][] | null; - [k: string]: unknown; - }; - /** - * Percentage of unauthenticated calls within the performance thresholds - */ - unauthenticated: { - /** - * Array of contiguous hourly metrics for the current day. Each element represents a 1 hour period starting from 12am-1am. Timezone for determining 12am must be consistent but is at the discretion of the Data Holder - */ - currentDay?: string[] | null; - /** - * Percentage of calls within the performance threshold for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. 0.0 means 0%. 1.0 means 100%. Values must be a positive or zero - */ - previousDays?: string[][] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Number of Data Recipient Software Products with active authorisations at the time of the call - */ - recipientCount: number; - /** - * Number of calls rejected due to traffic thresholds over time - */ - rejections: { - /** - * Rejection counts for all authenticated end points - */ - authenticated: { - /** - * Number of calls rejected for current day - */ - currentDay?: number | null; - /** - * Number of calls rejected for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Rejection counts for all unauthenticated end points - */ - unauthenticated: { - /** - * Number of calls rejected for current day - */ - currentDay?: number | null; - /** - * Number of calls rejected for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * The date and time that the metrics in this payload were requested. - */ - requestTime: string; - /** - * Errors and rejections received by the primary data holder from the secondary data holder. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster - */ - secondaryHolder?: { - /** - * Number of calls resulting in error due to server execution over time - */ - errors: { - /** - * Number of errors for current day - */ - currentDay?: number | null; - /** - * Number of errors for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Number of calls rejected due to traffic thresholds over time - */ - rejections: { - /** - * Number of rejections for current day - */ - currentDay?: number | null; - /** - * Number of rejections for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Session counts over time. Note that a session is defined as the provisioning of an Access Token. - */ - sessionCount: { - /** - * Session count for current day - */ - currentDay?: number | null; - /** - * Session count for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - links: { - /** - * Fully qualified link to this API call - */ - self: string; - [k: string]: unknown; - }; - meta?: { - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ - -/** - * Errors and rejections received by the primary data holder from the secondary data holder. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster - */ -export interface SecondaryHolderMetrics { - /** - * Number of calls resulting in error due to server execution over time - */ - errors: { - /** - * Number of errors for current day - */ - currentDay?: number | null; - /** - * Number of errors for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - /** - * Number of calls resulting in a rejection due to server execution over time - */ - rejections: { - /** - * Number of rejections for current day - */ - currentDay?: number | null; - /** - * Number of rejections for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ - -/** - * Errors and rejections received by the primary data holder from the secondary data holder. Mandatory for data holders designated for a Shared Responsibility Data Request data cluster - */ -export interface SecondaryHolderMetricsV2 { - /** - * Number of calls resulting in error due to server execution over time - */ - errors: { - /** - * Number of errors for current day - */ - currentDay?: number | null; - /** - * Number of errors for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Number of errors for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; /** - * Number of calls rejected due to traffic thresholds over time + * Number of calls rejected due to traffic thresholds, over time. */ rejections: { /** - * Number of rejections for current day + * Number of rejections for current day. */ currentDay?: number | null; /** - * Number of rejections for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Number of rejections for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ - -/** - * Session counts over time. Note that a session is defined as the provisioning of an Access Token. - */ -export interface SessionCountMetrics { - /** - * Session count for current day - */ - currentDay?: number | null; - /** - * Session count for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available - */ - previousDays?: number[] | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the admin api. */ /** - * Session counts over time. Note that a session is defined as the provisioning of an Access Token. + * Session counts, over time. Note that a session is defined as the provisioning of an Access Token. */ export interface SessionCountMetricsV2 { /** - * Session count for current day + * Session count for current day. */ currentDay?: number | null; /** - * Session count for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available + * Session count for previous days. The first element indicates yesterday and so on. A maximum of seven entries is required if available. */ previousDays?: number[] | null; - [k: string]: unknown; } diff --git a/types/consumer-data-standards/banking/index.d.ts b/types/consumer-data-standards/banking/index.d.ts index 7a039d328dcc91..0e0c04ceb69bce 100644 --- a/types/consumer-data-standards/banking/index.d.ts +++ b/types/consumer-data-standards/banking/index.d.ts @@ -1,9 +1,6 @@ -/* This structure is used in the BankingAccountDetailV3.features property */ -export interface accV3DetailFeatureObj extends BankingProductFeatureV2 { - isActivated?: boolean; -} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface BankingAccountDetailV3 extends BankingAccountV2 { +export type BankingAccountDetailV3 = BankingAccountV2 & { /** * The unmasked BSB for the account. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. */ @@ -24,7 +21,7 @@ export interface BankingAccountDetailV3 extends BankingAccountV2 { creditCard?: BankingCreditCardAccount; loan?: BankingLoanAccountV2; /** - * current rate to calculate interest earned being applied to deposit balances as it stands at the time of the API call. + * Current rate to calculate interest earned being applied to deposit balances as it stands at the time of the API call. */ depositRate?: string; /** @@ -42,7 +39,12 @@ export interface BankingAccountDetailV3 extends BankingAccountV2 { /** * Array of features of the account based on the equivalent structure in Product Reference with the following additional field. */ - features?: accV3DetailFeatureObj[]; + features?: (BankingProductFeatureV2 & { + /** + * `true` if the feature is already activated and `false` if the feature is available for activation. Defaults to `true` if absent.
Note: this is an additional field appended to the feature object defined in the Product Reference payload. + */ + isActivated?: boolean; + })[]; /** * Fees and charges applicable to the account based on the equivalent structure in Product Reference. */ @@ -51,14 +53,149 @@ export interface BankingAccountDetailV3 extends BankingAccountV2 { * The addresses for the account to be used for correspondence. */ addresses?: CommonPhysicalAddress[]; +}; +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ - [k: string]: unknown; -} +export type BankingAccountDetailV4 = BankingAccountV2 & { + /** + * The unmasked BSB for the account. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. + */ + bsb?: string; + /** + * The unmasked account number for the account. Should not be supplied if the account number is a PAN requiring PCI compliance. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. + */ + accountNumber?: string; + /** + * Optional field to indicate if this account is part of a bundle that is providing additional benefit to the customer. + */ + bundleName?: string; + /** + * The type of structure to present account specific fields. + */ + specificAccountUType?: "creditCard" | "loan" | "termDeposit"; + /** + * Mandatory if the _specificAccountUType_ value is `termDeposit`. + */ + termDeposit?: BankingTermDepositAccount[]; + /** + * Mandatory if the _specificAccountUType_ value is `creditCard`. + */ + creditCard?: BankingCreditCardAccount; + /** + * Mandatory if the _specificAccountUType_ value is `loan`. + */ + loan?: BankingLoanAccountV3; + /** + * Current rate to calculate interest earned being applied to deposit balances as it stands at the time of the API call. + */ + depositRate?: string; + /** + * The current rate to calculate interest payable being applied to lending balances as it stands at the time of the API call. + */ + lendingRate?: string; + /** + * Fully described deposit rates for this account based on the equivalent structure in Product Reference. + */ + depositRates?: BankingProductDepositRateV2[]; + /** + * Fully described lending rates for this account based on the equivalent structure in Product Reference. + */ + lendingRates?: BankingProductLendingRateV3[]; + /** + * Array of features of the account based on the equivalent structure in Product Reference with the following additional field. + */ + features?: (BankingProductFeatureV3 & { + /** + * **Note:** This is an additional field appended to the feature structure defined in the Product Reference payload. + */ + isActivated?: "ACTIVATED" | "NOT_ACTIVATED" | "UNKNOWN"; + })[]; + /** + * Fees and charges applicable to the account based on the equivalent structure in Product Reference. + */ + fees?: BankingProductFeeV2[]; + /** + * The addresses for the account to be used for correspondence. + */ + addresses?: CommonPhysicalAddress[]; +}; +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export type BankingAccountDetailV5 = BankingAccountV3 & { + /** + * The unmasked BSB for the account. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. + */ + bsb?: string; + /** + * The unmasked account number for the account. Should not be supplied if the account number is a PAN requiring PCI compliance. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. + */ + accountNumber?: string; + /** + * Optional field to indicate if this account is part of a bundle that is providing additional benefit to the customer. + */ + bundleName?: string; + instalments?: BankingProductInstalments; + /** + * The type of structure to present account specific fields. + */ + specificAccountUType?: "creditCard" | "loan" | "termDeposit"; + /** + * Mandatory if the _specificAccountUType_ value is `termDeposit`. + */ + termDeposit?: BankingTermDepositAccount[]; + /** + * Mandatory if the _specificAccountUType_ value is `creditCard`. + */ + creditCard?: BankingCreditCardAccount; + /** + * Mandatory if the _specificAccountUType_ value is `loan`. + */ + loan?: BankingLoanAccountV3; + /** + * Current rate to calculate interest earned being applied to deposit balances as it stands at the time of the API call. + */ + depositRate?: string; + /** + * The current rate to calculate interest payable being applied to lending balances as it stands at the time of the API call. + */ + lendingRate?: string; + /** + * Fully described deposit rates for this account based on the equivalent structure in Product Reference. + */ + depositRates?: BankingProductDepositRateV2[]; + /** + * Fully described lending rates for this account based on the equivalent structure in Product Reference. + */ + lendingRates?: BankingProductLendingRateV3[]; + /** + * Array of features of the account based on the equivalent structure in Product Reference with the following additional field. + */ + features?: (BankingProductFeatureV4 & { + /** + * **Note:** This is an additional field appended to the feature structure defined in the Product Reference payload. + */ + isActivated?: "ACTIVATED" | "NOT_ACTIVATED" | "UNKNOWN"; + })[]; + /** + * Fees and charges applicable to the account based on the equivalent structure in Product Reference. + */ + fees?: BankingProductFeeV2[]; + /** + * The addresses for the account to be used for correspondence. + */ + addresses?: CommonPhysicalAddress[]; +}; +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +/** + * A unique identifier for a Banking account, generated according to [CDR ID Permanence](#id-permanence) requirements. + */ +export type BankingAccountId = string; /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ export interface BankingAccountV2 { /** - * A unique ID of the account adhering to the standards for ID permanence. + * Unique identifier for the account. */ accountId: string; /** @@ -82,7 +219,7 @@ export interface BankingAccountV2 { */ maskedNumber: string; /** - * A customer supplied nick name for the account. + * A customer supplied nickname for the account. */ nickname?: string | null; /** @@ -109,9 +246,68 @@ export interface BankingAccountV2 { * The unique identifier of the account as defined by the data holder (akin to model number for the account). */ productName: string; - [k: string]: unknown; } +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ +export interface BankingAccountV3 { + /** + * Unique identifier for the account. + */ + accountId: string; + /** + * Value indicating the number of customers that have ownership of the account, according to the data holder's definition of account ownership. Does not indicate that all account owners are eligible consumers. + */ + accountOwnership: "UNKNOWN" | "ONE_PARTY" | "TWO_PARTY" | "MANY_PARTY" | "OTHER"; + /** + * Date that the account was created (if known). + */ + creationDate?: string | null; + /** + * The display name of the account as defined by the bank. This should not incorporate account numbers or PANs. If it does the values should be masked according to the rules of the [MaskedAccountString](#common-field-types) common type. + */ + displayName: string; + /** + * `true` if any active or inactive instalment plans are available in the Get Instalment Plans endpoints. `false` if instalment plans are not applicable to the account. + */ + isInstalmentDetailAvailable?: boolean | null; + /** + * Flag indicating that the customer associated with the authorisation is an owner of the account. Does not indicate sole ownership, however. If not present then `true` is assumed. + */ + isOwned?: boolean | null; + /** + * A masked version of the account. Whether BSB/Account Number, Credit Card PAN or another number. + */ + maskedNumber: string; + /** + * A customer supplied nickname for the account. + */ + nickname?: string | null; + /** + * Open or closed status for the account. If not present then `OPEN` is assumed. + */ + openStatus?: ("CLOSED" | "OPEN") | null; + /** + * The category to which a product or account belongs. See [here](#product-categories) for more details. + */ + productCategory: + | "BUSINESS_LOANS" + | "BUY_NOW_PAY_LATER" + | "CRED_AND_CHRG_CARDS" + | "LEASES" + | "MARGIN_LOANS" + | "OVERDRAFTS" + | "PERS_LOANS" + | "REGULATED_TRUST_ACCOUNTS" + | "RESIDENTIAL_MORTGAGES" + | "TERM_DEPOSITS" + | "TRADE_FINANCE" + | "TRANS_AND_SAVINGS_ACCOUNTS" + | "TRAVEL_CARDS"; + /** + * The unique identifier of the account as defined by the data holder (akin to model number for the account). + */ + productName: string; +} /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ export interface BankingAuthorisedEntity { @@ -135,13 +331,12 @@ export interface BankingAuthorisedEntity { * Name of the financial institution through which the direct debit will be executed. Is required unless the payment is made via a credit card scheme. */ financialInstitution?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ export interface BankingBalance { /** - * A unique ID of the account adhering to the standards for ID permanence. + * Unique identifier for the account. */ accountId: string; /** @@ -167,20 +362,7 @@ export interface BankingBalance { /** * Optional array of balances for the account in other currencies. Included to support accounts that support multi-currency purses such as Travel Cards. */ - purses?: - | Array<{ - /** - * The balance available for this additional currency purse. - */ - amount: string; - /** - * The currency for the purse. - */ - currency?: string | null; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; + purses?: BankingBalancePurse[] | null; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -193,7 +375,6 @@ export interface BankingBalancePurse { * The currency for the purse. */ currency?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -210,7 +391,6 @@ export interface BankingBillerPayee { * BPAY CRN of the Biller (if available).
Where the CRN contains sensitive information, it should be masked in line with how the Data Holder currently displays account identifiers in their existing online banking channels. If the contents of the CRN match the format of a Credit Card PAN they should be masked according to the rules applicable for [MaskedPANString](#common-field-types). If the contents are otherwise sensitive, then it should be masked using the rules applicable for the [MaskedAccountString](#common-field-types) common type. */ crn?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -231,7 +411,6 @@ export interface BankingCreditCardAccount { * Date that the next payment for the card is due. */ paymentDueDate: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -252,93 +431,34 @@ export interface BankingDigitalWalletPayee { * The type of the digital wallet identifier. */ type: "EMAIL" | "CONTACT_NAME" | "TELEPHONE"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ export interface BankingDirectDebit { /** - * A unique ID of the account adhering to the standards for ID permanence. + * Unique identifier for the account. */ accountId: string; - authorisedEntity: { - /** - * Australian Business Number for the authorised entity. - */ - abn?: string | null; - /** - * Australian Company Number for the authorised entity. - */ - acn?: string | null; - /** - * Australian Registered Body Number for the authorised entity. - */ - arbn?: string | null; - /** - * Description of the authorised entity derived from previously executed direct debits. - */ - description?: string | null; - /** - * Name of the financial institution through which the direct debit will be executed. Is required unless the payment is made via a credit card scheme. - */ - financialInstitution?: string | null; - [k: string]: unknown; - }; + authorisedEntity: BankingAuthorisedEntity; /** - * The amount of the last debit executed under this authorisation + * The amount of the last debit executed under this authorisation. */ lastDebitAmount?: string | null; /** - * The date and time of the last debit executed under this authorisation + * The date and time of the last debit executed under this authorisation. */ lastDebitDateTime?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ export interface BankingDomesticPayee { - account?: { - /** - * Name of the account to pay to. - */ - accountName?: string | null; - /** - * Number of the account to pay to. - */ - accountNumber: string; - /** - * BSB of the account to pay to. - */ - bsb: string; - [k: string]: unknown; - }; - card?: { - /** - * Name of the account to pay to. - */ - cardNumber: string; - [k: string]: unknown; - }; - payId?: { - /** - * The identifier of the PayID (dependent on type). - */ - identifier: string; - /** - * The name assigned to the PayID by the owner of the PayID. - */ - name?: string | null; - /** - * The type of the PayID. - */ - type: "ABN" | "EMAIL" | "ORG_IDENTIFIER" | "TELEPHONE"; - [k: string]: unknown; - }; + account?: BankingDomesticPayeeAccount; + card?: BankingDomesticPayeeCard; + payId?: BankingDomesticPayeePayId; /** - * Type of account object included. Valid values are: **account** A standard Australian account defined by BSB/Account Number. **card** A credit or charge card to pay to (note that PANs are masked). **payId** A PayID recognised by NPP + * Type of account object included. Valid values are: */ payeeAccountUType: "account" | "card" | "payId"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -355,7 +475,6 @@ export interface BankingDomesticPayeeAccount { * BSB of the account to pay to. */ bsb: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -364,7 +483,6 @@ export interface BankingDomesticPayeeCard { * Name of the account to pay to. */ cardNumber: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -381,422 +499,443 @@ export interface BankingDomesticPayeePayId { * The type of the PayID. */ type: "ABN" | "EMAIL" | "ORG_IDENTIFIER" | "TELEPHONE"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface BankingInternationalPayee { - bankDetails: { - /** - * Account Targeted for payment. - */ - accountNumber: string; - bankAddress?: { - /** - * Address of the recipient Bank. - */ - address: string; - /** - * Name of the recipient Bank. - */ - name: string; - [k: string]: unknown; - } | null; - /** - * Swift bank code. Aligns with standard [ISO 9362](https://www.iso.org/standard/60390.html). - */ - beneficiaryBankBIC?: string | null; - /** - * Number for the Clearing House Interbank Payments System. - */ - chipNumber?: string | null; - /** - * Country of the recipient institution. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. - */ - country: string; - /** - * Number for Fedwire payment (Federal Reserve Wire Network). - */ - fedWireNumber?: string | null; - /** - * The legal entity identifier (LEI) for the beneficiary. Aligns with [ISO 17442](https://www.iso.org/standard/59771.html). - */ - legalEntityIdentifier?: string | null; - /** - * International bank routing number. - */ - routingNumber?: string | null; - /** - * Sort code used for account identification in some jurisdictions. - */ - sortCode?: string | null; - [k: string]: unknown; - }; - beneficiaryDetails: { - /** - * Country where the beneficiary resides. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. - */ - country: string; - /** - * Response message for the payment. - */ - message?: string | null; - /** - * Name of the beneficiary. - */ - name?: string | null; - [k: string]: unknown; - }; - [k: string]: unknown; +export interface BankingFeeAmount { + /** + * The specific amount charged for the fee each time it is incurred. + */ + amount: string; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface BankingLoanAccountV2 { +export interface BankingFeeDiscountAmount { /** - * Date that the loan is due to be repaid in full. + * The specific amount discounted from the fee each time it is incurred. */ - loanEndDate?: string | null; + amount: string; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +/** + * A minimum or maximum fee discount amount where a specific fixed amount is not known until the fee is incurred. + */ +export interface BankingFeeDiscountRange { /** - * Maximum amount of funds that can be redrawn. If not present redraw is not available even if the feature exists for the account. + * The maximum fee discount that will be applied per occurrence. */ - maxRedraw?: string | null; + discountMaximum?: string | null; /** - * If absent assumes `AUD`. + * The minimum fee discount that will be applied per occurrence. */ - maxRedrawCurrency?: string | null; + discountMinimum?: string | null; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface BankingFeeDiscountRate { + amountRange?: BankingFeeDiscountRange; /** - * Minimum amount of next instalment. + * The fee rate discount calculated according to the _rateType_. */ - minInstalmentAmount?: string | null; + rate: string; /** - * If absent assumes `AUD`. + * Type of fee rate discount calculation. */ - minInstalmentCurrency?: string | null; + rateType: "BALANCE" | "FEE" | "INTEREST_ACCRUED" | "TRANSACTION"; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +/** + * A minimum or maximum fee amount where a specific fixed amount is not known until the fee is incurred. + */ +export interface BankingFeeRange { /** - * Minimum redraw amount. + * The maximum fee that will be charged per occurrence. */ - minRedraw?: string | null; + feeMaximum?: string | null; /** - * If absent assumes `AUD`. + * The minimum fee that will be charged per occurrence. */ - minRedrawCurrency?: string | null; + feeMinimum?: string | null; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface BankingFeeRate { /** - * Next date that an instalment is required. + * The indicative frequency with which the fee is calculated on the account if applicable. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). */ - nextInstalmentDate?: string | null; + accrualFrequency?: string | null; + amountRange?: BankingFeeRange; /** - * Set to `true` if one or more offset accounts are configured for this loan account. + * The fee rate calculated according to the _rateType_. */ - offsetAccountEnabled?: boolean | null; + rate: string; /** - * The accountIDs of the configured offset accounts attached to this loan. Only offset accounts that can be accessed under the current authorisation should be included. It is expected behaviour that _offsetAccountEnabled_ is set to `true` but the _offsetAccountIds_ field is absent or empty. This represents a situation where an offset account exists but details can not be accessed under the current authorisation. + * Type of fee rate calculation. */ - offsetAccountIds?: string[] | null; + rateType: "BALANCE" | "INTEREST_ACCRUED" | "TRANSACTION"; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface BankingInstalmentPlan { /** - * Optional original loan value. + * Unique identifier for the account. */ - originalLoanAmount?: string | null; + accountId: string; /** - * If absent assumes `AUD`. + * The original transaction amount the instalment plan was created for, including any upfront payment. E.g., For a $100 purchase split into four repayments, this would be `100.00`. */ - originalLoanCurrency?: string | null; + amount: string; /** - * Optional original start date for the loan. + * The date the plan was created. */ - originalStartDate?: string | null; + creationDate: string; /** - * The expected or required repayment frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). + * The expected repayment period as at the creation of the plan. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). E.g., For a further three fortnightly repayments from the _creationDate_, this would be `P6W`. */ - repaymentFrequency?: string | null; + duration: string; /** - * Options in place for repayments. If absent defaults to `PRINCIPAL_AND_INTEREST`. + * The expected repayment interval. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). E.g., For fortnightly repayments, this would be `P2W`. */ - repaymentType?: ("INTEREST_ONLY" | "PRINCIPAL_AND_INTEREST") | null; - [k: string]: unknown; + instalmentInterval: string; + /** + * The merchant category code (MCC) for the merchant associated with the instalment plan. + */ + merchantCategoryCode?: string | null; + /** + * Name of the merchant associated with the instalment plan. + */ + merchantName: string; + /** + * Any charges incorporated into the scheduled amounts due, excluding other fees. E.g., If the consumer agrees to repay a $100 purchase plus a $5 charge split across four instalments, this would be `5.00`. + */ + planCharge?: string | null; + /** + * The currency of the plan amount. If absent assumed to be `AUD`. + */ + planCurrency?: string | null; + /** + * Unique identifier for this plan in accordance with ID Permanence requirements. + */ + planId: string; + /** + * The short display name of the plan as provided by the customer. Where a customer has not provided a nickname, a display name derived by the data holder consistent with other channels. + */ + planNickname: string; + /** + * If displayed to the consumer, the percentage value of any charges incorporated into the scheduled amounts due, excluding other fees. E.g., If the consumer agrees to repay a $1000 purchase plus 10% interest split across twelve instalments, this would be `0.1`. + */ + planRate?: string | null; + /** + * Unique purchase or order number for this plan, aligned to other channels. + */ + planReference: string; + /** + * Array of scheduled repayment amounts and dates. + */ + schedule: BankingInstalmentPlanSchedule[]; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface BankingPayeeDetailV2 extends BankingPayeeV2 { +/** + * A unique identifier for a Banking instalment plan, generated according to [CDR ID Permanence](#id-permanence) requirements. + */ +export type BankingInstalmentPlanId = string; +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface BankingInstalmentPlanSchedule { /** - * Type of object included that describes the payee in detail. + * Amount due with this repayment. */ - payeeUType: "biller" | "digitalWallet" | "domestic" | "international"; - biller?: { - /** - * BPAY Biller Code of the Biller. - */ - billerCode: string; - /** - * Name of the Biller. - */ - billerName: string; + amountDue: string; + /** + * Date this repayment is or was due. + */ + dueDate: string; + /** + * Whether the associated _amountDue_ has been paid or is otherwise considered as not outstanding. `false` is assumed if absent. + */ + isPaid?: boolean | null; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface BankingInternationalPayee { + bankDetails: { /** - * BPAY CRN of the Biller (if available).
Where the CRN contains sensitive information, it should be masked in line with how the Data Holder currently displays account identifiers in their existing online banking channels. If the contents of the CRN match the format of a Credit Card PAN they should be masked according to the rules applicable for [MaskedPANString](#common-field-types). If the contents are otherwise sensitive, then it should be masked using the rules applicable for the [MaskedAccountString](#common-field-types) common type. + * Account Targeted for payment. */ - crn?: string | null; - [k: string]: unknown; - }; - domestic?: { - account?: { - /** - * Name of the account to pay to. - */ - accountName?: string | null; - /** - * Number of the account to pay to. - */ - accountNumber: string; - /** - * BSB of the account to pay to. - */ - bsb: string; - [k: string]: unknown; - }; - card?: { - /** - * Name of the account to pay to. - */ - cardNumber: string; - [k: string]: unknown; - }; - payId?: { - /** - * The identifier of the PayID (dependent on type). - */ - identifier: string; + accountNumber: string; + bankAddress?: { /** - * The name assigned to the PayID by the owner of the PayID. + * Address of the recipient Bank. */ - name?: string | null; + address: string; /** - * The type of the PayID. + * Name of the recipient Bank. */ - type: "ABN" | "EMAIL" | "ORG_IDENTIFIER" | "TELEPHONE"; - [k: string]: unknown; - }; + name: string; + } | null; /** - * Type of account object included. Valid values are: **account** A standard Australian account defined by BSB/Account Number. **card** A credit or charge card to pay to (note that PANs are masked). **payId** A PayID recognised by NPP + * Swift bank code. Aligns with standard [ISO 9362](https://www.iso.org/standard/60390.html). */ - payeeAccountUType: "account" | "card" | "payId"; - [k: string]: unknown; - }; - digitalWallet?: { + beneficiaryBankBIC?: string | null; + /** + * Number for the Clearing House Interbank Payments System. + */ + chipNumber?: string | null; + /** + * Country of the recipient institution. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. + */ + country: string; /** - * The identifier of the digital wallet (dependent on type). + * Number for Fedwire payment (Federal Reserve Wire Network). */ - identifier: string; + fedWireNumber?: string | null; /** - * The display name of the wallet as given by the customer, else a default value defined by the data holder. + * The legal entity identifier (LEI) for the beneficiary. Aligns with [ISO 17442](https://www.iso.org/standard/59771.html). */ - name: string; + legalEntityIdentifier?: string | null; /** - * The provider of the digital wallet. + * International bank routing number. */ - provider: "PAYPAL_AU" | "OTHER"; + routingNumber?: string | null; /** - * The type of the digital wallet identifier. + * Sort code used for account identification in some jurisdictions. */ - type: "EMAIL" | "CONTACT_NAME" | "TELEPHONE"; - [k: string]: unknown; + sortCode?: string | null; }; - international?: { - bankDetails: { - /** - * Account Targeted for payment. - */ - accountNumber: string; - bankAddress?: { - /** - * Address of the recipient Bank. - */ - address: string; - /** - * Name of the recipient Bank. - */ - name: string; - [k: string]: unknown; - } | null; - /** - * Swift bank code. Aligns with standard [ISO 9362](https://www.iso.org/standard/60390.html). - */ - beneficiaryBankBIC?: string | null; - /** - * Number for the Clearing House Interbank Payments System. - */ - chipNumber?: string | null; - /** - * Country of the recipient institution. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. - */ - country: string; - /** - * Number for Fedwire payment (Federal Reserve Wire Network). - */ - fedWireNumber?: string | null; - /** - * The legal entity identifier (LEI) for the beneficiary. Aligns with [ISO 17442](https://www.iso.org/standard/59771.html). - */ - legalEntityIdentifier?: string | null; - /** - * International bank routing number. - */ - routingNumber?: string | null; - /** - * Sort code used for account identification in some jurisdictions. - */ - sortCode?: string | null; - [k: string]: unknown; - }; - beneficiaryDetails: { - /** - * Country where the beneficiary resides. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. - */ - country: string; - /** - * Response message for the payment. - */ - message?: string | null; - /** - * Name of the beneficiary. - */ - name?: string | null; - [k: string]: unknown; - }; - [k: string]: unknown; + beneficiaryDetails: { + /** + * Country where the beneficiary resides. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. + */ + country: string; + /** + * Response message for the payment. + */ + message?: string | null; + /** + * Name of the beneficiary. + */ + name?: string | null; }; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface BankingPayeeV2 { +export interface BankingLoanAccountV2 { /** - * The date the payee was created by the customer. + * Date that the loan is due to be repaid in full. */ - creationDate?: string | null; + loanEndDate?: string | null; /** - * A description of the payee provided by the customer. + * Maximum amount of funds that can be redrawn. If not present redraw is not available even if the feature exists for the account. */ - description?: string | null; + maxRedraw?: string | null; /** - * The short display name of the payee as provided by the customer. Where a customer has not provided a nickname, a display name derived by the bank for the payee consistent with existing digital banking channels. + * If absent assumes `AUD`. */ - nickname: string; + maxRedrawCurrency?: string | null; /** - * ID of the payee adhering to the rules of ID permanence. + * Minimum amount of next instalment. */ - payeeId: string; + minInstalmentAmount?: string | null; /** - * The type of payee. + * If absent assumes `AUD`. */ - type: "BILLER" | "DIGITAL_WALLET" | "DOMESTIC" | "INTERNATIONAL"; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ - -/** - * Object that contains links to additional information on specific topics. - */ -export interface BankingProductAdditionalInformationV2 { + minInstalmentCurrency?: string | null; /** - * An array of additional bundles for the product, if applicable. To be treated as secondary documents to the _bundleUri_. Only to be used if there is a primary _bundleUri_. + * Minimum redraw amount. */ - additionalBundleUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; + minRedraw?: string | null; /** - * An array of additional eligibility rules and criteria for the product, if applicable. To be treated as secondary documents to the `eligibilityUri`. Only to be used if there is a primary `eligibilityUri`. + * If absent assumes `AUD`. */ - additionalEligibilityUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; + minRedrawCurrency?: string | null; /** - * An array of additional fees, pricing, discounts, exemptions and bonuses for the product, if applicable. To be treated as secondary documents to the `feesAndPricingUri`. Only to be used if there is a primary `feesAndPricingUri`. + * Next date that an instalment is required. */ - additionalFeesAndPricingUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; + nextInstalmentDate?: string | null; /** - * An array of additional general overviews for the product or features of the product, if applicable. To be treated as secondary documents to the `overviewUri`. Only to be used if there is a primary `overviewUri`. + * Set to `true` if one or more offset accounts are configured for this loan account. */ - additionalOverviewUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; + offsetAccountEnabled?: boolean | null; /** - * An array of additional terms and conditions for the product, if applicable. To be treated as secondary documents to the `termsUri`. Only to be used if there is a primary `termsUri`. + * The _accountId_ values of the configured offset accounts attached to this loan. Only offset accounts that can be accessed under the current authorisation should be included. It is expected behaviour that _offsetAccountEnabled_ is set to `true` but the _offsetAccountIds_ field is absent or empty. This represents a situation where an offset account exists but details can not be accessed under the current authorisation. */ - additionalTermsUris?: - | Array<{ - /** - * The URI describing the additional information. - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI. - */ - description?: string | null; - [k: string]: unknown; - }> - | null; + offsetAccountIds?: string[] | null; /** - * Description of a bundle that this product can be part of. Mandatory if `additionalBundleUris` includes one or more supporting documents. + * Optional original loan value. */ - bundleUri?: string | null; + originalLoanAmount?: string | null; /** - * Eligibility rules and criteria for the product. Mandatory if `additionalEligibilityUris` includes one or more supporting documents. + * If absent assumes `AUD`. */ - eligibilityUri?: string | null; + originalLoanCurrency?: string | null; /** - * Description of fees, pricing, discounts, exemptions and bonuses for the product. Mandatory if `additionalFeesAndPricingUris` includes one or more supporting documents. + * Optional original start date for the loan. */ - feesAndPricingUri?: string | null; + originalStartDate?: string | null; /** - * General overview of the product. Mandatory if `additionalOverviewUris` includes one or more supporting documents. + * The expected or required repayment frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). + */ + repaymentFrequency?: string | null; + /** + * Options in place for repayments. If absent defaults to `PRINCIPAL_AND_INTEREST`. + */ + repaymentType?: ("INTEREST_ONLY" | "PRINCIPAL_AND_INTEREST") | null; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface BankingLoanAccountV3 { + /** + * Date that the loan is due to be repaid in full. + */ + loanEndDate?: string | null; + /** + * Maximum amount of funds that can be redrawn. If not present redraw is not available even if the feature exists for the account. + */ + maxRedraw?: string | null; + /** + * If absent assumes `AUD`. + */ + maxRedrawCurrency?: string | null; + /** + * Minimum amount of next instalment. + */ + minInstalmentAmount?: string | null; + /** + * If absent assumes `AUD`. + */ + minInstalmentCurrency?: string | null; + /** + * Minimum redraw amount. + */ + minRedraw?: string | null; + /** + * If absent assumes `AUD`. + */ + minRedrawCurrency?: string | null; + /** + * Next date that an instalment is required. + */ + nextInstalmentDate?: string | null; + /** + * Set to `true` if one or more offset accounts are configured for this loan account. + */ + offsetAccountEnabled?: boolean | null; + /** + * The _accountId_ values of the configured offset accounts attached to this loan. Only offset accounts that can be accessed under the current authorisation should be included. It is expected behaviour that _offsetAccountEnabled_ is set to `true` but the _offsetAccountIds_ field is absent or empty. This represents a situation where an offset account exists but details can not be accessed under the current authorisation. + */ + offsetAccountIds?: string[] | null; + /** + * Optional original loan value. + */ + originalLoanAmount?: string | null; + /** + * If absent assumes `AUD`. + */ + originalLoanCurrency?: string | null; + /** + * Optional original start date for the loan. + */ + originalStartDate?: string | null; + /** + * The expected or required repayment frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). + */ + repaymentFrequency?: string | null; + /** + * Option in place for repayments. + */ + repaymentType: "INTEREST_ONLY" | "OTHER" | "PRINCIPAL_AND_INTEREST" | "UNCONSTRAINED"; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export type BankingPayeeDetailV2 = BankingPayeeV2 & { + /** + * Type of object included that describes the payee in detail. + */ + payeeUType: "biller" | "digitalWallet" | "domestic" | "international"; + biller?: BankingBillerPayee; + domestic?: BankingDomesticPayee; + digitalWallet?: BankingDigitalWalletPayee; + international?: BankingInternationalPayee; +}; +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +/** + * A unique identifier for a Banking payee, generated according to [CDR ID Permanence](#id-permanence) requirements. + */ +export type BankingPayeeId = string; +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface BankingPayeeV2 { + /** + * The date the payee was created by the customer. + */ + creationDate?: string | null; + /** + * A description of the payee provided by the customer. + */ + description?: string | null; + /** + * The short display name of the payee as provided by the customer. Where a customer has not provided a nickname, a display name derived by the bank for the payee consistent with existing digital banking channels. + */ + nickname: string; + /** + * Unique identifier for the payee. + */ + payeeId: string; + /** + * The type of payee. + */ + type: "BILLER" | "DIGITAL_WALLET" | "DOMESTIC" | "INTERNATIONAL"; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +/** + * Object that contains links to additional information on specific topics. + */ +export interface BankingProductAdditionalInformationV2 { + /** + * An array of additional bundles for the product, if applicable. To be treated as secondary documents to the _bundleUri_. Only to be used if there is a primary _bundleUri_. + */ + additionalBundleUris?: BankingProductAdditionalInformationV2AdditionalInformationUris[] | null; + /** + * An array of additional eligibility rules and criteria for the product, if applicable. To be treated as secondary documents to the _eligibilityUri_. Only to be used if there is a primary _eligibilityUri_. + */ + additionalEligibilityUris?: BankingProductAdditionalInformationV2AdditionalInformationUris[] | null; + /** + * An array of additional fees, pricing, discounts, exemptions and bonuses for the product, if applicable. To be treated as secondary documents to the _feesAndPricingUri_. Only to be used if there is a primary _feesAndPricingUri_. + */ + additionalFeesAndPricingUris?: BankingProductAdditionalInformationV2AdditionalInformationUris[] | null; + /** + * An array of additional general overviews for the product or features of the product, if applicable. To be treated as secondary documents to the _overviewUri_. Only to be used if there is a primary _overviewUri_. + */ + additionalOverviewUris?: BankingProductAdditionalInformationV2AdditionalInformationUris[] | null; + /** + * An array of additional terms and conditions for the product, if applicable. To be treated as secondary documents to the _termsUri_. Only to be used if there is a primary _termsUri_. + */ + additionalTermsUris?: BankingProductAdditionalInformationV2AdditionalInformationUris[] | null; + /** + * Description of a bundle that this product can be part of. Mandatory if _additionalBundleUris_ includes one or more supporting documents. + */ + bundleUri?: string | null; + /** + * Eligibility rules and criteria for the product. Mandatory if _additionalEligibilityUris_ includes one or more supporting documents. + */ + eligibilityUri?: string | null; + /** + * Description of fees, pricing, discounts, exemptions and bonuses for the product. Mandatory if _additionalFeesAndPricingUris_ includes one or more supporting documents. + */ + feesAndPricingUri?: string | null; + /** + * General overview of the product. Mandatory if _additionalOverviewUris_ includes one or more supporting documents. */ overviewUri?: string | null; /** - * Terms and conditions for the product. Mandatory if `additionalTermsUris` includes one or more supporting documents. + * Terms and conditions for the product. Mandatory if _additionalTermsUris_ includes one or more supporting documents. */ termsUri?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -809,7 +948,6 @@ export interface BankingProductAdditionalInformationV2AdditionalInformationUris * Display text providing more information about the document URI. */ description?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -831,10 +969,29 @@ export interface BankingProductBundle { */ name: string; /** - * Array of product IDs for products included in the bundle that are available via the product endpoints. Note that this array is not intended to represent a comprehensive model of the products included in the bundle and some products available for the bundle may not be available via the product reference endpoints. + * Array of _productID_ values for products included in the bundle that are available via the product endpoints. Note that this array is not intended to represent a comprehensive model of the products included in the bundle and some products available for the bundle may not be available via the product reference endpoints. */ productIds?: string[] | null; - [k: string]: unknown; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface BankingProductCardArt { + /** + * Card scheme available with the account. + */ + cardScheme: "AMEX" | "EFTPOS" | "MASTERCARD" | "VISA" | "OTHER"; + /** + * Card type available with the account. + */ + cardType: "CHARGE" | "CREDIT" | "DEBIT"; + /** + * URI reference to a PNG, JPG or GIF image with proportions defined by ISO 7810 ID-1 and width no greater than 512 pixels. The URI reference may be a link or url-encoded data URI according to **[[RFC2397]](#nref-RFC2397)**. + */ + imageUri: string; + /** + * Display label for the specific image. + */ + title?: string | null; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -856,9 +1013,28 @@ export type BankingProductCategory = | "TRAVEL_CARDS"; /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ +/** + * The category to which a product or account belongs. See [here](#product-categories) for more details. + */ +export type BankingProductCategoryV2 = + | "BUSINESS_LOANS" + | "BUY_NOW_PAY_LATER" + | "CRED_AND_CHRG_CARDS" + | "LEASES" + | "MARGIN_LOANS" + | "OVERDRAFTS" + | "PERS_LOANS" + | "REGULATED_TRUST_ACCOUNTS" + | "RESIDENTIAL_MORTGAGES" + | "TERM_DEPOSITS" + | "TRADE_FINANCE" + | "TRANS_AND_SAVINGS_ACCOUNTS" + | "TRAVEL_CARDS"; +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + export interface BankingProductConstraint { /** - * Display text providing more information the constraint. + * Display text providing more information on the constraint. */ additionalInfo?: string | null; /** @@ -873,12 +1049,9 @@ export interface BankingProductConstraint { * The type of constraint described. For further details, refer to [Product Constraint Types](#tocSproductconstrainttypedoc). */ constraintType: "MAX_BALANCE" | "MAX_LIMIT" | "MIN_BALANCE" | "MIN_LIMIT" | "OPENING_BALANCE"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ - export interface BankingProductConstraintV2 { /** * Display text providing more information on the constraint. @@ -903,8 +1076,37 @@ export interface BankingProductConstraintV2 { | "MIN_LIMIT" | "MIN_LVR" | "OPENING_BALANCE"; - [k: string]: unknown; } +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface BankingProductConstraintV3 { + /** + * Display text providing more information on the constraint. Mandatory if the [_constraintType_](#tocSproductconstrainttypedoc) value is `OTHER`. + */ + additionalInfo?: string | null; + /** + * Link to a web page with more information on the constraint. + */ + additionalInfoUri?: string | null; + /** + * Generic field containing additional information relevant to the [_constraintType_](#tocSproductconstrainttypedoc) specified. Whether mandatory or not is dependent on the value of [_constraintType_](#tocSproductconstrainttypedoc). + */ + additionalValue?: string | null; + /** + * The type of constraint described. For further details, refer to [Product Constraint Types](#tocSproductconstrainttypedoc). + */ + constraintType: + | "MAX_BALANCE" + | "MAX_LIMIT" + | "MAX_LVR" + | "MIN_BALANCE" + | "MIN_LIMIT" + | "MIN_LVR" + | "OPENING_BALANCE" + | "OTHER"; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + export interface BankingProductDepositRate { /** * Display text providing more information on the rate. @@ -937,673 +1139,246 @@ export interface BankingProductDepositRate { /** * Rate tiers applicable for this rate. */ - tiers?: - | Array<{ - /** - * Display text providing more information on the rate tier. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this rate tier - */ - additionalInfoUri?: string | null; - /** - * Defines the criteria and conditions for which a rate applies. - */ - applicabilityConditions?: { - /** - * Display text providing more information on the rate tier. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this rate tier. - */ - additionalInfoUri?: string | null; - [k: string]: unknown; - }; - /** - * The number of _unitOfMeasure_ units that form the upper bound of the tier or band. For a tier with a discrete value (as opposed to a range of values e.g., 1 month) this must be the same as _minimumValue_. Where this is the same as the _minimumValue_ value of the next-higher tier the referenced tier should be exclusive of this value. For example a term deposit of 2 months falls into the upper tier of the following tiers: (1 – 2 months, 2 – 3 months). If absent the tier's range has no upper bound. - */ - maximumValue?: number | null; - /** - * The number of _unitOfMeasure_ units that form the lower bound of the tier. The tier should be inclusive of this value. - */ - minimumValue: number; - /** - * A display name for the tier. - */ - name: string; - /** - * The method used to calculate the amount to be applied using one or more tiers. A single rate may be applied to the entire balance or each applicable tier rate is applied to the portion of the balance that falls into that tier (referred to as 'bands' or 'steps'). - */ - rateApplicationMethod?: ("PER_TIER" | "WHOLE_BALANCE") | null; - /** - * The unit of measure that applies to the _minimumValue_ and _maximumValue_ values e.g., - */ - unitOfMeasure: "DAY" | "DOLLAR" | "MONTH" | "PERCENT"; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; + tiers?: BankingProductRateTierV3[] | null; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface BankingProductDetailV4 extends BankingProductV4 { +export interface BankingProductDepositRateV2 { /** - * An array of bundles that this product participates in. Each bundle is described by free form information but also by a list of product IDs of the other products that are included in the bundle. It is assumed that the current product is included in the bundle also + * Display text providing more information on the rate. */ - bundles?: Array<{ - /** - * Display text providing more information on the condition. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this condition. - */ - additionalInfoUri?: string | null; - /** - * Description of the bundle - */ - description: string; - /** - * Name of the bundle - */ - name: string; - /** - * Array of product IDs for products included in the bundle that are available via the product end points. Note that this array is not intended to represent a comprehensive model of the products included in the bundle and some products available for the bundle may not be available via the product reference end points - */ - productIds?: string[] | null; - [k: string]: unknown; - }>; + additionalInfo?: string | null; /** - * Array of features available for the product + * Link to a web page with more information on this rate. */ - features?: Array<{ - /** - * Display text providing more information on the feature. Mandatory if the [feature type](#tocSproductfeaturetypedoc) is set to OTHER - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this feature - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [featureType](#tocSproductfeaturetypedoc) specified. Whether mandatory or not is dependent on the value of the [featureType.](#tocSproductfeaturetypedoc) - */ - additionalValue?: string | null; - /** - * The type of feature described - */ - featureType: - | "ADDITIONAL_CARDS" - | "BALANCE_TRANSFERS" - | "BILL_PAYMENT" - | "BONUS_REWARDS" - | "CARD_ACCESS" - | "CASHBACK_OFFER" - | "COMPLEMENTARY_PRODUCT_DISCOUNTS" - | "DIGITAL_BANKING" - | "DIGITAL_WALLET" - | "DONATE_INTEREST" - | "EXTRA_REPAYMENTS" - | "FRAUD_PROTECTION" - | "FREE_TXNS" - | "FREE_TXNS_ALLOWANCE" - | "GUARANTOR" - | "INSURANCE" - | "INSTALMENT_PLAN" - | "INTEREST_FREE" - | "INTEREST_FREE_TRANSFERS" - | "LOYALTY_PROGRAM" - | "NOTIFICATIONS" - | "NPP_ENABLED" - | "NPP_PAYID" - | "OFFSET" - | "OTHER" - | "OVERDRAFT" - | "REDRAW" - | "RELATIONSHIP_MANAGEMENT" - | "UNLIMITED_TXNS"; - [k: string]: unknown; - }>; + additionalInfoUri?: string | null; /** - * Constraints on the application for or operation of the product such as minimum balances or limit thresholds. + * Generic field containing additional information relevant to the [_depositRateType_](#tocSproductdepositratetypedoc) specified. Whether mandatory or not is dependent on the value of [_depositRateType_](#tocSproductdepositratetypedoc). */ - constraints?: Array<{ - /** - * Display text providing more information the constraint - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on the constraint - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [constraintType](#tocSproductconstrainttypedoc) specified. Whether mandatory or not is dependent on the value of [constraintType](#tocSproductconstrainttypedoc) - */ - additionalValue?: string | null; - /** - * The type of constraint described. See the next section for an overview of valid values and their meaning - */ - constraintType: "MAX_BALANCE" | "MAX_LIMIT" | "MIN_BALANCE" | "MIN_LIMIT" | "OPENING_BALANCE"; - [k: string]: unknown; - }>; + additionalValue?: string | null; /** - * Eligibility criteria for the product + * Applicability conditions for the rate. */ - eligibility?: Array<{ - /** - * Display text providing more information on the [eligibility](#tocSproducteligibilitytypedoc) criteria. Mandatory if the field is set to OTHER - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this eligibility criteria - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [eligibilityType](#tocSproducteligibilitytypedoc) specified. Whether mandatory or not is dependent on the value of [eligibilityType](#tocSproducteligibilitytypedoc) - */ - additionalValue?: string | null; - /** - * The type of eligibility criteria described. See the next section for an overview of valid values and their meaning - */ - eligibilityType: - | "BUSINESS" - | "EMPLOYMENT_STATUS" - | "MAX_AGE" - | "MIN_AGE" - | "MIN_INCOME" - | "MIN_TURNOVER" - | "NATURAL_PERSON" - | "OTHER" - | "PENSION_RECIPIENT" - | "RESIDENCY_STATUS" - | "STAFF" - | "STUDENT"; - [k: string]: unknown; - }>; - /** - * Fees applicable for the product - */ - fees?: Array<{ - /** - * The indicative frequency with which the fee is calculated on the account. Only applies if balanceRate or accruedRate is also present. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - accrualFrequency?: string | null; - /** - * A fee rate calculated based on a proportion of the calculated interest accrued on the account. One of amount, balanceRate, transactionRate and accruedRate is mandatory unless the *feeType* "VARIABLE" is supplied - */ - accruedRate?: string | null; - /** - * Display text providing more information on the fee - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this fee - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [feeType](#tocSproductfeetypedoc) specified. Whether mandatory or not is dependent on the value of [feeType](#tocSproductfeetypedoc) - */ - additionalValue?: string | null; - /** - * The amount charged for the fee. One of amount, balanceRate, transactionRate and accruedRate is mandatory unless the *feeType* "VARIABLE" is supplied - */ - amount?: string | null; - /** - * A fee rate calculated based on a proportion of the balance. One of amount, balanceRate, transactionRate and accruedRate is mandatory unless the *feeType* "VARIABLE" is supplied. - */ - balanceRate?: string | null; - /** - * The currency the fee will be charged in. Assumes AUD if absent - */ - currency?: string | null; - /** - * An optional list of discounts to this fee that may be available - */ - discounts?: - | Array<{ - /** - * A discount rate calculated based on a proportion of the calculated interest accrued on the account. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory. Unless noted in additionalInfo, assumes the application and calculation frequency are the same as the corresponding fee - */ - accruedRate?: string | null; - /** - * Display text providing more information on the discount - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this discount - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [discountType](#tocSproductdiscounttypedoc) specified. Whether mandatory or not is dependent on the value of [discountType](#tocSproductdiscounttypedoc) - */ - additionalValue?: string | null; - /** - * Dollar value of the discount. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory. - */ - amount?: string | null; - /** - * A discount rate calculated based on a proportion of the balance. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory. Unless noted in additionalInfo, assumes the application and calculation frequency are the same as the corresponding fee - */ - balanceRate?: string | null; - /** - * Description of the discount - */ - description: string; - /** - * The type of discount. See the next section for an overview of valid values and their meaning - */ - discountType: "BALANCE" | "DEPOSITS" | "ELIGIBILITY_ONLY" | "FEE_CAP" | "PAYMENTS"; - /** - * Eligibility constraints that apply to this discount. Mandatory if ``discountType`` is ``ELIGIBILITY_ONLY``. - */ - eligibility?: - | Array<{ - /** - * Display text providing more information on this eligibility constraint. Whether mandatory or not is dependent on the value of [discountEligibilityType](#tocSproductdiscounteligibilitydoc) - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this eligibility constraint - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [discountEligibilityType](#tocSproductdiscounteligibilitydoc) specified. Whether mandatory or not is dependent on the value of [discountEligibilityType](#tocSproductdiscounteligibilitydoc) - */ - additionalValue?: string | null; - /** - * The type of the specific eligibility constraint for a discount - */ - discountEligibilityType: - | "BUSINESS" - | "EMPLOYMENT_STATUS" - | "INTRODUCTORY" - | "MAX_AGE" - | "MIN_AGE" - | "MIN_INCOME" - | "MIN_TURNOVER" - | "NATURAL_PERSON" - | "OTHER" - | "PENSION_RECIPIENT" - | "RESIDENCY_STATUS" - | "STAFF" - | "STUDENT"; - [k: string]: unknown; - }> - | null; - /** - * A discount rate calculated based on a proportion of the fee to which this discount is attached. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory. Unless noted in additionalInfo, assumes the application and calculation frequency are the same as the corresponding fee - */ - feeRate?: string | null; - /** - * A discount rate calculated based on a proportion of a transaction. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory - */ - transactionRate?: string | null; - [k: string]: unknown; - }> - | null; - /** - * The type of fee - */ - feeType: - | "DEPOSIT" - | "EVENT" - | "EXIT" - | "PAYMENT" - | "PERIODIC" - | "PURCHASE" - | "TRANSACTION" - | "UPFRONT" - | "VARIABLE" - | "WITHDRAWAL"; - /** - * Name of the fee - */ - name: string; - /** - * A fee rate calculated based on a proportion of a transaction. One of amount, balanceRate, transactionRate and accruedRate is mandatory unless the *feeType* "VARIABLE" is supplied - */ - transactionRate?: string | null; - [k: string]: unknown; - }>; + applicabilityConditions?: BankingProductRateConditionV2[] | null; /** - * Interest rates available for deposits + * The period after which the calculated amount(s) (see _calculationFrequency_) are 'applied' (i.e. debited or credited) to the account. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Mandatory if the _applicationType_ value is `PERIODIC`. */ - depositRates?: Array<{ - /** - * Display text providing more information on the rate - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this rate - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [depositRateType](#tocSproductdepositratetypedoc) specified. Whether mandatory or not is dependent on the value of [depositRateType](#tocSproductdepositratetypedoc) - */ - additionalValue?: string | null; - /** - * The period after which the calculated amount(s) (see calculationFrequency) are 'applied' (i.e. debited or credited) to the account. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - applicationFrequency?: string | null; - /** - * The period after which the rate is applied to the balance to calculate the amount due for the period. Calculation of the amount is often daily (as balances may change) but accumulated until the total amount is 'applied' to the account (see applicationFrequency). Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - calculationFrequency?: string | null; - /** - * The type of rate (base, bonus, etc). See the next section for an overview of valid values and their meaning - */ - depositRateType: - | "BONUS" - | "BUNDLE_BONUS" - | "FIXED" - | "FLOATING" - | "INTRODUCTORY" - | "MARKET_LINKED" - | "VARIABLE"; - /** - * The rate to be applied - */ - rate: string; - /** - * Rate tiers applicable for this rate - */ - tiers?: - | Array<{ - /** - * Display text providing more information on the rate tier. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this rate tier - */ - additionalInfoUri?: string | null; - /** - * Defines a condition for the applicability of a tiered rate - */ - applicabilityConditions?: { - /** - * Display text providing more information on the condition - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this condition - */ - additionalInfoUri?: string | null; - [k: string]: unknown; - }; - /** - * The number of tierUnitOfMeasure units that form the upper bound of the tier or band. For a tier with a discrete value (as opposed to a range of values e.g. 1 month) this must be the same as tierValueMinimum. Where this is the same as the tierValueMinimum value of the next-higher tier the referenced tier should be exclusive of this value. For example a term deposit of 2 months falls into the upper tier of the following tiers: (1 – 2 months, 2 – 3 months). If absent the tier's range has no upper bound. - */ - maximumValue?: number | null; - /** - * The number of tierUnitOfMeasure units that form the lower bound of the tier. The tier should be inclusive of this value - */ - minimumValue: number; - /** - * A display name for the tier - */ - name: string; - /** - * The method used to calculate the amount to be applied using one or more tiers. A single rate may be applied to the entire balance or each applicable tier rate is applied to the portion of the balance that falls into that tier (referred to as 'bands' or 'steps') - */ - rateApplicationMethod?: ("PER_TIER" | "WHOLE_BALANCE") | null; - /** - * The unit of measure that applies to the tierValueMinimum and tierValueMaximum values e.g. a **DOLLAR** amount. **PERCENT** (in the case of loan-to-value ratio or LVR). Tier term period representing a discrete number of **MONTH**'s or **DAY**'s (in the case of term deposit tiers) - */ - unitOfMeasure: "DAY" | "DOLLAR" | "MONTH" | "PERCENT"; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }>; + applicationFrequency?: string | null; /** - * Interest rates charged against lending balances + * The type of approach used to apply the rate to the account. */ - lendingRates?: Array<{ - /** - * Display text providing more information on the rate. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this rate. - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [_lendingRateType_](#tocSproductlendingratetypedoc) specified. Whether mandatory or not is dependent on the value of [_lendingRateType_](#tocSproductlendingratetypedoc). - */ - additionalValue?: string | null; - /** - * The period after which the calculated amount(s) (see _calculationFrequency_) are 'applied' (i.e. debited or credited) to the account. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). - */ - applicationFrequency?: string | null; - /** - * The period after which the rate is applied to the balance to calculate the amount due for the period. Calculation of the amount is often daily (as balances may change) but accumulated until the total amount is 'applied' to the account (see _applicationFrequency_). Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). - */ - calculationFrequency?: string | null; - /** - * A comparison rate equivalent for this rate. - */ - comparisonRate?: string | null; - /** - * When loan payments are due to be paid within each period. The investment benefit of earlier payments affect the rate that can be offered. - */ - interestPaymentDue?: ("IN_ADVANCE" | "IN_ARREARS") | null; - /** - * The type of rate (`FIXED`, `VARIABLE`, etc.) For further details, refer to [Product Lending Rate Types](#tocSproductlendingratetypedoc). - */ - lendingRateType: - | "BUNDLE_DISCOUNT_FIXED" - | "BUNDLE_DISCOUNT_VARIABLE" - | "CASH_ADVANCE" - | "DISCOUNT" - | "FIXED" - | "FLOATING" - | "INTRODUCTORY" - | "MARKET_LINKED" - | "PENALTY" - | "PURCHASE" - | "VARIABLE"; - /** - * The reason for taking out the loan. If absent, the lending rate is applicable to all loan purposes. - */ - loanPurpose?: ("INVESTMENT" | "OWNER_OCCUPIED") | null; - /** - * The rate to be applied. - */ - rate: string; - /** - * Options in place for repayments. If absent, the lending rate is applicable to all repayment types. - */ - repaymentType?: ("INTEREST_ONLY" | "PRINCIPAL_AND_INTEREST") | null; - /** - * Rate tiers applicable for this rate. - */ - tiers?: - | Array<{ - /** - * Display text providing more information on the rate tier. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this rate tier - */ - additionalInfoUri?: string | null; - /** - * Defines a condition for the applicability of a tiered rate - */ - applicabilityConditions?: { - /** - * Display text providing more information on the condition - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this condition - */ - additionalInfoUri?: string | null; - [k: string]: unknown; - }; - /** - * The number of tierUnitOfMeasure units that form the upper bound of the tier or band. For a tier with a discrete value (as opposed to a range of values e.g. 1 month) this must be the same as tierValueMinimum. Where this is the same as the tierValueMinimum value of the next-higher tier the referenced tier should be exclusive of this value. For example a term deposit of 2 months falls into the upper tier of the following tiers: (1 – 2 months, 2 – 3 months). If absent the tier's range has no upper bound. - */ - maximumValue?: number | null; - /** - * The number of tierUnitOfMeasure units that form the lower bound of the tier. The tier should be inclusive of this value - */ - minimumValue: number; - /** - * A display name for the tier - */ - name: string; - /** - * The method used to calculate the amount to be applied using one or more tiers. A single rate may be applied to the entire balance or each applicable tier rate is applied to the portion of the balance that falls into that tier (referred to as 'bands' or 'steps') - */ - rateApplicationMethod?: ("PER_TIER" | "WHOLE_BALANCE") | null; - /** - * The unit of measure that applies to the tierValueMinimum and tierValueMaximum values e.g. a **DOLLAR** amount. **PERCENT** (in the case of loan-to-value ratio or LVR). Tier term period representing a discrete number of **MONTH**'s or **DAY**'s (in the case of term deposit tiers) - */ - unitOfMeasure: "DAY" | "DOLLAR" | "MONTH" | "PERCENT"; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }>; - [k: string]: unknown; + applicationType: "MATURITY" | "PERIODIC" | "UPFRONT"; + /** + * The period after which the rate is applied to the balance to calculate the amount due for the period. Calculation of the amount is often daily (as balances may change) but accumulated until the total amount is 'applied' to the account (see _applicationFrequency_). Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). + */ + calculationFrequency?: string | null; + /** + * The type of rate (`FIXED`, `VARIABLE`, `BONUS`, etc.) For further details, refer to [Product Deposit Rate Types](#tocSproductdepositratetypedoc). + */ + depositRateType: "BONUS" | "BUNDLE_BONUS" | "FIXED" | "FLOATING" | "INTRODUCTORY" | "MARKET_LINKED" | "VARIABLE"; + /** + * The rate to be applied. + */ + rate: string; + /** + * Qualifying criteria or conditions relevant to the associated rate. + */ + tiers?: BankingProductRateTierV4[] | null; } +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ +export type BankingProductDetailV4 = BankingProductV4 & { + /** + * An array of bundles that this product participates in. Each bundle is described by free form information but also by a list of product IDs of the other products that are included in the bundle. It is assumed that the current product is included in the bundle also. + */ + bundles?: BankingProductBundle[]; + /** + * Array of features available for the product. + */ + features?: BankingProductFeatureV2[]; + /** + * Constraints on the application for or operation of the product such as minimum balances or limit thresholds. + */ + constraints?: BankingProductConstraint[]; + /** + * Eligibility criteria for the product. + */ + eligibility?: BankingProductEligibility[]; + /** + * Fees applicable to the product. + */ + fees?: BankingProductFee[]; + /** + * Interest rates available for deposits. + */ + depositRates?: BankingProductDepositRate[]; + /** + * Interest rates charged against lending balances. + */ + lendingRates?: BankingProductLendingRateV2[]; +}; /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ export type BankingProductDetailV5 = BankingProductV4 & { /** * An array of bundles that this product participates in. Each bundle is described by free form information but also by a list of product IDs of the other products that are included in the bundle. It is assumed that the current product is included in the bundle also. */ - bundles?: BankingProductBundle[] | null; + bundles?: BankingProductBundle[]; /** * Array of features available for the product. */ - features?: BankingProductFeatureV2[] | null; + features?: BankingProductFeatureV2[]; /** * Constraints on the application for or operation of the product such as minimum balances or limit thresholds. */ - constraints?: BankingProductConstraintV2[] | null; + constraints?: BankingProductConstraintV2[]; + /** + * Eligibility criteria for the product. + */ + eligibility?: BankingProductEligibility[]; + /** + * Fees applicable to the product. + */ + fees?: BankingProductFee[]; + /** + * Interest rates available for deposits. + */ + depositRates?: BankingProductDepositRate[]; + /** + * Interest rates charged against lending balances. + */ + lendingRates?: BankingProductLendingRateV2[]; +}; +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export type BankingProductDetailV6 = BankingProductV5 & { + /** + * An array of bundles that this product participates in. Each bundle is described by free form information but also by a list of _productID_ values of the other products that are included in the bundle. It is assumed that the current product is included in the bundle also. + */ + bundles?: BankingProductBundle[]; + /** + * Array of features and limitations of the product. + */ + features?: BankingProductFeatureV3[]; + /** + * Constraints on the application for the product such as minimum balances or limit thresholds. + */ + constraints?: BankingProductConstraintV3[]; + /** + * Eligibility criteria for the product. + */ + eligibility?: BankingProductEligibilityV2[]; + /** + * Fees applicable to the product. + */ + fees?: BankingProductFeeV2[]; + /** + * Interest rates available for deposits. + */ + depositRates?: BankingProductDepositRateV2[]; + /** + * Interest rates charged against lending balances. + */ + lendingRates?: BankingProductLendingRateV3[]; +}; +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export type BankingProductDetailV7 = BankingProductV6 & { + /** + * An array of bundles that this product participates in. Each bundle is described by free form information but also by a list of _productID_ values of the other products that are included in the bundle. It is assumed that the current product is included in the bundle also. + */ + bundles?: BankingProductBundle[]; + /** + * Array of features and limitations of the product. + */ + features?: BankingProductFeatureV4[]; + /** + * Constraints on the application for the product such as minimum balances or limit thresholds. + */ + constraints?: BankingProductConstraintV3[]; /** * Eligibility criteria for the product. */ - eligibility?: BankingProductEligibility[] | null; + eligibility?: BankingProductEligibilityV2[]; /** - * Fees applicable for the product. + * Fees applicable to the product. */ - fees?: BankingProductFee[] | null; + fees?: BankingProductFeeV2[]; /** * Interest rates available for deposits. */ - depositRates?: BankingProductDepositRate[] | null; + depositRates?: BankingProductDepositRateV2[]; /** * Interest rates charged against lending balances. */ - lendingRates?: BankingProductLendingRateV2[] | null; - [k: string]: unknown; + lendingRates?: BankingProductLendingRateV3[]; + instalments?: BankingProductInstalments; }; /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ export interface BankingProductDiscount { /** - * A discount rate calculated based on a proportion of the calculated interest accrued on the account. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory. Unless noted in additionalInfo, assumes the application and calculation frequency are the same as the corresponding fee + * A discount rate calculated based on a proportion of the calculated interest accrued on the account. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of _amount_, _balanceRate_, _transactionRate_, _accruedRate_ and _feeRate_ is mandatory. Unless noted in _additionalInfo_, assumes the application and calculation frequency are the same as the corresponding fee. */ accruedRate?: string | null; /** - * Display text providing more information on the discount + * Display text providing more information on the discount. */ additionalInfo?: string | null; /** - * Link to a web page with more information on this discount + * Link to a web page with more information on this discount. */ additionalInfoUri?: string | null; /** - * Generic field containing additional information relevant to the [discountType](#tocSproductdiscounttypedoc) specified. Whether mandatory or not is dependent on the value of [discountType](#tocSproductdiscounttypedoc) + * Generic field containing additional information relevant to the [_discountType_](#tocSproductdiscounttypedoc) specified. Whether mandatory or not is dependent on the value of [_discountType_](#tocSproductdiscounttypedoc). */ additionalValue?: string | null; /** - * Dollar value of the discount. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory. + * Dollar value of the discount. One of _amount_, _balanceRate_, _transactionRate_, _accruedRate_ and _feeRate_ is mandatory. */ amount?: string | null; /** - * A discount rate calculated based on a proportion of the balance. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory. Unless noted in additionalInfo, assumes the application and calculation frequency are the same as the corresponding fee + * A discount rate calculated based on a proportion of the balance. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of _amount_, _balanceRate_, _transactionRate_, _accruedRate_ and _feeRate_ is mandatory. Unless noted in _additionalInfo_, assumes the application and calculation frequency are the same as the corresponding fee. */ balanceRate?: string | null; /** - * Description of the discount + * Description of the discount. */ description: string; /** - * The type of discount. See the next section for an overview of valid values and their meaning + * The type of discount. For further details, refer to [Product Discount Types](#tocSproductdiscounttypedoc). */ discountType: "BALANCE" | "DEPOSITS" | "ELIGIBILITY_ONLY" | "FEE_CAP" | "PAYMENTS"; /** - * Eligibility constraints that apply to this discount. Mandatory if ``discountType`` is ``ELIGIBILITY_ONLY``. + * Eligibility constraints that apply to this discount. Mandatory if _discountType_ is `ELIGIBILITY_ONLY`. */ - eligibility?: - | Array<{ - /** - * Display text providing more information on this eligibility constraint. Whether mandatory or not is dependent on the value of [discountEligibilityType](#tocSproductdiscounteligibilitydoc) - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this eligibility constraint - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [discountEligibilityType](#tocSproductdiscounteligibilitydoc) specified. Whether mandatory or not is dependent on the value of [discountEligibilityType](#tocSproductdiscounteligibilitydoc) - */ - additionalValue?: string | null; - /** - * The type of the specific eligibility constraint for a discount - */ - discountEligibilityType: - | "BUSINESS" - | "EMPLOYMENT_STATUS" - | "INTRODUCTORY" - | "MAX_AGE" - | "MIN_AGE" - | "MIN_INCOME" - | "MIN_TURNOVER" - | "NATURAL_PERSON" - | "OTHER" - | "PENSION_RECIPIENT" - | "RESIDENCY_STATUS" - | "STAFF" - | "STUDENT"; - [k: string]: unknown; - }> - | null; + eligibility?: BankingProductDiscountEligibility[] | null; /** - * A discount rate calculated based on a proportion of the fee to which this discount is attached. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory. Unless noted in additionalInfo, assumes the application and calculation frequency are the same as the corresponding fee + * A discount rate calculated based on a proportion of the fee to which this discount is attached. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of _amount_, _balanceRate_, _transactionRate_, _accruedRate_ and _feeRate_ is mandatory. Unless noted in _additionalInfo_, assumes the application and calculation frequency are the same as the corresponding fee. */ feeRate?: string | null; /** - * A discount rate calculated based on a proportion of a transaction. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory + * A discount rate calculated based on a proportion of a transaction. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of _amount_, _balanceRate_, _transactionRate_, _accruedRate_ and _feeRate_ is mandatory. */ transactionRate?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ export interface BankingProductDiscountEligibility { /** - * Display text providing more information on this eligibility constraint. Whether mandatory or not is dependent on the value of [discountEligibilityType](#tocSproductdiscounteligibilitydoc) + * Display text providing more information on this eligibility constraint. Mandatory if the [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc) value is `OTHER`. */ additionalInfo?: string | null; /** - * Link to a web page with more information on this eligibility constraint + * Link to a web page with more information on this eligibility constraint. */ additionalInfoUri?: string | null; /** - * Generic field containing additional information relevant to the [discountEligibilityType](#tocSproductdiscounteligibilitydoc) specified. Whether mandatory or not is dependent on the value of [discountEligibilityType](#tocSproductdiscounteligibilitydoc) + * Generic field containing additional information relevant to the [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc) specified. Whether mandatory or not is dependent on the value of [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc). */ additionalValue?: string | null; /** - * The type of the specific eligibility constraint for a discount + * The type of the specific eligibility constraint for a discount. For further details, refer to [Product Discount Eligibility Types](#tocSproductdiscounteligibilitydoc). */ discountEligibilityType: | "BUSINESS" @@ -1619,25 +1394,67 @@ export interface BankingProductDiscountEligibility { | "RESIDENCY_STATUS" | "STAFF" | "STUDENT"; - [k: string]: unknown; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +/** + * Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. + */ +export interface BankingProductDiscountV2 { + /** + * Display text providing more information on the discount. + */ + additionalInfo?: string | null; + /** + * Link to a web page with more information on this discount. + */ + additionalInfoUri?: string | null; + /** + * Generic field containing additional information relevant to the [_discountType_](#tocSproductdiscounttypedoc) specified. Whether mandatory or not is dependent on the value of [_discountType_](#tocSproductdiscounttypedoc). + */ + additionalValue?: string | null; + /** + * Description of the discount. + */ + description: string; + /** + * Reference to the applicable fee discount method structure. + */ + discountMethodUType: "fixedAmount" | "rateBased"; + /** + * The type of discount. For further details, refer to [Product Discount Types](#tocSproductdiscounttypedoc). + */ + discountType: "BALANCE" | "DEPOSITS" | "ELIGIBILITY_ONLY" | "FEE_CAP" | "PAYMENTS"; + /** + * Eligibility constraints that apply to this discount. Mandatory if the [_discountType_](#tocSproductdiscounttypedoc) value is `ELIGIBILITY_ONLY`. + */ + eligibility?: BankingProductDiscountEligibility[] | null; + /** + * Mandatory if the _discountMethodUType_ value is `fixedAmount`. Where the discount is a specific amount. + */ + fixedAmount?: BankingFeeDiscountAmount; + /** + * Mandatory if the _discountMethodUType_ value is `rateBased`. Where the discount is based on a type of rate. Unless noted in _additionalInfo_, assumes the application and calculation frequency are the same as the corresponding fee. + */ + rateBased?: BankingFeeDiscountRate; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ export interface BankingProductEligibility { /** - * Display text providing more information on the [eligibility](#tocSproducteligibilitytypedoc) criteria. Mandatory if the field is set to OTHER + * Display text providing more information on the [eligibility](#tocSproducteligibilitytypedoc) criteria. Mandatory if the field is set to `OTHER`. */ additionalInfo?: string | null; /** - * Link to a web page with more information on this eligibility criteria + * Link to a web page with more information on this eligibility criteria. */ additionalInfoUri?: string | null; /** - * Generic field containing additional information relevant to the [eligibilityType](#tocSproducteligibilitytypedoc) specified. Whether mandatory or not is dependent on the value of [eligibilityType](#tocSproducteligibilitytypedoc) + * Generic field containing additional information relevant to the [_eligibilityType_](#tocSproducteligibilitytypedoc) specified. Whether mandatory or not is dependent on the value of [_eligibilityType_](#tocSproducteligibilitytypedoc). */ additionalValue?: string | null; /** - * The type of eligibility criteria described. See the next section for an overview of valid values and their meaning + * The type of eligibility criteria described. For further details, refer to [Product Eligibility Types](#tocSproducteligibilitytypedoc). */ eligibilityType: | "BUSINESS" @@ -1652,46 +1469,178 @@ export interface BankingProductEligibility { | "RESIDENCY_STATUS" | "STAFF" | "STUDENT"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface BankingProductFeatureV2 { +export interface BankingProductEligibilityV2 { /** - * Display text providing more information on the feature. Mandatory if [_featureType_](#tocSproductfeaturetypedoc) is set to `OTHER`. + * Display text providing more information on the [eligibility](#tocSproducteligibilitytypedoc) criteria. Mandatory if the [_eligibilityType_](#tocSproducteligibilitytypedoc) value is `OTHER`. */ additionalInfo?: string | null; /** - * Link to a web page with more information on this feature. + * Link to a web page with more information on this eligibility criteria. */ additionalInfoUri?: string | null; /** - * Generic field containing additional information relevant to the [_featureType_](#tocSproductfeaturetypedoc) specified. Whether mandatory or not is dependent on the value of the [_featureType_](#tocSproductfeaturetypedoc). + * Generic field containing additional information relevant to the [_eligibilityType_](#tocSproducteligibilitytypedoc) specified. Whether mandatory or not is dependent on the value of [_eligibilityType_](#tocSproducteligibilitytypedoc). */ additionalValue?: string | null; /** - * The type of feature described. For further details, refer to [Product Feature Types](#tocSproductfeaturetypedoc). + * The type of eligibility criteria described. For further details, refer to [Product Eligibility Types](#tocSproducteligibilitytypedoc). */ - featureType: - | "ADDITIONAL_CARDS" - | "BALANCE_TRANSFERS" - | "BILL_PAYMENT" - | "BONUS_REWARDS" - | "CARD_ACCESS" - | "CASHBACK_OFFER" - | "COMPLEMENTARY_PRODUCT_DISCOUNTS" - | "DIGITAL_BANKING" - | "DIGITAL_WALLET" - | "DONATE_INTEREST" - | "EXTRA_REPAYMENTS" - | "FRAUD_PROTECTION" - | "FREE_TXNS" - | "FREE_TXNS_ALLOWANCE" - | "GUARANTOR" - | "INSURANCE" - | "INSTALMENT_PLAN" - | "INTEREST_FREE" - | "INTEREST_FREE_TRANSFERS" + eligibilityType: + | "BUSINESS" + | "EMPLOYMENT_STATUS" + | "MAX_AGE" + | "MIN_AGE" + | "MIN_INCOME" + | "MIN_TURNOVER" + | "NATURAL_PERSON" + | "OTHER" + | "PENSION_RECIPIENT" + | "RESIDENCY_STATUS" + | "STAFF" + | "STUDENT"; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface BankingProductFeatureV2 { + /** + * Display text providing more information on the feature. Mandatory if [_featureType_](#tocSproductfeaturetypedoc) is set to `OTHER`. + */ + additionalInfo?: string | null; + /** + * Link to a web page with more information on this feature. + */ + additionalInfoUri?: string | null; + /** + * Generic field containing additional information relevant to the [_featureType_](#tocSproductfeaturetypedoc) specified. Whether mandatory or not is dependent on the value of the [_featureType_](#tocSproductfeaturetypedoc). + */ + additionalValue?: string | null; + /** + * The type of feature described. For further details, refer to [Product Feature Types](#tocSproductfeaturetypedoc). + */ + featureType: + | "ADDITIONAL_CARDS" + | "BALANCE_TRANSFERS" + | "BILL_PAYMENT" + | "BONUS_REWARDS" + | "CARD_ACCESS" + | "CASHBACK_OFFER" + | "COMPLEMENTARY_PRODUCT_DISCOUNTS" + | "DIGITAL_BANKING" + | "DIGITAL_WALLET" + | "DONATE_INTEREST" + | "EXTRA_REPAYMENTS" + | "FRAUD_PROTECTION" + | "FREE_TXNS" + | "FREE_TXNS_ALLOWANCE" + | "GUARANTOR" + | "INSURANCE" + | "INSTALMENT_PLAN" + | "INTEREST_FREE" + | "INTEREST_FREE_TRANSFERS" + | "LOYALTY_PROGRAM" + | "NOTIFICATIONS" + | "NPP_ENABLED" + | "NPP_PAYID" + | "OFFSET" + | "OTHER" + | "OVERDRAFT" + | "REDRAW" + | "RELATIONSHIP_MANAGEMENT" + | "UNLIMITED_TXNS"; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface BankingProductFeatureV3 { + /** + * Display text providing more information on the feature. Mandatory if [_featureType_](#tocSproductfeaturetypedoc) is set to `OTHER`. + */ + additionalInfo?: string | null; + /** + * Link to a web page with more information on this feature. + */ + additionalInfoUri?: string | null; + /** + * Generic field containing additional information relevant to the [_featureType_](#tocSproductfeaturetypedoc) specified. Whether mandatory or not is dependent on the value of the [_featureType_](#tocSproductfeaturetypedoc). + */ + additionalValue?: string | null; + /** + * The type of feature described. For further details, refer to [Product Feature Types](#tocSproductfeaturetypedoc). + */ + featureType: + | "ADDITIONAL_CARDS" + | "BALANCE_TRANSFERS" + | "BILL_PAYMENT" + | "BONUS_REWARDS" + | "CARD_ACCESS" + | "CASHBACK_OFFER" + | "COMPLEMENTARY_PRODUCT_DISCOUNTS" + | "DIGITAL_BANKING" + | "DIGITAL_WALLET" + | "DONATE_INTEREST" + | "EXTRA_REPAYMENTS" + | "FRAUD_PROTECTION" + | "FREE_TXNS" + | "FREE_TXNS_ALLOWANCE" + | "FUNDS_AVAILABLE_AFTER" + | "GUARANTOR" + | "INSTALMENT_PLAN" + | "INSURANCE" + | "INTEREST_FREE" + | "INTEREST_FREE_TRANSFERS" + | "LOYALTY_PROGRAM" + | "NOTIFICATIONS" + | "NPP_ENABLED" + | "NPP_PAYID" + | "OFFSET" + | "OTHER" + | "OVERDRAFT" + | "REDRAW" + | "RELATIONSHIP_MANAGEMENT" + | "UNLIMITED_TXNS"; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface BankingProductFeatureV4 { + /** + * Display text providing more information on the feature. Mandatory if the [_featureType_](#tocSproductfeaturetypedoc) value is `OTHER`. + */ + additionalInfo?: string | null; + /** + * Link to a web page with more information on this feature. + */ + additionalInfoUri?: string | null; + /** + * Generic field containing additional information relevant to the [_featureType_](#tocSproductfeaturetypedoc) specified. Whether mandatory or not is dependent on the value of the [_featureType_](#tocSproductfeaturetypedoc). + */ + additionalValue?: string | null; + /** + * The type of feature described. For further details, refer to [Product Feature Types](#tocSproductfeaturetypedoc). + */ + featureType: + | "ADDITIONAL_CARDS" + | "BALANCE_TRANSFERS" + | "BILL_PAYMENT" + | "BONUS_REWARDS" + | "CARD_ACCESS" + | "CASHBACK_OFFER" + | "COMPLEMENTARY_PRODUCT_DISCOUNTS" + | "EXTRA_DOWN_PAYMENT" + | "DIGITAL_BANKING" + | "DIGITAL_WALLET" + | "DONATE_INTEREST" + | "EXTRA_REPAYMENTS" + | "FRAUD_PROTECTION" + | "FREE_TXNS" + | "FREE_TXNS_ALLOWANCE" + | "FUNDS_AVAILABLE_AFTER" + | "GUARANTOR" + | "INSTALMENT_PLAN" + | "INSURANCE" + | "INTEREST_FREE" + | "INTEREST_FREE_TRANSFERS" | "LOYALTY_PROGRAM" | "NOTIFICATIONS" | "NPP_ENABLED" @@ -1702,7 +1651,6 @@ export interface BankingProductFeatureV2 { | "REDRAW" | "RELATIONSHIP_MANAGEMENT" | "UNLIMITED_TXNS"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -1742,90 +1690,9 @@ export interface BankingProductFee { /** * An optional list of discounts to this fee that may be available. */ - discounts?: - | Array<{ - /** - * A discount rate calculated based on a proportion of the calculated interest accrued on the account. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of _amount_, _balanceRate_, _transactionRate_, _accruedRate_ and _feeRate_ is mandatory. Unless noted in _additionalInfo_, assumes the application and calculation frequency are the same as the corresponding fee. - */ - accruedRate?: string | null; - /** - * Display text providing more information on the discount. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this discount. - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [_discountType_](#tocSproductdiscounttypedoc) specified. Whether mandatory or not is dependent on the value of [_discountType_](#tocSproductdiscounttypedoc). - */ - additionalValue?: string | null; - /** - * Dollar value of the discount. One of _amount_, _balanceRate_, _transactionRate_, _accruedRate_ and _feeRate_ is mandatory. - */ - amount?: string | null; - /** - * A discount rate calculated based on a proportion of the balance. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of _amount_, _balanceRate_, _transactionRate_, _accruedRate_ and _feeRate_ is mandatory. Unless noted in _additionalInfo_, assumes the application and calculation frequency are the same as the corresponding fee. - */ - balanceRate?: string | null; - /** - * Description of the discount. - */ - description: string; - /** - * The type of discount. For further details, refer to [Product Discount Types](#tocSproductdiscounttypedoc). - */ - discountType: "BALANCE" | "DEPOSITS" | "ELIGIBILITY_ONLY" | "FEE_CAP" | "PAYMENTS"; - /** - * Eligibility constraints that apply to this discount. Mandatory if _discountType_ is `ELIGIBILITY_ONLY`. - */ - eligibility?: - | Array<{ - /** - * Display text providing more information on this eligibility constraint. Whether mandatory or not is dependent on the value of [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc). - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this eligibility constraint. - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc) specified. Whether mandatory or not is dependent on the value of [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc). - */ - additionalValue?: string | null; - /** - * The type of the specific eligibility constraint for a discount. For further details, refer to [Product Discount Eligibility Types](#tocSproductdiscounteligibilitydoc). - */ - discountEligibilityType: - | "BUSINESS" - | "EMPLOYMENT_STATUS" - | "INTRODUCTORY" - | "MAX_AGE" - | "MIN_AGE" - | "MIN_INCOME" - | "MIN_TURNOVER" - | "NATURAL_PERSON" - | "OTHER" - | "PENSION_RECIPIENT" - | "RESIDENCY_STATUS" - | "STAFF" - | "STUDENT"; - [k: string]: unknown; - }> - | null; - /** - * A discount rate calculated based on a proportion of the fee to which this discount is attached. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of _amount_, _balanceRate_, _transactionRate_, _accruedRate_ and _feeRate_ is mandatory. Unless noted in _additionalInfo_, assumes the application and calculation frequency are the same as the corresponding fee. - */ - feeRate?: string | null; - /** - * A discount rate calculated based on a proportion of a transaction. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of _amount_, _balanceRate_, _transactionRate_, _accruedRate_ and _feeRate_ is mandatory. - */ - transactionRate?: string | null; - [k: string]: unknown; - }> - | null; + discounts?: BankingProductDiscount[] | null; /** - * The type of fee + * The type of fee. For further details, refer to [Product Fee Types](#tocSproductfeetypedoc). */ feeType: | "DEPOSIT" @@ -1846,7 +1713,116 @@ export interface BankingProductFee { * A fee rate calculated based on a proportion of a transaction. One of _amount_, _balanceRate_, _transactionRate_ and _accruedRate_ is mandatory unless the _feeType_ `VARIABLE` is supplied. */ transactionRate?: string | null; - [k: string]: unknown; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface BankingProductFeeV2 { + /** + * Display text providing more information on the fee. Mandatory if the [_feeType_](#tocSproductfeetypedoc) value is `OTHER`. + */ + additionalInfo?: string | null; + /** + * Link to a web page with more information on this fee. + */ + additionalInfoUri?: string | null; + /** + * Generic field containing additional information relevant to the [_feeType_](#tocSproductfeetypedoc) specified. Whether mandatory or not is dependent on the value of [_feeType_](#tocSproductfeetypedoc). + */ + additionalValue?: string | null; + /** + * The currency the fee will be charged in. Assumes `AUD` if absent. + */ + currency?: string | null; + /** + * An optional list of discounts to this fee that may be available. + */ + discounts?: BankingProductDiscountV2[] | null; + /** + * The cap amount if multiple occurrences of the fee are capped to a limit. + */ + feeCap?: string | null; + /** + * Specifies a duration over which multiple occurrences of the fee will be capped. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). + */ + feeCapPeriod?: string | null; + /** + * Reference to the applicable fee charging method structure. + */ + feeMethodUType: "fixedAmount" | "rateBased" | "variable"; + /** + * The type of fee. For further details, refer to [Product Fee Types](#tocSproductfeetypedoc). + */ + feeType: + | "CASH_ADVANCE" + | "DEPOSIT" + | "DISHONOUR" + | "ENQUIRY" + | "EVENT" + | "EXIT" + | "LATE_PAYMENT" + | "OTHER" + | "PAYMENT" + | "PERIODIC" + | "PURCHASE" + | "REPLACEMENT" + | "TRANSACTION" + | "UPFRONT" + | "UPFRONT_PER_PLAN" + | "VARIATION" + | "WITHDRAWAL"; + /** + * Mandatory if the _feeMethodUType_ value is `fixedAmount`. Where the fee is a specific amount. + */ + fixedAmount?: BankingFeeAmount; + /** + * Name of the fee. + */ + name: string; + /** + * Mandatory if the _feeMethodUType_ value is `rateBased`. Where the fee is based on a type of rate. + */ + rateBased?: BankingFeeRate; + /** + * Mandatory if the _feeMethodUType_ value is `variable`. Where the amount or rate may not be known until the fee is incurred. + */ + variable?: BankingFeeRange; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +/** + * A data holder-specific unique identifier for a Banking product. This identifier must be unique to a product but does not otherwise need to adhere to ID permanence guidelines. + */ +export type BankingProductId = string; +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +/** + * Details of instalment features on the account. + */ +export interface BankingProductInstalments { + /** + * Maximum combined limit of all instalment plans that may be created on the account. If `null` or not present, an opened account balance _creditLimit_ may be assumed to provide a maximum limit for instalments. + */ + instalmentsLimit?: string | null; + /** + * Maximum number of concurrent active instalment plans that may be created on the account. If `null`, there is no predetermined maximum number. + */ + maximumConcurrentPlans?: number | null; + /** + * Maximum value that can be opened as an instalment plan. If `null` or not present, _instalmentsLimit_ is assumed to be the maximum individual plan value. + */ + maximumPlanValue?: string | null; + /** + * Maximum number of instalment payments a plan can be created with. + */ + maximumSplit: number; + /** + * Minimum value that can be opened as an instalment plan. + */ + minimumPlanValue?: string | null; + /** + * Minimum number of instalment payments a plan can be created with. + */ + minimumSplit: number; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -1909,54 +1885,79 @@ export interface BankingProductLendingRateV2 { /** * Rate tiers applicable for this rate. */ - tiers?: - | Array<{ - /** - * Display text providing more information on the rate tier. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this rate tier - */ - additionalInfoUri?: string | null; - /** - * Defines a condition for the applicability of a tiered rate - */ - applicabilityConditions?: { - /** - * Display text providing more information on the condition - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this condition - */ - additionalInfoUri?: string | null; - [k: string]: unknown; - }; - /** - * The number of _unitOfMeasure_ units that form the upper bound of the tier or band. For a tier with a discrete value (as opposed to a range of values e.g., 1 month) this must be the same as _minimumValue_. Where this is the same as the _minimumValue_ value of the next-higher tier the referenced tier should be exclusive of this value. For example a term deposit of 2 months falls into the upper tier of the following tiers: (1 – 2 months, 2 – 3 months). If absent the tier's range has no upper bound. - */ - maximumValue?: number | null; - /** - * The number of _unitOfMeasure_ units that form the lower bound of the tier. The tier should be inclusive of this value. - */ - minimumValue: number; - /** - * A display name for the tier. - */ - name: string; - /** - * The method used to calculate the amount to be applied using one or more tiers. A single rate may be applied to the entire balance or each applicable tier rate is applied to the portion of the balance that falls into that tier (referred to as 'bands' or 'steps'). - */ - rateApplicationMethod?: ("PER_TIER" | "WHOLE_BALANCE") | null; - /** - * The unit of measure that applies to the _minimumValue_ and _maximumValue_ values e.g., - */ - unitOfMeasure: "DAY" | "DOLLAR" | "MONTH" | "PERCENT"; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; + tiers?: BankingProductRateTierV3[] | null; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface BankingProductLendingRateV3 { + /** + * Display text providing more information on the rate. + */ + additionalInfo?: string | null; + /** + * Link to a web page with more information on this rate. + */ + additionalInfoUri?: string | null; + /** + * Generic field containing additional information relevant to the [_lendingRateType_](#tocSproductlendingratetypedoc) specified. Whether mandatory or not is dependent on the value of [_lendingRateType_](#tocSproductlendingratetypedoc). + */ + additionalValue?: string | null; + /** + * Applicability conditions for the rate. + */ + applicabilityConditions?: BankingProductRateConditionV2[] | null; + /** + * The period after which the calculated amount(s) (see _calculationFrequency_) are 'applied' (i.e. debited or credited) to the account. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Mandatory if the _applicationType_ value is `PERIODIC`. + */ + applicationFrequency?: string | null; + /** + * The type of approach used to apply the rate to the account. + */ + applicationType: "MATURITY" | "PERIODIC" | "UPFRONT"; + /** + * The period after which the rate is applied to the balance to calculate the amount due for the period. Calculation of the amount is often daily (as balances may change) but accumulated until the total amount is 'applied' to the account (see _applicationFrequency_). Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). + */ + calculationFrequency?: string | null; + /** + * A comparison rate equivalent for this rate. + */ + comparisonRate?: string | null; + /** + * When loan payments are due to be paid within each period. The investment benefit of earlier payments affect the rate that can be offered. + */ + interestPaymentDue?: ("IN_ADVANCE" | "IN_ARREARS") | null; + /** + * The type of rate (`FIXED`, `VARIABLE`, etc.) For further details, refer to [Product Lending Rate Types](#tocSproductlendingratetypedoc). + */ + lendingRateType: + | "BALANCE_TRANSFER" + | "BUNDLE_DISCOUNT_FIXED" + | "BUNDLE_DISCOUNT_VARIABLE" + | "CASH_ADVANCE" + | "DISCOUNT" + | "FIXED" + | "FLOATING" + | "INTRODUCTORY" + | "MARKET_LINKED" + | "PENALTY" + | "PURCHASE" + | "VARIABLE"; + /** + * The reason for taking out the loan. + */ + loanPurpose: "INVESTMENT" | "OTHER" | "OWNER_OCCUPIED" | "UNCONSTRAINED"; + /** + * The rate to be applied. + */ + rate: string; + /** + * Option in place for repayments. + */ + repaymentType: "INTEREST_ONLY" | "OTHER" | "PRINCIPAL_AND_INTEREST" | "UNCONSTRAINED"; + /** + * Qualifying criteria or conditions relevant to the associated rate. + */ + tiers?: BankingProductRateTierV4[] | null; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -1972,16 +1973,15 @@ export interface BankingProductRateCondition { * Link to a web page with more information on this condition. */ additionalInfoUri?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ /** - * Defines a condition for the applicability of a tiered rate. + * Defines a condition for the applicability of a rate. */ -export interface BankingProductRateTierV3 { +export interface BankingProductRateConditionV2 { /** - * Display text providing more information on the condition. + * Display text providing more information on the condition. Mandatory if the [_rateApplicabilityType_](#tocSbankingproductrateconditiondoc) value is `OTHER`. */ additionalInfo?: string | null; /** @@ -1989,19 +1989,41 @@ export interface BankingProductRateTierV3 { */ additionalInfoUri?: string | null; /** - * Defines a condition for the applicability of a tiered rate + * Generic field containing additional information relevant to the _rateApplicabilityType_ specified. Whether mandatory or not is dependent on the value of [_rateApplicabilityType_](#tocSbankingproductrateconditiondoc). */ - applicabilityConditions?: { - /** - * Display text providing more information on the rate tier. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this rate tier. - */ - additionalInfoUri?: string | null; - [k: string]: unknown; - }; + additionalValue?: string | null; + /** + * Category of applicability condition associated with the rate. For more information refer to [Rate and Tier Applicability Types](#tocSbankingproductrateconditiondoc). + */ + rateApplicabilityType: + | "MIN_DEPOSITS" + | "MIN_DEPOSIT_AMOUNT" + | "DEPOSIT_BALANCE_INCREASED" + | "EXISTING_CUST" + | "NEW_ACCOUNTS" + | "NEW_CUSTOMER" + | "NEW_CUSTOMER_TO_GROUP" + | "ONLINE_ONLY" + | "OTHER" + | "MIN_PURCHASES" + | "MAX_WITHDRAWALS" + | "MAX_WITHDRAWAL_AMOUNT"; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +/** + * Defines the criteria and conditions for which a rate applies. + */ +export interface BankingProductRateTierV3 { + /** + * Display text providing more information on the rate tier. + */ + additionalInfo?: string | null; + /** + * Link to a web page with more information on this rate tier. + */ + additionalInfoUri?: string | null; + applicabilityConditions?: BankingProductRateCondition; /** * The number of _unitOfMeasure_ units that form the upper bound of the tier or band. For a tier with a discrete value (as opposed to a range of values e.g., 1 month) this must be the same as _minimumValue_. Where this is the same as the _minimumValue_ value of the next-higher tier the referenced tier should be exclusive of this value. For example a term deposit of 2 months falls into the upper tier of the following tiers: (1 – 2 months, 2 – 3 months). If absent the tier's range has no upper bound. */ @@ -2022,117 +2044,50 @@ export interface BankingProductRateTierV3 { * The unit of measure that applies to the _minimumValue_ and _maximumValue_ values e.g., */ unitOfMeasure: "DAY" | "DOLLAR" | "MONTH" | "PERCENT"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface BankingProductV4 { +/** + * Defines the criteria and conditions for which a rate applies. + */ +export interface BankingProductRateTierV4 { /** - * Object that contains links to additional information on specific topics + * Display text providing more information on the rate tier. */ - additionalInformation?: { - /** - * An array of additional bundles for the product, if applicable. To be treated as secondary documents to the `bundleUri`. Only to be used if there is a primary `bundleUri`. - */ - additionalBundleUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; - /** - * An array of additional eligibility rules and criteria for the product, if applicable. To be treated as secondary documents to the `eligibilityUri`. Only to be used if there is a primary `eligibilityUri`. - */ - additionalEligibilityUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; - /** - * An array of additional fees, pricing, discounts, exemptions and bonuses for the product, if applicable. To be treated as secondary documents to the `feesAndPricingUri`. Only to be used if there is a primary `feesAndPricingUri`. - */ - additionalFeesAndPricingUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; - /** - * An array of additional general overviews for the product or features of the product, if applicable. To be treated as secondary documents to the `overviewUri`. Only to be used if there is a primary `overviewUri`. - */ - additionalOverviewUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; - /** - * An array of additional terms and conditions for the product, if applicable. To be treated as secondary documents to the `termsUri`. Only to be used if there is a primary `termsUri`. - */ - additionalTermsUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; - /** - * Description of a bundle that this product can be part of. Mandatory if `additionalBundleUris` includes one or more supporting documents. - */ - bundleUri?: string | null; - /** - * Eligibility rules and criteria for the product. Mandatory if `additionalEligibilityUris` includes one or more supporting documents. - */ - eligibilityUri?: string | null; - /** - * Description of fees, pricing, discounts, exemptions and bonuses for the product. Mandatory if `additionalFeesAndPricingUris` includes one or more supporting documents. - */ - feesAndPricingUri?: string | null; - /** - * General overview of the product. Mandatory if `additionalOverviewUris` includes one or more supporting documents. - */ - overviewUri?: string | null; - /** - * Terms and conditions for the product. Mandatory if `additionalTermsUris` includes one or more supporting documents. - */ - termsUri?: string | null; - [k: string]: unknown; - }; + additionalInfo?: string | null; + /** + * Link to a web page with more information on this rate tier. + */ + additionalInfoUri?: string | null; + /** + * Applicability conditions for the rate tier. + */ + applicabilityConditions?: BankingProductRateConditionV2[] | null; + /** + * The number of _unitOfMeasure_ units that form the upper bound of the tier or band. For a tier with a discrete value (as opposed to a range of values e.g., 1 month) this must be the same as _minimumValue_. Where this is the same as the _minimumValue_ value of the next-higher tier the referenced tier should be exclusive of this value. For example a term deposit of 2 months falls into the upper tier of the following tiers: (1 – 2 months, 2 – 3 months). If absent the tier's range has no upper bound. + */ + maximumValue?: string | null; + /** + * The number of _unitOfMeasure_ units that form the lower bound of the tier. The tier should be inclusive of this value. + */ + minimumValue: string; + /** + * A display name for the tier. + */ + name: string; + /** + * The method used to calculate the amount to be applied using one or more tiers. A single rate may be applied to the entire balance or each applicable tier rate is applied to the portion of the balance that falls into that tier (referred to as 'bands' or 'steps'). + */ + rateApplicationMethod?: ("PER_TIER" | "WHOLE_BALANCE") | null; + /** + * The unit of measure that applies to the _minimumValue_ and _maximumValue_ values, e.g., + */ + unitOfMeasure: "DAY" | "DOLLAR" | "MONTH" | "PERCENT"; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface BankingProductV4 { + additionalInformation?: BankingProductAdditionalInformationV2; /** * A link to an application web page where this product can be applied for. */ @@ -2149,7 +2104,7 @@ export interface BankingProductV4 { * An array of card art images. */ cardArt?: - | Array<{ + | { /** * URI reference to a PNG, JPG or GIF image with proportions defined by ISO 7810 ID-1 and width no greater than 512 pixels. The URI reference may be a link or url-encoded data URI according to **[[RFC2397]](#nref-RFC2397)**. */ @@ -2158,8 +2113,7 @@ export interface BankingProductV4 { * Display label for the specific image. */ title?: string; - [k: string]: unknown; - }> + }[] | null; /** * A description of the product. @@ -2205,150 +2159,201 @@ export interface BankingProductV4 { * A data holder specific unique identifier for this product. This identifier must be unique to a product but does not otherwise need to adhere to ID permanence guidelines. */ productId: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface BankingScheduledPayment { - /** - * Object containing details of the source of the payment. Currently only specifies an account ID but provided as an object to facilitate future extensibility and consistency with the to object - */ - from: BankingScheduledPaymentFrom; - /** - * The short display name of the scheduled payment as provided by the customer if provided. Where a customer has not provided a nickname, a display name derived by the bank for the scheduled payment should be provided that is consistent with existing digital banking channels - */ - nickname?: string | null; +export interface BankingProductV5 { + additionalInformation?: BankingProductAdditionalInformationV2; /** - * The reference for the transaction, if applicable, that will be provided by the originating institution for all payments in the payment set. Empty string if no data provided + * A link to an application web page where this product can be applied for. */ - payeeReference?: string | null; + applicationUri?: string | null; /** - * The reference for the transaction that will be used by the originating institution for the purposes of constructing a statement narrative on the payer’s account. Empty string if no data provided + * A label of the brand for the product. Able to be used for filtering. For data holders with single brands this value is still required. */ - payerReference: string; - paymentSet: BankingScheduledPaymentSet[]; + brand: string; /** - * Object containing the detail of the schedule for the payment + * An optional display name of the brand. */ - recurrence: BankingScheduledPaymentRecurrence; + brandName?: string | null; /** - * A unique ID of the scheduled payment adhering to the standards for ID permanence + * Information about any cards available with the account. */ - scheduledPaymentId: string; + cardArt?: BankingProductCardArt[] | null; /** - * Indicates whether the schedule is currently active. The value SKIP is equivalent to ACTIVE except that the customer has requested the next normal occurrence to be skipped. + * A description of the product. */ - status: "ACTIVE" | "INACTIVE" | "SKIP"; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ - -export interface BankingScheduledPaymentV2 { + description: string; /** - * Object containing details of the source of the payment. Currently only specifies an account ID but provided as an object to facilitate future extensibility and consistency with the to object + * The date and time from which this product is effective (i.e. is available for origination). Used to enable the articulation of products to the regime before they are available for customers to originate. */ - from: BankingScheduledPaymentFrom; + effectiveFrom?: string | null; /** - * The short display name of the scheduled payment as provided by the customer if provided. Where a customer has not provided a nickname, a display name derived by the bank for the scheduled payment should be provided that is consistent with existing digital banking channels + * The date and time at which this product will be retired and will no longer be offered. Used to enable the managed deprecation of products. */ - nickname?: string | null; + effectiveTo?: string | null; /** - * The reference for the transaction, if applicable, that will be provided by the originating institution for all payments in the payment set. Empty string if no data provided + * Indicates whether the product is specifically tailored to a circumstance. In this case fees and prices are significantly negotiated depending on context. While all products are open to a degree of tailoring this flag indicates that tailoring is expected and thus that the provision of specific fees and rates is not applicable. */ - payeeReference?: string | null; + isTailored: boolean; /** - * The reference for the transaction that will be used by the originating institution for the purposes of constructing a statement narrative on the payer’s account. Empty string if no data provided + * The last date and time that the information for this product was changed (or the creation date for the product if it has never been altered). */ - payerReference: string; - paymentSet: BankingScheduledPaymentSetV2[]; + lastUpdated: string; /** - * Object containing the detail of the schedule for the payment + * The display name of the product. */ - recurrence: BankingScheduledPaymentRecurrence; + name: string; /** - * A unique ID of the scheduled payment adhering to the standards for ID permanence + * The category to which a product or account belongs. See [here](#product-categories) for more details. */ - scheduledPaymentId: string; + productCategory: + | "BUSINESS_LOANS" + | "CRED_AND_CHRG_CARDS" + | "LEASES" + | "MARGIN_LOANS" + | "OVERDRAFTS" + | "PERS_LOANS" + | "REGULATED_TRUST_ACCOUNTS" + | "RESIDENTIAL_MORTGAGES" + | "TERM_DEPOSITS" + | "TRADE_FINANCE" + | "TRANS_AND_SAVINGS_ACCOUNTS" + | "TRAVEL_CARDS"; /** - * Indicates whether the schedule is currently active. The value SKIP is equivalent to ACTIVE except that the customer has requested the next normal occurrence to be skipped. + * A data holder-specific unique identifier for a Banking product. This identifier must be unique to a product but does not otherwise need to adhere to ID permanence guidelines. */ - status: "ACTIVE" | "INACTIVE" | "SKIP"; - [k: string]: unknown; + productId: string; } - /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -/** - * Object containing details of the source of the payment. Currently only specifies an account ID but provided as an object to facilitate future extensibility and consistency with the _to_ object. - */ -export interface BankingScheduledPaymentFrom { +export interface BankingProductV6 { + additionalInformation?: BankingProductAdditionalInformationV2; /** - * ID of the account that is the source of funds for the payment. + * A link to an application web page where this product can be applied for. */ - accountId: string; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ - -export interface BankingScheduledPaymentInterval { + applicationUri?: string | null; /** - * Uses an interval to define the ordinal day within the interval defined by the interval field on which the payment occurs. If the resulting duration is 0 days in length or larger than the number of days in the interval then the payment will occur on the last day of the interval. A duration of 1 day indicates the first day of the interval. If absent the assumed value is `P1D`. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) with components less than a day in length ignored. The first day of a week is considered to be Monday. + * A label of the brand for the product. Able to be used for filtering. For data holders with single brands this value is still required. */ - dayInInterval?: string | null; + brand: string; /** - * An interval for the payment. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) with components less than a day in length ignored. This duration defines the period between payments starting with _nextPaymentDate_. + * An optional display name of the brand. */ - interval: string; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ - -/** - * Object containing the detail of the schedule for the payment. - */ -export interface BankingScheduledPaymentRecurrence { + brandName?: string | null; /** - * Indicates that the schedule of payments is defined according to an external event that cannot be predetermined. Mandatory if recurrenceUType is set to eventBased + * Information about any cards available with the account. */ - eventBased?: BankingScheduledPaymentRecurrenceEventBased; + cardArt?: BankingProductCardArt[] | null; /** - * Indicates that the schedule of payments is defined by a series of intervals. Mandatory if recurrenceUType is set to intervalSchedule + * A description of the product. */ - intervalSchedule?: BankingScheduledPaymentRecurrenceIntervalSchedule; + description: string; /** - * Indicates that the schedule of payments is defined according to the last occurrence of a specific weekday in an interval. Mandatory if recurrenceUType is set to lastWeekDay + * The date and time from which this product is effective (i.e. is available for origination). Used to enable the articulation of products to the regime before they are available for customers to originate. */ - lastWeekDay?: BankingScheduledPaymentRecurrenceLastWeekday; + effectiveFrom?: string | null; /** - * The date of the next payment under the recurrence schedule. + * The date and time at which this product will be retired and will no longer be offered. Used to enable the managed deprecation of products. */ - nextPaymentDate?: string | null; + effectiveTo?: string | null; /** - * Indicates that the payment is a once off payment on a specific future date. Mandatory if recurrenceUType is set to onceOff + * Indicates whether the product is specifically tailored to a circumstance. In this case fees and prices are significantly negotiated depending on context. While all products are open to a degree of tailoring this flag indicates that tailoring is expected and thus that the provision of specific fees and rates is not applicable. */ + isTailored: boolean; + /** + * The last date and time that the information for this product was changed (or the creation date for the product if it has never been altered). + */ + lastUpdated: string; + /** + * The display name of the product. + */ + name: string; + /** + * The category to which a product or account belongs. See [here](#product-categories) for more details. + */ + productCategory: + | "BUSINESS_LOANS" + | "BUY_NOW_PAY_LATER" + | "CRED_AND_CHRG_CARDS" + | "LEASES" + | "MARGIN_LOANS" + | "OVERDRAFTS" + | "PERS_LOANS" + | "REGULATED_TRUST_ACCOUNTS" + | "RESIDENTIAL_MORTGAGES" + | "TERM_DEPOSITS" + | "TRADE_FINANCE" + | "TRANS_AND_SAVINGS_ACCOUNTS" + | "TRAVEL_CARDS"; + /** + * A data holder-specific unique identifier for a Banking product. This identifier must be unique to a product but does not otherwise need to adhere to ID permanence guidelines. + */ + productId: string; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +/** + * Object containing details of the source of the payment. Currently only specifies an _accountId_ but provided as an object to facilitate future extensibility and consistency with the _to_ object. + */ +export interface BankingScheduledPaymentFrom { + /** + * Unique identifier for the account. + */ + accountId: string; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +/** + * A unique identifier for a Banking scheduled payment, generated according to [CDR ID Permanence](#id-permanence) requirements. + */ +export type BankingScheduledPaymentId = string; +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface BankingScheduledPaymentInterval { + /** + * Uses an interval to define the ordinal day within the interval defined by the interval field on which the payment occurs. If the resulting duration is 0 days in length or larger than the number of days in the interval then the payment will occur on the last day of the interval. A duration of 1 day indicates the first day of the interval. If absent the assumed value is `P1D`. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) with components less than a day in length ignored. The first day of a week is considered to be Monday. + */ + dayInInterval?: string | null; + /** + * An interval for the payment. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) with components less than a day in length ignored. This duration defines the period between payments starting with _nextPaymentDate_. + */ + interval: string; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +/** + * Object containing the detail of the schedule for the payment. + */ +export interface BankingScheduledPaymentRecurrence { + eventBased?: BankingScheduledPaymentRecurrenceEventBased; + intervalSchedule?: BankingScheduledPaymentRecurrenceIntervalSchedule; + lastWeekDay?: BankingScheduledPaymentRecurrenceLastWeekday; + /** + * The date of the next payment under the recurrence schedule. + */ + nextPaymentDate?: string | null; onceOff?: BankingScheduledPaymentRecurrenceOnceOff; /** * The type of recurrence used to define the schedule. */ recurrenceUType: "eventBased" | "intervalSchedule" | "lastWeekDay" | "onceOff"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ /** - * Indicates that the schedule of payments is defined according to an external event that cannot be predetermined. Mandatory if _recurrenceUType_ is set to `eventBased`. + * Indicates that the schedule of payments is defined according to an external event that cannot be predetermined. Mandatory if the _recurrenceUType_ value is `eventBased`. */ export interface BankingScheduledPaymentRecurrenceEventBased { /** * Description of the event and conditions that will result in the payment. Expected to be formatted for display to a customer. */ description: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ /** - * Indicates that the schedule of payments is defined by a series of intervals. Mandatory if _recurrenceUType_ is set to `intervalSchedule`. + * Indicates that the schedule of payments is defined by a series of intervals. Mandatory if the _recurrenceUType_ value is `intervalSchedule`. */ export interface BankingScheduledPaymentRecurrenceIntervalSchedule { /** @@ -2358,31 +2363,20 @@ export interface BankingScheduledPaymentRecurrenceIntervalSchedule { /** * An array of interval objects defining the payment schedule. Each entry in the array is additive, in that it adds payments to the overall payment schedule. If multiple intervals result in a payment on the same day then only one payment will be made. Must have at least one entry. */ - intervals: Array<{ - /** - * Uses an interval to define the ordinal day within the interval defined by the interval field on which the payment occurs. If the resulting duration is 0 days in length or larger than the number of days in the interval then the payment will occur on the last day of the interval. A duration of 1 day indicates the first day of the interval. If absent the assumed value is P1D. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) with components less than a day in length ignored. The first day of a week is considered to be Monday. - */ - dayInInterval?: string | null; - /** - * An interval for the payment. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) with components less than a day in length ignored. This duration defines the period between payments starting with nextPaymentDate - */ - interval: string; - [k: string]: unknown; - }>; + intervals: BankingScheduledPaymentInterval[]; /** - * Enumerated field giving the treatment where a scheduled payment date is not a business day. If absent assumed to be ON.
**AFTER** - If a scheduled payment date is a non-business day the payment will be made on the first business day after the scheduled payment date.
**BEFORE** - If a scheduled payment date is a non-business day the payment will be made on the first business day before the scheduled payment date.
**ON** - If a scheduled payment date is a non-business day the payment will be made on that day regardless.
**ONLY** - Payments only occur on business days. If a scheduled payment date is a non-business day the payment will be ignored + * Enumerated field giving the treatment where a scheduled payment date is not a business day. If absent assumed to be `ON`. */ nonBusinessDayTreatment?: ("AFTER" | "BEFORE" | "ON" | "ONLY") | null; /** - * Indicates the number of payments remaining in the schedule. If both finalPaymentDate and paymentsRemaining are present then payments will stop according to the most constraining value, If neither field is present the payments will continue indefinitely + * Indicates the number of payments remaining in the schedule. If both _finalPaymentDate_ and _paymentsRemaining_ are present then payments will stop according to the most constraining value, If neither field is present the payments will continue indefinitely. */ paymentsRemaining?: number | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ /** - * Indicates that the schedule of payments is defined according to the last occurrence of a specific weekday in an interval. Mandatory if _recurrenceUType_ is set to `lastWeekDay`. + * Indicates that the schedule of payments is defined according to the last occurrence of a specific weekday in an interval. Mandatory if the _recurrenceUType_ value is `lastWeekDay`. */ export interface BankingScheduledPaymentRecurrenceLastWeekday { /** @@ -2405,209 +2399,60 @@ export interface BankingScheduledPaymentRecurrenceLastWeekday { * Indicates the number of payments remaining in the schedule. If both _finalPaymentDate_ and _paymentsRemaining_ are present then payments will stop according to the most constraining value. If neither field is present the payments will continue indefinitely. */ paymentsRemaining?: number | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ /** - * Indicates that the payment is a once off payment on a specific future date. Mandatory if _recurrenceUType_ is set to `onceOff`. + * Indicates that the payment is a once off payment on a specific future date. Mandatory if the _recurrenceUType_ value is `onceOff`. */ export interface BankingScheduledPaymentRecurrenceOnceOff { /** * The scheduled date for the once off payment. */ paymentDate: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ /** - * Indicates that the schedule of payments is defined according to an external event that cannot be predetermined. Mandatory if _recurrenceUType_ is set to `eventBased`. - */ -export interface BankingScheduledPaymentSet { - /** - * The amount of the next payment if known. Mandatory unless the isAmountCalculated field is set to true. Must be zero or positive if present - */ - amount?: string | null; - /** - * The currency for the payment. `AUD` assumed if not present - */ - currency?: string | null; - /** - * Flag indicating whether the amount of the payment is calculated based on the context of the event. For instance a payment to reduce the balance of a credit card to zero. If absent then false is assumed - */ - isAmountCalculated?: boolean | null; - /** - * Object containing details of the destination of the payment. Used to specify a variety of payment destination types - */ - to: BankingScheduledPaymentTo; - [k: string]: unknown; -} - -/** - * The set of payment amounts and destination accounts for this payment accommodating multi-part payments. A single entry indicates a simple payment with one destination account. Must have at least one entry + * The set of payment amounts and destination accounts for this payment accommodating multi-part payments. A single entry indicates a simple payment with one destination account. Must have at least one entry. */ export interface BankingScheduledPaymentSetV2 { /** - * The amount of the next payment if known. Mandatory unless the isAmountCalculated field is set to true. Must be zero or positive if present + * The amount of the next payment if known. Mandatory unless the _isAmountCalculated_ field is set to `true`. Must be zero or positive if present. */ amount?: string | null; /** - * The currency for the payment. AUD assumed if not present + * The currency for the payment. `AUD` assumed if not present. */ currency?: string | null; /** - * Flag indicating whether the amount of the payment is calculated based on the context of the event. For instance a payment to reduce the balance of a credit card to zero. If absent then false is assumed + * Flag indicating whether the amount of the payment is calculated based on the context of the event. For instance a payment to reduce the balance of a credit card to zero. If absent then `false` is assumed. */ isAmountCalculated?: boolean | null; - /** - * Object containing details of the destination of the payment. Used to specify a variety of payment destination types - */ to: BankingScheduledPaymentToV2; - [k: string]: unknown; } - /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ /** - * Object containing details of the destination of the payment. Used to specify a variety of payment destination types + * Object containing details of the destination of the payment. Used to specify a variety of payment destination types. */ -export interface BankingScheduledPaymentTo { +export interface BankingScheduledPaymentToV2 { /** - * Present if toUType is set to accountId. Indicates that the payment is to another account that is accessible under the current consent + * Present if _toUType_ is set to `accountId`. Indicates that the payment is to another account that is accessible under the current consent. */ - accountId?: string | null; - biller?: { - /** - * BPAY Biller Code of the Biller - */ - billerCode: string; - /** - * Name of the Biller - */ - billerName: string; - /** - * BPAY CRN of the Biller (if available).
Where the CRN contains sensitive information, it should be masked in line with how the Data Holder currently displays account identifiers in their existing online banking channels. If the contents of the CRN match the format of a Credit Card PAN they should be masked according to the rules applicable for MaskedPANString. If the contents are otherwise sensitive, then it should be masked using the rules applicable for the MaskedAccountString common type. - */ - crn?: string | null; - [k: string]: unknown; - }; - domestic?: { - account?: { - /** - * Name of the account to pay to - */ - accountName?: string | null; - /** - * Number of the account to pay to - */ - accountNumber: string; - /** - * BSB of the account to pay to - */ - bsb: string; - [k: string]: unknown; - }; - card?: { - /** - * Name of the account to pay to - */ - cardNumber: string; - [k: string]: unknown; - }; - payId?: { - /** - * The identifier of the PayID (dependent on type) - */ - identifier: string; - /** - * The name assigned to the PayID by the owner of the PayID - */ - name?: string | null; - /** - * The type of the PayID - */ - type: "ABN" | "EMAIL" | "ORG_IDENTIFIER" | "TELEPHONE"; - [k: string]: unknown; - }; - /** - * Type of account object included. Valid values are: **account** A standard Australian account defined by BSB/Account Number. **card** A credit or charge card to pay to (note that PANs are masked). **payId** A PayID recognised by NPP - */ - payeeAccountUType: "account" | "card" | "payId"; - [k: string]: unknown; - }; - international?: { - bankDetails: { - /** - * Account Targeted for payment - */ - accountNumber: string; - bankAddress?: { - /** - * Address of the recipient Bank - */ - address: string; - /** - * Name of the recipient Bank - */ - name: string; - [k: string]: unknown; - } | null; - /** - * Swift bank code. Aligns with standard [ISO 9362](https://www.iso.org/standard/60390.html) - */ - beneficiaryBankBIC?: string | null; - /** - * Number for the Clearing House Interbank Payments System - */ - chipNumber?: string | null; - /** - * Country of the recipient institution. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code - */ - country: string; - /** - * Number for Fedwire payment (Federal Reserve Wire Network) - */ - fedWireNumber?: string | null; - /** - * The legal entity identifier (LEI) for the beneficiary. Aligns with [ISO 17442](https://www.iso.org/standard/59771.html) - */ - legalEntityIdentifier?: string | null; - /** - * International bank routing number - */ - routingNumber?: string | null; - /** - * Sort code used for account identification in some jurisdictions - */ - sortCode?: string | null; - [k: string]: unknown; - }; - beneficiaryDetails: { - /** - * Country where the beneficiary resides. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code - */ - country: string; - /** - * Response message for the payment - */ - message?: string | null; - /** - * Name of the beneficiary - */ - name?: string | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; + accountId?: string; + biller?: BankingBillerPayee; + digitalWallet?: BankingDigitalWalletPayee; + domestic?: BankingDomesticPayee; + international?: BankingInternationalPayee; /** - * The short display name of the payee as provided by the customer unless toUType is set to payeeId. Where a customer has not provided a nickname, a display name derived by the bank for payee should be provided that is consistent with existing digital banking channels + * The short display name of the payee as provided by the customer unless _toUType_ is set to `payeeId`. Where a customer has not provided a nickname, a display name derived by the bank for payee should be provided that is consistent with existing digital banking channels. */ nickname?: string | null; /** - * Present if toUType is set to payeeId. Indicates that the payment is to registered payee that can be accessed using the payee end point. If the Bank Payees scope has not been consented to then a payeeId should not be provided and the full payee details should be provided instead + * Present if _toUType_ is set to `payeeId`. Indicates that the payment is to registered payee that can be accessed using the payee endpoint. If the Bank Payees scope has not been consented to then a _payeeId_ should not be provided and the full payee details should be provided instead. */ - payeeId?: string | null; + payeeId?: string; /** * The reference for the transaction, if applicable, that will be provided by the originating institution for the specific payment. If not empty, it overrides the value provided at the BankingScheduledPayment level. */ @@ -2615,177 +2460,34 @@ export interface BankingScheduledPaymentTo { /** * The type of object provided that specifies the destination of the funds for the payment. */ - toUType: "accountId" | "biller" | "domestic" | "international" | "payeeId"; - [k: string]: unknown; + toUType: "accountId" | "biller" | "digitalWallet" | "domestic" | "international" | "payeeId"; } +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -/** - * Object containing details of the destination of the payment. Used to specify a variety of payment destination types. - */ -export interface BankingScheduledPaymentToV2 { +export interface BankingScheduledPaymentV2 { + from: BankingScheduledPaymentFrom; /** - * Present if _toUType_ is set to `accountId`. Indicates that the payment is to another account that is accessible under the current consent. + * The short display name of the scheduled payment as provided by the customer if provided. Where a customer has not provided a nickname, a display name derived by the bank for the scheduled payment should be provided that is consistent with existing digital banking channels. */ - accountId?: string | null; - biller?: { - /** - * BPAY Biller Code of the Biller - */ - billerCode: string; - /** - * Name of the Biller - */ - billerName: string; - /** - * BPAY CRN of the Biller (if available).
Where the CRN contains sensitive information, it should be masked in line with how the Data Holder currently displays account identifiers in their existing online banking channels. If the contents of the CRN match the format of a Credit Card PAN they should be masked according to the rules applicable for MaskedPANString. If the contents are otherwise sensitive, then it should be masked using the rules applicable for the MaskedAccountString common type. - */ - crn?: string | null; - [k: string]: unknown; - }; - digitalWallet?: { - /** - * The identifier of the digital wallet (dependent on type) - */ - identifier: string; - /** - * The display name of the wallet as given by the customer, else a default value defined by the data holder - */ - name: string; - /** - * The provider of the digital wallet - */ - provider: "PAYPAL_AU" | "OTHER"; - /** - * The type of the digital wallet identifier - */ - type: "EMAIL" | "CONTACT_NAME" | "TELEPHONE"; - [k: string]: unknown; - }; - domestic?: { - account?: { - /** - * Name of the account to pay to - */ - accountName?: string | null; - /** - * Number of the account to pay to - */ - accountNumber: string; - /** - * BSB of the account to pay to - */ - bsb: string; - [k: string]: unknown; - }; - card?: { - /** - * Name of the account to pay to - */ - cardNumber: string; - [k: string]: unknown; - }; - payId?: { - /** - * The identifier of the PayID (dependent on type) - */ - identifier: string; - /** - * The name assigned to the PayID by the owner of the PayID - */ - name?: string | null; - /** - * The type of the PayID - */ - type: "ABN" | "EMAIL" | "ORG_IDENTIFIER" | "TELEPHONE"; - [k: string]: unknown; - }; - /** - * Type of account object included. Valid values are: **account** A standard Australian account defined by BSB/Account Number. **card** A credit or charge card to pay to (note that PANs are masked). **payId** A PayID recognised by NPP - */ - payeeAccountUType: "account" | "card" | "payId"; - [k: string]: unknown; - }; - international?: { - bankDetails: { - /** - * Account Targeted for payment - */ - accountNumber: string; - bankAddress?: { - /** - * Address of the recipient Bank - */ - address: string; - /** - * Name of the recipient Bank - */ - name: string; - [k: string]: unknown; - } | null; - /** - * Swift bank code. Aligns with standard [ISO 9362](https://www.iso.org/standard/60390.html) - */ - beneficiaryBankBIC?: string | null; - /** - * Number for the Clearing House Interbank Payments System - */ - chipNumber?: string | null; - /** - * Country of the recipient institution. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code - */ - country: string; - /** - * Number for Fedwire payment (Federal Reserve Wire Network) - */ - fedWireNumber?: string | null; - /** - * The legal entity identifier (LEI) for the beneficiary. Aligns with [ISO 17442](https://www.iso.org/standard/59771.html) - */ - legalEntityIdentifier?: string | null; - /** - * International bank routing number - */ - routingNumber?: string | null; - /** - * Sort code used for account identification in some jurisdictions - */ - sortCode?: string | null; - [k: string]: unknown; - }; - beneficiaryDetails: { - /** - * Country where the beneficiary resides. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code - */ - country: string; - /** - * Response message for the payment - */ - message?: string | null; - /** - * Name of the beneficiary - */ - name?: string | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; + nickname?: string | null; /** - * The short display name of the payee as provided by the customer unless _toUType_ is set to `payeeId`. Where a customer has not provided a nickname, a display name derived by the bank for payee should be provided that is consistent with existing digital banking channels. + * The reference for the transaction, if applicable, that will be provided by the originating institution for all payments in the payment set. Empty string if no data provided. */ - nickname?: string | null; + payeeReference?: string | null; /** - * Present if _toUType_ is set to `payeeId`. Indicates that the payment is to registered payee that can be accessed using the payee endpoint. If the Bank Payees scope has not been consented to then a _payeeId_ should not be provided and the full payee details should be provided instead. + * The reference for the transaction that will be used by the originating institution for the purposes of constructing a statement narrative on the payer’s account. Empty string if no data provided. */ - payeeId?: string | null; + payerReference: string; + paymentSet: BankingScheduledPaymentSetV2[]; + recurrence: BankingScheduledPaymentRecurrence; /** - * The reference for the transaction, if applicable, that will be provided by the originating institution for the specific payment. If not empty, it overrides the value provided at the BankingScheduledPayment level. + * Unique identifier for the scheduled payment. */ - payeeReference?: string | null; + scheduledPaymentId: string; /** - * The type of object provided that specifies the destination of the funds for the payment. + * Indicates whether the schedule is currently active. The value `SKIP` is equivalent to `ACTIVE` except that the customer has requested the next normal occurrence to be skipped. */ - toUType: "accountId" | "biller" | "digitalWallet" | "domestic" | "international" | "payeeId"; - [k: string]: unknown; + status: "ACTIVE" | "INACTIVE" | "SKIP"; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -2810,13 +2512,12 @@ export interface BankingTermDepositAccount { * Current instructions on action to be taken at maturity. This includes default actions that may be specified in the terms and conditions for the product e.g., roll-over to the same term and frequency of interest payments. */ maturityInstructions: "HOLD_ON_MATURITY" | "PAID_OUT_AT_MATURITY" | "ROLLED_OVER"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ export interface BankingTransaction { /** - * ID of the account for which transactions are provided. + * Unique identifier for the account. */ accountId: string; /** @@ -2876,9 +2577,9 @@ export interface BankingTransaction { */ status: "PENDING" | "POSTED"; /** - * A unique ID of the transaction adhering to the standards for ID permanence. This is mandatory (through hashing if necessary) unless there are specific and justifiable technical reasons why a transaction cannot be uniquely identified for a particular account type. It is mandatory if _isDetailAvailable_ is set to `true`. + * Unique identifier for the transaction. This is mandatory (through hashing if necessary) unless there are specific and justifiable technical reasons why a transaction cannot be uniquely identified for a particular account type. Mandatory if the _isDetailAvailable_ value is `true`. */ - transactionId?: string | null; + transactionId?: string; /** * The type of the transaction. */ @@ -2895,11 +2596,10 @@ export interface BankingTransaction { * Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry. */ valueDateTime?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface BankingTransactionDetail extends BankingTransaction { +export type BankingTransactionDetail = BankingTransaction & { extendedData: { /** * Label of the originating payer. Mandatory for inbound payment. @@ -2917,7 +2617,7 @@ export interface BankingTransactionDetail extends BankingTransaction { /** * An extended string description. Required if the _extensionUType_ field is `x2p101Payload`. */ - extendedDescription: string; + extendedDescription?: string; /** * An end to end ID for the payment created at initiation. */ @@ -2926,16 +2626,13 @@ export interface BankingTransactionDetail extends BankingTransaction { * Purpose of the payment. Format is defined by NPP standards for the x2p1.01 overlay service. */ purposeCode?: string; - [k: string]: unknown; }; /** * Identifier of the applicable overlay service. Valid values are: `X2P1.01`. */ service: "X2P1.01"; - [k: string]: unknown; }; - [k: string]: unknown; -} +}; /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ export type BankingTransactionDetailV2 = BankingTransaction & { @@ -2976,27 +2673,163 @@ export type BankingTransactionDetailV2 = BankingTransaction & { * Two-digit NPP service overlay version with leading zero. */ serviceVersion: string; - [k: string]: unknown; }; - [k: string]: unknown; }; - [k: string]: unknown; }; -/** - * Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). - */ -export interface CommonPAFAddress { - /** - * Building/Property name 1. - */ - buildingName1?: string | null; - /** - * Building/Property name 2. - */ - buildingName2?: string | null; - /** - * Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier. - */ +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export type BankingTransactionDetailV3 = BankingTransactionV2 & { + extendedData: { + /** + * Label of the originating payer. Mandatory for inbound payment. + */ + payer?: string; + /** + * Label of the target PayID. Mandatory for an outbound payment. The name assigned to the BSB/Account Number or PayID (by the owner of the PayID). + */ + payee?: string; + /** + * Optional extended data specific to transactions. Currently extended data is supported for NPP service overlays. + */ + extensionUType?: "nppPayload"; + /** + * Mandatory if the _extensionUType_ value is `nppPayload`. + */ + nppPayload?: { + /** + * An extended string description. Mandatory if the _extensionUType_ value is `nppPayload`. + */ + extendedDescription?: string; + /** + * An end to end ID for the payment created at initiation. + */ + endToEndId?: string; + /** + * Purpose of the payment. Format is defined by the NPP standards for the NPP overlay services including Osko (X2P1). + */ + purposeCode?: string; + /** + * Identifier of the applicable overlay service. The _service_ is used in conjunction with the _serviceVersion_. See [here](#npp-services) for more details. + */ + service: "X2P1" | "IFTI" | "BSCT" | "CATSCT"; + /** + * Two-digit NPP service overlay version with leading zero. + */ + serviceVersion: string; + }; + }; +}; +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +/** + * A unique identifier for a Banking transaction, generated according to [CDR ID Permanence](#id-permanence) requirements. + */ +export type BankingTransactionId = string; +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface BankingTransactionV2 { + /** + * Unique identifier for the account. + */ + accountId: string; + /** + * The value of the transaction. Negative values mean money was outgoing from the account. + */ + amount: string; + /** + * 6 Digit APCA number for the initiating institution. The field is fixed-width and padded with leading zeros if applicable. + */ + apcaNumber?: string | null; + /** + * BPAY Biller Code for the transaction (if available). + */ + billerCode?: string | null; + /** + * Name of the BPAY biller for the transaction (if available). + */ + billerName?: string | null; + /** + * BPAY CRN for the transaction (if available).
Where the CRN contains sensitive information, it should be masked in line with how the Data Holder currently displays account identifiers in their existing online banking channels. If the contents of the CRN match the format of a Credit Card PAN they should be masked according to the rules applicable for [MaskedPANString](#common-field-types). If the contents are otherwise sensitive, then it should be masked using the rules applicable for the [MaskedAccountString](#common-field-types) common type. + */ + crn?: string | null; + /** + * The currency for the transaction amount. `AUD` assumed if not present. + */ + currency?: string | null; + /** + * The transaction description as applied by the financial institution. + */ + description: string; + /** + * The time the transaction was executed by the originating customer, if available. + */ + executionDateTime?: string | null; + /** + * If the transaction is associated with an instalment plan, the corresponding _planId_ value. It should be noted that if the transaction is for a fee associated with a plan, or any amount of repayment, the _amount_ of the transaction may not match a scheduled instalment amount. + */ + instalmentPlanId?: string; + /** + * `true` if extended information is available using the transaction detail endpoint. `false` if extended data is not available. + */ + isDetailAvailable: boolean; + /** + * The merchant category code (or MCC) for an outgoing payment to a merchant. + */ + merchantCategoryCode?: string | null; + /** + * Name of the merchant for an outgoing payment to a merchant. + */ + merchantName?: string | null; + /** + * The time the transaction was posted. This field is Mandatory if the transaction has status `POSTED`. This is the time that appears on a standard statement. + */ + postingDateTime?: string | null; + /** + * The reference for the transaction provided by the originating institution. Empty string if no data provided. + */ + reference: string; + /** + * Status of the transaction whether pending or posted. Note that there is currently no provision in the standards to guarantee the ability to correlate a pending transaction with an associated posted transaction. + */ + status: "PENDING" | "POSTED"; + /** + * Unique identifier for the transaction. This is mandatory (through hashing if necessary) unless there are specific and justifiable technical reasons why a transaction cannot be uniquely identified for a particular account type. Mandatory if the _isDetailAvailable_ value is `true`. + */ + transactionId?: string; + /** + * The type of the transaction. + */ + type: + | "DIRECT_DEBIT" + | "FEE" + | "INTEREST_CHARGED" + | "INTEREST_PAID" + | "OTHER" + | "PAYMENT" + | "TRANSFER_INCOMING" + | "TRANSFER_OUTGOING"; + /** + * Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry. + */ + valueDateTime?: string | null; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +/** + * Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). Mandatory if the _addressUType_ value is `paf`. + */ +export interface CommonPAFAddress { + /** + * Building/Property name 1. + */ + buildingName1?: string | null; + /** + * Building/Property name 2. + */ + buildingName2?: string | null; + /** + * Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier. + */ dpid?: string | null; /** * Unit number (including suffix, if applicable). @@ -3063,7 +2896,7 @@ export interface CommonPAFAddress { */ thoroughfareNumber1?: number | null; /** - * Suffix for the thoroughfare number. Only relevant is _thoroughfareNumber1_ is populated. + * Suffix for the thoroughfare number. Only relevant if _thoroughfareNumber1_ is populated. */ thoroughfareNumber1Suffix?: string | null; /** @@ -3071,10 +2904,9 @@ export interface CommonPAFAddress { */ thoroughfareNumber2?: number | null; /** - * Suffix for the second thoroughfare number. Only relevant is _thoroughfareNumber2_ is populated. + * Suffix for the second thoroughfare number. Only relevant if _thoroughfareNumber2_ is populated. */ thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -3083,139 +2915,14 @@ export interface CommonPhysicalAddress { * The type of address object present. */ addressUType: "paf" | "simple"; - /** - * Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). - */ - paf?: { - /** - * Building/Property name 1. - */ - buildingName1?: string | null; - /** - * Building/Property name 2. - */ - buildingName2?: string | null; - /** - * Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier. - */ - dpid?: string | null; - /** - * Unit number (including suffix, if applicable). - */ - flatUnitNumber?: string | null; - /** - * Type of flat or unit for the address. - */ - flatUnitType?: string | null; - /** - * Floor or level number (including alpha characters). - */ - floorLevelNumber?: string | null; - /** - * Type of floor or level for the address. - */ - floorLevelType?: string | null; - /** - * Full name of locality. - */ - localityName: string; - /** - * Allotment number for the address. - */ - lotNumber?: string | null; - /** - * Postal delivery number if the address is a postal delivery type. - */ - postalDeliveryNumber?: number | null; - /** - * Postal delivery number prefix related to the postal delivery number. - */ - postalDeliveryNumberPrefix?: string | null; - /** - * Postal delivery number suffix related to the postal delivery number. - */ - postalDeliveryNumberSuffix?: string | null; - /** - * Postal delivery type. (e.g., PO BOX). Valid enumeration defined by Australia Post PAF code file. - */ - postalDeliveryType?: string | null; - /** - * Postcode for the locality. - */ - postcode: string; - /** - * State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). `NSW`, `QLD`, `VIC`, `NT`, `WA`, `SA`, `TAS`, `ACT`, `AAT`. - */ - state: string; - /** - * The name of the street. - */ - streetName?: string | null; - /** - * The street type suffix. Valid enumeration defined by Australia Post PAF code file. - */ - streetSuffix?: string | null; - /** - * The street type. Valid enumeration defined by Australia Post PAF code file. - */ - streetType?: string | null; - /** - * Thoroughfare number for a property (first number in a property ranged address). - */ - thoroughfareNumber1?: number | null; - /** - * Suffix for the thoroughfare number. Only relevant is _thoroughfareNumber1_ is populated. - */ - thoroughfareNumber1Suffix?: string | null; - /** - * Second thoroughfare number (only used if the property has a ranged address, e.g., 23-25). - */ - thoroughfareNumber2?: number | null; - /** - * Suffix for the second thoroughfare number. Only relevant is _thoroughfareNumber2_ is populated. - */ - thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; - }; - simple?: { - /** - * First line of the standard address object. - */ - addressLine1: string; - /** - * Second line of the standard address object. - */ - addressLine2?: string | null; - /** - * Third line of the standard address object. - */ - addressLine3?: string | null; - /** - * Name of the city or locality. - */ - city: string; - /** - * A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (`AUS`) is assumed if country is not present. - */ - country?: string | null; - /** - * Name of the individual or business formatted for inclusion in an address used for physical mail. - */ - mailingName?: string | null; - /** - * Mandatory for Australian addresses. - */ - postcode?: string | null; - /** - * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. `NSW`, `QLD`, `VIC`, `NT`, `WA`, `SA`, `TAS`, `ACT`, `AAT`. - */ - state: string; - [k: string]: unknown; - }; - [k: string]: unknown; + paf?: CommonPAFAddress; + simple?: CommonSimpleAddress; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ +/** + * Mandatory if the _addressUType_ value is `simple`. + */ export interface CommonSimpleAddress { /** * First line of the standard address object. @@ -3249,7 +2956,31 @@ export interface CommonSimpleAddress { * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. `NSW`, `QLD`, `VIC`, `NT`, `WA`, `SA`, `TAS`, `ACT`, `AAT`. */ state: string; - [k: string]: unknown; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ErrorV2 { + /** + * The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the _meta_ object. Otherwise, the value is the error code URN. + */ + code: string; + /** + * A human-readable explanation specific to this occurrence of the problem. + */ + detail: string; + /** + * Additional data for customised error codes. + */ + meta?: { + /** + * The CDR error code URN which the application-specific error code extends. Mandatory if the error _code_ is an application-specific error rather than a standardised error code. + */ + urn?: string | null; + } | null; + /** + * A short, human-readable summary of the problem that **MUST NOT** change from occurrence to occurrence of the problem represented by the error code. + */ + title: string; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -3258,7 +2989,6 @@ export interface Links { * Fully qualified link that generated the current response document. */ self: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -3283,13 +3013,10 @@ export interface LinksPaginated { * Fully qualified link that generated the current response document. */ self: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface Meta { - [k: string]: unknown; -} +export interface Meta {} /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ /** @@ -3300,7 +3027,6 @@ export interface MetaError { * The CDR error code URN which the application-specific error code extends. Mandatory if the error _code_ is an application-specific error rather than a standardised error code. */ urn?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ @@ -3313,3308 +3039,572 @@ export interface MetaPaginated { * The total number of records in the full set. See [pagination](#pagination). */ totalRecords: number; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface MetaPaginatedTransaction { - /** - * The total number of pages in the full set. See [pagination](#pagination). - */ - totalPages: number; - /** - * The total number of records in the full set. See [pagination](#pagination). - */ - totalRecords: number; - [k: string]: unknown; +export type MetaPaginatedTransaction = MetaPaginated & { /** * `true` if _text_ query parameter is not supported. */ - isQueryParamUnsupported?: boolean | null; -} + isQueryParamUnsupported?: boolean; +}; +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ /** * Identifier of the applicable overlay service. The _service_ is used in conjunction with the _serviceVersion_. See [here](#npp-services) for more details. */ export type NppPaymentService = "X2P1" | "IFTI" | "BSCT" | "CATSCT"; /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface RequestAccountIds { + +export interface RequestAccountIdListV1 { data: { /** - * Array of _accountId_ values. + * Array of _accountId_ values to obtain data for. */ accountIds: string[]; - [k: string]: unknown; - }; - meta?: { - [k: string]: unknown; }; - [k: string]: unknown; + meta?: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface ResponseBankingAccountByIdV2 { +export interface RequestAccountIds { data: { /** - * A unique ID of the account adhering to the standards for ID permanence. + * Array of _accountId_ values. */ - accountId: string; + accountIds: string[]; + }; + meta?: Meta; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingAccountByIdV3 { + data: BankingAccountV2 & { /** - * Date that the account was created (if known) + * The unmasked BSB for the account. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. */ - creationDate?: string | null; + bsb?: string; /** - * The display name of the account as defined by the bank. This should not incorporate account numbers or PANs. If it does the values should be masked according to the rules of the [MaskedAccountString](#common-field-types) common type. + * The unmasked account number for the account. Should not be supplied if the account number is a PAN requiring PCI compliance. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. */ - displayName: string; + accountNumber?: string; /** - * Flag indicating that the customer associated with the authorisation is an owner of the account. Does not indicate sole ownership, however. If not present then `true` is assumed. + * Optional field to indicate if this account is part of a bundle that is providing additional benefit to the customer. */ - isOwned?: boolean | null; + bundleName?: string; /** - * A masked version of the account. Whether BSB/Account Number, Credit Card PAN or another number. + * The type of structure to present account specific fields. */ - maskedNumber: string; + specificAccountUType?: "creditCard" | "loan" | "termDeposit"; + termDeposit?: BankingTermDepositAccount[]; + creditCard?: BankingCreditCardAccount; + loan?: BankingLoanAccountV2; /** - * A customer supplied nick name for the account. + * Current rate to calculate interest earned being applied to deposit balances as it stands at the time of the API call. */ - nickname?: string | null; + depositRate?: string; /** - * Open or closed status for the account. If not present then `OPEN` is assumed. + * The current rate to calculate interest payable being applied to lending balances as it stands at the time of the API call. */ - openStatus?: ("CLOSED" | "OPEN") | null; + lendingRate?: string; /** - * The category to which a product or account belongs. See [here](#product-categories) for more details. + * Fully described deposit rates for this account based on the equivalent structure in Product Reference. */ - productCategory: - | "BUSINESS_LOANS" - | "CRED_AND_CHRG_CARDS" - | "LEASES" - | "MARGIN_LOANS" - | "OVERDRAFTS" - | "PERS_LOANS" - | "REGULATED_TRUST_ACCOUNTS" - | "RESIDENTIAL_MORTGAGES" - | "TERM_DEPOSITS" - | "TRADE_FINANCE" - | "TRANS_AND_SAVINGS_ACCOUNTS" - | "TRAVEL_CARDS"; + depositRates?: BankingProductDepositRate[]; /** - * The unique identifier of the account as defined by the data holder (akin to model number for the account). + * Fully described lending rates for this account based on the equivalent structure in Product Reference. */ - productName: string; - [k: string]: unknown; - } & { + lendingRates?: BankingProductLendingRateV2[]; /** - * The unmasked BSB for the account. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces + * Array of features of the account based on the equivalent structure in Product Reference with the following additional field. */ - bsb?: string; - /** - * The unmasked account number for the account. Should not be supplied if the account number is a PAN requiring PCI compliance. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces - */ - accountNumber?: string; - /** - * Optional field to indicate if this account is part of a bundle that is providing additional benefit for to the customer - */ - bundleName?: string; - /** - * The type of structure to present account specific fields. - */ - specificAccountUType?: "creditCard" | "loan" | "termDeposit"; - termDeposit?: Array<{ - /** - * The lodgement date of the original deposit. - */ - lodgementDate: string; - /** - * Amount to be paid upon maturity. If absent it implies the amount to paid is variable and cannot currently be calculated. - */ - maturityAmount?: string | null; - /** - * If absent assumes `AUD`. - */ - maturityCurrency?: string | null; - /** - * Maturity date for the term deposit. - */ - maturityDate: string; - /** - * Current instructions on action to be taken at maturity. This includes default actions that may be specified in the terms and conditions for the product e.g., roll-over to the same term and frequency of interest payments. - */ - maturityInstructions: "HOLD_ON_MATURITY" | "PAID_OUT_AT_MATURITY" | "ROLLED_OVER"; - [k: string]: unknown; - }>; - creditCard?: { - /** - * The minimum payment amount due for the next card payment. - */ - minPaymentAmount: string; - /** - * If absent assumes `AUD`. - */ - paymentCurrency?: string | null; - /** - * The amount due for the next card payment. - */ - paymentDueAmount: string; - /** - * Date that the next payment for the card is due. - */ - paymentDueDate: string; - [k: string]: unknown; - }; - loan?: { - /** - * Date that the loan is due to be repaid in full. - */ - loanEndDate?: string | null; - /** - * Maximum amount of funds that can be redrawn. If not present redraw is not available even if the feature exists for the account. - */ - maxRedraw?: string | null; - /** - * If absent assumes `AUD`. - */ - maxRedrawCurrency?: string | null; - /** - * Minimum amount of next instalment. - */ - minInstalmentAmount?: string | null; - /** - * If absent assumes `AUD`. - */ - minInstalmentCurrency?: string | null; - /** - * Minimum redraw amount. - */ - minRedraw?: string | null; - /** - * If absent assumes `AUD`. - */ - minRedrawCurrency?: string | null; - /** - * Next date that an instalment is required. - */ - nextInstalmentDate?: string | null; - /** - * Set to `true` if one or more offset accounts are configured for this loan account. - */ - offsetAccountEnabled?: boolean | null; - /** - * The accountIDs of the configured offset accounts attached to this loan. Only offset accounts that can be accessed under the current authorisation should be included. It is expected behaviour that _offsetAccountEnabled_ is set to `true` but the _offsetAccountIds_ field is absent or empty. This represents a situation where an offset account exists but details can not be accessed under the current authorisation. - */ - offsetAccountIds?: string[] | null; - /** - * Optional original loan value. - */ - originalLoanAmount?: string | null; - /** - * If absent assumes `AUD`. - */ - originalLoanCurrency?: string | null; - /** - * Optional original start date for the loan. - */ - originalStartDate?: string | null; - /** - * The expected or required repayment frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). - */ - repaymentFrequency?: string | null; - /** - * Options in place for repayments. If absent defaults to `PRINCIPAL_AND_INTEREST`. - */ - repaymentType?: ("INTEREST_ONLY" | "PRINCIPAL_AND_INTEREST") | null; - [k: string]: unknown; - }; - /** - * current rate to calculate interest earned being applied to deposit balances as it stands at the time of the API call - */ - depositRate?: string; - /** - * The current rate to calculate interest payable being applied to lending balances as it stands at the time of the API call - */ - lendingRate?: string; - /** - * Fully described deposit rates for this account based on the equivalent structure in Product Reference - */ - depositRates?: Array<{ - /** - * Display text providing more information on the rate. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this rate. - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [_depositRateType_](#tocSproductdepositratetypedoc) specified. Whether mandatory or not is dependent on the value of [_depositRateType_](#tocSproductdepositratetypedoc). - */ - additionalValue?: string | null; - /** - * The period after which the calculated amount(s) (see _calculationFrequency_) are 'applied' (i.e. debited or credited) to the account. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). - */ - applicationFrequency?: string | null; - /** - * The period after which the rate is applied to the balance to calculate the amount due for the period. Calculation of the amount is often daily (as balances may change) but accumulated until the total amount is 'applied' to the account (see _applicationFrequency_). Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). - */ - calculationFrequency?: string | null; - /** - * The type of rate (`FIXED`, `VARIABLE`, `BONUS`, etc.) For further details, refer to [Product Deposit Rate Types](#tocSproductdepositratetypedoc). - */ - depositRateType: - | "BONUS" - | "BUNDLE_BONUS" - | "FIXED" - | "FLOATING" - | "INTRODUCTORY" - | "MARKET_LINKED" - | "VARIABLE"; - /** - * The rate to be applied. - */ - rate: string; - /** - * Rate tiers applicable for this rate. - */ - tiers?: - | Array<{ - /** - * Display text providing more information on the rate tier. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this rate tier - */ - additionalInfoUri?: string | null; - /** - * Defines the criteria and conditions for which a rate applies. - */ - applicabilityConditions?: { - /** - * Display text providing more information on the rate tier. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this rate tier. - */ - additionalInfoUri?: string | null; - [k: string]: unknown; - }; - /** - * The number of _unitOfMeasure_ units that form the upper bound of the tier or band. For a tier with a discrete value (as opposed to a range of values e.g., 1 month) this must be the same as _minimumValue_. Where this is the same as the _minimumValue_ value of the next-higher tier the referenced tier should be exclusive of this value. For example a term deposit of 2 months falls into the upper tier of the following tiers: (1 – 2 months, 2 – 3 months). If absent the tier's range has no upper bound. - */ - maximumValue?: number | null; - /** - * The number of _unitOfMeasure_ units that form the lower bound of the tier. The tier should be inclusive of this value. - */ - minimumValue: number; - /** - * A display name for the tier. - */ - name: string; - /** - * The method used to calculate the amount to be applied using one or more tiers. A single rate may be applied to the entire balance or each applicable tier rate is applied to the portion of the balance that falls into that tier (referred to as 'bands' or 'steps'). - */ - rateApplicationMethod?: ("PER_TIER" | "WHOLE_BALANCE") | null; - /** - * The unit of measure that applies to the _minimumValue_ and _maximumValue_ values e.g., - */ - unitOfMeasure: "DAY" | "DOLLAR" | "MONTH" | "PERCENT"; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }>; - /** - * Fully described deposit rates for this account based on the equivalent structure in Product Reference - */ - lendingRates?: Array<{ - /** - * Display text providing more information on the rate. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this rate. - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [_lendingRateType_](#tocSproductlendingratetypedoc) specified. Whether mandatory or not is dependent on the value of [_lendingRateType_](#tocSproductlendingratetypedoc). - */ - additionalValue?: string | null; - /** - * The period after which the calculated amount(s) (see _calculationFrequency_) are 'applied' (i.e. debited or credited) to the account. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). - */ - applicationFrequency?: string | null; - /** - * The period after which the rate is applied to the balance to calculate the amount due for the period. Calculation of the amount is often daily (as balances may change) but accumulated until the total amount is 'applied' to the account (see _applicationFrequency_). Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). - */ - calculationFrequency?: string | null; - /** - * A comparison rate equivalent for this rate. - */ - comparisonRate?: string | null; - /** - * When loan payments are due to be paid within each period. The investment benefit of earlier payments affect the rate that can be offered. - */ - interestPaymentDue?: ("IN_ADVANCE" | "IN_ARREARS") | null; - /** - * The type of rate (`FIXED`, `VARIABLE`, etc.) For further details, refer to [Product Lending Rate Types](#tocSproductlendingratetypedoc). - */ - lendingRateType: - | "BUNDLE_DISCOUNT_FIXED" - | "BUNDLE_DISCOUNT_VARIABLE" - | "CASH_ADVANCE" - | "DISCOUNT" - | "FIXED" - | "FLOATING" - | "INTRODUCTORY" - | "MARKET_LINKED" - | "PENALTY" - | "PURCHASE" - | "VARIABLE"; - /** - * The reason for taking out the loan. If absent, the lending rate is applicable to all loan purposes. - */ - loanPurpose?: ("INVESTMENT" | "OWNER_OCCUPIED") | null; - /** - * The rate to be applied. - */ - rate: string; - /** - * Options in place for repayments. If absent, the lending rate is applicable to all repayment types. - */ - repaymentType?: ("INTEREST_ONLY" | "PRINCIPAL_AND_INTEREST") | null; - /** - * Rate tiers applicable for this rate. - */ - tiers?: - | Array<{ - /** - * Display text providing more information on the rate tier. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this rate tier - */ - additionalInfoUri?: string | null; - /** - * Defines a condition for the applicability of a tiered rate - */ - applicabilityConditions?: { - /** - * Display text providing more information on the condition - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this condition - */ - additionalInfoUri?: string | null; - [k: string]: unknown; - }; - /** - * The number of tierUnitOfMeasure units that form the upper bound of the tier or band. For a tier with a discrete value (as opposed to a range of values e.g. 1 month) this must be the same as tierValueMinimum. Where this is the same as the tierValueMinimum value of the next-higher tier the referenced tier should be exclusive of this value. For example a term deposit of 2 months falls into the upper tier of the following tiers: (1 – 2 months, 2 – 3 months). If absent the tier's range has no upper bound. - */ - maximumValue?: number | null; - /** - * The number of tierUnitOfMeasure units that form the lower bound of the tier. The tier should be inclusive of this value - */ - minimumValue: number; - /** - * A display name for the tier - */ - name: string; - /** - * The method used to calculate the amount to be applied using one or more tiers. A single rate may be applied to the entire balance or each applicable tier rate is applied to the portion of the balance that falls into that tier (referred to as 'bands' or 'steps') - */ - rateApplicationMethod?: ("PER_TIER" | "WHOLE_BALANCE") | null; - /** - * The unit of measure that applies to the tierValueMinimum and tierValueMaximum values e.g. a **DOLLAR** amount. **PERCENT** (in the case of loan-to-value ratio or LVR). Tier term period representing a discrete number of **MONTH**'s or **DAY**'s (in the case of term deposit tiers) - */ - unitOfMeasure: "DAY" | "DOLLAR" | "MONTH" | "PERCENT"; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }>; - /** - * Array of features of the account based on the equivalent structure in Product Reference with the following additional field - */ - features?: Array< - { - /** - * Display text providing more information on the feature. Mandatory if [_featureType_](#tocSproductfeaturetypedoc) is set to `OTHER`. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this feature. - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [_featureType_](#tocSproductfeaturetypedoc) specified. Whether mandatory or not is dependent on the value of the [_featureType_](#tocSproductfeaturetypedoc). - */ - additionalValue?: string | null; - /** - * The type of feature described. For further details, refer to [Product Feature Types](#tocSproductfeaturetypedoc). - */ - featureType: - | "ADDITIONAL_CARDS" - | "BALANCE_TRANSFERS" - | "BILL_PAYMENT" - | "BONUS_REWARDS" - | "CARD_ACCESS" - | "CASHBACK_OFFER" - | "COMPLEMENTARY_PRODUCT_DISCOUNTS" - | "DIGITAL_BANKING" - | "DIGITAL_WALLET" - | "DONATE_INTEREST" - | "EXTRA_REPAYMENTS" - | "FRAUD_PROTECTION" - | "FREE_TXNS" - | "FREE_TXNS_ALLOWANCE" - | "GUARANTOR" - | "INSURANCE" - | "INSTALMENT_PLAN" - | "INTEREST_FREE" - | "INTEREST_FREE_TRANSFERS" - | "LOYALTY_PROGRAM" - | "NOTIFICATIONS" - | "NPP_ENABLED" - | "NPP_PAYID" - | "OFFSET" - | "OTHER" - | "OVERDRAFT" - | "REDRAW" - | "RELATIONSHIP_MANAGEMENT" - | "UNLIMITED_TXNS"; - [k: string]: unknown; - } & { - /** - * True if the feature is already activated and false if the feature is available for activation. Defaults to true if absent. (note this is an additional field appended to the feature object defined in the Product Reference payload) - */ - isActivated?: boolean; - [k: string]: unknown; - } - >; - /** - * Fees and charges applicable to the account based on the equivalent structure in Product Reference - */ - fees?: Array<{ - /** - * The indicative frequency with which the fee is calculated on the account. Only applies if _balanceRate_ or _accruedRate_ is also present. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). - */ - accrualFrequency?: string | null; - /** - * A fee rate calculated based on a proportion of the calculated interest accrued on the account. One of _amount_, _balanceRate_, _transactionRate_ and _accruedRate_ is mandatory unless the _feeType_ `VARIABLE` is supplied. - */ - accruedRate?: string | null; - /** - * Display text providing more information on the fee. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this fee. - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [_feeType_](#tocSproductfeetypedoc) specified. Whether mandatory or not is dependent on the value of [_feeType_](#tocSproductfeetypedoc). - */ - additionalValue?: string | null; - /** - * The amount charged for the fee. One of _amount_, _balanceRate_, _transactionRate_ and _accruedRate_ is mandatory unless the _feeType_ `VARIABLE` is supplied. - */ - amount?: string | null; - /** - * A fee rate calculated based on a proportion of the balance. One of _amount_, _balanceRate_, _transactionRate_ and _accruedRate_ is mandatory unless the _feeType_ `VARIABLE` is supplied. - */ - balanceRate?: string | null; - /** - * The currency the fee will be charged in. Assumes `AUD` if absent. - */ - currency?: string | null; - /** - * An optional list of discounts to this fee that may be available. - */ - discounts?: - | Array<{ - /** - * A discount rate calculated based on a proportion of the calculated interest accrued on the account. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of _amount_, _balanceRate_, _transactionRate_, _accruedRate_ and _feeRate_ is mandatory. Unless noted in _additionalInfo_, assumes the application and calculation frequency are the same as the corresponding fee. - */ - accruedRate?: string | null; - /** - * Display text providing more information on the discount. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this discount. - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [_discountType_](#tocSproductdiscounttypedoc) specified. Whether mandatory or not is dependent on the value of [_discountType_](#tocSproductdiscounttypedoc). - */ - additionalValue?: string | null; - /** - * Dollar value of the discount. One of _amount_, _balanceRate_, _transactionRate_, _accruedRate_ and _feeRate_ is mandatory. - */ - amount?: string | null; - /** - * A discount rate calculated based on a proportion of the balance. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of _amount_, _balanceRate_, _transactionRate_, _accruedRate_ and _feeRate_ is mandatory. Unless noted in _additionalInfo_, assumes the application and calculation frequency are the same as the corresponding fee. - */ - balanceRate?: string | null; - /** - * Description of the discount. - */ - description: string; - /** - * The type of discount. For further details, refer to [Product Discount Types](#tocSproductdiscounttypedoc). - */ - discountType: "BALANCE" | "DEPOSITS" | "ELIGIBILITY_ONLY" | "FEE_CAP" | "PAYMENTS"; - /** - * Eligibility constraints that apply to this discount. Mandatory if _discountType_ is `ELIGIBILITY_ONLY`. - */ - eligibility?: - | Array<{ - /** - * Display text providing more information on this eligibility constraint. Whether mandatory or not is dependent on the value of [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc). - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this eligibility constraint. - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc) specified. Whether mandatory or not is dependent on the value of [_discountEligibilityType_](#tocSproductdiscounteligibilitydoc). - */ - additionalValue?: string | null; - /** - * The type of the specific eligibility constraint for a discount. For further details, refer to [Product Discount Eligibility Types](#tocSproductdiscounteligibilitydoc). - */ - discountEligibilityType: - | "BUSINESS" - | "EMPLOYMENT_STATUS" - | "INTRODUCTORY" - | "MAX_AGE" - | "MIN_AGE" - | "MIN_INCOME" - | "MIN_TURNOVER" - | "NATURAL_PERSON" - | "OTHER" - | "PENSION_RECIPIENT" - | "RESIDENCY_STATUS" - | "STAFF" - | "STUDENT"; - [k: string]: unknown; - }> - | null; - /** - * A discount rate calculated based on a proportion of the fee to which this discount is attached. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory. Unless noted in additionalInfo, assumes the application and calculation frequency are the same as the corresponding fee - */ - feeRate?: string | null; - /** - * A discount rate calculated based on a proportion of a transaction. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory - */ - transactionRate?: string | null; - [k: string]: unknown; - }> - | null; - /** - * The type of fee - */ - feeType: - | "DEPOSIT" - | "EVENT" - | "EXIT" - | "PAYMENT" - | "PERIODIC" - | "PURCHASE" - | "TRANSACTION" - | "UPFRONT" - | "VARIABLE" - | "WITHDRAWAL"; - /** - * Name of the fee - */ - name: string; - /** - * A fee rate calculated based on a proportion of a transaction. One of amount, balanceRate, transactionRate and accruedRate is mandatory unless the *feeType* "VARIABLE" is supplied - */ - transactionRate?: string | null; - [k: string]: unknown; - }>; - /** - * The addresses for the account to be used for correspondence - */ - addresses?: Array<{ - /** - * The type of address object present. - */ - addressUType: "paf" | "simple"; - /** - * Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). - */ - paf?: { - /** - * Building/Property name 1. - */ - buildingName1?: string | null; - /** - * Building/Property name 2. - */ - buildingName2?: string | null; - /** - * Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier. - */ - dpid?: string | null; - /** - * Unit number (including suffix, if applicable). - */ - flatUnitNumber?: string | null; - /** - * Type of flat or unit for the address. - */ - flatUnitType?: string | null; - /** - * Floor or level number (including alpha characters). - */ - floorLevelNumber?: string | null; - /** - * Type of floor or level for the address. - */ - floorLevelType?: string | null; - /** - * Full name of locality. - */ - localityName: string; - /** - * Allotment number for the address. - */ - lotNumber?: string | null; - /** - * Postal delivery number if the address is a postal delivery type. - */ - postalDeliveryNumber?: number | null; - /** - * Postal delivery number prefix related to the postal delivery number. - */ - postalDeliveryNumberPrefix?: string | null; - /** - * Postal delivery number suffix related to the postal delivery number. - */ - postalDeliveryNumberSuffix?: string | null; - /** - * Postal delivery type. (e.g., PO BOX). Valid enumeration defined by Australia Post PAF code file. - */ - postalDeliveryType?: string | null; - /** - * Postcode for the locality. - */ - postcode: string; - /** - * State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). `NSW`, `QLD`, `VIC`, `NT`, `WA`, `SA`, `TAS`, `ACT`, `AAT`. - */ - state: string; - /** - * The name of the street. - */ - streetName?: string | null; - /** - * The street type suffix. Valid enumeration defined by Australia Post PAF code file. - */ - streetSuffix?: string | null; - /** - * The street type. Valid enumeration defined by Australia Post PAF code file. - */ - streetType?: string | null; - /** - * Thoroughfare number for a property (first number in a property ranged address). - */ - thoroughfareNumber1?: number | null; - /** - * Suffix for the thoroughfare number. Only relevant is _thoroughfareNumber1_ is populated. - */ - thoroughfareNumber1Suffix?: string | null; - /** - * Second thoroughfare number (only used if the property has a ranged address, e.g., 23-25). - */ - thoroughfareNumber2?: number | null; - /** - * Suffix for the second thoroughfare number. Only relevant is _thoroughfareNumber2_ is populated. - */ - thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; - }; - simple?: { - /** - * First line of the standard address object. - */ - addressLine1: string; - /** - * Second line of the standard address object. - */ - addressLine2?: string | null; - /** - * Third line of the standard address object. - */ - addressLine3?: string | null; - /** - * Name of the city or locality. - */ - city: string; - /** - * A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (`AUS`) is assumed if country is not present. - */ - country?: string | null; - /** - * Name of the individual or business formatted for inclusion in an address used for physical mail. - */ - mailingName?: string | null; - /** - * Mandatory for Australian addresses. - */ - postcode?: string | null; - /** - * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. `NSW`, `QLD`, `VIC`, `NT`, `WA`, `SA`, `TAS`, `ACT`, `AAT`. - */ - state: string; - [k: string]: unknown; - }; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { - /** - * Fully qualified link that generated the current response document. - */ - self: string; - [k: string]: unknown; - }; - meta?: { - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ - -export interface ResponseBankingAccountList { - data: { - /** - * The list of accounts returned. If the filter results in an empty set then this array may have no records. - */ - accounts: Array<{ - /** - * A unique ID of the account adhering to the standards for ID permanence. - */ - accountId: string; - /** - * Date that the account was created (if known). - */ - creationDate?: string | null; - /** - * The display name of the account as defined by the bank. This should not incorporate account numbers or PANs. If it does the values should be masked according to the rules of the [MaskedAccountString](#common-field-types) common type. - */ - displayName: string; - /** - * Flag indicating that the customer associated with the authorisation is an owner of the account. Does not indicate sole ownership, however. If not present then `true` is assumed. - */ - isOwned?: boolean | null; - /** - * A masked version of the account. Whether BSB/Account Number, Credit Card PAN or another number. - */ - maskedNumber: string; - /** - * A customer supplied nick name for the account. - */ - nickname?: string | null; - /** - * Open or closed status for the account. If not present then `OPEN` is assumed. - */ - openStatus?: ("CLOSED" | "OPEN") | null; - /** - * The category to which a product or account belongs. See [here](#product-categories) for more details. - */ - productCategory: - | "BUSINESS_LOANS" - | "CRED_AND_CHRG_CARDS" - | "LEASES" - | "MARGIN_LOANS" - | "OVERDRAFTS" - | "PERS_LOANS" - | "REGULATED_TRUST_ACCOUNTS" - | "RESIDENTIAL_MORTGAGES" - | "TERM_DEPOSITS" - | "TRADE_FINANCE" - | "TRANS_AND_SAVINGS_ACCOUNTS" - | "TRAVEL_CARDS"; - /** - * The unique identifier of the account as defined by the data holder (akin to model number for the account). - */ - productName: string; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { - /** - * URI to the first page of this set. Mandatory if this response is not the first page. - */ - first?: string | null; - /** - * URI to the last page of this set. Mandatory if this response is not the last page. - */ - last?: string | null; - /** - * URI to the next page of this set. Mandatory if this response is not the last page. - */ - next?: string | null; - /** - * URI to the previous page of this set. Mandatory if this response is not the first page. - */ - prev?: string | null; - /** - * Fully qualified link that generated the current response document. - */ - self: string; - [k: string]: unknown; - }; - meta: { - /** - * The total number of pages in the full set. See [pagination](#pagination). - */ - totalPages: number; - /** - * The total number of records in the full set. See [pagination](#pagination). - */ - totalRecords: number; - [k: string]: unknown; - }; - [k: string]: unknown; -} - -/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ - -export interface ResponseBankingAccountByIdV3 { - data: { - /** - * A unique ID of the account adhering to the standards for ID permanence - */ - accountId: string; - /** - * Value indicating the number of customers that have ownership of the account, according to the data holder's definition of account ownership. Does not indicate that all account owners are eligible consumers - */ - accountOwnership: "UNKNOWN" | "ONE_PARTY" | "TWO_PARTY" | "MANY_PARTY" | "OTHER"; - /** - * Date that the account was created (if known) - */ - creationDate?: string | null; - /** - * The display name of the account as defined by the bank. This should not incorporate account numbers or PANs. If it does the values should be masked according to the rules of the MaskedAccountString common type. - */ - displayName: string; - /** - * Flag indicating that the customer associated with the authorisation is an owner of the account. Does not indicate sole ownership, however. If not present then 'true' is assumed - */ - isOwned?: boolean | null; - /** - * A masked version of the account. Whether BSB/Account Number, Credit Card PAN or another number - */ - maskedNumber: string; - /** - * A customer supplied nick name for the account - */ - nickname?: string | null; - /** - * Open or closed status for the account. If not present then OPEN is assumed - */ - openStatus?: ("CLOSED" | "OPEN") | null; - /** - * The category to which a product or account belongs. See [here](#product-categories) for more details. - */ - productCategory: - | "BUSINESS_LOANS" - | "CRED_AND_CHRG_CARDS" - | "LEASES" - | "MARGIN_LOANS" - | "OVERDRAFTS" - | "PERS_LOANS" - | "REGULATED_TRUST_ACCOUNTS" - | "RESIDENTIAL_MORTGAGES" - | "TERM_DEPOSITS" - | "TRADE_FINANCE" - | "TRANS_AND_SAVINGS_ACCOUNTS" - | "TRAVEL_CARDS"; - /** - * A data holder specific unique identifier for this product. This identifier must be unique to a product but does not otherwise need to adhere to ID permanence guidelines. - */ - productName: string; - [k: string]: unknown; - } & { - [k: string]: unknown; - }; - links: { - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta?: { - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ - -export interface ResponseBankingAccountListV2 { - data: { - /** - * The list of accounts returned. If the filter results in an empty set then this array may have no records - */ - accounts: Array<{ - /** - * A unique ID of the account adhering to the standards for ID permanence - */ - accountId: string; - /** - * Value indicating the number of customers that have ownership of the account, according to the data holder's definition of account ownership. Does not indicate that all account owners are eligible consumers - */ - accountOwnership: "UNKNOWN" | "ONE_PARTY" | "TWO_PARTY" | "MANY_PARTY" | "OTHER"; - /** - * Date that the account was created (if known) - */ - creationDate?: string | null; - /** - * The display name of the account as defined by the bank. This should not incorporate account numbers or PANs. If it does the values should be masked according to the rules of the MaskedAccountString common type. - */ - displayName: string; - /** - * Flag indicating that the customer associated with the authorisation is an owner of the account. Does not indicate sole ownership, however. If not present then 'true' is assumed - */ - isOwned?: boolean | null; - /** - * A masked version of the account. Whether BSB/Account Number, Credit Card PAN or another number - */ - maskedNumber: string; - /** - * A customer supplied nick name for the account - */ - nickname?: string | null; - /** - * Open or closed status for the account. If not present then OPEN is assumed - */ - openStatus?: ("CLOSED" | "OPEN") | null; - /** - * The category to which a product or account belongs. See [here](#product-categories) for more details - */ - productCategory: - | "BUSINESS_LOANS" - | "CRED_AND_CHRG_CARDS" - | "LEASES" - | "MARGIN_LOANS" - | "OVERDRAFTS" - | "PERS_LOANS" - | "REGULATED_TRUST_ACCOUNTS" - | "RESIDENTIAL_MORTGAGES" - | "TERM_DEPOSITS" - | "TRADE_FINANCE" - | "TRANS_AND_SAVINGS_ACCOUNTS" - | "TRAVEL_CARDS"; - /** - * The unique identifier of the account as defined by the data holder (akin to model number for the account) - */ - productName: string; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { - /** - * URI to the first page of this set. Mandatory if this response is not the first page - */ - first?: string | null; - /** - * URI to the last page of this set. Mandatory if this response is not the last page - */ - last?: string | null; - /** - * URI to the next page of this set. Mandatory if this response is not the last page - */ - next?: string | null; - /** - * URI to the previous page of this set. Mandatory if this response is not the first page - */ - prev?: string | null; - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta: { - /** - * The total number of pages in the full set. See [pagination](#pagination). - */ - totalPages: number; - /** - * The total number of records in the full set. See [pagination](#pagination). - */ - totalRecords: number; - [k: string]: unknown; - }; - [k: string]: unknown; -} - -/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ - -export interface ResponseBankingAccountsBalanceById { - data: { - /** - * A unique ID of the account adhering to the standards for ID permanence - */ - accountId: string; - /** - * Object representing the available limit amortised according to payment schedule. Assumed to be zero if absent - */ - amortisedLimit?: string | null; - /** - * Balance representing the amount of funds available for transfer. Assumed to be zero or positive - */ - availableBalance: string; - /** - * Object representing the maximum amount of credit that is available for this account. Assumed to be zero if absent - */ - creditLimit?: string | null; - /** - * The currency for the balance amounts. If absent assumed to be AUD - */ - currency?: string | null; - /** - * The balance of the account at this time. Should align to the balance available via other channels such as Internet Banking. Assumed to be negative if the customer has money owing - */ - currentBalance: string; - /** - * Optional array of balances for the account in other currencies. Included to support accounts that support multi-currency purses such as Travel Cards - */ - purses?: - | Array<{ - /** - * The balance available for this additional currency purse - */ - amount: string; - /** - * The currency for the purse - */ - currency?: string | null; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }; - links: { - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta?: { - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ - -export interface ResponseBankingAccountsBalanceList { - data: { - /** - * The list of balances returned - */ - balances: Array<{ - /** - * A unique ID of the account adhering to the standards for ID permanence - */ - accountId: string; - /** - * Object representing the available limit amortised according to payment schedule. Assumed to be zero if absent - */ - amortisedLimit?: string | null; - /** - * Balance representing the amount of funds available for transfer. Assumed to be zero or positive - */ - availableBalance: string; - /** - * Object representing the maximum amount of credit that is available for this account. Assumed to be zero if absent - */ - creditLimit?: string | null; - /** - * The currency for the balance amounts. If absent assumed to be AUD - */ - currency?: string | null; - /** - * The balance of the account at this time. Should align to the balance available via other channels such as Internet Banking. Assumed to be negative if the customer has money owing - */ - currentBalance: string; - /** - * Optional array of balances for the account in other currencies. Included to support accounts that support multi-currency purses such as Travel Cards - */ - purses?: - | Array<{ - /** - * The balance available for this additional currency purse - */ - amount: string; - /** - * The currency for the purse - */ - currency?: string | null; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { - /** - * URI to the first page of this set. Mandatory if this response is not the first page - */ - first?: string | null; - /** - * URI to the last page of this set. Mandatory if this response is not the last page - */ - last?: string | null; - /** - * URI to the next page of this set. Mandatory if this response is not the last page - */ - next?: string | null; - /** - * URI to the previous page of this set. Mandatory if this response is not the first page - */ - prev?: string | null; - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta: { - /** - * The total number of pages in the full set. See [pagination](#pagination). - */ - totalPages: number; - /** - * The total number of records in the full set. See [pagination](#pagination). - */ - totalRecords: number; - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ - -export interface ResponseBankingDirectDebitAuthorisationList { - data: { - /** - * The list of authorisations returned - */ - directDebitAuthorisations: Array<{ - /** - * A unique ID of the account adhering to the standards for ID permanence. - */ - accountId: string; - authorisedEntity: { - /** - * Australian Business Number for the authorised entity - */ - abn?: string | null; - /** - * Australian Company Number for the authorised entity - */ - acn?: string | null; - /** - * Australian Registered Body Number for the authorised entity - */ - arbn?: string | null; - /** - * Description of the authorised entity derived from previously executed direct debits - */ - description?: string | null; - /** - * Name of the financial institution through which the direct debit will be executed. Is required unless the payment is made via a credit card scheme - */ - financialInstitution?: string | null; - [k: string]: unknown; - }; - /** - * The amount of the last debit executed under this authorisation - */ - lastDebitAmount?: string | null; - /** - * The date and time of the last debit executed under this authorisation - */ - lastDebitDateTime?: string | null; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { - /** - * URI to the first page of this set. Mandatory if this response is not the first page - */ - first?: string | null; - /** - * URI to the last page of this set. Mandatory if this response is not the last page - */ - last?: string | null; - /** - * URI to the next page of this set. Mandatory if this response is not the last page - */ - next?: string | null; - /** - * URI to the previous page of this set. Mandatory if this response is not the first page - */ - prev?: string | null; - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta: { - /** - * The total number of pages in the full set. See [pagination](#pagination). - */ - totalPages: number; - /** - * The total number of records in the full set. See [pagination](#pagination). - */ - totalRecords: number; - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ - -export interface ResponseBankingPayeeByIdV2 { - data: { - /** - * The date the payee was created by the customer - */ - creationDate?: string | null; - /** - * A description of the payee provided by the customer - */ - description?: string | null; - /** - * The short display name of the payee as provided by the customer. Where a customer has not provided a nickname, a display name derived by the bank for the payee consistent with existing digital banking channels - */ - nickname: string; - /** - * ID of the payee adhering to the rules of ID permanence - */ - payeeId: string; - /** - * The type of payee.
DOMESTIC means a registered payee for domestic payments including NPP.
INTERNATIONAL means a registered payee for international payments.
BILLER means a registered payee for BPAY.
DIGITAL_WALLET means a registered payee for a bank's digital wallet - */ - type: "BILLER" | "DIGITAL_WALLET" | "DOMESTIC" | "INTERNATIONAL"; - [k: string]: unknown; - } & { - /** - * Type of object included that describes the payee in detail - */ - payeeUType: "biller" | "digitalWallet" | "domestic" | "international"; - biller?: { - /** - * BPAY Biller Code of the Biller - */ - billerCode: string; - /** - * Name of the Biller - */ - billerName: string; - /** - * BPAY CRN of the Biller (if available).
Where the CRN contains sensitive information, it should be masked in line with how the Data Holder currently displays account identifiers in their existing online banking channels. If the contents of the CRN match the format of a Credit Card PAN they should be masked according to the rules applicable for MaskedPANString. If the contents are otherwise sensitive, then it should be masked using the rules applicable for the MaskedAccountString common type. - */ - crn?: string | null; - [k: string]: unknown; - }; - domestic?: { - account?: { - /** - * Name of the account to pay to - */ - accountName?: string | null; - /** - * Number of the account to pay to - */ - accountNumber: string; - /** - * BSB of the account to pay to - */ - bsb: string; - [k: string]: unknown; - }; - card?: { - /** - * Name of the account to pay to - */ - cardNumber: string; - [k: string]: unknown; - }; - payId?: { - /** - * The identifier of the PayID (dependent on type) - */ - identifier: string; - /** - * The name assigned to the PayID by the owner of the PayID - */ - name?: string | null; - /** - * The type of the PayID - */ - type: "ABN" | "EMAIL" | "ORG_IDENTIFIER" | "TELEPHONE"; - [k: string]: unknown; - }; - /** - * Type of account object included. Valid values are: **account** A standard Australian account defined by BSB/Account Number. **card** A credit or charge card to pay to (note that PANs are masked). **payId** A PayID recognised by NPP - */ - payeeAccountUType: "account" | "card" | "payId"; - [k: string]: unknown; - }; - digitalWallet?: { - /** - * The identifier of the digital wallet (dependent on type) - */ - identifier: string; - /** - * The name assigned to the digital wallet by the owner of the wallet, else the display name provided by the digital wallet provider - */ - name: string; - /** - * The provider of the digital wallet - */ - provider: "PAYPAL_AU" | "OTHER"; - /** - * The type of the digital wallet identifier - */ - type: "EMAIL" | "CONTACT_NAME" | "TELEPHONE"; - [k: string]: unknown; - }; - international?: { - bankDetails: { - /** - * Account Targeted for payment - */ - accountNumber: string; - bankAddress?: { - /** - * Address of the recipient Bank - */ - address: string; - /** - * Name of the recipient Bank - */ - name: string; - [k: string]: unknown; - } | null; - /** - * Swift bank code. Aligns with standard [ISO 9362](https://www.iso.org/standard/60390.html) - */ - beneficiaryBankBIC?: string | null; - /** - * Number for the Clearing House Interbank Payments System - */ - chipNumber?: string | null; - /** - * Country of the recipient institution. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code - */ - country: string; - /** - * Number for Fedwire payment (Federal Reserve Wire Network) - */ - fedWireNumber?: string | null; - /** - * The legal entity identifier (LEI) for the beneficiary. Aligns with [ISO 17442](https://www.iso.org/standard/59771.html) - */ - legalEntityIdentifier?: string | null; - /** - * International bank routing number - */ - routingNumber?: string | null; - /** - * Sort code used for account identification in some jurisdictions - */ - sortCode?: string | null; - [k: string]: unknown; - }; - beneficiaryDetails: { - /** - * Country where the beneficiary resides. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code - */ - country: string; - /** - * Response message for the payment - */ - message?: string | null; - /** - * Name of the beneficiary - */ - name?: string | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - links: { - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta?: { - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ - -export interface ResponseBankingPayeeListV2 { - data: { - /** - * The list of payees returned - */ - payees: Array<{ - /** - * The date the payee was created by the customer - */ - creationDate?: string | null; - /** - * A description of the payee provided by the customer - */ - description?: string | null; - /** - * The short display name of the payee as provided by the customer. Where a customer has not provided a nickname, a display name derived by the bank for the payee consistent with existing digital banking channels - */ - nickname: string; - /** - * ID of the payee adhering to the rules of ID permanence - */ - payeeId: string; - /** - * The type of payee.
DOMESTIC means a registered payee for domestic payments including NPP.
INTERNATIONAL means a registered payee for international payments.
BILLER means a registered payee for BPAY.
DIGITAL_WALLET means a registered payee for a bank's digital wallet - */ - type: "BILLER" | "DIGITAL_WALLET" | "DOMESTIC" | "INTERNATIONAL"; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { - /** - * URI to the first page of this set. Mandatory if this response is not the first page - */ - first?: string | null; - /** - * URI to the last page of this set. Mandatory if this response is not the last page - */ - last?: string | null; - /** - * URI to the next page of this set. Mandatory if this response is not the last page - */ - next?: string | null; - /** - * URI to the previous page of this set. Mandatory if this response is not the first page - */ - prev?: string | null; - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta: { - /** - * The total number of pages in the full set. See [pagination](#pagination). - */ - totalPages: number; - /** - * The total number of records in the full set. See [pagination](#pagination). - */ - totalRecords: number; - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ - -export interface ResponseBankingProductByIdV4 { - data: { - /** - * Object that contains links to additional information on specific topics - */ - additionalInformation?: { - /** - * An array of additional bundles for the product, if applicable. To be treated as secondary documents to the `bundleUri`. Only to be used if there is a primary `bundleUri`. - */ - additionalBundleUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; - /** - * An array of additional eligibility rules and criteria for the product, if applicable. To be treated as secondary documents to the `eligibilityUri`. Only to be used if there is a primary `eligibilityUri`. - */ - additionalEligibilityUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; - /** - * An array of additional fees, pricing, discounts, exemptions and bonuses for the product, if applicable. To be treated as secondary documents to the `feesAndPricingUri`. Only to be used if there is a primary `feesAndPricingUri`. - */ - additionalFeesAndPricingUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; - /** - * An array of additional general overviews for the product or features of the product, if applicable. To be treated as secondary documents to the `overviewUri`. Only to be used if there is a primary `overviewUri`. - */ - additionalOverviewUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; - /** - * An array of additional terms and conditions for the product, if applicable. To be treated as secondary documents to the `termsUri`. Only to be used if there is a primary `termsUri`. - */ - additionalTermsUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; - /** - * Description of a bundle that this product can be part of. Mandatory if `additionalBundleUris` includes one or more supporting documents. - */ - bundleUri?: string | null; - /** - * Eligibility rules and criteria for the product. Mandatory if `additionalEligibilityUris` includes one or more supporting documents. - */ - eligibilityUri?: string | null; - /** - * Description of fees, pricing, discounts, exemptions and bonuses for the product. Mandatory if `additionalFeesAndPricingUris` includes one or more supporting documents. - */ - feesAndPricingUri?: string | null; - /** - * General overview of the product. Mandatory if `additionalOverviewUris` includes one or more supporting documents. - */ - overviewUri?: string | null; - /** - * Terms and conditions for the product. Mandatory if `additionalTermsUris` includes one or more supporting documents. - */ - termsUri?: string | null; - [k: string]: unknown; - }; - /** - * A link to an application web page where this product can be applied for. - */ - applicationUri?: string | null; - /** - * A label of the brand for the product. Able to be used for filtering. For data holders with single brands this value is still required. - */ - brand: string; - /** - * An optional display name of the brand. - */ - brandName?: string | null; - /** - * An array of card art images. - */ - cardArt?: - | Array<{ - /** - * URI reference to a PNG, JPG or GIF image with proportions defined by ISO 7810 ID-1 and width no greater than 512 pixels. The URI reference may be a link or url-encoded data URI according to **[[RFC2397]](#nref-RFC2397)**. - */ - imageUri: string; - /** - * Display label for the specific image. - */ - title?: string; - [k: string]: unknown; - }> - | null; + features?: (BankingProductFeatureV2 & { + /** + * `true` if the feature is already activated and `false` if the feature is available for activation. Defaults to `true` if absent.
Note: this is an additional field appended to the feature object defined in the Product Reference payload. + */ + isActivated?: boolean; + })[]; /** - * A description of the product. + * Fees and charges applicable to the account based on the equivalent structure in Product Reference. */ - description: string; + fees?: BankingProductFee[]; /** - * The date and time from which this product is effective (i.e. is available for origination). Used to enable the articulation of products to the regime before they are available for customers to originate. + * The addresses for the account to be used for correspondence. */ - effectiveFrom?: string | null; + addresses?: CommonPhysicalAddress[]; + }; + links: Links; + meta?: Meta; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingAccountByIdV4 { + data: BankingAccountV2 & { /** - * The date and time at which this product will be retired and will no longer be offered. Used to enable the managed deprecation of products. + * The unmasked BSB for the account. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. */ - effectiveTo?: string | null; + bsb?: string; /** - * Indicates whether the product is specifically tailored to a circumstance. In this case fees and prices are significantly negotiated depending on context. While all products are open to a degree of tailoring this flag indicates that tailoring is expected and thus that the provision of specific fees and rates is not applicable. + * The unmasked account number for the account. Should not be supplied if the account number is a PAN requiring PCI compliance. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. */ - isTailored: boolean; + accountNumber?: string; /** - * The last date and time that the information for this product was changed (or the creation date for the product if it has never been altered). + * Optional field to indicate if this account is part of a bundle that is providing additional benefit to the customer. */ - lastUpdated: string; + bundleName?: string; /** - * The display name of the product. + * The type of structure to present account specific fields. */ - name: string; + specificAccountUType?: "creditCard" | "loan" | "termDeposit"; /** - * The category to which a product or account belongs. See [here](#product-categories) for more details. + * Mandatory if the _specificAccountUType_ value is `termDeposit`. */ - productCategory: - | "BUSINESS_LOANS" - | "CRED_AND_CHRG_CARDS" - | "LEASES" - | "MARGIN_LOANS" - | "OVERDRAFTS" - | "PERS_LOANS" - | "REGULATED_TRUST_ACCOUNTS" - | "RESIDENTIAL_MORTGAGES" - | "TERM_DEPOSITS" - | "TRADE_FINANCE" - | "TRANS_AND_SAVINGS_ACCOUNTS" - | "TRAVEL_CARDS"; + termDeposit?: BankingTermDepositAccount[]; /** - * A data holder specific unique identifier for this product. This identifier must be unique to a product but does not otherwise need to adhere to ID permanence guidelines. + * Mandatory if the _specificAccountUType_ value is `creditCard`. */ - productId: string; - [k: string]: unknown; - } & { + creditCard?: BankingCreditCardAccount; /** - * An array of bundles that this product participates in. Each bundle is described by free form information but also by a list of product IDs of the other products that are included in the bundle. It is assumed that the current product is included in the bundle also + * Mandatory if the _specificAccountUType_ value is `loan`. */ - bundles?: Array<{ - /** - * Display text providing more information on the bundle - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on the bundle criteria and benefits - */ - additionalInfoUri?: string | null; - /** - * Description of the bundle - */ - description: string; - /** - * Name of the bundle - */ - name: string; - /** - * Array of product IDs for products included in the bundle that are available via the product end points. Note that this array is not intended to represent a comprehensive model of the products included in the bundle and some products available for the bundle may not be available via the product reference end points - */ - productIds?: string[] | null; - [k: string]: unknown; - }>; + loan?: BankingLoanAccountV3; /** - * Array of features available for the product + * Current rate to calculate interest earned being applied to deposit balances as it stands at the time of the API call. */ - features?: Array<{ - /** - * Display text providing more information on the feature. Mandatory if the [feature type](#tocSproductfeaturetypedoc) is set to OTHER - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this feature - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [featureType](#tocSproductfeaturetypedoc) specified. Whether mandatory or not is dependent on the value of the [featureType.](#tocSproductfeaturetypedoc) - */ - additionalValue?: string | null; - /** - * The type of feature described - */ - featureType: - | "ADDITIONAL_CARDS" - | "BALANCE_TRANSFERS" - | "BILL_PAYMENT" - | "BONUS_REWARDS" - | "CARD_ACCESS" - | "CASHBACK_OFFER" - | "COMPLEMENTARY_PRODUCT_DISCOUNTS" - | "DIGITAL_BANKING" - | "DIGITAL_WALLET" - | "DONATE_INTEREST" - | "EXTRA_REPAYMENTS" - | "FRAUD_PROTECTION" - | "FREE_TXNS" - | "FREE_TXNS_ALLOWANCE" - | "GUARANTOR" - | "INSURANCE" - | "INSTALMENT_PLAN" - | "INTEREST_FREE" - | "INTEREST_FREE_TRANSFERS" - | "LOYALTY_PROGRAM" - | "NOTIFICATIONS" - | "NPP_ENABLED" - | "NPP_PAYID" - | "OFFSET" - | "OTHER" - | "OVERDRAFT" - | "REDRAW" - | "RELATIONSHIP_MANAGEMENT" - | "UNLIMITED_TXNS"; - [k: string]: unknown; - }>; + depositRate?: string; /** - * Constraints on the application for or operation of the product such as minimum balances or limit thresholds + * The current rate to calculate interest payable being applied to lending balances as it stands at the time of the API call. */ - constraints?: Array<{ - /** - * Display text providing more information the constraint - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on the constraint - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [constraintType](#tocSproductconstrainttypedoc) specified. Whether mandatory or not is dependent on the value of [constraintType](#tocSproductconstrainttypedoc) - */ - additionalValue?: string | null; - /** - * The type of constraint described. See the next section for an overview of valid values and their meaning - */ - constraintType: "MAX_BALANCE" | "MAX_LIMIT" | "MIN_BALANCE" | "MIN_LIMIT" | "OPENING_BALANCE"; - [k: string]: unknown; - }>; + lendingRate?: string; /** - * Eligibility criteria for the product + * Fully described deposit rates for this account based on the equivalent structure in Product Reference. */ - eligibility?: Array<{ - /** - * Display text providing more information on the [eligibility](#tocSproducteligibilitytypedoc) criteria. Mandatory if the field is set to OTHER - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this eligibility criteria - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [eligibilityType](#tocSproducteligibilitytypedoc) specified. Whether mandatory or not is dependent on the value of [eligibilityType](#tocSproducteligibilitytypedoc) - */ - additionalValue?: string | null; - /** - * The type of eligibility criteria described. See the next section for an overview of valid values and their meaning - */ - eligibilityType: - | "BUSINESS" - | "EMPLOYMENT_STATUS" - | "MAX_AGE" - | "MIN_AGE" - | "MIN_INCOME" - | "MIN_TURNOVER" - | "NATURAL_PERSON" - | "OTHER" - | "PENSION_RECIPIENT" - | "RESIDENCY_STATUS" - | "STAFF" - | "STUDENT"; - [k: string]: unknown; - }>; + depositRates?: BankingProductDepositRateV2[]; /** - * Fees applicable for the product + * Fully described lending rates for this account based on the equivalent structure in Product Reference. */ - fees?: Array<{ - /** - * The indicative frequency with which the fee is calculated on the account. Only applies if balanceRate or accruedRate is also present. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - accrualFrequency?: string | null; - /** - * A fee rate calculated based on a proportion of the calculated interest accrued on the account. One of amount, balanceRate, transactionRate and accruedRate is mandatory unless the *feeType* "VARIABLE" is supplied - */ - accruedRate?: string | null; - /** - * Display text providing more information on the fee - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this fee - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [feeType](#tocSproductfeetypedoc) specified. Whether mandatory or not is dependent on the value of [feeType](#tocSproductfeetypedoc) - */ - additionalValue?: string | null; - /** - * The amount charged for the fee. One of amount, balanceRate, transactionRate and accruedRate is mandatory unless the *feeType* "VARIABLE" is supplied - */ - amount?: string | null; - /** - * A fee rate calculated based on a proportion of the balance. One of amount, balanceRate, transactionRate and accruedRate is mandatory unless the *feeType* "VARIABLE" is supplied. - */ - balanceRate?: string | null; - /** - * The currency the fee will be charged in. Assumes AUD if absent - */ - currency?: string | null; - /** - * An optional list of discounts to this fee that may be available - */ - discounts?: - | Array<{ - /** - * A discount rate calculated based on a proportion of the calculated interest accrued on the account. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory. Unless noted in additionalInfo, assumes the application and calculation frequency are the same as the corresponding fee - */ - accruedRate?: string | null; - /** - * Display text providing more information on the discount - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this discount - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [discountType](#tocSproductdiscounttypedoc) specified. Whether mandatory or not is dependent on the value of [discountType](#tocSproductdiscounttypedoc) - */ - additionalValue?: string | null; - /** - * Dollar value of the discount. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory. - */ - amount?: string | null; - /** - * A discount rate calculated based on a proportion of the balance. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory. Unless noted in additionalInfo, assumes the application and calculation frequency are the same as the corresponding fee - */ - balanceRate?: string | null; - /** - * Description of the discount - */ - description: string; - /** - * The type of discount. See the next section for an overview of valid values and their meaning - */ - discountType: "BALANCE" | "DEPOSITS" | "ELIGIBILITY_ONLY" | "FEE_CAP" | "PAYMENTS"; - /** - * Eligibility constraints that apply to this discount. Mandatory if ``discountType`` is ``ELIGIBILITY_ONLY``. - */ - eligibility?: - | Array<{ - /** - * Display text providing more information on this eligibility constraint. Whether mandatory or not is dependent on the value of [discountEligibilityType](#tocSproductdiscounteligibilitydoc) - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this eligibility constraint - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [discountEligibilityType](#tocSproductdiscounteligibilitydoc) specified. Whether mandatory or not is dependent on the value of [discountEligibilityType](#tocSproductdiscounteligibilitydoc) - */ - additionalValue?: string | null; - /** - * The type of the specific eligibility constraint for a discount - */ - discountEligibilityType: - | "BUSINESS" - | "EMPLOYMENT_STATUS" - | "INTRODUCTORY" - | "MAX_AGE" - | "MIN_AGE" - | "MIN_INCOME" - | "MIN_TURNOVER" - | "NATURAL_PERSON" - | "OTHER" - | "PENSION_RECIPIENT" - | "RESIDENCY_STATUS" - | "STAFF" - | "STUDENT"; - [k: string]: unknown; - }> - | null; - /** - * A discount rate calculated based on a proportion of the fee to which this discount is attached. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory. Unless noted in additionalInfo, assumes the application and calculation frequency are the same as the corresponding fee - */ - feeRate?: string | null; - /** - * A discount rate calculated based on a proportion of a transaction. Note that the currency of the fee discount is expected to be the same as the currency of the fee itself. One of amount, balanceRate, transactionRate, accruedRate and feeRate is mandatory - */ - transactionRate?: string | null; - [k: string]: unknown; - }> - | null; - /** - * The type of fee - */ - feeType: - | "DEPOSIT" - | "EVENT" - | "EXIT" - | "PAYMENT" - | "PERIODIC" - | "PURCHASE" - | "TRANSACTION" - | "UPFRONT" - | "VARIABLE" - | "WITHDRAWAL"; - /** - * Name of the fee - */ - name: string; - /** - * A fee rate calculated based on a proportion of a transaction. One of amount, balanceRate, transactionRate and accruedRate is mandatory unless the *feeType* "VARIABLE" is supplied - */ - transactionRate?: string | null; - [k: string]: unknown; - }>; + lendingRates?: BankingProductLendingRateV3[]; /** - * Interest rates available for deposits + * Array of features of the account based on the equivalent structure in Product Reference with the following additional field. */ - depositRates?: Array<{ - /** - * Display text providing more information on the rate - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this rate - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [depositRateType](#tocSproductdepositratetypedoc) specified. Whether mandatory or not is dependent on the value of [depositRateType](#tocSproductdepositratetypedoc) - */ - additionalValue?: string | null; - /** - * The period after which the calculated amount(s) (see calculationFrequency) are 'applied' (i.e. debited or credited) to the account. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - applicationFrequency?: string | null; - /** - * The period after which the rate is applied to the balance to calculate the amount due for the period. Calculation of the amount is often daily (as balances may change) but accumulated until the total amount is 'applied' to the account (see applicationFrequency). Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - calculationFrequency?: string | null; - /** - * The type of rate (base, bonus, etc). See the next section for an overview of valid values and their meaning - */ - depositRateType: - | "BONUS" - | "BUNDLE_BONUS" - | "FIXED" - | "FLOATING" - | "INTRODUCTORY" - | "MARKET_LINKED" - | "VARIABLE"; - /** - * The rate to be applied - */ - rate: string; + features?: (BankingProductFeatureV3 & { /** - * Rate tiers applicable for this rate + * **Note:** This is an additional field appended to the feature structure defined in the Product Reference payload. */ - tiers?: - | Array<{ - /** - * Display text providing more information on the rate tier. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this rate tier - */ - additionalInfoUri?: string | null; - /** - * Defines a condition for the applicability of a tiered rate - */ - applicabilityConditions?: { - /** - * Display text providing more information on the condition - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this condition - */ - additionalInfoUri?: string | null; - [k: string]: unknown; - }; - /** - * The number of tierUnitOfMeasure units that form the upper bound of the tier or band. For a tier with a discrete value (as opposed to a range of values e.g. 1 month) this must be the same as tierValueMinimum. Where this is the same as the tierValueMinimum value of the next-higher tier the referenced tier should be exclusive of this value. For example a term deposit of 2 months falls into the upper tier of the following tiers: (1 – 2 months, 2 – 3 months). If absent the tier's range has no upper bound. - */ - maximumValue?: number | null; - /** - * The number of tierUnitOfMeasure units that form the lower bound of the tier. The tier should be inclusive of this value - */ - minimumValue: number; - /** - * A display name for the tier - */ - name: string; - /** - * The method used to calculate the amount to be applied using one or more tiers. A single rate may be applied to the entire balance or each applicable tier rate is applied to the portion of the balance that falls into that tier (referred to as 'bands' or 'steps') - */ - rateApplicationMethod?: ("PER_TIER" | "WHOLE_BALANCE") | null; - /** - * The unit of measure that applies to the tierValueMinimum and tierValueMaximum values e.g. a **DOLLAR** amount. **PERCENT** (in the case of loan-to-value ratio or LVR). Tier term period representing a discrete number of **MONTH**'s or **DAY**'s (in the case of term deposit tiers) - */ - unitOfMeasure: "DAY" | "DOLLAR" | "MONTH" | "PERCENT"; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }>; + isActivated?: "ACTIVATED" | "NOT_ACTIVATED" | "UNKNOWN"; + })[]; /** - * Interest rates charged against lending balances + * Fees and charges applicable to the account based on the equivalent structure in Product Reference. */ - lendingRates?: Array<{ - /** - * Display text providing more information on the rate. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this rate - */ - additionalInfoUri?: string | null; - /** - * Generic field containing additional information relevant to the [lendingRateType](#tocSproductlendingratetypedoc) specified. Whether mandatory or not is dependent on the value of [lendingRateType](#tocSproductlendingratetypedoc) - */ - additionalValue?: string | null; - /** - * The period after which the calculated amount(s) (see calculationFrequency) are 'applied' (i.e. debited or credited) to the account. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - applicationFrequency?: string | null; - /** - * The period after which the rate is applied to the balance to calculate the amount due for the period. Calculation of the amount is often daily (as balances may change) but accumulated until the total amount is 'applied' to the account (see applicationFrequency). Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - calculationFrequency?: string | null; - /** - * A comparison rate equivalent for this rate - */ - comparisonRate?: string | null; - /** - * When loan payments are due to be paid within each period. The investment benefit of earlier payments affect the rate that can be offered - */ - interestPaymentDue?: ("IN_ADVANCE" | "IN_ARREARS") | null; - /** - * The type of rate (fixed, variable, etc). See the next section for an overview of valid values and their meaning - */ - lendingRateType: - | "BUNDLE_DISCOUNT_FIXED" - | "BUNDLE_DISCOUNT_VARIABLE" - | "CASH_ADVANCE" - | "DISCOUNT" - | "FIXED" - | "FLOATING" - | "INTRODUCTORY" - | "MARKET_LINKED" - | "PENALTY" - | "PURCHASE" - | "VARIABLE"; - /** - * The reason for taking out the loan. If absent, the lending rate is applicable to all loan purposes - */ - loanPurpose?: ("INVESTMENT" | "OWNER_OCCUPIED") | null; - /** - * The rate to be applied - */ - rate: string; - /** - * Options in place for repayments. If absent, the lending rate is applicable to all repayment types - */ - repaymentType?: ("INTEREST_ONLY" | "PRINCIPAL_AND_INTEREST") | null; - /** - * Rate tiers applicable for this rate - */ - tiers?: - | Array<{ - /** - * Display text providing more information on the rate tier. - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this rate tier - */ - additionalInfoUri?: string | null; - /** - * Defines a condition for the applicability of a tiered rate - */ - applicabilityConditions?: { - /** - * Display text providing more information on the condition - */ - additionalInfo?: string | null; - /** - * Link to a web page with more information on this condition - */ - additionalInfoUri?: string | null; - [k: string]: unknown; - }; - /** - * The number of tierUnitOfMeasure units that form the upper bound of the tier or band. For a tier with a discrete value (as opposed to a range of values e.g. 1 month) this must be the same as tierValueMinimum. Where this is the same as the tierValueMinimum value of the next-higher tier the referenced tier should be exclusive of this value. For example a term deposit of 2 months falls into the upper tier of the following tiers: (1 – 2 months, 2 – 3 months). If absent the tier's range has no upper bound. - */ - maximumValue?: number | null; - /** - * The number of tierUnitOfMeasure units that form the lower bound of the tier. The tier should be inclusive of this value - */ - minimumValue: number; - /** - * A display name for the tier - */ - name: string; - /** - * The method used to calculate the amount to be applied using one or more tiers. A single rate may be applied to the entire balance or each applicable tier rate is applied to the portion of the balance that falls into that tier (referred to as 'bands' or 'steps') - */ - rateApplicationMethod?: ("PER_TIER" | "WHOLE_BALANCE") | null; - /** - * The unit of measure that applies to the tierValueMinimum and tierValueMaximum values e.g. a **DOLLAR** amount. **PERCENT** (in the case of loan-to-value ratio or LVR). Tier term period representing a discrete number of **MONTH**'s or **DAY**'s (in the case of term deposit tiers) - */ - unitOfMeasure: "DAY" | "DOLLAR" | "MONTH" | "PERCENT"; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { + fees?: BankingProductFeeV2[]; /** - * Fully qualified link that generated the current response document + * The addresses for the account to be used for correspondence. */ - self: string; - [k: string]: unknown; - }; - meta?: { - [k: string]: unknown; + addresses?: CommonPhysicalAddress[]; }; - [k: string]: unknown; + links: Links; + meta?: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ - -export interface ResponseBankingProductByIdV5 { - data: BankingProductV4 & { +export interface ResponseBankingAccountByIdV5 { + data: BankingAccountV3 & { /** - * An array of bundles that this product participates in. Each bundle is described by free form information but also by a list of product IDs of the other products that are included in the bundle. It is assumed that the current product is included in the bundle also. + * The unmasked BSB for the account. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. */ - bundles?: BankingProductBundle[] | null; + bsb?: string; /** - * Array of features available for the product. + * The unmasked account number for the account. Should not be supplied if the account number is a PAN requiring PCI compliance. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. */ - features?: BankingProductFeatureV2[] | null; + accountNumber?: string; /** - * Constraints on the application for or operation of the product such as minimum balances or limit thresholds. + * Optional field to indicate if this account is part of a bundle that is providing additional benefit to the customer. + */ + bundleName?: string; + instalments?: BankingProductInstalments; + /** + * The type of structure to present account specific fields. */ - constraints?: BankingProductConstraintV2[] | null; + specificAccountUType?: "creditCard" | "loan" | "termDeposit"; /** - * Eligibility criteria for the product. + * Mandatory if the _specificAccountUType_ value is `termDeposit`. */ - eligibility?: BankingProductEligibility[] | null; + termDeposit?: BankingTermDepositAccount[]; /** - * Fees applicable for the product. + * Mandatory if the _specificAccountUType_ value is `creditCard`. */ - fees?: BankingProductFee[] | null; + creditCard?: BankingCreditCardAccount; /** - * Interest rates available for deposits. + * Mandatory if the _specificAccountUType_ value is `loan`. */ - depositRates?: BankingProductDepositRate[] | null; + loan?: BankingLoanAccountV3; /** - * Interest rates charged against lending balances. + * Current rate to calculate interest earned being applied to deposit balances as it stands at the time of the API call. */ - lendingRates?: BankingProductLendingRateV2[] | null; - [k: string]: unknown; - }; - links: Links; - meta?: null | Meta; - [k: string]: unknown; -} - -export interface ResponseBankingProductListV2 { - data: { + depositRate?: string; /** - * The list of products returned. If the filter results in an empty set then this array may have no records + * The current rate to calculate interest payable being applied to lending balances as it stands at the time of the API call. */ - products: Array<{ - /** - * Object that contains links to additional information on specific topics. - */ - additionalInformation?: { - /** - * An array of additional bundles for the product, if applicable. To be treated as secondary documents to the _bundleUri_. Only to be used if there is a primary _bundleUri_. - */ - additionalBundleUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; - /** - * An array of additional eligibility rules and criteria for the product, if applicable. To be treated as secondary documents to the _eligibilityUri_. Only to be used if there is a primary _eligibilityUri_. - */ - additionalEligibilityUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; - /** - * An array of additional fees, pricing, discounts, exemptions and bonuses for the product, if applicable. To be treated as secondary documents to the _feesAndPricingUri_. Only to be used if there is a primary _feesAndPricingUri_. - */ - additionalFeesAndPricingUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; - /** - * An array of additional general overviews for the product or features of the product, if applicable. To be treated as secondary documents to the _overviewUri_. Only to be used if there is a primary _overviewUri_. - */ - additionalOverviewUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; - /** - * An array of additional terms and conditions for the product, if applicable. To be treated as secondary documents to the _termsUri_. Only to be used if there is a primary _termsUri_. - */ - additionalTermsUris?: - | Array<{ - /** - * The URI describing the additional information - */ - additionalInfoUri: string; - /** - * Display text providing more information about the document URI - */ - description?: string | null; - [k: string]: unknown; - }> - | null; - /** - * Description of a bundle that this product can be part of. Mandatory if _additionalBundleUris_ includes one or more supporting documents. - */ - bundleUri?: string | null; - /** - * Eligibility rules and criteria for the product. Mandatory if _additionalEligibilityUris_ includes one or more supporting documents. - */ - eligibilityUri?: string | null; - /** - * Description of fees, pricing, discounts, exemptions and bonuses for the product. Mandatory if _additionalFeesAndPricingUris_ includes one or more supporting documents. - */ - feesAndPricingUri?: string | null; - /** - * General overview of the product. Mandatory if _additionalOverviewUris_ includes one or more supporting documents. - */ - overviewUri?: string | null; - /** - * Terms and conditions for the product. Mandatory if _additionalTermsUris_ includes one or more supporting documents. - */ - termsUri?: string | null; - [k: string]: unknown; - }; - /** - * A link to an application web page where this product can be applied for. - */ - applicationUri?: string | null; - /** - * A label of the brand for the product. Able to be used for filtering. For data holders with single brands this value is still required - */ - brand: string; - /** - * An optional display name of the brand - */ - brandName?: string | null; - /** - * An array of card art images - */ - cardArt?: - | Array<{ - /** - * URI reference to a PNG, JPG or GIF image with proportions defined by ISO 7810 ID-1 and width no greater than 512 pixels. The URI reference may be a link or url-encoded data URI according to **[[RFC2397]](#nref-RFC2397)** - */ - imageUri: string; - /** - * Display label for the specific image - */ - title?: string; - [k: string]: unknown; - }> - | null; - /** - * A description of the product - */ - description: string; - /** - * The date and time from which this product is effective (ie. is available for origination). Used to enable the articulation of products to the regime before they are available for customers to originate - */ - effectiveFrom?: string | null; - /** - * The date and time at which this product will be retired and will no longer be offered. Used to enable the managed deprecation of products - */ - effectiveTo?: string | null; - /** - * Indicates whether the product is specifically tailored to a circumstance. In this case fees and prices are significantly negotiated depending on context. While all products are open to a degree of tailoring this flag indicates that tailoring is expected and thus that the provision of specific fees and rates is not applicable - */ - isTailored: boolean; - /** - * The last date and time that the information for this product was changed (or the creation date for the product if it has never been altered) - */ - lastUpdated: string; - /** - * The display name of the product - */ - name: string; - /** - * The category to which a product or account belongs. See [here](#product-categories) for more details - */ - productCategory: - | "BUSINESS_LOANS" - | "CRED_AND_CHRG_CARDS" - | "LEASES" - | "MARGIN_LOANS" - | "OVERDRAFTS" - | "PERS_LOANS" - | "REGULATED_TRUST_ACCOUNTS" - | "RESIDENTIAL_MORTGAGES" - | "TERM_DEPOSITS" - | "TRADE_FINANCE" - | "TRANS_AND_SAVINGS_ACCOUNTS" - | "TRAVEL_CARDS"; - /** - * A data holder specific unique identifier for this product. This identifier must be unique to a product but does not otherwise need to adhere to ID permanence guidelines. - */ - productId: string; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { + lendingRate?: string; /** - * URI to the first page of this set. Mandatory if this response is not the first page. + * Fully described deposit rates for this account based on the equivalent structure in Product Reference. */ - first?: string | null; + depositRates?: BankingProductDepositRateV2[]; /** - * URI to the last page of this set. Mandatory if this response is not the last page. + * Fully described lending rates for this account based on the equivalent structure in Product Reference. */ - last?: string | null; + lendingRates?: BankingProductLendingRateV3[]; /** - * URI to the next page of this set. Mandatory if this response is not the last page. + * Array of features of the account based on the equivalent structure in Product Reference with the following additional field. */ - next?: string | null; + features?: (BankingProductFeatureV4 & { + /** + * **Note:** This is an additional field appended to the feature structure defined in the Product Reference payload. + */ + isActivated?: "ACTIVATED" | "NOT_ACTIVATED" | "UNKNOWN"; + })[]; /** - * URI to the previous page of this set. Mandatory if this response is not the first page. + * Fees and charges applicable to the account based on the equivalent structure in Product Reference. */ - prev?: string | null; + fees?: BankingProductFeeV2[]; /** - * Fully qualified link that generated the current response document. + * The addresses for the account to be used for correspondence. */ - self: string; - [k: string]: unknown; + addresses?: CommonPhysicalAddress[]; }; - meta: { + links: Links; + meta?: Meta; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingAccountListV2 { + data: { /** - * The total number of pages in the full set. See [pagination](#pagination). + * The list of accounts returned. If the filter results in an empty set then this array may have no records. */ - totalPages: number; + accounts: BankingAccountV2[]; + }; + links: LinksPaginated; + meta: MetaPaginated; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingAccountListV3 { + data: { /** - * The total number of records in the full set. See [pagination](#pagination). + * The list of accounts returned. If the filter results in an empty set then this array may have no records. */ - totalRecords: number; - [k: string]: unknown; + accounts: BankingAccountV3[]; }; - [k: string]: unknown; + links: LinksPaginated; + meta: MetaPaginated; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface ResponseBankingScheduledPaymentsListV2 { +export interface ResponseBankingAccountsBalanceById { + data: BankingBalance; + links: Links; + meta?: Meta; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingAccountsBalanceList { data: { /** - * The list of scheduled payments to return. + * The list of balances returned. */ - scheduledPayments: Array<{ - /** - * Object containing details of the source of the payment. Currently only specifies an account ID but provided as an object to facilitate future extensibility and consistency with the to object - */ - from: { - /** - * ID of the account that is the source of funds for the payment - */ - accountId: string; - [k: string]: unknown; - }; - /** - * The short display name of the scheduled payment as provided by the customer if provided. Where a customer has not provided a nickname, a display name derived by the bank for the scheduled payment should be provided that is consistent with existing digital banking channels. - */ - nickname?: string | null; - /** - * The reference for the transaction, if applicable, that will be provided by the originating institution for all payments in the payment set. Empty string if no data provided. - */ - payeeReference?: string | null; - /** - * The reference for the transaction that will be used by the originating institution for the purposes of constructing a statement narrative on the payer’s account. Empty string if no data provided. - */ - payerReference: string; - paymentSet: Array<{ - /** - * The amount of the next payment if known. Mandatory unless the isAmountCalculated field is set to true. Must be zero or positive if present - */ - amount?: string | null; - /** - * The currency for the payment. AUD assumed if not present - */ - currency?: string | null; - /** - * Flag indicating whether the amount of the payment is calculated based on the context of the event. For instance a payment to reduce the balance of a credit card to zero. If absent then false is assumed - */ - isAmountCalculated?: boolean | null; - /** - * Object containing details of the destination of the payment. Used to specify a variety of payment destination types - */ - to: { - /** - * Present if toUType is set to accountId. Indicates that the payment is to another account that is accessible under the current consent - */ - accountId?: string | null; - biller?: { - /** - * BPAY Biller Code of the Biller - */ - billerCode: string; - /** - * Name of the Biller - */ - billerName: string; - /** - * BPAY CRN of the Biller (if available).
Where the CRN contains sensitive information, it should be masked in line with how the Data Holder currently displays account identifiers in their existing online banking channels. If the contents of the CRN match the format of a Credit Card PAN they should be masked according to the rules applicable for MaskedPANString. If the contents are otherwise sensitive, then it should be masked using the rules applicable for the MaskedAccountString common type. - */ - crn?: string | null; - [k: string]: unknown; - }; - digitalWallet: { - /** - * The identifier of the digital wallet (dependent on type) - */ - identifier: string; - /** - * The display name of the wallet as given by the customer, else a default value defined by the data holder - */ - name: string; - /** - * The provider of the digital wallet - */ - provider: "PAYPAL_AU" | "OTHER"; - /** - * The type of the digital wallet identifier - */ - type: "EMAIL" | "CONTACT_NAME" | "TELEPHONE"; - [k: string]: unknown; - }; - domestic?: { - account?: { - /** - * Name of the account to pay to - */ - accountName?: string | null; - /** - * Number of the account to pay to - */ - accountNumber: string; - /** - * BSB of the account to pay to - */ - bsb: string; - [k: string]: unknown; - }; - card?: { - /** - * Name of the account to pay to - */ - cardNumber: string; - [k: string]: unknown; - }; - payId?: { - /** - * The identifier of the PayID (dependent on type) - */ - identifier: string; - /** - * The name assigned to the PayID by the owner of the PayID - */ - name?: string | null; - /** - * The type of the PayID - */ - type: "ABN" | "EMAIL" | "ORG_IDENTIFIER" | "TELEPHONE"; - [k: string]: unknown; - }; - /** - * Type of account object included. Valid values are: **account** A standard Australian account defined by BSB/Account Number. **card** A credit or charge card to pay to (note that PANs are masked). **payId** A PayID recognised by NPP - */ - payeeAccountUType: "account" | "card" | "payId"; - [k: string]: unknown; - }; - international?: { - bankDetails: { - /** - * Account Targeted for payment - */ - accountNumber: string; - bankAddress?: { - /** - * Address of the recipient Bank - */ - address: string; - /** - * Name of the recipient Bank - */ - name: string; - [k: string]: unknown; - } | null; - /** - * Swift bank code. Aligns with standard [ISO 9362](https://www.iso.org/standard/60390.html) - */ - beneficiaryBankBIC?: string | null; - /** - * Number for the Clearing House Interbank Payments System - */ - chipNumber?: string | null; - /** - * Country of the recipient institution. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code - */ - country: string; - /** - * Number for Fedwire payment (Federal Reserve Wire Network) - */ - fedWireNumber?: string | null; - /** - * The legal entity identifier (LEI) for the beneficiary. Aligns with [ISO 17442](https://www.iso.org/standard/59771.html) - */ - legalEntityIdentifier?: string | null; - /** - * International bank routing number - */ - routingNumber?: string | null; - /** - * Sort code used for account identification in some jurisdictions - */ - sortCode?: string | null; - [k: string]: unknown; - }; - beneficiaryDetails: { - /** - * Country where the beneficiary resides. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code - */ - country: string; - /** - * Response message for the payment - */ - message?: string | null; - /** - * Name of the beneficiary - */ - name?: string | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * The short display name of the payee as provided by the customer unless _toUType_ is set to `payeeId`. Where a customer has not provided a nickname, a display name derived by the bank for payee should be provided that is consistent with existing digital banking channels. - */ - nickname?: string | null; - /** - * Present if _toUType_ is set to `payeeId`. Indicates that the payment is to registered payee that can be accessed using the payee endpoint. If the Bank Payees scope has not been consented to then a _payeeId_ should not be provided and the full payee details should be provided instead. - */ - payeeId?: string | null; - /** - * The reference for the transaction, if applicable, that will be provided by the originating institution for the specific payment. If not empty, it overrides the value provided at the BankingScheduledPayment level. - */ - payeeReference?: string | null; - /** - * The type of object provided that specifies the destination of the funds for the payment. - */ - toUType: "accountId" | "biller" | "digitalWallet" | "domestic" | "international" | "payeeId"; - [k: string]: unknown; - }; - [k: string]: unknown; - }>; - /** - * Object containing the detail of the schedule for the payment - */ - recurrence: { - /** - * Indicates that the schedule of payments is defined according to an external event that cannot be predetermined. Mandatory if recurrenceUType is set to eventBased - */ - eventBased?: { - /** - * Description of the event and conditions that will result in the payment. Expected to be formatted for display to a customer - */ - description: string; - [k: string]: unknown; - }; - /** - * Indicates that the schedule of payments is defined by a series of intervals. Mandatory if recurrenceUType is set to intervalSchedule - */ - intervalSchedule?: { - /** - * The limit date after which no more payments should be made using this schedule. If both finalPaymentDate and paymentsRemaining are present then payments will stop according to the most constraining value. If neither field is present the payments will continue indefinitely - */ - finalPaymentDate?: string | null; - /** - * An array of interval objects defining the payment schedule. Each entry in the array is additive, in that it adds payments to the overall payment schedule. If multiple intervals result in a payment on the same day then only one payment will be made. Must have at least one entry - */ - intervals: Array<{ - /** - * Uses an interval to define the ordinal day within the interval defined by the interval field on which the payment occurs. If the resulting duration is 0 days in length or larger than the number of days in the interval then the payment will occur on the last day of the interval. A duration of 1 day indicates the first day of the interval. If absent the assumed value is P1D. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) with components less than a day in length ignored. The first day of a week is considered to be Monday. - */ - dayInInterval?: string | null; - /** - * An interval for the payment. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) with components less than a day in length ignored. This duration defines the period between payments starting with nextPaymentDate - */ - interval: string; - [k: string]: unknown; - }>; - /** - * Enumerated field giving the treatment where a scheduled payment date is not a business day. If absent assumed to be ON.
**AFTER** - If a scheduled payment date is a non-business day the payment will be made on the first business day after the scheduled payment date.
**BEFORE** - If a scheduled payment date is a non-business day the payment will be made on the first business day before the scheduled payment date.
**ON** - If a scheduled payment date is a non-business day the payment will be made on that day regardless.
**ONLY** - Payments only occur on business days. If a scheduled payment date is a non-business day the payment will be ignored - */ - nonBusinessDayTreatment?: ("AFTER" | "BEFORE" | "ON" | "ONLY") | null; - /** - * Indicates the number of payments remaining in the schedule. If both finalPaymentDate and paymentsRemaining are present then payments will stop according to the most constraining value, If neither field is present the payments will continue indefinitely - */ - paymentsRemaining?: number | null; - [k: string]: unknown; - }; - /** - * Indicates that the schedule of payments is defined according to the last occurrence of a specific weekday in an interval. Mandatory if recurrenceUType is set to lastWeekDay - */ - lastWeekDay?: { - /** - * The limit date after which no more payments should be made using this schedule. If both finalPaymentDate and paymentsRemaining are present then payments will stop according to the most constraining value. If neither field is present the payments will continue indefinitely - */ - finalPaymentDate?: string | null; - /** - * The interval for the payment. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) with components less than a day in length ignored. This duration defines the period between payments starting with nextPaymentDate - */ - interval: string; - /** - * The weekDay specified. The payment will occur on the last occurrence of this weekday in the interval. - */ - lastWeekDay: "FRI" | "MON" | "SAT" | "SUN" | "THU" | "TUE" | "WED"; - /** - * Enumerated field giving the treatment where a scheduled payment date is not a business day. If absent assumed to be ON.
**AFTER** - If a scheduled payment date is a non-business day the payment will be made on the first business day after the scheduled payment date.
**BEFORE** - If a scheduled payment date is a non-business day the payment will be made on the first business day before the scheduled payment date.
**ON** - If a scheduled payment date is a non-business day the payment will be made on that day regardless.
**ONLY** - Payments only occur on business days. If a scheduled payment date is a non-business day the payment will be ignored - */ - nonBusinessDayTreatment?: ("AFTER" | "BEFORE" | "ON" | "ONLY") | null; - /** - * Indicates the number of payments remaining in the schedule. If both finalPaymentDate and paymentsRemaining are present then payments will stop according to the most constraining value. If neither field is present the payments will continue indefinitely - */ - paymentsRemaining?: number | null; - [k: string]: unknown; - }; - /** - * The date of the next payment under the recurrence schedule - */ - nextPaymentDate?: string | null; - /** - * Indicates that the payment is a once off payment on a specific future date. Mandatory if recurrenceUType is set to onceOff - */ - onceOff?: { - /** - * The scheduled date for the once off payment - */ - paymentDate: string; - [k: string]: unknown; - }; - /** - * The type of recurrence used to define the schedule - */ - recurrenceUType: "eventBased" | "intervalSchedule" | "lastWeekDay" | "onceOff"; - [k: string]: unknown; - }; - /** - * A unique ID of the scheduled payment adhering to the standards for ID permanence - */ - scheduledPaymentId: string; - /** - * Indicates whether the schedule is currently active. The value SKIP is equivalent to ACTIVE except that the customer has requested the next normal occurrence to be skipped. - */ - status: "ACTIVE" | "INACTIVE" | "SKIP"; - [k: string]: unknown; - }>; - [k: string]: unknown; + balances: BankingBalance[]; + }; + links: LinksPaginated; + meta: MetaPaginated; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingDirectDebitAuthorisationList { + data: { + /** + * The list of authorisations returned. + */ + directDebitAuthorisations: BankingDirectDebit[]; + }; + links: LinksPaginated; + meta: MetaPaginated; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingInstalmentPlanList { + data: { + /** + * Array of instalment plans. An instalment plan describes the terms of repayment for a specified loan amount such as a Buy Now, Pay Later (BNPL) purchase or a specific card transaction. + */ + plans: BankingInstalmentPlan[]; + }; + links: LinksPaginated; + meta: MetaPaginated; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingPayeeByIdV2 { + data: BankingPayeeV2 & { + /** + * Type of object included that describes the payee in detail. + */ + payeeUType: "biller" | "digitalWallet" | "domestic" | "international"; + biller?: BankingBillerPayee; + domestic?: BankingDomesticPayee; + digitalWallet?: BankingDigitalWalletPayee; + international?: BankingInternationalPayee; + }; + links: Links; + meta?: Meta; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingPayeeListV2 { + data: { + /** + * The list of payees returned. + */ + payees: BankingPayeeV2[]; }; - links: { + links: LinksPaginated; + meta: MetaPaginated; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingProductByIdV4 { + data: BankingProductV4 & { /** - * URI to the first page of this set. Mandatory if this response is not the first page. + * An array of bundles that this product participates in. Each bundle is described by free form information but also by a list of product IDs of the other products that are included in the bundle. It is assumed that the current product is included in the bundle also. */ - first?: string | null; + bundles?: BankingProductBundle[]; /** - * URI to the last page of this set. Mandatory if this response is not the last page. + * Array of features available for the product. */ - last?: string | null; + features?: BankingProductFeatureV2[]; /** - * URI to the next page of this set. Mandatory if this response is not the last page. + * Constraints on the application for or operation of the product such as minimum balances or limit thresholds. */ - next?: string | null; + constraints?: BankingProductConstraint[]; /** - * URI to the previous page of this set. Mandatory if this response is not the first page. + * Eligibility criteria for the product. */ - prev?: string | null; + eligibility?: BankingProductEligibility[]; /** - * Fully qualified link that generated the current response document. + * Fees applicable to the product. */ - self: string; - [k: string]: unknown; - }; - meta: { + fees?: BankingProductFee[]; /** - * The total number of pages in the full set. See [pagination](#pagination). + * Interest rates available for deposits. */ - totalPages: number; + depositRates?: BankingProductDepositRate[]; /** - * The total number of records in the full set. See [pagination](#pagination). + * Interest rates charged against lending balances. */ - totalRecords: number; - [k: string]: unknown; + lendingRates?: BankingProductLendingRateV2[]; }; - [k: string]: unknown; + links: Links; + meta?: Meta; } - /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface ResponseBankingScheduledPaymentsList { - data: { - /** - * The list of scheduled payments to return - */ - scheduledPayments: Array<{ - /** - * Object containing details of the source of the payment. Currently only specifies an account ID but provided as an object to facilitate future extensibility and consistency with the to object - */ - from: { - /** - * ID of the account that is the source of funds for the payment - */ - accountId: string; - [k: string]: unknown; - }; - /** - * The short display name of the scheduled payment as provided by the customer if provided. Where a customer has not provided a nickname, a display name derived by the bank for the scheduled payment should be provided that is consistent with existing digital banking channels - */ - nickname?: string | null; - /** - * The reference for the transaction, if applicable, that will be provided by the originating institution for all payments in the payment set. Empty string if no data provided - */ - payeeReference?: string | null; - /** - * The reference for the transaction that will be used by the originating institution for the purposes of constructing a statement narrative on the payer’s account. Empty string if no data provided - */ - payerReference: string; - paymentSet: Array<{ - /** - * The amount of the next payment if known. Mandatory unless the isAmountCalculated field is set to true. Must be zero or positive if present - */ - amount?: string | null; - /** - * The currency for the payment. AUD assumed if not present - */ - currency?: string | null; - /** - * Flag indicating whether the amount of the payment is calculated based on the context of the event. For instance a payment to reduce the balance of a credit card to zero. If absent then false is assumed - */ - isAmountCalculated?: boolean | null; - /** - * Object containing details of the destination of the payment. Used to specify a variety of payment destination types - */ - to: { - /** - * Present if toUType is set to accountId. Indicates that the payment is to another account that is accessible under the current consent - */ - accountId?: string | null; - biller?: { - /** - * BPAY Biller Code of the Biller - */ - billerCode: string; - /** - * Name of the Biller - */ - billerName: string; - /** - * BPAY CRN of the Biller (if available).
Where the CRN contains sensitive information, it should be masked in line with how the Data Holder currently displays account identifiers in their existing online banking channels. If the contents of the CRN match the format of a Credit Card PAN they should be masked according to the rules applicable for MaskedPANString. If the contents are otherwise sensitive, then it should be masked using the rules applicable for the MaskedAccountString common type. - */ - crn?: string | null; - [k: string]: unknown; - }; - domestic?: { - account?: { - /** - * Name of the account to pay to - */ - accountName?: string | null; - /** - * Number of the account to pay to - */ - accountNumber: string; - /** - * BSB of the account to pay to - */ - bsb: string; - [k: string]: unknown; - }; - card?: { - /** - * Name of the account to pay to - */ - cardNumber: string; - [k: string]: unknown; - }; - payId?: { - /** - * The identifier of the PayID (dependent on type) - */ - identifier: string; - /** - * The name assigned to the PayID by the owner of the PayID - */ - name?: string | null; - /** - * The type of the PayID - */ - type: "ABN" | "EMAIL" | "ORG_IDENTIFIER" | "TELEPHONE"; - [k: string]: unknown; - }; - /** - * Type of account object included. Valid values are: **account** A standard Australian account defined by BSB/Account Number. **card** A credit or charge card to pay to (note that PANs are masked). **payId** A PayID recognised by NPP - */ - payeeAccountUType: "account" | "card" | "payId"; - [k: string]: unknown; - }; - international?: { - bankDetails: { - /** - * Account Targeted for payment - */ - accountNumber: string; - bankAddress?: { - /** - * Address of the recipient Bank - */ - address: string; - /** - * Name of the recipient Bank - */ - name: string; - [k: string]: unknown; - } | null; - /** - * Swift bank code. Aligns with standard [ISO 9362](https://www.iso.org/standard/60390.html) - */ - beneficiaryBankBIC?: string | null; - /** - * Number for the Clearing House Interbank Payments System - */ - chipNumber?: string | null; - /** - * Country of the recipient institution. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code - */ - country: string; - /** - * Number for Fedwire payment (Federal Reserve Wire Network) - */ - fedWireNumber?: string | null; - /** - * The legal entity identifier (LEI) for the beneficiary. Aligns with [ISO 17442](https://www.iso.org/standard/59771.html) - */ - legalEntityIdentifier?: string | null; - /** - * International bank routing number - */ - routingNumber?: string | null; - /** - * Sort code used for account identification in some jurisdictions - */ - sortCode?: string | null; - [k: string]: unknown; - }; - beneficiaryDetails: { - /** - * Country where the beneficiary resides. A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code - */ - country: string; - /** - * Response message for the payment - */ - message?: string | null; - /** - * Name of the beneficiary - */ - name?: string | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * The short display name of the payee as provided by the customer unless toUType is set to payeeId. Where a customer has not provided a nickname, a display name derived by the bank for payee should be provided that is consistent with existing digital banking channels - */ - nickname?: string | null; - /** - * Present if toUType is set to payeeId. Indicates that the payment is to registered payee that can be accessed using the payee end point. If the Bank Payees scope has not been consented to then a payeeId should not be provided and the full payee details should be provided instead - */ - payeeId?: string | null; - /** - * The reference for the transaction, if applicable, that will be provided by the originating institution for the specific payment. If not empty, it overrides the value provided at the BankingScheduledPayment level. - */ - payeeReference?: string | null; - /** - * The type of object provided that specifies the destination of the funds for the payment. - */ - toUType: "accountId" | "biller" | "domestic" | "international" | "payeeId"; - [k: string]: unknown; - }; - [k: string]: unknown; - }>; - /** - * Object containing the detail of the schedule for the payment - */ - recurrence: { - /** - * Indicates that the schedule of payments is defined according to an external event that cannot be predetermined. Mandatory if recurrenceUType is set to eventBased - */ - eventBased?: { - /** - * Description of the event and conditions that will result in the payment. Expected to be formatted for display to a customer - */ - description: string; - [k: string]: unknown; - }; - /** - * Indicates that the schedule of payments is defined by a series of intervals. Mandatory if recurrenceUType is set to intervalSchedule - */ - intervalSchedule?: { - /** - * The limit date after which no more payments should be made using this schedule. If both finalPaymentDate and paymentsRemaining are present then payments will stop according to the most constraining value. If neither field is present the payments will continue indefinitely - */ - finalPaymentDate?: string | null; - /** - * An array of interval objects defining the payment schedule. Each entry in the array is additive, in that it adds payments to the overall payment schedule. If multiple intervals result in a payment on the same day then only one payment will be made. Must have at least one entry - */ - intervals: Array<{ - /** - * Uses an interval to define the ordinal day within the interval defined by the interval field on which the payment occurs. If the resulting duration is 0 days in length or larger than the number of days in the interval then the payment will occur on the last day of the interval. A duration of 1 day indicates the first day of the interval. If absent the assumed value is P1D. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) with components less than a day in length ignored. The first day of a week is considered to be Monday. - */ - dayInInterval?: string | null; - /** - * An interval for the payment. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) with components less than a day in length ignored. This duration defines the period between payments starting with nextPaymentDate - */ - interval: string; - [k: string]: unknown; - }>; - /** - * Enumerated field giving the treatment where a scheduled payment date is not a business day. If absent assumed to be ON.
**AFTER** - If a scheduled payment date is a non-business day the payment will be made on the first business day after the scheduled payment date.
**BEFORE** - If a scheduled payment date is a non-business day the payment will be made on the first business day before the scheduled payment date.
**ON** - If a scheduled payment date is a non-business day the payment will be made on that day regardless.
**ONLY** - Payments only occur on business days. If a scheduled payment date is a non-business day the payment will be ignored - */ - nonBusinessDayTreatment?: ("AFTER" | "BEFORE" | "ON" | "ONLY") | null; - /** - * Indicates the number of payments remaining in the schedule. If both finalPaymentDate and paymentsRemaining are present then payments will stop according to the most constraining value, If neither field is present the payments will continue indefinitely - */ - paymentsRemaining?: number | null; - [k: string]: unknown; - }; - /** - * Indicates that the schedule of payments is defined according to the last occurrence of a specific weekday in an interval. Mandatory if recurrenceUType is set to lastWeekDay - */ - lastWeekDay?: { - /** - * The limit date after which no more payments should be made using this schedule. If both finalPaymentDate and paymentsRemaining are present then payments will stop according to the most constraining value. If neither field is present the payments will continue indefinitely - */ - finalPaymentDate?: string | null; - /** - * The interval for the payment. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) with components less than a day in length ignored. This duration defines the period between payments starting with nextPaymentDate - */ - interval: string; - /** - * The weekDay specified. The payment will occur on the last occurrence of this weekday in the interval. - */ - lastWeekDay: "FRI" | "MON" | "SAT" | "SUN" | "THU" | "TUE" | "WED"; - /** - * Enumerated field giving the treatment where a scheduled payment date is not a business day. If absent assumed to be ON.
**AFTER** - If a scheduled payment date is a non-business day the payment will be made on the first business day after the scheduled payment date.
**BEFORE** - If a scheduled payment date is a non-business day the payment will be made on the first business day before the scheduled payment date.
**ON** - If a scheduled payment date is a non-business day the payment will be made on that day regardless.
**ONLY** - Payments only occur on business days. If a scheduled payment date is a non-business day the payment will be ignored - */ - nonBusinessDayTreatment?: ("AFTER" | "BEFORE" | "ON" | "ONLY") | null; - /** - * Indicates the number of payments remaining in the schedule. If both finalPaymentDate and paymentsRemaining are present then payments will stop according to the most constraining value. If neither field is present the payments will continue indefinitely - */ - paymentsRemaining?: number | null; - [k: string]: unknown; - }; - /** - * The date of the next payment under the recurrence schedule - */ - nextPaymentDate?: string | null; - /** - * Indicates that the payment is a once off payment on a specific future date. Mandatory if recurrenceUType is set to onceOff - */ - onceOff?: { - /** - * The scheduled date for the once off payment - */ - paymentDate: string; - [k: string]: unknown; - }; - /** - * The type of recurrence used to define the schedule - */ - recurrenceUType: "eventBased" | "intervalSchedule" | "lastWeekDay" | "onceOff"; - [k: string]: unknown; - }; - /** - * A unique ID of the scheduled payment adhering to the standards for ID permanence - */ - scheduledPaymentId: string; - /** - * Indicates whether the schedule is currently active. The value SKIP is equivalent to ACTIVE except that the customer has requested the next normal occurrence to be skipped. - */ - status: "ACTIVE" | "INACTIVE" | "SKIP"; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { +export interface ResponseBankingProductByIdV5 { + data: BankingProductV4 & { /** - * URI to the first page of this set. Mandatory if this response is not the first page. + * An array of bundles that this product participates in. Each bundle is described by free form information but also by a list of product IDs of the other products that are included in the bundle. It is assumed that the current product is included in the bundle also. */ - first?: string | null; + bundles?: BankingProductBundle[]; /** - * URI to the last page of this set. Mandatory if this response is not the last page. + * Array of features available for the product. */ - last?: string | null; + features?: BankingProductFeatureV2[]; /** - * URI to the next page of this set. Mandatory if this response is not the last page. + * Constraints on the application for or operation of the product such as minimum balances or limit thresholds. */ - next?: string | null; + constraints?: BankingProductConstraintV2[]; /** - * URI to the previous page of this set. Mandatory if this response is not the first page. + * Eligibility criteria for the product. */ - prev?: string | null; + eligibility?: BankingProductEligibility[]; /** - * Fully qualified link that generated the current response document. + * Fees applicable to the product. */ - self: string; - [k: string]: unknown; - }; - meta: { + fees?: BankingProductFee[]; /** - * The total number of pages in the full set. See [pagination](#pagination). + * Interest rates available for deposits. */ - totalPages: number; + depositRates?: BankingProductDepositRate[]; /** - * The total number of records in the full set. See [pagination](#pagination). + * Interest rates charged against lending balances. */ - totalRecords: number; - [k: string]: unknown; + lendingRates?: BankingProductLendingRateV2[]; }; - [k: string]: unknown; + links: Links; + meta?: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface ResponseBankingTransactionById { - data: { +export interface ResponseBankingProductByIdV6 { + data: BankingProductV5 & { /** - * ID of the account for which transactions are provided + * An array of bundles that this product participates in. Each bundle is described by free form information but also by a list of _productID_ values of the other products that are included in the bundle. It is assumed that the current product is included in the bundle also. */ - accountId: string; + bundles?: BankingProductBundle[]; /** - * The value of the transaction. Negative values mean money was outgoing from the account + * Array of features and limitations of the product. */ - amount: string; + features?: BankingProductFeatureV3[]; /** - * 6 Digit APCA number for the initiating institution. The field is fixed-width and padded with leading zeros if applicable. + * Constraints on the application for the product such as minimum balances or limit thresholds. */ - apcaNumber?: string | null; + constraints?: BankingProductConstraintV3[]; /** - * BPAY Biller Code for the transaction (if available) + * Eligibility criteria for the product. */ - billerCode?: string | null; + eligibility?: BankingProductEligibilityV2[]; /** - * Name of the BPAY biller for the transaction (if available) + * Fees applicable to the product. */ - billerName?: string | null; + fees?: BankingProductFeeV2[]; /** - * BPAY CRN for the transaction (if available).
Where the CRN contains sensitive information, it should be masked in line with how the Data Holder currently displays account identifiers in their existing online banking channels. If the contents of the CRN match the format of a Credit Card PAN they should be masked according to the rules applicable for MaskedPANString. If the contents are are otherwise sensitive, then it should be masked using the rules applicable for the MaskedAccountString common type. + * Interest rates available for deposits. */ - crn?: string | null; + depositRates?: BankingProductDepositRateV2[]; /** - * The currency for the transaction amount. AUD assumed if not present + * Interest rates charged against lending balances. */ - currency?: string | null; + lendingRates?: BankingProductLendingRateV3[]; + }; + links: Links; + meta?: Meta; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingProductByIdV7 { + data: BankingProductV6 & { /** - * The transaction description as applied by the financial institution + * An array of bundles that this product participates in. Each bundle is described by free form information but also by a list of _productID_ values of the other products that are included in the bundle. It is assumed that the current product is included in the bundle also. */ - description: string; + bundles?: BankingProductBundle[]; /** - * The time the transaction was executed by the originating customer, if available + * Array of features and limitations of the product. */ - executionDateTime?: string | null; + features?: BankingProductFeatureV4[]; /** - * True if extended information is available using the transaction detail end point. False if extended data is not available + * Constraints on the application for the product such as minimum balances or limit thresholds. */ - isDetailAvailable: boolean; + constraints?: BankingProductConstraintV3[]; /** - * The merchant category code (or MCC) for an outgoing payment to a merchant + * Eligibility criteria for the product. */ - merchantCategoryCode?: string | null; + eligibility?: BankingProductEligibilityV2[]; /** - * Name of the merchant for an outgoing payment to a merchant + * Fees applicable to the product. */ - merchantName?: string | null; + fees?: BankingProductFeeV2[]; /** - * The time the transaction was posted. This field is Mandatory if the transaction has status POSTED. This is the time that appears on a standard statement + * Interest rates available for deposits. */ - postingDateTime?: string | null; + depositRates?: BankingProductDepositRateV2[]; /** - * The reference for the transaction provided by the originating institution. Empty string if no data provided + * Interest rates charged against lending balances. */ - reference: string; + lendingRates?: BankingProductLendingRateV3[]; + instalments?: BankingProductInstalments; + }; + links: Links; + meta?: Meta; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingProductListV2 { + data: { /** - * Status of the transaction whether pending or posted. Note that there is currently no provision in the standards to guarantee the ability to correlate a pending transaction with an associated posted transaction + * The list of products returned. If the filter results in an empty set then this array may have no records. */ - status: "PENDING" | "POSTED"; + products: BankingProductV4[]; + }; + links: LinksPaginated; + meta: MetaPaginated; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingProductListV3 { + data: { /** - * A unique ID of the transaction adhering to the standards for ID permanence. This is mandatory (through hashing if necessary) unless there are specific and justifiable technical reasons why a transaction cannot be uniquely identified for a particular account type. It is mandatory if `isDetailAvailable` is set to true. + * The list of products returned. If the filter results in an empty set then this array may have no records. */ - transactionId?: string | null; + products: BankingProductV5[]; + }; + links: LinksPaginated; + meta: MetaPaginated; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingProductListV4 { + data: { /** - * The type of the transaction + * The list of products returned. If the filter results in an empty set then this array may have no records. */ - type: - | "DIRECT_DEBIT" - | "FEE" - | "INTEREST_CHARGED" - | "INTEREST_PAID" - | "OTHER" - | "PAYMENT" - | "TRANSFER_INCOMING" - | "TRANSFER_OUTGOING"; + products: BankingProductV6[]; + }; + links: LinksPaginated; + meta: MetaPaginated; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingScheduledPaymentsListV2 { + data: { /** - * Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry + * The list of scheduled payments to return. */ - valueDateTime?: string | null; - [k: string]: unknown; - } & { + scheduledPayments: BankingScheduledPaymentV2[]; + }; + links: LinksPaginated; + meta: MetaPaginated; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingTransactionById { + data: BankingTransaction & { extendedData: { /** - * Label of the originating payer. Mandatory for inbound payment + * Label of the originating payer. Mandatory for inbound payment. */ payer?: string; /** - * Label of the target PayID. Mandatory for an outbound payment. The name assigned to the BSB/Account Number or PayID (by the owner of the PayID) + * Label of the target PayID. Mandatory for an outbound payment. The name assigned to the BSB/Account Number or PayID (by the owner of the PayID). */ payee?: string; /** - * Optional extended data provided specific to transaction originated via NPP + * Optional extended data specific to transactions originated via NPP. */ extensionUType?: "x2p101Payload"; x2p101Payload?: { /** - * An extended string description. Only present if specified by the extensionUType field + * An extended string description. Required if the _extensionUType_ field is `x2p101Payload`. */ - extendedDescription: string; + extendedDescription?: string; /** - * An end to end ID for the payment created at initiation + * An end to end ID for the payment created at initiation. */ endToEndId?: string; /** - * Purpose of the payment. Format is defined by NPP standards for the x2p1.01 overlay service + * Purpose of the payment. Format is defined by NPP standards for the x2p1.01 overlay service. */ purposeCode?: string; - [k: string]: unknown; }; /** - * Identifier of the applicable overlay service. Valid values are: X2P1.01 + * Identifier of the applicable overlay service. Valid values are: `X2P1.01`. */ service: "X2P1.01"; - [k: string]: unknown; }; - [k: string]: unknown; - }; - links: { - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; }; - meta?: { - [k: string]: unknown; - }; - [k: string]: unknown; + links: Links; + meta?: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ - export interface ResponseBankingTransactionByIdV2 { data: BankingTransaction & { extendedData: { @@ -6654,171 +3644,92 @@ export interface ResponseBankingTransactionByIdV2 { * Two-digit NPP service overlay version with leading zero. */ serviceVersion: string; - [k: string]: unknown; }; - [k: string]: unknown; }; - [k: string]: unknown; }; links: Links; meta?: Meta; - [k: string]: unknown; } +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ -export interface ResponseBankingTransactionList { - data: { - transactions: Array<{ - /** - * ID of the account for which transactions are provided - */ - accountId: string; - /** - * The value of the transaction. Negative values mean money was outgoing from the account - */ - amount: string; - /** - * 6 Digit APCA number for the initiating institution. The field is fixed-width and padded with leading zeros if applicable. - */ - apcaNumber?: string | null; - /** - * BPAY Biller Code for the transaction (if available) - */ - billerCode?: string | null; - /** - * Name of the BPAY biller for the transaction (if available) - */ - billerName?: string | null; - /** - * BPAY CRN for the transaction (if available).
Where the CRN contains sensitive information, it should be masked in line with how the Data Holder currently displays account identifiers in their existing online banking channels. If the contents of the CRN match the format of a Credit Card PAN they should be masked according to the rules applicable for MaskedPANString. If the contents are are otherwise sensitive, then it should be masked using the rules applicable for the MaskedAccountString common type. - */ - crn?: string | null; - /** - * The currency for the transaction amount. AUD assumed if not present - */ - currency?: string | null; - /** - * The transaction description as applied by the financial institution - */ - description: string; - /** - * The time the transaction was executed by the originating customer, if available - */ - executionDateTime?: string | null; - /** - * True if extended information is available using the transaction detail end point. False if extended data is not available - */ - isDetailAvailable: boolean; - /** - * The merchant category code (or MCC) for an outgoing payment to a merchant - */ - merchantCategoryCode?: string | null; - /** - * Name of the merchant for an outgoing payment to a merchant - */ - merchantName?: string | null; - /** - * The time the transaction was posted. This field is Mandatory if the transaction has status POSTED. This is the time that appears on a standard statement - */ - postingDateTime?: string | null; - /** - * The reference for the transaction provided by the originating institution. Empty string if no data provided - */ - reference: string; +export interface ResponseBankingTransactionByIdV3 { + data: BankingTransactionV2 & { + extendedData: { /** - * Status of the transaction whether pending or posted. Note that there is currently no provision in the standards to guarantee the ability to correlate a pending transaction with an associated posted transaction + * Label of the originating payer. Mandatory for inbound payment. */ - status: "PENDING" | "POSTED"; + payer?: string; /** - * A unique ID of the transaction adhering to the standards for ID permanence. This is mandatory (through hashing if necessary) unless there are specific and justifiable technical reasons why a transaction cannot be uniquely identified for a particular account type. It is mandatory if `isDetailAvailable` is set to true. + * Label of the target PayID. Mandatory for an outbound payment. The name assigned to the BSB/Account Number or PayID (by the owner of the PayID). */ - transactionId?: string | null; + payee?: string; /** - * The type of the transaction + * Optional extended data specific to transactions. Currently extended data is supported for NPP service overlays. */ - type: - | "DIRECT_DEBIT" - | "FEE" - | "INTEREST_CHARGED" - | "INTEREST_PAID" - | "OTHER" - | "PAYMENT" - | "TRANSFER_INCOMING" - | "TRANSFER_OUTGOING"; + extensionUType?: "nppPayload"; /** - * Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry + * Mandatory if the _extensionUType_ value is `nppPayload`. */ - valueDateTime?: string | null; - [k: string]: unknown; - }>; - [k: string]: unknown; + nppPayload?: { + /** + * An extended string description. Mandatory if the _extensionUType_ value is `nppPayload`. + */ + extendedDescription?: string; + /** + * An end to end ID for the payment created at initiation. + */ + endToEndId?: string; + /** + * Purpose of the payment. Format is defined by the NPP standards for the NPP overlay services including Osko (X2P1). + */ + purposeCode?: string; + /** + * Identifier of the applicable overlay service. The _service_ is used in conjunction with the _serviceVersion_. See [here](#npp-services) for more details. + */ + service: "X2P1" | "IFTI" | "BSCT" | "CATSCT"; + /** + * Two-digit NPP service overlay version with leading zero. + */ + serviceVersion: string; + }; + }; }; - links: { - /** - * URI to the first page of this set. Mandatory if this response is not the first page. - */ - first?: string | null; - /** - * URI to the last page of this set. Mandatory if this response is not the last page. - */ - last?: string | null; - /** - * URI to the next page of this set. Mandatory if this response is not the last page. - */ - next?: string | null; - /** - * URI to the previous page of this set. Mandatory if this response is not the first page. - */ - prev?: string | null; - /** - * Fully qualified link that generated the current response document. - */ - self: string; - [k: string]: unknown; + links: Links; + meta?: Meta; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingTransactionList { + data: { + transactions: BankingTransaction[]; }; - meta: { - /** - * The total number of pages in the full set. See [pagination](#pagination). - */ - totalPages: number; + links: LinksPaginated; + meta: MetaPaginated & { /** - * The total number of records in the full set. See [pagination](#pagination). + * `true` if _text_ query parameter is not supported. */ - totalRecords: number; + isQueryParamUnsupported?: boolean; + }; +} +/* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ + +export interface ResponseBankingTransactionListV2 { + data: { + transactions: BankingTransactionV2[]; + }; + links: LinksPaginated; + meta: MetaPaginated & { /** - * true if "text" query parameter is not supported + * `true` if _text_ query parameter is not supported. */ - isQueryParamUnsupported?: boolean | null; - [k: string]: unknown; + isQueryParamUnsupported?: boolean; }; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the banking api. */ export interface ResponseErrorListV2 { - errors: Array<{ - /** - * The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the meta object. Otherwise, the value is the error code URN. - */ - code: string; - /** - * A human-readable explanation specific to this occurrence of the problem. - */ - detail: string; - /** - * Additional data for customised error codes - */ - meta?: { - /** - * The CDR error code URN which the application-specific error code extends. Mandatory if the error `code` is an application-specific error rather than a standardised error code. - */ - urn?: string | null; - [k: string]: unknown; - }; - /** - * A short, human-readable summary of the problem that MUST NOT change from occurrence to occurrence of the problem represented by the error code. - */ - title: string; - [k: string]: unknown; - }>; - [k: string]: unknown; + /** + * List of errors. + */ + errors: ErrorV2[]; } diff --git a/types/consumer-data-standards/common/index.d.ts b/types/consumer-data-standards/common/index.d.ts index 9aaf58e32db323..2dd3de7b3390a6 100644 --- a/types/consumer-data-standards/common/index.d.ts +++ b/types/consumer-data-standards/common/index.d.ts @@ -2,48 +2,47 @@ export interface CommonEmailAddress { /** - * A correctly formatted email address, as defined by the addr-spec format in **[[RFC5322]](#nref-RFC5322)** + * A correctly formatted email address, as defined by the addr-spec format in **[[RFC5322]](#nref-RFC5322)**. */ address: string; /** - * May be true for one and only one email record in the collection. Denotes the default email address + * May be `true` for one and only one email record in the collection. Denotes the default email address. */ isPreferred?: boolean | null; /** - * The purpose for the email, as specified by the customer (Enumeration) + * The purpose for the email, as specified by the customer. */ purpose: "HOME" | "OTHER" | "UNSPECIFIED" | "WORK"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ export interface CommonOrganisation { /** - * Australian Business Number for the organisation + * Australian Business Number for the organisation. */ abn?: string | null; /** - * Australian Company Number for the organisation. Required only if an ACN is applicable for the organisation type + * Australian Company Number for the organisation. Required only if an ACN is applicable for the organisation type. */ acn?: string | null; /** - * The first name of the individual providing access on behalf of the organisation. For people with single names this field need not be present. The single name should be in the lastName field + * The first name of the individual providing access on behalf of the organisation. For people with single names this field need not be present. The single name should be in the _lastName_ field. */ agentFirstName?: string | null; /** - * The last name of the individual providing access on behalf of the organisation. For people with single names the single name should be in this field + * The last name of the individual providing access on behalf of the organisation. For people with single names, the single name should be in this field. */ agentLastName: string; /** - * The role of the individual identified as the agent who is providing authorisation. Expected to be used for display. Default to Unspecified if the role is not known + * The role of the individual identified as the agent who is providing authorisation. Expected to be used for display. Default to "Unspecified" if the role is not known. */ agentRole: string; /** - * Name of the organisation + * Name of the organisation. */ businessName: string; /** - * The date the organisation described was established + * The date the organisation described was established. */ establishmentDate?: string | null; /** @@ -51,300 +50,159 @@ export interface CommonOrganisation { */ industryCode?: string | null; /** - * The applicable [ANZSIC](http://www.abs.gov.au/ANZSIC) release version of the industry code provided. Should only be supplied if ``industryCode`` is also supplied. If ``industryCode`` is supplied but ``industryCodeVersion`` is absent, default is ``ANZSIC_1292.0_2006_V2.0`` + * The applicable [ANZSIC](http://www.abs.gov.au/ANZSIC) release version of the industry code provided. Should only be supplied if _industryCode_ is also supplied. If _industryCode_ is supplied but _industryCodeVersion_ is absent, default is `ANZSIC_1292.0_2006_V2.0`. */ industryCodeVersion?: ("ANZSIC_1292.0_2006_V1.0" | "ANZSIC_1292.0_2006_V2.0") | null; /** - * True if registered with the ACNC. False if not. Absent or null if not confirmed. + * `true` if registered with the ACNC. `false` if not. Absent or `null` if not confirmed. */ isACNCRegistered?: boolean | null; /** - * The date and time that this record was last updated by the customer. If no update has occurred then this date should reflect the initial creation date for the data + * The date and time that this record was last updated by the customer. If no update has occurred then this date should reflect the initial creation date for the data. */ lastUpdateTime?: string | null; /** - * Legal name, if different to the business name + * Legal name, if different to the business name. */ legalName?: string | null; /** - * Legal organisation type + * Legal organisation type. */ organisationType: "COMPANY" | "GOVERNMENT_ENTITY" | "OTHER" | "PARTNERSHIP" | "SOLE_TRADER" | "TRUST"; /** - * Enumeration with values from [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country codes. Assumed to be AUS if absent + * Enumeration with values from [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country codes. Assumed to be `AUS` if absent. */ registeredCountry?: string | null; /** - * Short name used for communication, if different to the business name + * Short name used for communication, if different to the business name. */ shortName?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ -export interface CommonOrganisationDetailV2 extends CommonOrganisation { +export type CommonOrganisationDetailV2 = CommonOrganisation & { /** - * Array is mandatory but may be empty if no valid addresses are held. One and only one address may have the purpose of REGISTERED. Zero or one, and no more than one, record may have the purpose of MAIL. If zero then the REGISTERED address is to be used for mail + * Array is mandatory but may be empty if no valid addresses are held. One and only one address may have the purpose of `REGISTERED`. Zero or one, and no more than one, record may have the purpose of `MAIL`. If zero then the `REGISTERED` address is to be used for mail. */ - physicalAddresses: Array< - { - /** - * The type of address object present - */ - addressUType: "paf" | "simple"; - /** - * Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) - */ - paf?: { - /** - * Building/Property name 1 - */ - buildingName1?: string | null; - /** - * Building/Property name 2 - */ - buildingName2?: string | null; - /** - * Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier - */ - dpid?: string | null; - /** - * Unit number (including suffix, if applicable) - */ - flatUnitNumber?: string | null; - /** - * Type of flat or unit for the address - */ - flatUnitType?: string | null; - /** - * Floor or level number (including alpha characters) - */ - floorLevelNumber?: string | null; - /** - * Type of floor or level for the address - */ - floorLevelType?: string | null; - /** - * Full name of locality - */ - localityName: string; - /** - * Allotment number for the address - */ - lotNumber?: string | null; - /** - * Postal delivery number if the address is a postal delivery type - */ - postalDeliveryNumber?: number | null; - /** - * Postal delivery number prefix related to the postal delivery number - */ - postalDeliveryNumberPrefix?: string | null; - /** - * Postal delivery number suffix related to the postal delivery number - */ - postalDeliveryNumberSuffix?: string | null; - /** - * Postal delivery type. (eg. PO BOX). Valid enumeration defined by Australia Post PAF code file - */ - postalDeliveryType?: string | null; - /** - * Postcode for the locality - */ - postcode: string; - /** - * State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT - */ - state: string; - /** - * The name of the street - */ - streetName?: string | null; - /** - * The street type suffix. Valid enumeration defined by Australia Post PAF code file - */ - streetSuffix?: string | null; - /** - * The street type. Valid enumeration defined by Australia Post PAF code file - */ - streetType?: string | null; - /** - * Thoroughfare number for a property (first number in a property ranged address) - */ - thoroughfareNumber1?: number | null; - /** - * Suffix for the thoroughfare number. Only relevant if _thoroughfareNumber1_ is populated - */ - thoroughfareNumber1Suffix?: string | null; - /** - * Second thoroughfare number (only used if the property has a ranged address eg 23-25) - */ - thoroughfareNumber2?: number | null; - /** - * Suffix for the second thoroughfare number. Only relevant if _thoroughfareNumber2_ is populated - */ - thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; - }; - simple?: { - /** - * First line of the standard address object - */ - addressLine1: string; - /** - * Second line of the standard address object - */ - addressLine2?: string | null; - /** - * Third line of the standard address object - */ - addressLine3?: string | null; - /** - * Name of the city or locality - */ - city: string; - /** - * A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (AUS) is assumed if country is not present. - */ - country?: string | null; - /** - * Name of the individual or business formatted for inclusion in an address used for physical mail - */ - mailingName?: string | null; - /** - * Mandatory for Australian addresses - */ - postcode?: string | null; - /** - * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT - */ - state: string; - [k: string]: unknown; - }; - [k: string]: unknown; - } & { - /** - * Enumeration of values indicating the purpose of the physical address - */ - purpose: "MAIL" | "OTHER" | "PHYSICAL" | "REGISTERED" | "WORK"; - [k: string]: unknown; - } - >; - [k: string]: unknown; -} + physicalAddresses: (CommonPhysicalAddress & { + /** + * Enumeration of values indicating the purpose of the physical address. + */ + purpose: "MAIL" | "OTHER" | "PHYSICAL" | "REGISTERED" | "WORK"; + })[]; +}; /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ /** - * Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) + * Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). Required if _addressUType_ is set to `paf`. */ export interface CommonPAFAddress { /** - * Building/Property name 1 + * Building/Property name 1. */ buildingName1?: string | null; /** - * Building/Property name 2 + * Building/Property name 2. */ buildingName2?: string | null; /** - * Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier + * Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier. */ dpid?: string | null; /** - * Unit number (including suffix, if applicable) + * Unit number (including suffix, if applicable). */ flatUnitNumber?: string | null; /** - * Type of flat or unit for the address + * Type of flat or unit for the address. */ flatUnitType?: string | null; /** - * Floor or level number (including alpha characters) + * Floor or level number (including alpha characters). */ floorLevelNumber?: string | null; /** - * Type of floor or level for the address + * Type of floor or level for the address. */ floorLevelType?: string | null; /** - * Full name of locality + * Full name of locality. */ localityName: string; /** - * Allotment number for the address + * Allotment number for the address. */ lotNumber?: string | null; /** - * Postal delivery number if the address is a postal delivery type + * Postal delivery number if the address is a postal delivery type. */ postalDeliveryNumber?: number | null; /** - * Postal delivery number prefix related to the postal delivery number + * Postal delivery number prefix related to the postal delivery number. */ postalDeliveryNumberPrefix?: string | null; /** - * Postal delivery number suffix related to the postal delivery number + * Postal delivery number suffix related to the postal delivery number. */ postalDeliveryNumberSuffix?: string | null; /** - * Postal delivery type. (eg. PO BOX). Valid enumeration defined by Australia Post PAF code file + * Postal delivery type. (e.g., PO BOX). Valid enumeration defined by Australia Post PAF code file. */ postalDeliveryType?: string | null; /** - * Postcode for the locality + * Postcode for the locality. */ postcode: string; /** - * State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT + * State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). `NSW`, `QLD`, `VIC`, `NT`, `WA`, `SA`, `TAS`, `ACT`, `AAT`. */ state: string; /** - * The name of the street + * The name of the street. */ streetName?: string | null; /** - * The street type suffix. Valid enumeration defined by Australia Post PAF code file + * The street type suffix. Valid enumeration defined by Australia Post PAF code file. */ streetSuffix?: string | null; /** - * The street type. Valid enumeration defined by Australia Post PAF code file + * The street type. Valid enumeration defined by Australia Post PAF code file. */ streetType?: string | null; /** - * Thoroughfare number for a property (first number in a property ranged address) + * Thoroughfare number for a property (first number in a property ranged address). */ thoroughfareNumber1?: number | null; /** - * Suffix for the thoroughfare number. Only relevant is thoroughfareNumber1 is populated + * Suffix for the thoroughfare number. Only relevant if _thoroughfareNumber1_ is populated. */ thoroughfareNumber1Suffix?: string | null; /** - * Second thoroughfare number (only used if the property has a ranged address eg 23-25) + * Second thoroughfare number (only used if the property has a ranged address e.g., 23-25). */ thoroughfareNumber2?: number | null; /** - * Suffix for the second thoroughfare number. Only relevant is thoroughfareNumber2 is populated + * Suffix for the second thoroughfare number. Only relevant if _thoroughfareNumber2_ is populated. */ thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ export interface CommonPerson { /** - * For people with single names this field need not be present. The single name should be in the lastName field. Where a data holder cannot determine first and middle names from a collection of given names, a single string representing all given names MAY be provided. + * For people with single names this field need not be present. The single name should be in the _lastName_ field. Where a data holder cannot determine first and middle names from a collection of given names, a single string representing all given names **MAY** be provided. */ firstName?: string | null; /** - * For people with single names the single name should be in this field + * For people with single names, the single name should be in this field. */ lastName: string; /** - * The date and time that this record was last updated by the customer. If no update has occurred then this date should reflect the initial creation date for the data + * The date and time that this record was last updated by the customer. If no update has occurred then this date should reflect the initial creation date for the data. */ lastUpdateTime?: string | null; /** - * Field is mandatory but array may be empty + * Field is mandatory but array may be empty. */ middleNames: string[]; /** @@ -352,7 +210,7 @@ export interface CommonPerson { */ occupationCode?: string | null; /** - * The applicable **[[ANZSCO]](#iref-ANZSCO)** release version of the occupation code provided. Mandatory if an ``occupationCode`` is supplied. If ``occupationCode`` is supplied but ``occupationCodeVersion`` is absent, default is ``ANZSCO_1220.0_2013_V1.2`` + * The applicable **[[ANZSCO]](#iref-ANZSCO)** release version of the occupation code provided. Mandatory if an _occupationCode_ is supplied. If _occupationCode_ is supplied but _occupationCodeVersion_ is absent, default is `ANZSCO_1220.0_2013_V1.2`. */ occupationCodeVersion?: | ( @@ -363,1192 +221,292 @@ export interface CommonPerson { ) | null; /** - * Also known as title or salutation. The prefix to the name (e.g. Mr, Mrs, Ms, Miss, Sir, etc) + * Also known as title or salutation. The prefix to the name (e.g., Mr, Mrs, Ms, Miss, Sir, etc.) */ prefix?: string | null; /** - * Used for a trailing suffix to the name (e.g. Jr) + * Used for a trailing suffix to the name (e.g., Jr.) */ suffix?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ -export interface CommonPersonDetailV2 extends CommonPerson { +export type CommonPersonDetailV2 = CommonPerson & { /** - * Array is mandatory but may be empty if no phone numbers are held + * Array is mandatory but may be empty if no phone numbers are held. */ - phoneNumbers: Array<{ - /** - * Required for non Mobile Phones, if field is present and refers to Australian code - the leading 0 should be omitted. - */ - areaCode?: string | null; - /** - * If absent, assumed to be Australia (+61). The + should be included - */ - countryCode?: string | null; - /** - * An extension number (if applicable) - */ - extension?: string | null; - /** - * Fully formatted phone number with country code, area code, number and extension incorporated. Formatted according to section 5.1.4. of **[[RFC3966]](#iref-RFC3966)** - */ - fullNumber: string; - /** - * May be true for one and only one entry to indicate the preferred phone number. Assumed to be 'false' if not present - */ - isPreferred?: boolean | null; - /** - * The actual phone number, with leading zeros as appropriate - */ - number: string; - /** - * The purpose of the number as specified by the customer - */ - purpose: "HOME" | "INTERNATIONAL" | "MOBILE" | "OTHER" | "UNSPECIFIED" | "WORK"; - [k: string]: unknown; - }>; + phoneNumbers: CommonPhoneNumber[]; /** - * May be empty + * May be empty. */ - emailAddresses: Array<{ - /** - * A correctly formatted email address, as defined by the addr-spec format in **[[RFC5322]](#nref-RFC5322)** - */ - address: string; - /** - * May be true for one and only one email record in the collection. Denotes the default email address - */ - isPreferred?: boolean | null; - /** - * The purpose for the email, as specified by the customer (Enumeration) - */ - purpose: "HOME" | "OTHER" | "UNSPECIFIED" | "WORK"; - [k: string]: unknown; - }>; + emailAddresses: CommonEmailAddress[]; /** - * Array is mandatory but may be empty if no valid addresses are held. One and only one address may have the purpose of REGISTERED. Zero or one, and no more than one, record may have the purpose of MAIL. If zero then the REGISTERED address is to be used for mail + * Array is mandatory but may be empty if no valid addresses are held. One and only one address may have the purpose of `REGISTERED`. Zero or one, and no more than one, record may have the purpose of `MAIL`. If zero then the `REGISTERED` address is to be used for mail. */ - physicalAddresses: Array< - { - /** - * The type of address object present - */ - addressUType: "paf" | "simple"; - /** - * Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) - */ - paf?: { - /** - * Building/Property name 1 - */ - buildingName1?: string | null; - /** - * Building/Property name 2 - */ - buildingName2?: string | null; - /** - * Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier - */ - dpid?: string | null; - /** - * Unit number (including suffix, if applicable) - */ - flatUnitNumber?: string | null; - /** - * Type of flat or unit for the address - */ - flatUnitType?: string | null; - /** - * Floor or level number (including alpha characters) - */ - floorLevelNumber?: string | null; - /** - * Type of floor or level for the address - */ - floorLevelType?: string | null; - /** - * Full name of locality - */ - localityName: string; - /** - * Allotment number for the address - */ - lotNumber?: string | null; - /** - * Postal delivery number if the address is a postal delivery type - */ - postalDeliveryNumber?: number | null; - /** - * Postal delivery number prefix related to the postal delivery number - */ - postalDeliveryNumberPrefix?: string | null; - /** - * Postal delivery number suffix related to the postal delivery number - */ - postalDeliveryNumberSuffix?: string | null; - /** - * Postal delivery type. (eg. PO BOX). Valid enumeration defined by Australia Post PAF code file - */ - postalDeliveryType?: string | null; - /** - * Postcode for the locality - */ - postcode: string; - /** - * State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT - */ - state: string; - /** - * The name of the street - */ - streetName?: string | null; - /** - * The street type suffix. Valid enumeration defined by Australia Post PAF code file - */ - streetSuffix?: string | null; - /** - * The street type. Valid enumeration defined by Australia Post PAF code file - */ - streetType?: string | null; - /** - * Thoroughfare number for a property (first number in a property ranged address) - */ - thoroughfareNumber1?: number | null; - /** - * Suffix for the thoroughfare number. Only relevant is thoroughfareNumber1 is populated - */ - thoroughfareNumber1Suffix?: string | null; - /** - * Second thoroughfare number (only used if the property has a ranged address eg 23-25) - */ - thoroughfareNumber2?: number | null; - /** - * Suffix for the second thoroughfare number. Only relevant is thoroughfareNumber2 is populated - */ - thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; - }; - simple?: { - /** - * First line of the standard address object - */ - addressLine1: string; - /** - * Second line of the standard address object - */ - addressLine2?: string | null; - /** - * Third line of the standard address object - */ - addressLine3?: string | null; - /** - * Name of the city or locality - */ - city: string; - /** - * A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (AUS) is assumed if country is not present. - */ - country?: string | null; - /** - * Name of the individual or business formatted for inclusion in an address used for physical mail - */ - mailingName?: string | null; - /** - * Mandatory for Australian addresses - */ - postcode?: string | null; - /** - * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT - */ - state: string; - [k: string]: unknown; - }; - [k: string]: unknown; - } & { - /** - * Enumeration of values indicating the purpose of the physical address - */ - purpose: "MAIL" | "OTHER" | "PHYSICAL" | "REGISTERED" | "WORK"; - [k: string]: unknown; - } - >; - [k: string]: unknown; -} + physicalAddresses: (CommonPhysicalAddress & { + /** + * Enumeration of values indicating the purpose of the physical address. + */ + purpose: "MAIL" | "OTHER" | "PHYSICAL" | "REGISTERED" | "WORK"; + })[]; +}; /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ export interface CommonPhoneNumber { /** - * Required for non Mobile Phones, if field is present and refers to Australian code - the leading 0 should be omitted. + * Required for non Mobile Phones, if field is present and refers to Australian code - the leading `0` should be omitted. */ areaCode?: string | null; /** - * If absent, assumed to be Australia (+61). The + should be included + * If absent, assumed to be Australia (`+61`). The `+` should be included. */ countryCode?: string | null; /** - * An extension number (if applicable) + * An extension number (if applicable). */ extension?: string | null; /** - * Fully formatted phone number with country code, area code, number and extension incorporated. Formatted according to section 5.1.4. of **[[RFC3966]](#iref-RFC3966)** + * Fully formatted phone number with country code, area code, number and extension incorporated. Formatted according to section 5.1.4. of **[[RFC3966]](#iref-RFC3966)**. */ fullNumber: string; /** - * May be true for one and only one entry to indicate the preferred phone number. Assumed to be 'false' if not present + * May be `true` for one and only one entry to indicate the preferred phone number. Assumed to be `false` if not present. */ isPreferred?: boolean | null; /** - * The actual phone number, with leading zeros as appropriate + * The actual phone number, with leading zeros as appropriate. */ number: string; /** - * The purpose of the number as specified by the customer + * The purpose of the number as specified by the customer. */ purpose: "HOME" | "INTERNATIONAL" | "MOBILE" | "OTHER" | "UNSPECIFIED" | "WORK"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ export interface CommonPhysicalAddress { /** - * The type of address object present + * The type of address object present. */ addressUType: "paf" | "simple"; - /** - * Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) - */ - paf?: { - /** - * Building/Property name 1 - */ - buildingName1?: string | null; - /** - * Building/Property name 2 - */ - buildingName2?: string | null; - /** - * Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier - */ - dpid?: string | null; - /** - * Unit number (including suffix, if applicable) - */ - flatUnitNumber?: string | null; - /** - * Type of flat or unit for the address - */ - flatUnitType?: string | null; - /** - * Floor or level number (including alpha characters) - */ - floorLevelNumber?: string | null; - /** - * Type of floor or level for the address - */ - floorLevelType?: string | null; - /** - * Full name of locality - */ - localityName: string; - /** - * Allotment number for the address - */ - lotNumber?: string | null; - /** - * Postal delivery number if the address is a postal delivery type - */ - postalDeliveryNumber?: number | null; - /** - * Postal delivery number prefix related to the postal delivery number - */ - postalDeliveryNumberPrefix?: string | null; - /** - * Postal delivery number suffix related to the postal delivery number - */ - postalDeliveryNumberSuffix?: string | null; - /** - * Postal delivery type. (eg. PO BOX). Valid enumeration defined by Australia Post PAF code file - */ - postalDeliveryType?: string | null; - /** - * Postcode for the locality - */ - postcode: string; - /** - * State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT - */ - state: string; - /** - * The name of the street - */ - streetName?: string | null; - /** - * The street type suffix. Valid enumeration defined by Australia Post PAF code file - */ - streetSuffix?: string | null; - /** - * The street type. Valid enumeration defined by Australia Post PAF code file - */ - streetType?: string | null; - /** - * Thoroughfare number for a property (first number in a property ranged address) - */ - thoroughfareNumber1?: number | null; - /** - * Suffix for the thoroughfare number. Only relevant is thoroughfareNumber1 is populated - */ - thoroughfareNumber1Suffix?: string | null; - /** - * Second thoroughfare number (only used if the property has a ranged address eg 23-25) - */ - thoroughfareNumber2?: number | null; - /** - * Suffix for the second thoroughfare number. Only relevant is thoroughfareNumber2 is populated - */ - thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; - }; - simple?: { - /** - * First line of the standard address object - */ - addressLine1: string; - /** - * Second line of the standard address object - */ - addressLine2?: string | null; - /** - * Third line of the standard address object - */ - addressLine3?: string | null; - /** - * Name of the city or locality - */ - city: string; - /** - * A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (AUS) is assumed if country is not present. - */ - country?: string | null; - /** - * Name of the individual or business formatted for inclusion in an address used for physical mail - */ - mailingName?: string | null; - /** - * Mandatory for Australian addresses - */ - postcode?: string | null; - /** - * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT - */ - state: string; - [k: string]: unknown; - }; - [k: string]: unknown; + paf?: CommonPAFAddress; + simple?: CommonSimpleAddress; } /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ -export interface CommonPhysicalAddressWithPurpose extends CommonPhysicalAddress { +export type CommonPhysicalAddressWithPurpose = CommonPhysicalAddress & { /** - * Enumeration of values indicating the purpose of the physical address + * Enumeration of values indicating the purpose of the physical address. */ purpose: "MAIL" | "OTHER" | "PHYSICAL" | "REGISTERED" | "WORK"; - [k: string]: unknown; -} +}; /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ +/** + * Required if _addressUType_ is set to `simple`. + */ export interface CommonSimpleAddress { /** - * First line of the standard address object + * First line of the standard address object. */ addressLine1: string; /** - * Second line of the standard address object + * Second line of the standard address object. */ addressLine2?: string | null; /** - * Third line of the standard address object + * Third line of the standard address object. */ addressLine3?: string | null; /** - * Name of the city or locality + * Name of the city or locality. */ city: string; /** - * A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (AUS) is assumed if country is not present. + * A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (`AUS`) is assumed if country is not present. */ country?: string | null; /** - * Name of the individual or business formatted for inclusion in an address used for physical mail + * Name of the individual or business formatted for inclusion in an address used for physical mail. */ mailingName?: string | null; /** - * Mandatory for Australian addresses + * Mandatory for Australian addresses. */ postcode?: string | null; /** - * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT + * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. `NSW`, `QLD`, `VIC`, `NT`, `WA`, `SA`, `TAS`, `ACT`, `AAT`. */ state: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ export interface DiscoveryOutage { /** - * Planned duration of the outage. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + * Planned duration of the outage. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). */ duration: string; /** - * Provides an explanation of the current outage that can be displayed to an end customer + * Provides an explanation of the current outage that can be displayed to an end customer. */ explanation: string; /** - * Flag that indicates, if present and set to true, that the outage is only partial meaning that only a subset of normally available end points will be affected by the outage + * Flag that indicates, if present and set to `true`, that the outage is only partial meaning that only a subset of normally available endpoints will be affected by the outage. */ isPartial?: boolean | null; /** - * Date and time that the outage is scheduled to begin + * Date and time that the outage is scheduled to begin. */ outageTime: string; - [k: string]: unknown; +} +/* These are the schema definitions stipulated by the Data Standards Body for the common api. */ + +export interface ErrorV2 { + /** + * The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the _meta_ object. Otherwise, the value is the error code URN. + */ + code: string; + /** + * A human-readable explanation specific to this occurrence of the problem. + */ + detail: string; + /** + * Additional data for customised error codes. + */ + meta?: { + /** + * The CDR error code URN which the application-specific error code extends. Mandatory if the error _code_ is an application-specific error rather than a standardised error code. + */ + urn?: string | null; + } | null; + /** + * A short, human-readable summary of the problem that **MUST NOT** change from occurrence to occurrence of the problem represented by the error code. + */ + title: string; } /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ export interface Links { /** - * Fully qualified link that generated the current response document + * Fully qualified link that generated the current response document. */ self: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ -export interface Meta { - [k: string]: unknown; -} +export interface Meta {} /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ /** - * Additional data for customised error codes + * Additional data for customised error codes. */ export interface MetaError { /** - * The CDR error code URN which the application-specific error code extends. Mandatory if the error `code` is an application-specific error rather than a standardised error code. + * The CDR error code URN which the application-specific error code extends. Mandatory if the error _code_ is an application-specific error rather than a standardised error code. */ urn?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ export interface ResponseCommonCustomer { data: { /** - * The type of customer object that is present + * The type of customer object that is present. */ customerUType: "organisation" | "person"; - organisation?: { - /** - * Australian Business Number for the organisation - */ - abn?: string | null; - /** - * Australian Company Number for the organisation. Required only if an ACN is applicable for the organisation type - */ - acn?: string | null; - /** - * The first name of the individual providing access on behalf of the organisation. For people with single names this field need not be present. The single name should be in the lastName field - */ - agentFirstName?: string | null; - /** - * The last name of the individual providing access on behalf of the organisation. For people with single names the single name should be in this field - */ - agentLastName: string; - /** - * The role of the individual identified as the agent who is providing authorisation. Expected to be used for display. Default to Unspecified if the role is not known - */ - agentRole: string; - /** - * Name of the organisation - */ - businessName: string; - /** - * The date the organisation described was established - */ - establishmentDate?: string | null; - /** - * A valid [ANZSIC](http://www.abs.gov.au/ANZSIC) code for the organisation. If the industry code held by the data holder is not one of the supported [ANZSIC](http://www.abs.gov.au/ANZSIC) versions, then it must not be supplied. - */ - industryCode?: string | null; - /** - * The applicable [ANZSIC](http://www.abs.gov.au/ANZSIC) release version of the industry code provided. Should only be supplied if ``industryCode`` is also supplied. If ``industryCode`` is supplied but ``industryCodeVersion`` is absent, default is ``ANZSIC_1292.0_2006_V2.0`` - */ - industryCodeVersion?: ("ANZSIC_1292.0_2006_V1.0" | "ANZSIC_1292.0_2006_V2.0") | null; - /** - * True if registered with the ACNC. False if not. Absent or null if not confirmed. - */ - isACNCRegistered?: boolean | null; - /** - * The date and time that this record was last updated by the customer. If no update has occurred then this date should reflect the initial creation date for the data - */ - lastUpdateTime?: string | null; - /** - * Legal name, if different to the business name - */ - legalName?: string | null; - /** - * Legal organisation type - */ - organisationType: "COMPANY" | "GOVERNMENT_ENTITY" | "OTHER" | "PARTNERSHIP" | "SOLE_TRADER" | "TRUST"; - /** - * Enumeration with values from [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country codes. Assumed to be AUS if absent - */ - registeredCountry?: string | null; - /** - * Short name used for communication, if different to the business name - */ - shortName?: string | null; - [k: string]: unknown; - }; - person?: { - /** - * For people with single names this field need not be present. The single name should be in the lastName field. Where a data holder cannot determine first and middle names from a collection of given names, a single string representing all given names MAY be provided. - */ - firstName?: string | null; - /** - * For people with single names the single name should be in this field - */ - lastName: string; - /** - * The date and time that this record was last updated by the customer. If no update has occurred then this date should reflect the initial creation date for the data - */ - lastUpdateTime?: string | null; - /** - * Field is mandatory but array may be empty - */ - middleNames: string[]; - /** - * Value is a valid **[[ANZSCO]](#iref-ANZSCO)** Standard Occupation classification code. If the occupation code held by the data holder is not one of the supported **[[ANZSCO]](#iref-ANZSCO)** versions, then it must not be supplied. - */ - occupationCode?: string | null; - /** - * The applicable **[[ANZSCO]](#iref-ANZSCO)** release version of the occupation code provided. Mandatory if an ``occupationCode`` is supplied. If ``occupationCode`` is supplied but ``occupationCodeVersion`` is absent, default is ``ANZSCO_1220.0_2013_V1.2`` - */ - occupationCodeVersion?: - | ( - | "ANZSCO_1220.0_2006_V1.0" - | "ANZSCO_1220.0_2006_V1.1" - | "ANZSCO_1220.0_2013_V1.2" - | "ANZSCO_1220.0_2013_V1.3" - ) - | null; - /** - * Also known as title or salutation. The prefix to the name (e.g. Mr, Mrs, Ms, Miss, Sir, etc) - */ - prefix?: string | null; - /** - * Used for a trailing suffix to the name (e.g. Jr) - */ - suffix?: string | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - links: { - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; + organisation?: CommonOrganisation; + person?: CommonPerson; }; - meta?: { - [k: string]: unknown; - }; - [k: string]: unknown; + links: Links; + meta?: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ export interface ResponseCommonCustomerDetailV2 { data: { /** - * The type of customer object that is present + * The type of customer object that is present. */ customerUType: "organisation" | "person"; - organisation?: { - /** - * Australian Business Number for the organisation - */ - abn?: string | null; - /** - * Australian Company Number for the organisation. Required only if an ACN is applicable for the organisation type - */ - acn?: string | null; + organisation?: CommonOrganisation & { /** - * The first name of the individual providing access on behalf of the organisation. For people with single names this field need not be present. The single name should be in the lastName field + * Array is mandatory but may be empty if no valid addresses are held. One and only one address may have the purpose of `REGISTERED`. Zero or one, and no more than one, record may have the purpose of `MAIL`. If zero then the `REGISTERED` address is to be used for mail. */ - agentFirstName?: string | null; - /** - * The last name of the individual providing access on behalf of the organisation. For people with single names the single name should be in this field - */ - agentLastName: string; - /** - * The role of the individual identified as the agent who is providing authorisation. Expected to be used for display. Default to Unspecified if the role is not known - */ - agentRole: string; - /** - * Name of the organisation - */ - businessName: string; - /** - * The date the organisation described was established - */ - establishmentDate?: string | null; - /** - * A valid [ANZSIC](http://www.abs.gov.au/ANZSIC) code for the organisation. If the industry code held by the data holder is not one of the supported [ANZSIC](http://www.abs.gov.au/ANZSIC) versions, then it must not be supplied. - */ - industryCode?: string | null; - /** - * The applicable [ANZSIC](http://www.abs.gov.au/ANZSIC) release version of the industry code provided. Should only be supplied if ``industryCode`` is also supplied. If ``industryCode`` is supplied but ``industryCodeVersion`` is absent, default is ``ANZSIC_1292.0_2006_V2.0`` - */ - industryCodeVersion?: ("ANZSIC_1292.0_2006_V1.0" | "ANZSIC_1292.0_2006_V2.0") | null; - /** - * True if registered with the ACNC. False if not. Absent or null if not confirmed. - */ - isACNCRegistered?: boolean | null; - /** - * The date and time that this record was last updated by the customer. If no update has occurred then this date should reflect the initial creation date for the data - */ - lastUpdateTime?: string | null; - /** - * Legal name, if different to the business name - */ - legalName?: string | null; - /** - * Legal organisation type - */ - organisationType: "COMPANY" | "GOVERNMENT_ENTITY" | "OTHER" | "PARTNERSHIP" | "SOLE_TRADER" | "TRUST"; - /** - * Enumeration with values from [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country codes. Assumed to be AUS if absent - */ - registeredCountry?: string | null; - /** - * Short name used for communication, if different to the business name - */ - shortName?: string | null; - [k: string]: unknown; - } & { - /** - * Array is mandatory but may be empty if no valid addresses are held. One and only one address may have the purpose of REGISTERED. Zero or one, and no more than one, record may have the purpose of MAIL. If zero then the REGISTERED address is to be used for mail - */ - physicalAddresses: Array< - { - /** - * The type of address object present - */ - addressUType: "paf" | "simple"; - /** - * Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) - */ - paf?: { - /** - * Building/Property name 1 - */ - buildingName1?: string | null; - /** - * Building/Property name 2 - */ - buildingName2?: string | null; - /** - * Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier - */ - dpid?: string | null; - /** - * Unit number (including suffix, if applicable) - */ - flatUnitNumber?: string | null; - /** - * Type of flat or unit for the address - */ - flatUnitType?: string | null; - /** - * Floor or level number (including alpha characters) - */ - floorLevelNumber?: string | null; - /** - * Type of floor or level for the address - */ - floorLevelType?: string | null; - /** - * Full name of locality - */ - localityName: string; - /** - * Allotment number for the address - */ - lotNumber?: string | null; - /** - * Postal delivery number if the address is a postal delivery type - */ - postalDeliveryNumber?: number | null; - /** - * Postal delivery number prefix related to the postal delivery number - */ - postalDeliveryNumberPrefix?: string | null; - /** - * Postal delivery number suffix related to the postal delivery number - */ - postalDeliveryNumberSuffix?: string | null; - /** - * Postal delivery type. (eg. PO BOX). Valid enumeration defined by Australia Post PAF code file - */ - postalDeliveryType?: string | null; - /** - * Postcode for the locality - */ - postcode: string; - /** - * State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT - */ - state: string; - /** - * The name of the street - */ - streetName?: string | null; - /** - * The street type suffix. Valid enumeration defined by Australia Post PAF code file - */ - streetSuffix?: string | null; - /** - * The street type. Valid enumeration defined by Australia Post PAF code file - */ - streetType?: string | null; - /** - * Thoroughfare number for a property (first number in a property ranged address) - */ - thoroughfareNumber1?: number | null; - /** - * Suffix for the thoroughfare number. Only relevant is thoroughfareNumber1 is populated - */ - thoroughfareNumber1Suffix?: string | null; - /** - * Second thoroughfare number (only used if the property has a ranged address eg 23-25) - */ - thoroughfareNumber2?: number | null; - /** - * Suffix for the second thoroughfare number. Only relevant is thoroughfareNumber2 is populated - */ - thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; - }; - simple?: { - /** - * First line of the standard address object - */ - addressLine1: string; - /** - * Second line of the standard address object - */ - addressLine2?: string | null; - /** - * Third line of the standard address object - */ - addressLine3?: string | null; - /** - * Name of the city or locality - */ - city: string; - /** - * A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (AUS) is assumed if country is not present. - */ - country?: string | null; - /** - * Name of the individual or business formatted for inclusion in an address used for physical mail - */ - mailingName?: string | null; - /** - * Mandatory for Australian addresses - */ - postcode?: string | null; - /** - * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT - */ - state: string; - [k: string]: unknown; - }; - [k: string]: unknown; - } & { - /** - * Enumeration of values indicating the purpose of the physical address - */ - purpose: "MAIL" | "OTHER" | "PHYSICAL" | "REGISTERED" | "WORK"; - [k: string]: unknown; - } - >; - [k: string]: unknown; + physicalAddresses: (CommonPhysicalAddress & { + /** + * Enumeration of values indicating the purpose of the physical address. + */ + purpose: "MAIL" | "OTHER" | "PHYSICAL" | "REGISTERED" | "WORK"; + })[]; }; - person?: { - /** - * For people with single names this field need not be present. The single name should be in the lastName field. Where a data holder cannot determine first and middle names from a collection of given names, a single string representing all given names MAY be provided. - */ - firstName?: string | null; - /** - * For people with single names the single name should be in this field - */ - lastName: string; - /** - * The date and time that this record was last updated by the customer. If no update has occurred then this date should reflect the initial creation date for the data - */ - lastUpdateTime?: string | null; - /** - * Field is mandatory but array may be empty - */ - middleNames: string[]; - /** - * Value is a valid **[[ANZSCO]](#iref-ANZSCO)** Standard Occupation classification code. If the occupation code held by the data holder is not one of the supported **[[ANZSCO]](#iref-ANZSCO)** versions, then it must not be supplied. - */ - occupationCode?: string | null; - /** - * The applicable **[[ANZSCO]](#iref-ANZSCO)** release version of the occupation code provided. Mandatory if an ``occupationCode`` is supplied. If ``occupationCode`` is supplied but ``occupationCodeVersion`` is absent, default is ``ANZSCO_1220.0_2013_V1.2`` - */ - occupationCodeVersion?: - | ( - | "ANZSCO_1220.0_2006_V1.0" - | "ANZSCO_1220.0_2006_V1.1" - | "ANZSCO_1220.0_2013_V1.2" - | "ANZSCO_1220.0_2013_V1.3" - ) - | null; + person?: CommonPerson & { /** - * Also known as title or salutation. The prefix to the name (e.g. Mr, Mrs, Ms, Miss, Sir, etc) + * Array is mandatory but may be empty if no phone numbers are held. */ - prefix?: string | null; + phoneNumbers: CommonPhoneNumber[]; /** - * Used for a trailing suffix to the name (e.g. Jr) + * May be empty. */ - suffix?: string | null; - [k: string]: unknown; - } & { - /** - * Array is mandatory but may be empty if no phone numbers are held - */ - phoneNumbers: Array<{ - /** - * Required for non Mobile Phones, if field is present and refers to Australian code - the leading 0 should be omitted. - */ - areaCode?: string | null; - /** - * If absent, assumed to be Australia (+61). The + should be included - */ - countryCode?: string | null; - /** - * An extension number (if applicable) - */ - extension?: string | null; - /** - * Fully formatted phone number with country code, area code, number and extension incorporated. Formatted according to section 5.1.4. of **[[RFC3966]](#iref-RFC3966)** - */ - fullNumber: string; - /** - * May be true for one and only one entry to indicate the preferred phone number. Assumed to be 'false' if not present - */ - isPreferred?: boolean | null; - /** - * The actual phone number, with leading zeros as appropriate - */ - number: string; - /** - * The purpose of the number as specified by the customer - */ - purpose: "HOME" | "INTERNATIONAL" | "MOBILE" | "OTHER" | "UNSPECIFIED" | "WORK"; - [k: string]: unknown; - }>; + emailAddresses: CommonEmailAddress[]; /** - * May be empty + * Array is mandatory but may be empty if no valid addresses are held. One and only one address may have the purpose of `REGISTERED`. Zero or one, and no more than one, record may have the purpose of `MAIL`. If zero then the `REGISTERED` address is to be used for mail. */ - emailAddresses: Array<{ + physicalAddresses: (CommonPhysicalAddress & { /** - * A correctly formatted email address, as defined by the addr-spec format in **[[RFC5322]](#nref-RFC5322)** + * Enumeration of values indicating the purpose of the physical address. */ - address: string; - /** - * May be true for one and only one email record in the collection. Denotes the default email address - */ - isPreferred?: boolean | null; - /** - * The purpose for the email, as specified by the customer (Enumeration) - */ - purpose: "HOME" | "OTHER" | "UNSPECIFIED" | "WORK"; - [k: string]: unknown; - }>; - /** - * Array is mandatory but may be empty if no valid addresses are held. One and only one address may have the purpose of REGISTERED. Zero or one, and no more than one, record may have the purpose of MAIL. If zero then the REGISTERED address is to be used for mail - */ - physicalAddresses: Array< - { - /** - * The type of address object present - */ - addressUType: "paf" | "simple"; - /** - * Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) - */ - paf?: { - /** - * Building/Property name 1 - */ - buildingName1?: string | null; - /** - * Building/Property name 2 - */ - buildingName2?: string | null; - /** - * Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier - */ - dpid?: string | null; - /** - * Unit number (including suffix, if applicable) - */ - flatUnitNumber?: string | null; - /** - * Type of flat or unit for the address - */ - flatUnitType?: string | null; - /** - * Floor or level number (including alpha characters) - */ - floorLevelNumber?: string | null; - /** - * Type of floor or level for the address - */ - floorLevelType?: string | null; - /** - * Full name of locality - */ - localityName: string; - /** - * Allotment number for the address - */ - lotNumber?: string | null; - /** - * Postal delivery number if the address is a postal delivery type - */ - postalDeliveryNumber?: number | null; - /** - * Postal delivery number prefix related to the postal delivery number - */ - postalDeliveryNumberPrefix?: string | null; - /** - * Postal delivery number suffix related to the postal delivery number - */ - postalDeliveryNumberSuffix?: string | null; - /** - * Postal delivery type. (eg. PO BOX). Valid enumeration defined by Australia Post PAF code file - */ - postalDeliveryType?: string | null; - /** - * Postcode for the locality - */ - postcode: string; - /** - * State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT - */ - state: string; - /** - * The name of the street - */ - streetName?: string | null; - /** - * The street type suffix. Valid enumeration defined by Australia Post PAF code file - */ - streetSuffix?: string | null; - /** - * The street type. Valid enumeration defined by Australia Post PAF code file - */ - streetType?: string | null; - /** - * Thoroughfare number for a property (first number in a property ranged address) - */ - thoroughfareNumber1?: number | null; - /** - * Suffix for the thoroughfare number. Only relevant is thoroughfareNumber1 is populated - */ - thoroughfareNumber1Suffix?: string | null; - /** - * Second thoroughfare number (only used if the property has a ranged address eg 23-25) - */ - thoroughfareNumber2?: number | null; - /** - * Suffix for the second thoroughfare number. Only relevant is thoroughfareNumber2 is populated - */ - thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; - }; - simple?: { - /** - * First line of the standard address object - */ - addressLine1: string; - /** - * Second line of the standard address object - */ - addressLine2?: string | null; - /** - * Third line of the standard address object - */ - addressLine3?: string | null; - /** - * Name of the city or locality - */ - city: string; - /** - * A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (AUS) is assumed if country is not present. - */ - country?: string | null; - /** - * Name of the individual or business formatted for inclusion in an address used for physical mail - */ - mailingName?: string | null; - /** - * Mandatory for Australian addresses - */ - postcode?: string | null; - /** - * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT - */ - state: string; - [k: string]: unknown; - }; - [k: string]: unknown; - } & { - /** - * Enumeration of values indicating the purpose of the physical address - */ - purpose: "MAIL" | "OTHER" | "PHYSICAL" | "REGISTERED" | "WORK"; - [k: string]: unknown; - } - >; - [k: string]: unknown; + purpose: "MAIL" | "OTHER" | "PHYSICAL" | "REGISTERED" | "WORK"; + })[]; }; - [k: string]: unknown; }; - links: { - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta?: { - [k: string]: unknown; - }; - [k: string]: unknown; + links: Links; + meta?: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ export interface ResponseCommonDiscoveryStatus { data: { /** - * The date and time that the current outage was detected. Should only be present if the status property is PARTIAL_FAILURE or UNAVAILABLE + * The date and time that the current outage was detected. Should only be present if the status property is `PARTIAL_FAILURE` or `UNAVAILABLE`. */ detectionTime?: string | null; /** - * The date and time that full service is expected to resume (if known). Should not be present if the status property has a value of OK. + * The date and time that full service is expected to resume (if known). Should not be present if the status property has a value of `OK`. */ expectedResolutionTime?: string | null; /** - * Provides an explanation of the current outage that can be displayed to an end customer. Mandatory if the status property is any value other than OK + * Provides an explanation of the current outage that can be displayed to an end customer. Mandatory if the status property is any value other than `OK`. */ explanation?: string | null; /** - * Enumeration with values. OK (implementation is fully functional). PARTIAL_FAILURE (one or more end points are unexpectedly unavailable). UNAVAILABLE (the full implementation is unexpectedly unavailable). SCHEDULED_OUTAGE (an advertised outage is in effect) + * Enumeration with values: */ status: "OK" | "PARTIAL_FAILURE" | "SCHEDULED_OUTAGE" | "UNAVAILABLE"; /** * The date and time that this status was last updated by the Data Holder. */ updateTime: string; - [k: string]: unknown; - }; - links: { - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta?: { - [k: string]: unknown; }; - [k: string]: unknown; + links: Links; + meta?: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ export interface ResponseDiscoveryOutagesList { data: { /** - * List of scheduled outages. Property is mandatory but may contain and empty list if no outages are scheduled + * List of scheduled outages. Property is mandatory but may contain an empty list if no outages are scheduled. */ - outages: Array<{ - /** - * Planned duration of the outage. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - duration: string; - /** - * Provides an explanation of the current outage that can be displayed to an end customer - */ - explanation: string; - /** - * Flag that indicates, if present and set to true, that the outage is only partial meaning that only a subset of normally available end points will be affected by the outage - */ - isPartial?: boolean | null; - /** - * Date and time that the outage is scheduled to begin - */ - outageTime: string; - [k: string]: unknown; - }>; - [k: string]: unknown; + outages: DiscoveryOutage[]; }; - links: { - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta?: { - [k: string]: unknown; - }; - [k: string]: unknown; + links: Links; + meta?: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the common api. */ export interface ResponseErrorListV2 { - errors: Array<{ - /** - * The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the meta object. Otherwise, the value is the error code URN. - */ - code: string; - /** - * A human-readable explanation specific to this occurrence of the problem. - */ - detail: string; - /** - * Additional data for customised error codes - */ - meta?: { - /** - * The CDR error code URN which the application-specific error code extends. Mandatory if the error `code` is an application-specific error rather than a standardised error code. - */ - urn?: string | null; - [k: string]: unknown; - }; - /** - * A short, human-readable summary of the problem that MUST NOT change from occurrence to occurrence of the problem represented by the error code. - */ - title: string; - [k: string]: unknown; - }>; - [k: string]: unknown; + /** + * List of errors. + */ + errors: ErrorV2[]; } diff --git a/types/consumer-data-standards/dcr/index.d.ts b/types/consumer-data-standards/dcr/index.d.ts index 783a4c31988829..87686464bb8f22 100644 --- a/types/consumer-data-standards/dcr/index.d.ts +++ b/types/consumer-data-standards/dcr/index.d.ts @@ -2,160 +2,43 @@ export type ClientRegistration = { /** - * Contains the identifier for the ADR Software Product (SoftwareProductId) as defined in the CDR Register + * Contains the identifier for the ADR Software Product (SoftwareProductId) as defined in the CDR Register. */ iss: string; /** - * The time at which the request was issued by the Data Recipient expressed as seconds since 1970-01-01T00:00:00Z as measured in UTC + * The time at which the request was issued by the Data Recipient expressed as seconds since 1970-01-01T00:00:00Z as measured in UTC. */ iat: number; /** - * The time at which the request expires expressed as seconds since 1970-01-01T00:00:00Z as measured in UTC + * The time at which the request expires expressed as seconds since 1970-01-01T00:00:00Z as measured in UTC. */ exp: number; /** - * Unique identifier for the JWT, used to prevent replay of the token + * Unique identifier for the JWT, used to prevent replay of the token. */ jti: string; /** - * Contains the Data Holder issuer value as described in the OIDC Discovery Document + * Contains the Data Holder issuer value as described in the OIDC Discovery Document. */ aud: string; - [k: string]: unknown; -} & { - /** - * Kind of the application. The only supported application type will be `web` - */ - application_type?: "web" | null; - /** - * Human-readable string name of the software product description to be presented to the end user during authorization - */ - client_description: string; - /** - * Data Holder issued client identifier string - */ - client_id: string; - /** - * Time at which the client identifier was issued expressed as seconds since 1970-01-01T00:00:00Z as measured in UTC - */ - client_id_issued_at?: number | null; - /** - * Human-readable string name of the software product to be presented to the end-user during authorization - */ - client_name: string; - /** - * URL string of a web page providing information about the client - */ - client_uri: string; - /** - * Array of OAuth 2.0 grant type strings that the client can use at the token endpoint - */ - grant_types: Array<"client_credentials" | "authorization_code" | "refresh_token">; - /** - * JWE `alg` algorithm with which an id_token is to be encrypted. Required if OIDC Hybrid Flow (response type `code id_token`) is registered. - */ - id_token_encrypted_response_alg: string; - /** - * JWE `enc` algorithm with which an id_token is to be encrypted - */ - id_token_encrypted_response_enc: string; - /** - * Algorithm with which an id_token is to be signed - */ - id_token_signed_response_alg?: ("PS256" | "ES256") | null; - /** - * URL string referencing the client JSON Web Key (JWK) Set **[[RFC7517]](#nref-RFC7517)** document, which contains the client public keys - */ - jwks_uri: string; - /** - * A unique identifier string assigned by the CDR Register that identifies the Accredited Data Recipient Legal Entity - */ - legal_entity_id?: string | null; - /** - * Human-readable string name of the Accredited Data Recipient Legal Entity - */ - legal_entity_name?: string | null; - /** - * URL string that references a logo for the client. If present, the server SHOULD display this image to the end-user during approval - */ - logo_uri: string; - /** - * A unique identifier string assigned by the CDR Register that identifies the Accredited Data Recipient Brand - */ - org_id: string; - /** - * Human-readable string name of the Accredited Data Recipient to be presented to the end user during authorization - */ - org_name: string; - /** - * URL string that points to a human-readable policy document for the Software Product - */ - policy_uri?: string | null; - /** - * Base URI for the Consumer Data Standard Data Recipient endpoints. This should be the base to provide reference to all other Data Recipient Endpoints - */ - recipient_base_uri?: string | null; - /** - * Array of redirection URI strings for use in redirect-based flows. If used, redirect_uris MUST match or be a subset of the redirect_uris as defined in the SSA - */ - redirect_uris: string[]; - /** - * Algorithm which the ADR expects to sign the request object if a request object will be part of the authorization request sent to the Data Holder - */ - request_object_signing_alg: "PS256" | "ES256"; - /** - * Array of the OAuth 2.0 response type strings that the client can use at the authorization endpoint. - */ - response_types: Array<"code id_token">; - /** - * URI string that references the location of the Software Product consent revocation endpoint - */ - revocation_uri?: string | null; - /** - * String containing a space-separated list of scope values that the client can use when requesting access tokens. - */ - scope: string; - /** - * URL string referencing the client sector identifier URI, used as an optional input to the Pairwise Identifier - */ - sector_identifier_uri?: string | null; - /** - * String representing a unique identifier assigned by the Register and used by registration endpoints to identify the software product to be dynamically registered.

The "software_id" will remain the same for the lifetime of the product, across multiple updates and versions - */ - software_id: string; - /** - * String containing a role of the software in the CDR Regime. Initially the only value used with be `data-recipient-software-product` - */ - software_roles?: string | null; - /** - * The Software Statement Assertion, as defined in CDR standards - */ - software_statement: string; - /** - * The requested authentication method for the token endpoint - */ - token_endpoint_auth_method: "private_key_jwt"; - /** - * The algorithm used for signing the JWT - */ - token_endpoint_auth_signing_alg: "PS256" | "ES256"; - /** - * URL string that points to a human-readable terms of service document for the Software Product - */ - tos_uri?: string | null; - [k: string]: unknown; -}; +} & RegistrationProperties; /* These are the schema definitions stipulated by the Data Standards Body for the dcr api. */ /** - * The registration request JWT to be used to register with a Data Holder. + * The registration request JWT to be used to register with a Data Holder. The schema of the payload section of the decoded string(JWT) is defined in [ClientRegistration](#cdr-dynamic-client-registration-api_schemas_tocSclientregistration). */ export type ClientRegistrationRequest = string; /* These are the schema definitions stipulated by the Data Standards Body for the dcr api. */ +/** + * The registration request JWT to be used to register with a Data Holder. The schema of the payload section of the decoded string(JWT) is defined in [ClientRegistration](#cdr-dynamic-client-registration-api_schemas_tocSclientregistration). + */ +export type ClientRegistrationRequestV1 = string; +/* These are the schema definitions stipulated by the Data Standards Body for the dcr api. */ + export interface RegistrationError { /** - * Predefined error code as described in [section 3.3 OIDC Dynamic Client Registration](https://openid.net/specs/openid-connect-registration-1_0.html) + * Predefined error code as described in [section 3.3 OIDC Dynamic Client Registration](https://openid.net/specs/openid-connect-registration-1_0.html). */ error: | "invalid_redirect_uri" @@ -166,109 +49,108 @@ export interface RegistrationError { * Additional text description of the error for debugging. */ error_description?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the dcr api. */ export interface RegistrationProperties { /** - * Kind of the application. The only supported application type will be `web` + * Kind of the application. The only supported application type will be `web`. */ application_type?: "web" | null; /** - * The JWE `alg` algorithm required for encrypting authorization responses. If unspecified, the default is that no encryption is performed.

Required if “authorization_encrypted_response_enc” is included. + * The JWE _alg_ algorithm required for encrypting authorization responses. If unspecified, the default is that no encryption is performed.

Required if _authorization_encrypted_response_enc_ is included. */ authorization_encrypted_response_alg?: ("RSA-OAEP" | "RSA-OAEP-256") | null; /** - * The JWE `enc` algorithm required for encrypting authorization responses. If “authorization_encrypted_response_alg” is specified, the default for this value is “A128CBC-HS256”. + * The JWE _enc_ algorithm required for encrypting authorization responses. If _authorization_encrypted_response_alg_ is specified, the default for this value is `A128CBC-HS256`. */ authorization_encrypted_response_enc?: ("A256GCM" | "A128CBC-HS256") | null; /** - * The JWS `alg` algorithm required for signing authorization responses. If this is specified, the response will be signed using JWS and the configured algorithm. The algorithm “none” is not allowed.

Required if response_type of “code” is registered by the client. + * The JWS _alg_ algorithm required for signing authorization responses. If this is specified, the response will be signed using JWS and the configured algorithm. The algorithm `none` is not allowed.

Required if _response_type_ of `code` is registered by the client. */ authorization_signed_response_alg?: ("PS256" | "ES256") | null; /** - * Human-readable string name of the software product description to be presented to the end user during authorization + * Human-readable string name of the software product description to be presented to the end user during authorization. */ client_description: string; /** - * Data Holder issued client identifier string + * Data Holder issued client identifier string. */ client_id: string; /** - * Time at which the client identifier was issued expressed as seconds since 1970-01-01T00:00:00Z as measured in UTC + * Time at which the client identifier was issued expressed as seconds since 1970-01-01T00:00:00Z as measured in UTC. */ client_id_issued_at?: number | null; /** - * Human-readable string name of the software product to be presented to the end-user during authorization + * Human-readable string name of the software product to be presented to the end-user during authorization. */ client_name: string; /** - * URL string of a web page providing information about the client + * URL string of a web page providing information about the client. */ client_uri: string; /** - * Array of OAuth 2.0 grant type strings that the client can use at the token endpoint + * Array of OAuth 2.0 grant type strings that the client can use at the token endpoint. */ - grant_types: Array<"client_credentials" | "authorization_code" | "refresh_token">; + grant_types: ("client_credentials" | "authorization_code" | "refresh_token")[]; /** - * JWE `alg` algorithm with which an id_token is to be encrypted. Required if OIDC Hybrid Flow (response type `code id_token`) is registered. + * JWE _alg_ algorithm with which an id_token is to be encrypted.

Required only if OIDC Hybrid Flow (_response_type_: `code id_token`) is registered. */ - id_token_encrypted_response_alg: string; + id_token_encrypted_response_alg?: string | null; /** - * JWE `enc` algorithm with which an id_token is to be encrypted + * JWE `enc` algorithm with which an id_token is to be encrypted.

Required only if OIDC Hybrid Flow (_response_type_: `code id_token`) is registered. */ - id_token_encrypted_response_enc: string; + id_token_encrypted_response_enc?: string | null; /** - * Algorithm with which an id_token is to be signed + * Algorithm with which an id_token is to be signed. */ id_token_signed_response_alg: "PS256" | "ES256"; /** - * URL string referencing the client JSON Web Key (JWK) Set **[[RFC7517]](#nref-RFC7517)** document, which contains the client public keys + * URL string referencing the client JSON Web Key (JWK) Set **[[RFC7517]](#nref-RFC7517)** document, which contains the client public keys. */ jwks_uri: string; /** - * A unique identifier string assigned by the CDR Register that identifies the Accredited Data Recipient Legal Entity + * A unique identifier string assigned by the CDR Register that identifies the Accredited Data Recipient Legal Entity. */ legal_entity_id?: string | null; /** - * Human-readable string name of the Accredited Data Recipient Legal Entity + * Human-readable string name of the Accredited Data Recipient Legal Entity. */ legal_entity_name?: string | null; /** - * URL string that references a logo for the client. If present, the server SHOULD display this image to the end-user during approval + * URL string that references a logo for the client. If present, the server **SHOULD** display this image to the end-user during approval. */ logo_uri: string; /** - * A unique identifier string assigned by the CDR Register that identifies the Accredited Data Recipient Brand + * A unique identifier string assigned by the CDR Register that identifies the Accredited Data Recipient Brand. */ org_id: string; /** - * Human-readable string name of the Accredited Data Recipient to be presented to the end user during authorization + * Human-readable string name of the Accredited Data Recipient to be presented to the end user during authorization. */ org_name: string; /** - * URL string that points to a human-readable policy document for the Software Product + * URL string that points to a human-readable policy document for the Software Product. */ policy_uri?: string | null; /** - * Base URI for the Consumer Data Standard Data Recipient endpoints. This should be the base to provide reference to all other Data Recipient Endpoints + * Base URI for the Consumer Data Standard Data Recipient endpoints. This should be the base to provide reference to all other Data Recipient Endpoints. */ recipient_base_uri?: string | null; /** - * Array of redirection URI strings for use in redirect-based flows. If used, redirect_uris MUST match or be a subset of the redirect_uris as defined in the SSA + * Array of redirection URI strings for use in redirect-based flows. If used, _redirect_uris_ **MUST** match or be a subset of the _redirect_uris_ as defined in the SSA. */ redirect_uris: string[]; /** - * Algorithm which the ADR expects to sign the request object if a request object will be part of the authorization request sent to the Data Holder + * Algorithm which the ADR expects to sign the request object if a request object will be part of the authorization request sent to the Data Holder. */ request_object_signing_alg: "PS256" | "ES256"; /** - * Array of the OAuth 2.0 response type strings that the client can use at the authorization endpoint.

Response type value `code` is required for Authorization Code Flow. Response type value `code id_token` is required for OIDC Hybrid Flow. + * Array of the OAuth 2.0 _response_type_ strings that the client can use at the authorization endpoint.

_response_type_ value `code` is required for Authorization Code Flow.
_response_type_ value `code id_token` is required for OIDC Hybrid Flow. */ - response_types: Array<"code" | "code id_token">; + response_types: ("code" | "code id_token")[]; /** - * URI string that references the location of the Software Product consent revocation endpoint + * URI string that references the location of the Software Product consent revocation endpoint. */ revocation_uri?: string | null; /** @@ -276,32 +158,31 @@ export interface RegistrationProperties { */ scope: string; /** - * URL string referencing the client sector identifier URI, used as an optional input to the Pairwise Identifier + * URL string referencing the client sector identifier URI, used as an optional input to the Pairwise Identifier. */ sector_identifier_uri?: string | null; /** - * String representing a unique identifier assigned by the Register and used by registration endpoints to identify the software product to be dynamically registered.

The "software_id" will remain the same for the lifetime of the product, across multiple updates and versions + * String representing a unique identifier assigned by the Register and used by registration endpoints to identify the software product to be dynamically registered.

The _software_id_ will remain the same for the lifetime of the product, across multiple updates and versions. */ software_id: string; /** - * String containing a role of the software in the CDR Regime. Initially the only value used with be `data-recipient-software-product` + * String containing a role of the software in the CDR Regime. Initially the only value used will be `data-recipient-software-product`. */ software_roles?: "data-recipient-software-product" | null; /** - * The Software Statement Assertion, as defined in CDR standards + * The Software Statement Assertion, as defined in the CDR Data Standards. */ software_statement: string; /** - * The requested authentication method for the token endpoint + * The requested authentication method for the token endpoint. */ token_endpoint_auth_method: "private_key_jwt"; /** - * The algorithm used for signing the JWT + * The algorithm used for signing the JWT. */ token_endpoint_auth_signing_alg: "PS256" | "ES256"; /** - * URL string that points to a human-readable terms of service document for the Software Product + * URL string that points to a human-readable terms of service document for the Software Product. */ tos_uri?: string | null; - [k: string]: unknown; } diff --git a/types/consumer-data-standards/energy/index.d.ts b/types/consumer-data-standards/energy/index.d.ts index 93179286ef6533..611914e5f33728 100644 --- a/types/consumer-data-standards/energy/index.d.ts +++ b/types/consumer-data-standards/energy/index.d.ts @@ -1,333 +1,390 @@ -/** These are the schema definitions stipulated by the Data Standards Body for the energy api. */ +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + /** - * Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). Required if addressUType is set to paf + * Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). Required if _addressUType_ is set to `paf`. */ export interface CommonPAFAddress { /** - * Building/Property name 1 + * Building/Property name 1. */ buildingName1?: string | null; /** - * Building/Property name 2 + * Building/Property name 2. */ buildingName2?: string | null; /** - * Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier + * Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier. */ dpid?: string | null; /** - * Unit number (including suffix, if applicable) + * Unit number (including suffix, if applicable). */ flatUnitNumber?: string | null; /** - * Type of flat or unit for the address + * Type of flat or unit for the address. */ flatUnitType?: string | null; /** - * Floor or level number (including alpha characters) + * Floor or level number (including alpha characters). */ floorLevelNumber?: string | null; /** - * Type of floor or level for the address + * Type of floor or level for the address. */ floorLevelType?: string | null; /** - * Full name of locality + * Full name of locality. */ localityName: string; /** - * Allotment number for the address + * Allotment number for the address. */ lotNumber?: string | null; /** - * Postal delivery number if the address is a postal delivery type + * Postal delivery number if the address is a postal delivery type. */ postalDeliveryNumber?: number | null; /** - * Postal delivery number prefix related to the postal delivery number + * Postal delivery number prefix related to the postal delivery number. */ postalDeliveryNumberPrefix?: string | null; /** - * Postal delivery number suffix related to the postal delivery number + * Postal delivery number suffix related to the postal delivery number. */ postalDeliveryNumberSuffix?: string | null; /** - * Postal delivery type. (eg. PO BOX). Valid enumeration defined by Australia Post PAF code file + * Postal delivery type. (e.g., PO BOX). Valid enumeration defined by Australia Post PAF code file. */ postalDeliveryType?: string | null; /** - * Postcode for the locality + * Postcode for the locality. */ postcode: string; /** - * State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT + * State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). `NSW`, `QLD`, `VIC`, `NT`, `WA`, `SA`, `TAS`, `ACT`, `AAT`. */ state: string; /** - * The name of the street + * The name of the street. */ streetName?: string | null; /** - * The street type suffix. Valid enumeration defined by Australia Post PAF code file + * The street type suffix. Valid enumeration defined by Australia Post PAF code file. */ streetSuffix?: string | null; /** - * The street type. Valid enumeration defined by Australia Post PAF code file + * The street type. Valid enumeration defined by Australia Post PAF code file. */ streetType?: string | null; /** - * Thoroughfare number for a property (first number in a property ranged address) + * Thoroughfare number for a property (first number in a property ranged address). */ thoroughfareNumber1?: number | null; /** - * Suffix for the thoroughfare number. Only relevant is thoroughfareNumber1 is populated + * Suffix for the thoroughfare number. Only relevant if _thoroughfareNumber1_ is populated. */ thoroughfareNumber1Suffix?: string | null; /** - * Second thoroughfare number (only used if the property has a ranged address eg 23-25) + * Second thoroughfare number (only used if the property has a ranged address e.g., 23-25). */ thoroughfareNumber2?: number | null; /** - * Suffix for the second thoroughfare number. Only relevant is thoroughfareNumber2 is populated + * Suffix for the second thoroughfare number. Only relevant if _thoroughfareNumber2_ is populated. */ thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface CommonPhysicalAddress { /** - * The type of address object present + * The type of address object present. */ addressUType: "paf" | "simple"; - /** - * Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). Required if addressUType is set to paf - */ - paf?: { - /** - * Building/Property name 1 - */ - buildingName1?: string | null; - /** - * Building/Property name 2 - */ - buildingName2?: string | null; - /** - * Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier - */ - dpid?: string | null; - /** - * Unit number (including suffix, if applicable) - */ - flatUnitNumber?: string | null; - /** - * Type of flat or unit for the address - */ - flatUnitType?: string | null; - /** - * Floor or level number (including alpha characters) - */ - floorLevelNumber?: string | null; - /** - * Type of floor or level for the address - */ - floorLevelType?: string | null; - /** - * Full name of locality - */ - localityName: string; - /** - * Allotment number for the address - */ - lotNumber?: string | null; - /** - * Postal delivery number if the address is a postal delivery type - */ - postalDeliveryNumber?: number | null; - /** - * Postal delivery number prefix related to the postal delivery number - */ - postalDeliveryNumberPrefix?: string | null; - /** - * Postal delivery number suffix related to the postal delivery number - */ - postalDeliveryNumberSuffix?: string | null; - /** - * Postal delivery type. (eg. PO BOX). Valid enumeration defined by Australia Post PAF code file - */ - postalDeliveryType?: string | null; - /** - * Postcode for the locality - */ - postcode: string; - /** - * State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT - */ - state: string; - /** - * The name of the street - */ - streetName?: string | null; - /** - * The street type suffix. Valid enumeration defined by Australia Post PAF code file - */ - streetSuffix?: string | null; - /** - * The street type. Valid enumeration defined by Australia Post PAF code file - */ - streetType?: string | null; - /** - * Thoroughfare number for a property (first number in a property ranged address) - */ - thoroughfareNumber1?: number | null; - /** - * Suffix for the thoroughfare number. Only relevant is thoroughfareNumber1 is populated - */ - thoroughfareNumber1Suffix?: string | null; - /** - * Second thoroughfare number (only used if the property has a ranged address eg 23-25) - */ - thoroughfareNumber2?: number | null; - /** - * Suffix for the second thoroughfare number. Only relevant is thoroughfareNumber2 is populated - */ - thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; - }; - /** - * Required if addressUType is set to simple - */ - simple?: { - /** - * First line of the standard address object - */ - addressLine1: string; - /** - * Second line of the standard address object - */ - addressLine2?: string | null; - /** - * Third line of the standard address object - */ - addressLine3?: string | null; - /** - * Name of the city or locality - */ - city: string; - /** - * A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (AUS) is assumed if country is not present. - */ - country?: string | null; - /** - * Name of the individual or business formatted for inclusion in an address used for physical mail - */ - mailingName?: string | null; - /** - * Mandatory for Australian addresses - */ - postcode?: string | null; - /** - * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT - */ - state: string; - [k: string]: unknown; - }; - [k: string]: unknown; + paf?: CommonPAFAddress; + simple?: CommonSimpleAddress; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ /** - * Required if addressUType is set to simple + * Required if _addressUType_ is set to `simple`. */ export interface CommonSimpleAddress { /** - * First line of the standard address object + * First line of the standard address object. */ addressLine1: string; /** - * Second line of the standard address object + * Second line of the standard address object. */ addressLine2?: string | null; /** - * Third line of the standard address object + * Third line of the standard address object. */ addressLine3?: string | null; /** - * Name of the city or locality + * Name of the city or locality. */ city: string; /** - * A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (AUS) is assumed if country is not present. + * A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (`AUS`) is assumed if country is not present. */ country?: string | null; /** - * Name of the individual or business formatted for inclusion in an address used for physical mail + * Name of the individual or business formatted for inclusion in an address used for physical mail. */ mailingName?: string | null; /** - * Mandatory for Australian addresses + * Mandatory for Australian addresses. */ postcode?: string | null; /** - * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT + * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. `NSW`, `QLD`, `VIC`, `NT`, `WA`, `SA`, `TAS`, `ACT`, `AAT`. */ state: string; - [k: string]: unknown; } - /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface EnergyAccountBaseV2 { /** - * The ID of the account. To be created in accordance with CDR ID permanence requirements + * Unique identifier for the account. */ accountId: string; /** - * Optional identifier of the account as defined by the data holder. This must be the value presented on physical statements (if it exists) and must not be used for the value of accountId + * Optional identifier of the account as defined by the data holder. This must be the value presented on physical statements (if it exists) and must not be used for the value of _accountId_. */ accountNumber?: string | null; /** - * The date that the account was created or opened. Mandatory if openStatus is OPEN + * The date that the account was created or opened. Mandatory if _openStatus_ is `OPEN`. */ creationDate?: string | null; /** - * An optional display name for the account if one exists or can be derived. The content of this field is at the discretion of the data holder + * An optional display name for the account if one exists or can be derived. The content of this field is at the discretion of the data holder. */ displayName?: string | null; /** - * Open or closed status for the account. If not present then OPEN is assumed + * Open or closed status for the account. If not present then `OPEN` is assumed. */ openStatus?: ("CLOSED" | "OPEN") | null; - [k: string]: unknown; } - /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface EnergyAccountDetailResponseV2 { - data: EnergyAccountDetailV2; - links: Links; - meta: Meta; - [k: string]: unknown; -} - export interface EnergyAccountDetailResponseV3 { - data: EnergyAccountDetailV3; + data: EnergyAccountBaseV2 & { + /** + * The array of plans containing service points and associated plan details + */ + plans: { + /** + * Optional display name for the plan provided by the customer to help differentiate multiple plans + */ + nickname?: string; + /** + * An array of servicePointIds, representing NMIs, that this account is linked to + */ + servicePointIds: string[]; + /** + * Mandatory if openStatus is OPEN + */ + planOverview?: { + /** + * The name of the plan if one exists + */ + displayName?: string; + /** + * The start date of the applicability of this plan + */ + startDate: string; + /** + * The end date of the applicability of this plan + */ + endDate?: string; + }; + /** + * Detail on the plan applicable to this account. Mandatory if openStatus is OPEN + */ + planDetail?: { + /** + * The fuel types covered by the plan + */ + fuelType: "ELECTRICITY" | "GAS" | "DUAL"; + /** + * Flag that indicates that the plan is contingent on the customer taking up an alternate fuel plan from the same retailer (for instance, if the fuelType is ELECTRICITY then a GAS plan from the same retailer must be taken up). Has no meaning if the plan has a fuelType of DUAL. If absent the value is assumed to be false + */ + isContingentPlan?: boolean; + /** + * Charges for metering included in the plan + */ + meteringCharges?: { + /** + * Display name of the charge + */ + displayName: string; + /** + * Description of the charge + */ + description?: string; + /** + * Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified + */ + minimumValue: string; + /** + * The upper limit of the charge if the charge could occur in a range + */ + maximumValue?: string; + /** + * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + */ + period?: string; + }[]; + gasContract?: EnergyPlanContractV2; + electricityContract?: EnergyPlanContractV2; + }; + /** + * An array of additional contacts that are authorised to act on this account + */ + authorisedContacts?: { + /** + * For people with single names this field need not be present. The single name should be in the lastName field + */ + firstName?: string; + /** + * For people with single names the single name should be in this field + */ + lastName: string; + /** + * Field is mandatory but array may be empty + */ + middleNames?: string[]; + /** + * Also known as title or salutation. The prefix to the name (e.g. Mr, Mrs, Ms, Miss, Sir, etc) + */ + prefix?: string; + /** + * Used for a trailing suffix to the name (e.g. Jr) + */ + suffix?: string; + }[]; + }[]; + }; links: Links; - meta: Meta; - [k: string]: unknown; + meta?: Meta; } +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + export interface EnergyAccountDetailResponseV4 { - data: EnergyAccountDetailV4; + data: EnergyAccountBaseV2 & { + /** + * The array of plans containing service points and associated plan details. + */ + plans: { + /** + * Optional display name for the plan provided by the customer to help differentiate multiple plans. + */ + nickname?: string; + /** + * An array of _servicePointId_ values, representing NMIs, that this account is linked to. + */ + servicePointIds: string[]; + /** + * Mandatory if _openStatus_ is `OPEN`. + */ + planOverview?: { + /** + * The name of the plan if one exists. + */ + displayName?: string; + /** + * The start date of the applicability of this plan. + */ + startDate: string; + /** + * The end date of the applicability of this plan. + */ + endDate?: string; + }; + /** + * Detail on the plan applicable to this account. Mandatory if _openStatus_ is `OPEN`. + */ + planDetail?: { + /** + * The fuel types covered by the plan. + */ + fuelType: "ELECTRICITY" | "GAS" | "DUAL"; + /** + * Flag that indicates that the plan is contingent on the customer taking up an alternate fuel plan from the same retailer (for instance, if the _fuelType_ is `ELECTRICITY` then a `GAS` plan from the same retailer must be taken up). Has no meaning if the plan has a _fuelType_ of `DUAL`. If absent the value is assumed to be `false`. + */ + isContingentPlan?: boolean; + /** + * Charges for metering included in the plan. + */ + meteringCharges?: { + /** + * Display name of the charge. + */ + displayName: string; + /** + * Description of the charge. + */ + description?: string; + /** + * Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified. + */ + minimumValue: string; + /** + * The upper limit of the charge if the charge could occur in a range. + */ + maximumValue?: string; + /** + * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). + */ + period?: string; + }[]; + /** + * The details of the terms for the supply of electricity under this plan. Is mandatory if _fuelType_ is set to `GAS` or `DUAL`. + */ + gasContract?: EnergyPlanContractV3; + /** + * The details of the terms for the supply of electricity under this plan. Is mandatory if _fuelType_ is set to `ELECTRICITY` or `DUAL`. + */ + electricityContract?: EnergyPlanContractV3; + }; + /** + * An array of additional contacts that are authorised to act on this account. + */ + authorisedContacts?: { + /** + * For people with single names this field need not be present. The single name should be in the _lastName_ field. + */ + firstName?: string; + /** + * For people with single names the single name should be in this field. + */ + lastName: string; + /** + * Field is mandatory but array may be empty. + */ + middleNames?: string[]; + /** + * Also known as title or salutation. The prefix to the name (e.g., Mr, Mrs, Ms, Miss, Sir, etc.) + */ + prefix?: string; + /** + * Used for a trailing suffix to the name (e.g., Jr.) + */ + suffix?: string; + }[]; + }[]; + }; links: Links; meta?: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface EnergyAccountDetailV2 extends EnergyAccountBaseV2 { +export type EnergyAccountDetailV3 = EnergyAccountBaseV2 & { /** * The array of plans containing service points and associated plan details */ - plans: Array<{ + plans: { /** * Optional display name for the plan provided by the customer to help differentiate multiple plans */ @@ -352,7 +409,6 @@ export interface EnergyAccountDetailV2 extends EnergyAccountBaseV2 { * The end date of the applicability of this plan */ endDate?: string; - [k: string]: unknown; }; /** * Detail on the plan applicable to this account. Mandatory if openStatus is OPEN @@ -369,7 +425,7 @@ export interface EnergyAccountDetailV2 extends EnergyAccountBaseV2 { /** * Charges for metering included in the plan */ - meteringCharges?: Array<{ + meteringCharges?: { /** * Display name of the charge */ @@ -390,1968 +446,266 @@ export interface EnergyAccountDetailV2 extends EnergyAccountBaseV2 { * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) */ period?: string; - [k: string]: unknown; - }>; + }[]; + gasContract?: EnergyPlanContractV2; + electricityContract?: EnergyPlanContractV2; + }; + /** + * An array of additional contacts that are authorised to act on this account + */ + authorisedContacts?: { + /** + * For people with single names this field need not be present. The single name should be in the lastName field + */ + firstName?: string; + /** + * For people with single names the single name should be in this field + */ + lastName: string; /** - * The details of the terms for the supply of electricity under this plan. Is mandatory if fuelType is set to GAS or DUAL + * Field is mandatory but array may be empty + */ + middleNames?: string[]; + /** + * Also known as title or salutation. The prefix to the name (e.g. Mr, Mrs, Ms, Miss, Sir, etc) + */ + prefix?: string; + /** + * Used for a trailing suffix to the name (e.g. Jr) + */ + suffix?: string; + }[]; + }[]; +}; +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export type EnergyAccountDetailV4 = EnergyAccountBaseV2 & { + /** + * The array of plans containing service points and associated plan details. + */ + plans: { + /** + * Optional display name for the plan provided by the customer to help differentiate multiple plans. + */ + nickname?: string; + /** + * An array of _servicePointId_ values, representing NMIs, that this account is linked to. + */ + servicePointIds: string[]; + /** + * Mandatory if _openStatus_ is `OPEN`. + */ + planOverview?: { + /** + * The name of the plan if one exists. + */ + displayName?: string; + /** + * The start date of the applicability of this plan. + */ + startDate: string; + /** + * The end date of the applicability of this plan. + */ + endDate?: string; + }; + /** + * Detail on the plan applicable to this account. Mandatory if _openStatus_ is `OPEN`. + */ + planDetail?: { + /** + * The fuel types covered by the plan. + */ + fuelType: "ELECTRICITY" | "GAS" | "DUAL"; + /** + * Flag that indicates that the plan is contingent on the customer taking up an alternate fuel plan from the same retailer (for instance, if the _fuelType_ is `ELECTRICITY` then a `GAS` plan from the same retailer must be taken up). Has no meaning if the plan has a _fuelType_ of `DUAL`. If absent the value is assumed to be `false`. + */ + isContingentPlan?: boolean; + /** + * Charges for metering included in the plan. */ - gasContract?: { + meteringCharges?: { /** - * Free text field containing additional information of the fees for this contract + * Display name of the charge. */ - additionalFeeInformation?: string | null; + displayName: string; /** - * Required if pricing model is SINGLE_RATE_CONT_LOAD or TIME_OF_USE_CONT_LOAD or FLEXIBLE_CONT_LOAD + * Description of the charge. */ - controlledLoad?: Array<{ - /** - * A display name for the controlled load - */ - displayName: string; - /** - * Optional end date of the application of the controlled load rate - */ - endDate?: string; - /** - * Specifies the type of controlloed load rate - */ - rateBlockUType: "singleRate" | "timeOfUseRates"; - /** - * Object representing a single controlled load rate. Required if rateBlockUType is singleRate - */ - singleRate?: { - /** - * The daily supply charge (exclusive of GST) for this controlled load tier - */ - dailySupplyCharge?: string; - /** - * Description of the controlled load rate - */ - description?: string; - /** - * Display name of the controlled load rate - */ - displayName: string; - /** - * Array of controlled load rates in order of usage volume - */ - rates: Array<{ - /** - * The measurement unit of rate. Assumed to be KWH if absent - */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; - /** - * Unit price of usage per measure unit (exclusive of GST) - */ - unitPrice: string; - /** - * Volume in kWh that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period - */ - volume?: number; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - /** - * Optional start date of the application of the controlled load rate - */ - startDate?: string; - /** - * Array of objects representing time of use rates. Required if rateBlockUType is timeOfUseRates - */ - timeOfUseRates?: Array<{ - /** - * The daily supply charge (exclusive of GST) for this controlled load tier - */ - dailySupplyCharge?: string; - /** - * Description of the controlled load rate - */ - description?: string; - /** - * Display name of the controlled load rate - */ - displayName: string; - /** - * Array of controlled load rates in order of usage volume - */ - rates: Array<{ - /** - * The measurement unit of rate. Assumed to be KWH if absent - */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; - /** - * Unit price of usage per measure unit (exclusive of GST) - */ - unitPrice: string; - /** - * Volume in kWh that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period - */ - volume?: number; - [k: string]: unknown; - }>; - /** - * Array of times of use. - */ - timeOfUse: Array<{ - /** - * Display text providing more information on the contrlled load, for e.g. controlled load availability if specific day/time is not known. Required if startTime and endTime absent or if additionalInfoUri provided - */ - additionalInfo?: string; - /** - * Optional link to additional information regarding the controlled load - */ - additionalInfoUri?: string; - /** - * The days that the rate applies to - */ - days?: Array<"SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS">; - /** - * The end of the time period per day for which the controlled load rate applies. Required if startTime provided. - * - * Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. - */ - endTime?: string; - /** - * The beginning of the time period per day for which the controlled load rate applies. Required if endTime provided. - * - * Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. - */ - startTime?: string; - [k: string]: unknown; - }>; - /** - * The type of usage that the rate applies to - */ - type: "PEAK" | "OFF_PEAK" | "SHOULDER" | "SOLAR_SPONGE"; - [k: string]: unknown; - }>; - [k: string]: unknown; - }>; + description?: string; /** - * Optional list of discounts available for the contract + * Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified. */ - discounts?: Array<{ - /** - * The type of the discount. Mandatory if the discount type is CONDITIONAL - */ - category?: "PAY_ON_TIME" | "DIRECT_DEBIT" | "GUARANTEED_DISCOUNT" | "OTHER"; - /** - * The description of the discount - */ - description?: string; - /** - * The display name of the discount - */ - displayName: string; - /** - * Optional end date for the discount after which the discount is no longer available - */ - endDate?: string; - /** - * Required if methodUType is fixedAmount - */ - fixedAmount?: { - /** - * The amount of the discount - */ - amount: string; - [k: string]: unknown; - }; - /** - * The method of calculation of the discount - */ - methodUType: "percentOfBill" | "percentOfUse" | "fixedAmount" | "percentOverThreshold"; - /** - * Required if methodUType is percentOfBill - */ - percentOfBill?: { - /** - * The rate of the discount applied to the bill amount - */ - rate: string; - [k: string]: unknown; - }; - /** - * Required if methodUType is percentOfUse - */ - percentOfUse?: { - /** - * The rate of the discount applied to the usageamount - */ - rate: string; - [k: string]: unknown; - }; - /** - * Required if methodUType is percentOverThreshold - */ - percentOverThreshold?: { - /** - * The rate of the discount over the usage amount - */ - rate: string; - /** - * The usage amount threshold above which the discount applies - */ - usageAmount: string; - [k: string]: unknown; - }; - /** - * The type of the discount - */ - type: "CONDITIONAL" | "GUARANTEED" | "OTHER"; - [k: string]: unknown; - }>; - /** - * Eligibility restrictions or requirements - */ - eligibility?: Array<{ - /** - * A description of the eligibility restriction - */ - description?: string; - /** - * Information of the eligibility restriction specific to the type of the restriction - */ - information: string; - /** - * The type of the eligibility restriction.
The CONTINGENT_PLAN value indicates that the plan is contingent on the customer taking up an alternate fuel plan from the same retailer (for instance, if the fuelType is ELECTRICITY then a GAS plan from the same retailer must be taken up) - */ - type: - | "EXISTING_CUST" - | "EXISTING_POOL" - | "EXISTING_SOLAR" - | "EXISTING_BATTERY" - | "EXISTING_SMART_METER" - | "EXISTING_BASIC_METER" - | "SENIOR_CARD" - | "SMALL_BUSINESS" - | "NO_SOLAR_FIT" - | "NEW_CUSTOMER" - | "ONLINE_ONLY" - | "REQ_EQUIP_SUPPLIER" - | "THIRD_PARTY_ONLY" - | "SPORT_CLUB_MEMBER" - | "ORG_MEMBER" - | "SPECIFIC_LOCATION" - | "MINIMUM_USAGE" - | "LOYALTY_MEMBER" - | "GROUP_BUY_MEMBER" - | "CONTINGENT_PLAN" - | "OTHER"; - [k: string]: unknown; - }>; - /** - * An array of fees applicable to the plan - */ - fees?: Array<{ - /** - * The fee amount. Required if term is not PERCENT_OF_BILL - */ - amount?: string; - /** - * A description of the fee - */ - description?: string; - /** - * The fee rate. Required if term is PERCENT_OF_BILL - */ - rate?: string; - /** - * The term of the fee - */ - term: - | "FIXED" - | "1_YEAR" - | "2_YEAR" - | "3_YEAR" - | "4_YEAR" - | "5_YEAR" - | "PERCENT_OF_BILL" - | "ANNUAL" - | "DAILY" - | "WEEKLY" - | "MONTHLY" - | "BIANNUAL" - | "VARIABLE"; - /** - * The type of the fee - */ - type: - | "EXIT" - | "ESTABLISHMENT" - | "LATE_PAYMENT" - | "DISCONNECTION" - | "DISCONNECT_MOVE_OUT" - | "DISCONNECT_NON_PAY" - | "RECONNECTION" - | "CONNECTION" - | "PAYMENT_PROCESSING" - | "CC_PROCESSING" - | "CHEQUE_DISHONOUR" - | "DD_DISHONOUR" - | "MEMBERSHIP" - | "CONTRIBUTION" - | "PAPER_BILL" - | "OTHER"; - [k: string]: unknown; - }>; - /** - * Optional list of charges applicable to green power - */ - greenPowerCharges?: Array<{ - /** - * The description of the charge - */ - description?: string; - /** - * The display name of the charge - */ - displayName: string; - /** - * The applicable green power scheme - */ - scheme: "GREENPOWER" | "OTHER"; - /** - * Array of charge tiers based on the percentage of green power used for the period implied by the type. Array is in order of increasing percentage of green power - */ - tiers: Array<{ - /** - * The amount of the charge if the type implies the application of a fixed amount - */ - amount?: string; - /** - * The upper percentage of green power used applicable for this tier - */ - percentGreen: string; - /** - * The rate of the charge if the type implies the application of a rate - */ - rate?: string; - [k: string]: unknown; - }>; - /** - * The type of charge - */ - type: - | "FIXED_PER_DAY" - | "FIXED_PER_WEEK" - | "FIXED_PER_MONTH" - | "FIXED_PER_UNIT" - | "PERCENT_OF_USE" - | "PERCENT_OF_BILL"; - [k: string]: unknown; - }>; - /** - * Optional list of incentives available for the contract - */ - incentives?: Array<{ - /** - * The type of the incentive - */ - category: "GIFT" | "ACCOUNT_CREDIT" | "OTHER"; - /** - * The description of the incentive - */ - description: string; - /** - * The display name of the incentive - */ - displayName: string; - /** - * A display message outlining an eligibility criteria that may apply - */ - eligibility?: string; - [k: string]: unknown; - }>; - /** - * Describes intrinsic green power for the plan. If present then the plan includes a percentage of green power in the base plan. Should not be present for gas contracts - */ - intrinsicGreenPower?: { - /** - * Percentage of green power intrinsically included in the plan - */ - greenPercentage: string; - [k: string]: unknown; - } | null; - /** - * Flag indicating whether prices are fixed or variable - */ - isFixed: boolean; - /** - * Free text field that describes what will occur on or prior to expiry of the fixed contract term or benefit period - */ - onExpiryDescription?: string | null; - /** - * Payment options for this contract - */ - paymentOption: Array<"PAPER_BILL" | "CREDIT_CARD" | "DIRECT_DEBIT" | "BPAY" | "OTHER">; - /** - * The pricing model for the contract. Contracts for gas must use SINGLE_RATE. Note that the detail for the enumeration values are: - */ - pricingModel: - | "SINGLE_RATE" - | "SINGLE_RATE_CONT_LOAD" - | "TIME_OF_USE" - | "TIME_OF_USE_CONT_LOAD" - | "FLEXIBLE" - | "FLEXIBLE_CONT_LOAD" - | "QUOTA"; - /** - * Array of feed in tariffs for solar power - */ - solarFeedInTariff?: Array<{ - /** - * A description of the tariff - */ - description?: string; - /** - * The name of the tariff - */ - displayName: string; - /** - * The type of the payer - */ - payerType: "GOVERNMENT" | "RETAILER"; - /** - * The applicable scheme - */ - scheme: "PREMIUM" | "OTHER"; - /** - * Represents a constant tariff. Mandatory if tariffUType is set to singleTariff - */ - singleTariff?: { - /** - * The tariff amount - */ - amount: string; - [k: string]: unknown; - }; - /** - * The type of the payer - */ - tariffUType: "singleTariff" | "timeVaryingTariffs"; - /** - * Represents a tariff based on time. Mandatory if tariffUType is set to timeVaryingTariffs - */ - timeVaryingTariffs?: { - /** - * The tariff amount - */ - amount: string; - /** - * Array of time periods for which this tariff is applicable - */ - timeVariations: Array<{ - /** - * The days that the tariff applies to. At least one entry required - */ - days: Array<"SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS">; - /** - * The end of the time period per day for which the tariff applies. If absent assumes end of day (ie. one second before midnight) - */ - endTime?: string; - /** - * The beginning of the time period per day for which the tariff applies. If absent assumes start of day (ie. midnight) - */ - startTime?: string; - [k: string]: unknown; - }>; - /** - * The type of the charging time period. If absent applies to all periods - */ - type?: "PEAK" | "OFF_PEAK" | "SHOULDER"; - [k: string]: unknown; - }; - [k: string]: unknown; - }>; - /** - * Array of tariff periods - */ - tariffPeriod: Array<{ - /** - * The amount of access charge for the tariff period, in dollars per day exclusive of GST. - */ - dailySupplyCharges?: string; - /** - * Array of demand charges. Required if rateBlockUType is demandCharges - */ - demandCharges?: Array<{ - /** - * The charge amount per measure unit exclusive of GST - */ - amount: string; - /** - * Charge period for the demand tariff - */ - chargePeriod: "DAY" | "MONTH" | "TARIFF_PERIOD"; - /** - * The days that the demand tariff applies to - */ - days?: Array<"SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS">; - /** - * Description of the charge - */ - description?: string; - /** - * Display name of the charge - */ - displayName: string; - /** - * End of the period - */ - endTime: string; - /** - * Maximum demand for this demand tariff in kW. If present, must be higher than the value of the minDemand field - */ - maxDemand?: string; - /** - * The measurement unit of charge amount. Assumed to be KWH if absent - */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; - /** - * Application period for the demand tariff - */ - measurementPeriod: "DAY" | "MONTH" | "TARIFF_PERIOD"; - /** - * Minimum demand for this demand tariff in kW. If absent then 0 is assumed - */ - minDemand?: string; - /** - * Start of the period - */ - startTime: string; - [k: string]: unknown; - }>; - /** - * The name of the tariff period - */ - displayName: string; - /** - * The end date of the tariff period in a calendar year. Formatted in mm-dd format - */ - endDate: string; - /** - * Specifies the type of rate applicable to this tariff period - */ - rateBlockUType: "singleRate" | "timeOfUseRates" | "demandCharges"; - /** - * Object representing a single rate. Required if rateBlockUType is singleRate - */ - singleRate?: { - /** - * Description of the rate - */ - description?: string; - /** - * Display name of the rate - */ - displayName: string; - /** - * The block rate (unit price) for any usage above the included fixed usage, in dollars per kWh inclusive of GST. Only required if pricingModel field is ‘QUOTA’ - */ - generalUnitPrice?: string; - /** - * Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - period?: string; - /** - * Array of controlled load rates in order of usage volume - */ - rates: Array<{ - /** - * The measurement unit of rate. Assumed to be KWH if absent - */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; - /** - * Unit price of usage per measure unit (exclusive of GST) - */ - unitPrice: string; - /** - * Volume in kWh that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period - */ - volume?: number; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - /** - * The start date of the tariff period in a calendar year. Formatted in mm-dd format - */ - startDate: string; - /** - * Array of objects representing time of use rates. Required if rateBlockUType is timeOfUseRates - */ - timeOfUseRates?: Array<{ - /** - * Description of the rate - */ - description?: string; - /** - * Display name of the rate - */ - displayName: string; - /** - * Array of controlled load rates in order of usage volume - */ - rates: Array<{ - /** - * The measurement unit of rate. Assumed to be KWH if absent - */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; - /** - * Unit price of usage per measure unit (exclusive of GST) - */ - unitPrice: string; - /** - * Volume in kWh that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period - */ - volume?: number; - [k: string]: unknown; - }>; - /** - * Array of times of use - */ - timeOfUse: Array<{ - /** - * The days that the rate applies to - */ - days: Array<"SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS">; - /** - * End of the period - */ - endTime: string; - /** - * Start of the period - */ - startTime: string; - [k: string]: unknown; - }>; - /** - * The type of usage that the rate applies to - */ - type: "PEAK" | "OFF_PEAK" | "SHOULDER" | "SHOULDER1" | "SHOULDER2"; - [k: string]: unknown; - }>; - /** - * Specifies the charge specific time zone for calculation of the time of use thresholds. If absent, timezone value in EnergyPlanContract is assumed. - */ - timeZone?: "LOCAL" | "AEST"; - /** - * Type of charge. Assumed to be other if absent - */ - type?: "ENVIRONMENTAL" | "REGULATED" | "NETWORK" | "METERING" | "RETAIL_SERVICE" | "RCTI" | "OTHER"; - [k: string]: unknown; - }>; + minimumValue: string; /** - * Required if pricingModel is set to TIME_OF_USE. Defines the time zone to use for calculation of the time of use thresholds. Defaults to AEST if absent + * The upper limit of the charge if the charge could occur in a range. */ - timeZone?: ("LOCAL" | "AEST") | null; + maximumValue?: string; /** - * Free text description of price variation policy and conditions for the contract. Mandatory if `isFixed` is false + * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). */ - variation?: string | null; - [k: string]: unknown; - }; + period?: string; + }[]; /** - * The details of the terms for the supply of electricity under this plan. Is mandatory if fuelType is set to ELECTRICITY or DUAL - */ - electricityContract?: { - /** - * Free text field containing additional information of the fees for this contract - */ - additionalFeeInformation?: string | null; - /** - * Required if pricing model is SINGLE_RATE_CONT_LOAD or TIME_OF_USE_CONT_LOAD or FLEXIBLE_CONT_LOAD - */ - controlledLoad?: Array<{ - /** - * A display name for the controlled load - */ - displayName: string; - /** - * Optional end date of the application of the controlled load rate - */ - endDate?: string; - /** - * Specifies the type of controlloed load rate - */ - rateBlockUType: "singleRate" | "timeOfUseRates"; - /** - * Object representing a single controlled load rate. Required if rateBlockUType is singleRate - */ - singleRate?: { - /** - * The daily supply charge (exclusive of GST) for this controlled load tier - */ - dailySupplyCharge?: string; - /** - * Description of the controlled load rate - */ - description?: string; - /** - * Display name of the controlled load rate - */ - displayName: string; - /** - * Array of controlled load rates in order of usage volume - */ - rates: Array<{ - /** - * The measurement unit of rate. Assumed to be KWH if absent - */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; - /** - * Unit price of usage per measure unit (exclusive of GST) - */ - unitPrice: string; - /** - * Volume in kWh that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period - */ - volume?: number; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - /** - * Optional start date of the application of the controlled load rate - */ - startDate?: string; - /** - * Array of objects representing time of use rates. Required if rateBlockUType is timeOfUseRates - */ - timeOfUseRates?: Array<{ - /** - * The daily supply charge (exclusive of GST) for this controlled load tier - */ - dailySupplyCharge?: string; - /** - * Description of the controlled load rate - */ - description?: string; - /** - * Display name of the controlled load rate - */ - displayName: string; - /** - * Array of controlled load rates in order of usage volume - */ - rates: Array<{ - /** - * The measurement unit of rate. Assumed to be KWH if absent - */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; - /** - * Unit price of usage per measure unit (exclusive of GST) - */ - unitPrice: string; - /** - * Volume in kWh that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period - */ - volume?: number; - [k: string]: unknown; - }>; - /** - * Array of times of use. - */ - timeOfUse: Array<{ - /** - * Display text providing more information on the contrlled load, for e.g. controlled load availability if specific day/time is not known. Required if startTime and endTime absent or if additionalInfoUri provided - */ - additionalInfo?: string; - /** - * Optional link to additional information regarding the controlled load - */ - additionalInfoUri?: string; - /** - * The days that the rate applies to - */ - days?: Array<"SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS">; - /** - * The end of the time period per day for which the controlled load rate applies. Required if startTime provided - */ - endTime?: string; - /** - * The beginning of the time period per day for which the controlled load rate applies. Required if endTime provided - */ - startTime?: string; - [k: string]: unknown; - }>; - /** - * The type of usage that the rate applies to - */ - type: "PEAK" | "OFF_PEAK" | "SHOULDER" | "SOLAR_SPONGE"; - [k: string]: unknown; - }>; - [k: string]: unknown; - }>; - /** - * Optional list of discounts available for the contract - */ - discounts?: Array<{ - /** - * The type of the discount. Mandatory if the discount type is CONDITIONAL - */ - category?: "PAY_ON_TIME" | "DIRECT_DEBIT" | "GUARANTEED_DISCOUNT" | "OTHER"; - /** - * The description of the discount - */ - description?: string; - /** - * The display name of the discount - */ - displayName: string; - /** - * Optional end date for the discount after which the discount is no longer available - */ - endDate?: string; - /** - * Required if methodUType is fixedAmount - */ - fixedAmount?: { - /** - * The amount of the discount - */ - amount: string; - [k: string]: unknown; - }; - /** - * The method of calculation of the discount - */ - methodUType: "percentOfBill" | "percentOfUse" | "fixedAmount" | "percentOverThreshold"; - /** - * Required if methodUType is percentOfBill - */ - percentOfBill?: { - /** - * The rate of the discount applied to the bill amount - */ - rate: string; - [k: string]: unknown; - }; - /** - * Required if methodUType is percentOfUse - */ - percentOfUse?: { - /** - * The rate of the discount applied to the usageamount - */ - rate: string; - [k: string]: unknown; - }; - /** - * Required if methodUType is percentOverThreshold - */ - percentOverThreshold?: { - /** - * The rate of the discount over the usage amount - */ - rate: string; - /** - * The usage amount threshold above which the discount applies - */ - usageAmount: string; - [k: string]: unknown; - }; - /** - * The type of the discount - */ - type: "CONDITIONAL" | "GUARANTEED" | "OTHER"; - [k: string]: unknown; - }>; - /** - * Eligibility restrictions or requirements - */ - eligibility?: Array<{ - /** - * A description of the eligibility restriction - */ - description?: string; - /** - * Information of the eligibility restriction specific to the type of the restriction - */ - information: string; - /** - * The type of the eligibility restriction.
The CONTINGENT_PLAN value indicates that the plan is contingent on the customer taking up an alternate fuel plan from the same retailer (for instance, if the fuelType is ELECTRICITY then a GAS plan from the same retailer must be taken up) - */ - type: - | "EXISTING_CUST" - | "EXISTING_POOL" - | "EXISTING_SOLAR" - | "EXISTING_BATTERY" - | "EXISTING_SMART_METER" - | "EXISTING_BASIC_METER" - | "SENIOR_CARD" - | "SMALL_BUSINESS" - | "NO_SOLAR_FIT" - | "NEW_CUSTOMER" - | "ONLINE_ONLY" - | "REQ_EQUIP_SUPPLIER" - | "THIRD_PARTY_ONLY" - | "SPORT_CLUB_MEMBER" - | "ORG_MEMBER" - | "SPECIFIC_LOCATION" - | "MINIMUM_USAGE" - | "LOYALTY_MEMBER" - | "GROUP_BUY_MEMBER" - | "CONTINGENT_PLAN" - | "OTHER"; - [k: string]: unknown; - }>; - /** - * An array of fees applicable to the plan - */ - fees?: Array<{ - /** - * The fee amount. Required if term is not PERCENT_OF_BILL - */ - amount?: string; - /** - * A description of the fee - */ - description?: string; - /** - * The fee rate. Required if term is PERCENT_OF_BILL - */ - rate?: string; - /** - * The term of the fee - */ - term: - | "FIXED" - | "1_YEAR" - | "2_YEAR" - | "3_YEAR" - | "4_YEAR" - | "5_YEAR" - | "PERCENT_OF_BILL" - | "ANNUAL" - | "DAILY" - | "WEEKLY" - | "MONTHLY" - | "BIANNUAL" - | "VARIABLE"; - /** - * The type of the fee - */ - type: - | "EXIT" - | "ESTABLISHMENT" - | "LATE_PAYMENT" - | "DISCONNECTION" - | "DISCONNECT_MOVE_OUT" - | "DISCONNECT_NON_PAY" - | "RECONNECTION" - | "CONNECTION" - | "PAYMENT_PROCESSING" - | "CC_PROCESSING" - | "CHEQUE_DISHONOUR" - | "DD_DISHONOUR" - | "MEMBERSHIP" - | "CONTRIBUTION" - | "PAPER_BILL" - | "OTHER"; - [k: string]: unknown; - }>; - /** - * Optional list of charges applicable to green power - */ - greenPowerCharges?: Array<{ - /** - * The description of the charge - */ - description?: string; - /** - * The display name of the charge - */ - displayName: string; - /** - * The applicable green power scheme - */ - scheme: "GREENPOWER" | "OTHER"; - /** - * Array of charge tiers based on the percentage of green power used for the period implied by the type. Array is in order of increasing percentage of green power - */ - tiers: Array<{ - /** - * The amount of the charge if the type implies the application of a fixed amount - */ - amount?: string; - /** - * The upper percentage of green power used applicable for this tier - */ - percentGreen: string; - /** - * The rate of the charge if the type implies the application of a rate - */ - rate?: string; - [k: string]: unknown; - }>; - /** - * The type of charge - */ - type: - | "FIXED_PER_DAY" - | "FIXED_PER_WEEK" - | "FIXED_PER_MONTH" - | "FIXED_PER_UNIT" - | "PERCENT_OF_USE" - | "PERCENT_OF_BILL"; - [k: string]: unknown; - }>; - /** - * Optional list of incentives available for the contract - */ - incentives?: Array<{ - /** - * The type of the incentive - */ - category: "GIFT" | "ACCOUNT_CREDIT" | "OTHER"; - /** - * The description of the incentive - */ - description: string; - /** - * The display name of the incentive - */ - displayName: string; - /** - * A display message outlining an eligibility criteria that may apply - */ - eligibility?: string; - [k: string]: unknown; - }>; - /** - * Describes intrinsic green power for the plan. If present then the plan includes a percentage of green power in the base plan. Should not be present for gas contracts - */ - intrinsicGreenPower?: { - /** - * Percentage of green power intrinsically included in the plan - */ - greenPercentage: string; - [k: string]: unknown; - } | null; - /** - * Flag indicating whether prices are fixed or variable - */ - isFixed: boolean; - /** - * Free text field that describes what will occur on or prior to expiry of the fixed contract term or benefit period - */ - onExpiryDescription?: string | null; - /** - * Payment options for this contract - */ - paymentOption: Array<"PAPER_BILL" | "CREDIT_CARD" | "DIRECT_DEBIT" | "BPAY" | "OTHER">; - /** - * The pricing model for the contract. Contracts for gas must use SINGLE_RATE. Note that the detail for the enumeration values are: - */ - pricingModel: - | "SINGLE_RATE" - | "SINGLE_RATE_CONT_LOAD" - | "TIME_OF_USE" - | "TIME_OF_USE_CONT_LOAD" - | "FLEXIBLE" - | "FLEXIBLE_CONT_LOAD" - | "QUOTA"; - /** - * Array of feed in tariffs for solar power - */ - solarFeedInTariff?: Array<{ - /** - * A description of the tariff - */ - description?: string; - /** - * The name of the tariff - */ - displayName: string; - /** - * The type of the payer - */ - payerType: "GOVERNMENT" | "RETAILER"; - /** - * The applicable scheme - */ - scheme: "PREMIUM" | "OTHER"; - /** - * Represents a constant tariff. Mandatory if tariffUType is set to singleTariff - */ - singleTariff?: { - /** - * The tariff amount - */ - amount: string; - [k: string]: unknown; - }; - /** - * The type of the payer - */ - tariffUType: "singleTariff" | "timeVaryingTariffs"; - /** - * Represents a tariff based on time. Mandatory if tariffUType is set to timeVaryingTariffs - */ - timeVaryingTariffs?: { - /** - * The tariff amount - */ - amount: string; - /** - * Array of time periods for which this tariff is applicable - */ - timeVariations: Array<{ - /** - * The days that the tariff applies to. At least one entry required - */ - days: Array<"SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS">; - /** - * The end of the time period per day for which the tariff applies. If absent assumes end of day (ie. one second before midnight) - */ - endTime?: string; - /** - * The beginning of the time period per day for which the tariff applies. If absent assumes start of day (ie. midnight) - */ - startTime?: string; - [k: string]: unknown; - }>; - /** - * The type of the charging time period. If absent applies to all periods - */ - type?: "PEAK" | "OFF_PEAK" | "SHOULDER"; - [k: string]: unknown; - }; - [k: string]: unknown; - }>; - /** - * Array of tariff periods - */ - tariffPeriod: Array<{ - /** - * The amount of access charge for the tariff period, in dollars per day exclusive of GST. - */ - dailySupplyCharges?: string; - /** - * Array of demand charges. Required if rateBlockUType is demandCharges - */ - demandCharges?: Array<{ - /** - * The charge amount per measure unit exclusive of GST - */ - amount: string; - /** - * Charge period for the demand tariff - */ - chargePeriod: "DAY" | "MONTH" | "TARIFF_PERIOD"; - /** - * The days that the demand tariff applies to - */ - days?: Array<"SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS">; - /** - * Description of the charge - */ - description?: string; - /** - * Display name of the charge - */ - displayName: string; - /** - * End of the period - */ - endTime: string; - /** - * Maximum demand for this demand tariff in kW. If present, must be higher than the value of the minDemand field - */ - maxDemand?: string; - /** - * The measurement unit of charge amount. Assumed to be KWH if absent - */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; - /** - * Application period for the demand tariff - */ - measurementPeriod: "DAY" | "MONTH" | "TARIFF_PERIOD"; - /** - * Minimum demand for this demand tariff in kW. If absent then 0 is assumed - */ - minDemand?: string; - /** - * Start of the period - */ - startTime: string; - [k: string]: unknown; - }>; - /** - * The name of the tariff period - */ - displayName: string; - /** - * The end date of the tariff period in a calendar year. Formatted in mm-dd format - */ - endDate: string; - /** - * Specifies the type of rate applicable to this tariff period - */ - rateBlockUType: "singleRate" | "timeOfUseRates" | "demandCharges"; - /** - * Object representing a single rate. Required if rateBlockUType is singleRate - */ - singleRate?: { - /** - * Description of the rate - */ - description?: string; - /** - * Display name of the rate - */ - displayName: string; - /** - * The block rate (unit price) for any usage above the included fixed usage, in dollars per kWh inclusive of GST. Only required if pricingModel field is ‘QUOTA’ - */ - generalUnitPrice?: string; - /** - * Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - period?: string; - /** - * Array of controlled load rates in order of usage volume - */ - rates: Array<{ - /** - * The measurement unit of rate. Assumed to be KWH if absent - */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; - /** - * Unit price of usage per measure unit (exclusive of GST) - */ - unitPrice: string; - /** - * Volume in kWh that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period - */ - volume?: number; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - /** - * The start date of the tariff period in a calendar year. Formatted in mm-dd format - */ - startDate: string; - /** - * Array of objects representing time of use rates. Required if rateBlockUType is timeOfUseRates - */ - timeOfUseRates?: Array<{ - /** - * Description of the rate - */ - description?: string; - /** - * Display name of the rate - */ - displayName: string; - /** - * Array of controlled load rates in order of usage volume - */ - rates: Array<{ - /** - * The measurement unit of rate. Assumed to be KWH if absent - */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; - /** - * Unit price of usage per measure unit (exclusive of GST) - */ - unitPrice: string; - /** - * Volume in kWh that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period - */ - volume?: number; - [k: string]: unknown; - }>; - /** - * Array of times of use - */ - timeOfUse: Array<{ - /** - * The days that the rate applies to - */ - days: Array<"SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS">; - /** - * End of the period - */ - endTime: string; - /** - * Start of the period - */ - startTime: string; - [k: string]: unknown; - }>; - /** - * The type of usage that the rate applies to - */ - type: "PEAK" | "OFF_PEAK" | "SHOULDER" | "SHOULDER1" | "SHOULDER2"; - [k: string]: unknown; - }>; - /** - * Specifies the charge specific time zone for calculation of the time of use thresholds. If absent, timezone value in EnergyPlanContract is assumed. - */ - timeZone?: "LOCAL" | "AEST"; - /** - * Type of charge. Assumed to be other if absent - */ - type?: "ENVIRONMENTAL" | "REGULATED" | "NETWORK" | "METERING" | "RETAIL_SERVICE" | "RCTI" | "OTHER"; - [k: string]: unknown; - }>; - /** - * Required if pricingModel is set to TIME_OF_USE. Defines the time zone to use for calculation of the time of use thresholds. Defaults to AEST if absent - */ - timeZone?: ("LOCAL" | "AEST") | null; - /** - * Free text description of price variation policy and conditions for the contract. Mandatory if `isFixed` is false - */ - variation?: string | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * An array of additional contacts that are authorised to act on this account - */ - authorisedContacts?: Array<{ - /** - * For people with single names this field need not be present. The single name should be in the lastName field - */ - firstName?: string; - /** - * For people with single names the single name should be in this field - */ - lastName: string; - /** - * Field is mandatory but array may be empty - */ - middleNames?: string[]; - /** - * Also known as title or salutation. The prefix to the name (e.g. Mr, Mrs, Ms, Miss, Sir, etc) - */ - prefix?: string; - /** - * Used for a trailing suffix to the name (e.g. Jr) - */ - suffix?: string; - [k: string]: unknown; - }>; - [k: string]: unknown; - }>; - [k: string]: unknown; -} - -export interface EnergyAccountDetailV3 extends EnergyAccountBaseV2 { - /** - * The array of plans containing service points and associated plan details - */ - plans: Array<{ - /** - * Optional display name for the plan provided by the customer to help differentiate multiple plans - */ - nickname?: string; - /** - * An array of servicePointIds, representing NMIs, that this account is linked to - */ - servicePointIds: string[]; - /** - * Mandatory if openStatus is OPEN - */ - planOverview?: { - /** - * The name of the plan if one exists - */ - displayName?: string; - /** - * The start date of the applicability of this plan - */ - startDate: string; - /** - * The end date of the applicability of this plan - */ - endDate?: string; - [k: string]: unknown; - }; - /** - * Detail on the plan applicable to this account. Mandatory if openStatus is OPEN - */ - planDetail?: { - /** - * The fuel types covered by the plan - */ - fuelType: "ELECTRICITY" | "GAS" | "DUAL"; - /** - * Flag that indicates that the plan is contingent on the customer taking up an alternate fuel plan from the same retailer (for instance, if the fuelType is ELECTRICITY then a GAS plan from the same retailer must be taken up). Has no meaning if the plan has a fuelType of DUAL. If absent the value is assumed to be false - */ - isContingentPlan?: boolean; - /** - * Charges for metering included in the plan - */ - meteringCharges?: Array<{ - /** - * Display name of the charge - */ - displayName: string; - /** - * Description of the charge - */ - description?: string; - /** - * Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified - */ - minimumValue: string; - /** - * The upper limit of the charge if the charge could occur in a range - */ - maximumValue?: string; - /** - * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - period?: string; - [k: string]: unknown; - }>; - /** - * The details of the terms for the supply of electricity under this plan. Is mandatory if fuelType is set to GAS or DUAL - */ - gasContract?: EnergyPlanContractV2; - /** - * The details of the terms for the supply of electricity under this plan. Is mandatory if fuelType is set to ELECTRICITY or DUAL - */ - electricityContract?: EnergyPlanContractV2; - [k: string]: unknown; - }; - /** - * An array of additional contacts that are authorised to act on this account - */ - authorisedContacts?: Array<{ - /** - * For people with single names this field need not be present. The single name should be in the lastName field - */ - firstName?: string; - /** - * For people with single names the single name should be in this field - */ - lastName: string; - /** - * Field is mandatory but array may be empty - */ - middleNames?: string[]; - /** - * Also known as title or salutation. The prefix to the name (e.g. Mr, Mrs, Ms, Miss, Sir, etc) - */ - prefix?: string; - /** - * Used for a trailing suffix to the name (e.g. Jr) - */ - suffix?: string; - [k: string]: unknown; - }>; - [k: string]: unknown; - }>; - [k: string]: unknown; -} - -export interface EnergyAccountDetailV4 extends EnergyAccountBaseV2 { - /** - * The array of plans containing service points and associated plan details - */ - plans: Array<{ - /** - * Optional display name for the plan provided by the customer to help differentiate multiple plans - */ - nickname?: string; - /** - * An array of servicePointIds, representing NMIs, that this account is linked to - */ - servicePointIds: string[]; - /** - * Mandatory if openStatus is OPEN - */ - planOverview?: { - /** - * The name of the plan if one exists - */ - displayName?: string; - /** - * The start date of the applicability of this plan - */ - startDate: string; - /** - * The end date of the applicability of this plan - */ - endDate?: string; - }; - /** - * Detail on the plan applicable to this account. Mandatory if openStatus is OPEN - */ - planDetail?: { - [k: string]: unknown; - }; - /** - * An array of additional contacts that are authorised to act on this account - */ - authorisedContacts?: Array<{ - /** - * For people with single names this field need not be present. The single name should be in the lastName field - */ - firstName?: string; - /** - * For people with single names the single name should be in this field - */ - lastName: string; - /** - * Field is mandatory but array may be empty - */ - middleNames?: string[]; - /** - * Also known as title or salutation. The prefix to the name (e.g. Mr, Mrs, Ms, Miss, Sir, etc) - */ - prefix?: string; - /** - * Used for a trailing suffix to the name (e.g. Jr) - */ - suffix?: string; - }>; - }>; -} - -/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ - -export interface EnergyAccountListResponseV2 { - data: EnergyAccountV2[]; - links: LinksPaginated; - meta: MetaPaginated; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ - -export interface EnergyAccountV2 extends EnergyAccountBaseV2 { - /** - * The array of plans containing service points and associated plan details - */ - plans: Array<{ - /** - * Optional display name for the plan provided by the customer to help differentiate multiple plans - */ - nickname?: string; - /** - * An array of servicePointIds, representing NMIs, that this plan is linked to. If there are no service points allocated to this plan then an empty array would be expected - */ - servicePointIds: string[]; - /** - * Mandatory if openStatus is OPEN - */ - planOverview?: { - /** - * The name of the plan if one exists - */ - displayName?: string; - /** - * The start date of the applicability of this plan - */ - startDate: string; - /** - * The end date of the applicability of this plan - */ - endDate?: string; - [k: string]: unknown; - }; - [k: string]: unknown; - }>; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ - -export interface EnergyBalanceListResponse { - data: { - /** - * Array of account balances - */ - balances: Array<{ - /** - * The ID of the account - */ - accountId: string; - /** - * The current balance of the account. A positive value indicates that amount is owing to be paid. A negative value indicates that the account is in credit - */ - balance: string; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: LinksPaginated; - meta: MetaPaginated; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ - -export interface EnergyBalanceResponse { - data: { - /** - * The current balance of the account. A positive value indicates that amount is owing to be paid. A negative value indicates that the account is in credit - */ - balance: string; - [k: string]: unknown; - }; - links: Links; - meta?: Meta; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ - -export interface EnergyBillingDemandTransaction { - /** - * Optional array of adjustments arising for this transaction - */ - adjustments?: - | Array<{ - /** - * The amount of the adjustment - */ - amount: string; - /** - * A free text description of the adjustment - */ - description: string; - [k: string]: unknown; - }> - | null; - /** - * The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit - */ - amount: string; - /** - * Additional calculation factors that inform the transaction - */ - calculationFactors?: - | Array<{ - /** - * The type of the calculation factor - */ - type: "DLF" | "MLF"; - /** - * The value of the calculation factor - */ - value: number; - [k: string]: unknown; - }> - | null; - /** - * Optional description of the transaction that can be used for display purposes - */ - description?: string | null; - /** - * Date and time when the demand period ends - */ - endDate: string; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * Flag indicating if the usage is estimated or actual. True indicates estimate. False or absent indicates actual - */ - isEstimate?: boolean | null; - /** - * The rate for the demand charge in kVA. A negative value indicates power generated - */ - rate: number; - /** - * The ID of the service point to which this transaction applies if any - */ - servicePointId?: string | null; - /** - * Date and time when the demand period starts - */ - startDate: string; - /** - * The time of use type that the transaction applies to - */ - timeOfUseType: - | "PEAK" - | "OFF_PEAK" - | "OFF_PEAK_DEMAND_CHARGE" - | "SHOULDER" - | "SHOULDER1" - | "SHOULDER2" - | "CONTROLLED_LOAD" - | "SOLAR" - | "AGGREGATE"; - [k: string]: unknown; -} - -/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ - -export interface EnergyBillingDemandTransactionV2 { - /** - * Optional array of adjustments arising for this transaction - */ - adjustments?: - | Array<{ - /** - * The amount of the adjustment - */ - amount: string; - /** - * A free text description of the adjustment - */ - description: string; - [k: string]: unknown; - }> - | null; - /** - * The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit - */ - amount: string; - /** - * Additional calculation factors that inform the transaction - */ - calculationFactors?: - | Array<{ - /** - * The type of the calculation factor - */ - type: "DLF" | "MLF"; - /** - * The value of the calculation factor - */ - value: number; - [k: string]: unknown; - }> - | null; - /** - * Optional description of the transaction that can be used for display purposes - */ - description?: string | null; - /** - * Date and time when the demand period ends - */ - endDate: string; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * Flag indicating if the usage is estimated or actual. True indicates estimate. False or absent indicates actual - */ - isEstimate?: boolean | null; - /** - * The rate for the demand charge in kVA. A negative value indicates power generated - */ - rate: number; - /** - * The ID of the service point to which this transaction applies if any - */ - servicePointId?: string | null; - /** - * Date and time when the demand period starts - */ - startDate: string; - /** - * The time of use type that the transaction applies to - */ - timeOfUseType: - | "PEAK" - | "OFF_PEAK" - | "OFF_PEAK_DEMAND_CHARGE" - | "SHOULDER" - | "SHOULDER1" - | "SHOULDER2" - | "CONTROLLED_LOAD" - | "SOLAR" - | "AGGREGATE" - | "ALL_DAY" - | "EXCESS"; - [k: string]: unknown; -} - -/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ - -export interface EnergyBillingDemandTransactionV3 { - /** - * Optional array of adjustments arising for this transaction - */ - adjustments?: - | Array<{ - /** - * The amount of the adjustment - */ - amount: string; - /** - * A free text description of the adjustment - */ - description: string; - [k: string]: unknown; - }> - | null; - /** - * The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit - */ - amount: string; - /** - * Additional calculation factors that inform the transaction - */ - calculationFactors?: - | Array<{ - /** - * The type of the calculation factor - */ - type: "DLF" | "MLF"; - /** - * The value of the calculation factor - */ - value: number; - [k: string]: unknown; - }> - | null; - /** - * Optional description of the transaction that can be used for display purposes - */ - description?: string | null; - /** - * Date and time when the demand period ends - */ - endDate: string; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * Flag indicating if the usage is estimated or actual. True indicates estimate. False or absent indicates actual - */ - isEstimate?: boolean | null; - /** - * The measurement unit of rate. Assumed to be KVA if absent - */ - measureUnit?: ("KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH") | null; - /** - * The rate for the demand charge in measureUnit. Assumed to be KVA if measureUnit not provided. A negative value indicates power generated - */ - rate: number; - /** - * The ID of the service point to which this transaction applies if any - */ - servicePointId?: string | null; - /** - * Date and time when the demand period starts - */ - startDate: string; - /** - * The time of use type that the transaction applies to - */ - timeOfUseType: - | "PEAK" - | "OFF_PEAK" - | "OFF_PEAK_DEMAND_CHARGE" - | "SHOULDER" - | "SHOULDER1" - | "SHOULDER2" - | "CONTROLLED_LOAD" - | "SOLAR" - | "AGGREGATE" - | "ALL_DAY" - | "EXCESS"; - [k: string]: unknown; -} + * The details of the terms for the supply of electricity under this plan. Is mandatory if _fuelType_ is set to `GAS` or `DUAL`. + */ + gasContract?: EnergyPlanContractV3; + /** + * The details of the terms for the supply of electricity under this plan. Is mandatory if _fuelType_ is set to `ELECTRICITY` or `DUAL`. + */ + electricityContract?: EnergyPlanContractV3; + }; + /** + * An array of additional contacts that are authorised to act on this account. + */ + authorisedContacts?: { + /** + * For people with single names this field need not be present. The single name should be in the _lastName_ field. + */ + firstName?: string; + /** + * For people with single names the single name should be in this field. + */ + lastName: string; + /** + * Field is mandatory but array may be empty. + */ + middleNames?: string[]; + /** + * Also known as title or salutation. The prefix to the name (e.g., Mr, Mrs, Ms, Miss, Sir, etc.) + */ + prefix?: string; + /** + * Used for a trailing suffix to the name (e.g., Jr.) + */ + suffix?: string; + }[]; + }[]; +}; /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface EnergyBillingListResponseV3 { +/** + * A unique identifier for an Energy account, generated according to [CDR ID Permanence](#id-permanence) requirements. + */ +export type EnergyAccountId = string; +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export interface EnergyAccountListResponseV2 { data: { /** - * Array of transactions sorted by date and time in descending order + * Array of accounts. */ - transactions: EnergyBillingTransactionV3[]; - [k: string]: unknown; + accounts: (EnergyAccountBaseV2 & { + /** + * The array of plans containing service points and associated plan details. + */ + plans: { + /** + * Optional display name for the plan provided by the customer to help differentiate multiple plans. + */ + nickname?: string; + /** + * An array of _servicePointId_ values, representing NMIs, that this plan is linked to. If there are no service points allocated to this plan then an empty array would be expected. + */ + servicePointIds: string[]; + /** + * Mandatory if _openStatus_ is `OPEN`. + */ + planOverview?: { + /** + * The name of the plan if one exists. + */ + displayName?: string; + /** + * The start date of the applicability of this plan. + */ + startDate: string; + /** + * The end date of the applicability of this plan. + */ + endDate?: string; + }; + }[]; + })[]; }; links: LinksPaginated; meta: MetaPaginated; - [k: string]: unknown; } +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface EnergyBillingTransactionV3 { - /** - * The ID of the account for which transaction applies - */ - accountId: string; - demand?: EnergyBillingDemandTransactionV3; - /** - * The date and time that the transaction occurred - */ - executionDateTime: string; +export type EnergyAccountV2 = EnergyAccountBaseV2 & { /** - * The GST incurred in the transaction. Should not be included for credits or payments. If absent zero is assumed - */ - gst?: string | null; - onceOff?: EnergyBillingOnceOffTransaction; - otherCharges?: EnergyBillingOtherTransaction; - payment?: EnergyBillingPaymentTransaction; - /** - * Indicator of the type of transaction object present in this record + * The array of plans containing service points and associated plan details. */ - transactionUType: "usage" | "demand" | "onceOff" | "otherCharges" | "payment"; - usage?: EnergyBillingUsageTransactionV2; - [k: string]: unknown; -} - + plans: { + /** + * Optional display name for the plan provided by the customer to help differentiate multiple plans. + */ + nickname?: string; + /** + * An array of _servicePointId_ values, representing NMIs, that this plan is linked to. If there are no service points allocated to this plan then an empty array would be expected. + */ + servicePointIds: string[]; + /** + * Mandatory if _openStatus_ is `OPEN`. + */ + planOverview?: { + /** + * The name of the plan if one exists. + */ + displayName?: string; + /** + * The start date of the applicability of this plan. + */ + startDate: string; + /** + * The end date of the applicability of this plan. + */ + endDate?: string; + }; + }[]; +}; /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface EnergyBillingListResponse { +export interface EnergyBalanceListResponse { data: { /** - * Array of transactions sorted by date and time in descending order + * Array of account balances. */ - transactions: EnergyBillingTransaction[]; + balances: { + /** + * Unique identifier for the account. + */ + accountId: string; + /** + * The current balance of the account. A positive value indicates that amount is owing to be paid. A negative value indicates that the account is in credit. + */ + balance: string; + }[]; }; links: LinksPaginated; meta: MetaPaginated; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface EnergyBillingListResponseV2 { +export interface EnergyBalanceResponse { data: { /** - * Array of transactions sorted by date and time in descending order + * The current balance of the account. A positive value indicates that amount is owing to be paid. A negative value indicates that the account is in credit. */ - transactions: EnergyBillingTransactionV2[]; + balance: string; }; - links: LinksPaginated; - meta: MetaPaginated; - [k: string]: unknown; -} - -/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ - -export interface EnergyBillingOnceOffTransaction { - /** - * The amount of the charge or credit. A positive value indicates a charge and a negative value indicates a credit - */ - amount: string; - /** - * A free text description of the item - */ - description: string; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * The ID of the service point to which this transaction applies if any - */ - servicePointId?: string | null; - [k: string]: unknown; + links: Links; + meta?: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface EnergyBillingOtherTransaction { +export interface EnergyBillingDemandTransactionV2 { /** * Optional array of adjustments arising for this transaction */ adjustments?: - | Array<{ + | { /** * The amount of the adjustment */ @@ -2360,18 +714,17 @@ export interface EnergyBillingOtherTransaction { * A free text description of the adjustment */ description: string; - [k: string]: unknown; - }> + }[] | null; /** - * The amount of the charge + * The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit */ amount: string; /** * Additional calculation factors that inform the transaction */ calculationFactors?: - | Array<{ + | { /** * The type of the calculation factor */ @@ -2380,794 +733,387 @@ export interface EnergyBillingOtherTransaction { * The value of the calculation factor */ value: number; - [k: string]: unknown; - }> + }[] | null; /** - * A free text description of the item - */ - description: string; - /** - * Optional end date for the application of the charge - */ - endDate?: string | null; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * The ID of the service point to which this transaction applies if any - */ - servicePointId?: string | null; - /** - * Optional start date for the application of the charge - */ - startDate?: string | null; - /** - * Type of charge. Assumed to be other if absent - */ - type?: ("ENVIRONMENTAL" | "REGULATED" | "NETWORK" | "METERING" | "RETAIL_SERVICE" | "RCTI" | "OTHER") | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ - -export interface EnergyBillingPaymentTransaction { - /** - * The amount paid - */ - amount: string; - /** - * The method of payment - */ - method: "DIRECT_DEBIT" | "CARD" | "TRANSFER" | "BPAY" | "CASH" | "CHEQUE" | "OTHER"; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ - -export interface EnergyBillingTransaction { - /** - * The ID of the account for which transaction applies - */ - accountId: string; - /** - * Represents a demand charge or generation credit. Mandatory if transactionUType is equal to demand - */ - demand?: { - /** - * Optional array of adjustments arising for this transaction - */ - adjustments?: - | Array<{ - /** - * The amount of the adjustment - */ - amount: string; - /** - * A free text description of the adjustment - */ - description: string; - [k: string]: unknown; - }> - | null; - /** - * The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit - */ - amount: string; - /** - * Additional calculation factors that inform the transaction - */ - calculationFactors?: - | Array<{ - /** - * The type of the calculation factor - */ - type: "DLF" | "MLF"; - /** - * The value of the calculation factor - */ - value: number; - [k: string]: unknown; - }> - | null; - /** - * Optional description of the transaction that can be used for display purposes - */ - description?: string | null; - /** - * Date and time when the demand period ends - */ - endDate: string; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * Flag indicating if the usage is estimated or actual. True indicates estimate. False or absent indicates actual - */ - isEstimate?: boolean | null; - /** - * The rate for the demand charge in kVA. A negative value indicates power generated - */ - rate: number; - /** - * The ID of the service point to which this transaction applies if any - */ - servicePointId?: string | null; - /** - * Date and time when the demand period starts - */ - startDate: string; - /** - * The time of use type that the transaction applies to - */ - timeOfUseType: - | "PEAK" - | "OFF_PEAK" - | "OFF_PEAK_DEMAND_CHARGE" - | "SHOULDER" - | "SHOULDER1" - | "SHOULDER2" - | "CONTROLLED_LOAD" - | "SOLAR" - | "AGGREGATE"; - [k: string]: unknown; - }; - /** - * The date and time that the transaction occurred - */ - executionDateTime: string; - /** - * The GST incurred in the transaction. Should not be included for credits or payments. If absent zero is assumed - */ - gst?: string | null; - /** - * Represents a once off charge or credit. Mandatory if transactionUType is equal to onceOff - */ - onceOff?: { - /** - * The amount of the charge or credit. A positive value indicates a charge and a negative value indicates a credit - */ - amount: string; - /** - * A free text description of the item - */ - description: string; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * The ID of the service point to which this transaction applies if any - */ - servicePointId?: string | null; - [k: string]: unknown; - }; - /** - * Represents charge other than usage and once off. Mandatory if transactionUType is equal to otherCharge + * Optional description of the transaction that can be used for display purposes */ - otherCharges?: { - /** - * Optional array of adjustments arising for this transaction - */ - adjustments?: - | Array<{ - /** - * The amount of the adjustment - */ - amount: string; - /** - * A free text description of the adjustment - */ - description: string; - [k: string]: unknown; - }> - | null; - /** - * The amount of the charge - */ - amount: string; - /** - * Additional calculation factors that inform the transaction - */ - calculationFactors?: - | Array<{ - /** - * The type of the calculation factor - */ - type: "DLF" | "MLF"; - /** - * The value of the calculation factor - */ - value: number; - [k: string]: unknown; - }> - | null; - /** - * A free text description of the item - */ - description: string; - /** - * Optional end date for the application of the charge - */ - endDate?: string | null; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * The ID of the service point to which this transaction applies if any - */ - servicePointId?: string | null; - /** - * Optional start date for the application of the charge - */ - startDate?: string | null; - /** - * Type of charge. Assumed to be other if absent - */ - type?: ("ENVIRONMENTAL" | "REGULATED" | "NETWORK" | "METERING" | "RETAIL_SERVICE" | "RCTI" | "OTHER") | null; - [k: string]: unknown; - }; + description?: string | null; /** - * Represents a payment to the account. Mandatory if transactionUType is equal to payment + * Date and time when the demand period ends */ - payment?: { - /** - * The amount paid - */ - amount: string; - /** - * The method of payment - */ - method: "DIRECT_DEBIT" | "CARD" | "TRANSFER" | "BPAY" | "CASH" | "CHEQUE" | "OTHER"; - [k: string]: unknown; - }; + endDate: string; /** - * Indicator of the type of transaction object present in this record + * The number of the invoice in which this transaction is included if it has been issued */ - transactionUType: "usage" | "demand" | "onceOff" | "otherCharges" | "payment"; + invoiceNumber?: string | null; /** - * Represents a usage charge or generation credit. Mandatory if transactionUType is equal to usage + * Flag indicating if the usage is estimated or actual. True indicates estimate. False or absent indicates actual */ - usage?: { - /** - * Optional array of adjustments arising for this transaction - */ - adjustments?: - | Array<{ - /** - * The amount of the adjustment - */ - amount: string; - /** - * A free text description of the adjustment - */ - description: string; - [k: string]: unknown; - }> - | null; - /** - * The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit - */ - amount: string; - /** - * Additional calculation factors that inform the transaction - */ - calculationFactors?: - | Array<{ - /** - * The type of the calculation factor - */ - type: "DLF" | "MLF"; - /** - * The value of the calculation factor - */ - value: number; - [k: string]: unknown; - }> - | null; - /** - * Optional description of the transaction that can be used for display purposes - */ - description?: string | null; - /** - * Date and time when the usage period ends - */ - endDate: string; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * Flag indicating if the usage is estimated or actual. True indicates estimate. False or absent indicates actual - */ - isEstimate?: boolean | null; - /** - * The measurement unit of rate. Assumed to be KWH if absent - */ - measureUnit?: ("KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH") | null; - /** - * The ID of the service point to which this transaction applies if any - */ - servicePointId?: string | null; - /** - * Date and time when the usage period starts - */ - startDate: string; - /** - * The time of use type that the transaction applies to - */ - timeOfUseType: - | "PEAK" - | "OFF_PEAK" - | "OFF_PEAK_DEMAND_CHARGE" - | "SHOULDER" - | "SHOULDER1" - | "SHOULDER2" - | "CONTROLLED_LOAD" - | "SOLAR" - | "AGGREGATE"; - /** - * The usage for the period in measure unit. A negative value indicates power generated - */ - usage: number; - [k: string]: unknown; - }; - [k: string]: unknown; + isEstimate?: boolean | null; + /** + * The rate for the demand charge in kVA. A negative value indicates power generated + */ + rate: number; + /** + * The ID of the service point to which this transaction applies if any + */ + servicePointId?: string | null; + /** + * Date and time when the demand period starts + */ + startDate: string; + /** + * The time of use type that the transaction applies to + */ + timeOfUseType: + | "PEAK" + | "OFF_PEAK" + | "OFF_PEAK_DEMAND_CHARGE" + | "SHOULDER" + | "SHOULDER1" + | "SHOULDER2" + | "CONTROLLED_LOAD" + | "SOLAR" + | "AGGREGATE" + | "ALL_DAY" + | "EXCESS"; } - /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface EnergyBillingTransactionV2 { +export interface EnergyBillingDemandTransactionV3 { /** - * The ID of the account for which transaction applies + * Optional array of adjustments arising for this transaction. */ - accountId: string; + adjustments?: + | { + /** + * The amount of the adjustment. + */ + amount: string; + /** + * A free text description of the adjustment. + */ + description: string; + }[] + | null; /** - * Represents a demand charge or generation credit. Mandatory if transactionUType is equal to demand + * The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit. */ - demand?: { - /** - * Optional array of adjustments arising for this transaction - */ - adjustments?: - | Array<{ - /** - * The amount of the adjustment - */ - amount: string; - /** - * A free text description of the adjustment - */ - description: string; - [k: string]: unknown; - }> - | null; - /** - * The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit - */ - amount: string; - /** - * Additional calculation factors that inform the transaction - */ - calculationFactors?: - | Array<{ - /** - * The type of the calculation factor - */ - type: "DLF" | "MLF"; - /** - * The value of the calculation factor - */ - value: number; - [k: string]: unknown; - }> - | null; - /** - * Optional description of the transaction that can be used for display purposes - */ - description?: string | null; - /** - * Date and time when the demand period ends - */ - endDate: string; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * Flag indicating if the usage is estimated or actual. True indicates estimate. False or absent indicates actual - */ - isEstimate?: boolean | null; - /** - * The rate for the demand charge in kVA. A negative value indicates power generated - */ - rate: number; - /** - * The ID of the service point to which this transaction applies if any - */ - servicePointId?: string | null; - /** - * Date and time when the demand period starts - */ - startDate: string; - /** - * The time of use type that the transaction applies to - */ - timeOfUseType: - | "PEAK" - | "OFF_PEAK" - | "OFF_PEAK_DEMAND_CHARGE" - | "SHOULDER" - | "SHOULDER1" - | "SHOULDER2" - | "CONTROLLED_LOAD" - | "SOLAR" - | "AGGREGATE" - | "ALL_DAY" - | "EXCESS"; - [k: string]: unknown; - }; + amount: string; /** - * The date and time that the transaction occurred + * Additional calculation factors that inform the transaction. */ - executionDateTime: string; + calculationFactors?: + | { + /** + * The type of the calculation factor. + */ + type: "DLF" | "MLF"; + /** + * The value of the calculation factor. + */ + value: number; + }[] + | null; /** - * The GST incurred in the transaction. Should not be included for credits or payments. If absent zero is assumed + * Optional description of the transaction that can be used for display purposes. */ - gst?: string | null; + description?: string | null; /** - * Represents a once off charge or credit. Mandatory if transactionUType is equal to onceOff + * Date and time when the demand period ends. */ - onceOff?: { - /** - * The amount of the charge or credit. A positive value indicates a charge and a negative value indicates a credit - */ - amount: string; - /** - * A free text description of the item - */ - description: string; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * The ID of the service point to which this transaction applies if any - */ - servicePointId?: string | null; - [k: string]: unknown; - }; + endDate: string; /** - * Represents charge other than usage and once off. Mandatory if transactionUType is equal to otherCharge + * The number of the invoice in which this transaction is included if it has been issued. */ - otherCharges?: { - /** - * Optional array of adjustments arising for this transaction - */ - adjustments?: - | Array<{ - /** - * The amount of the adjustment - */ - amount: string; - /** - * A free text description of the adjustment - */ - description: string; - [k: string]: unknown; - }> - | null; - /** - * The amount of the charge - */ - amount: string; - /** - * Additional calculation factors that inform the transaction - */ - calculationFactors?: - | Array<{ - /** - * The type of the calculation factor - */ - type: "DLF" | "MLF"; - /** - * The value of the calculation factor - */ - value: number; - [k: string]: unknown; - }> - | null; - /** - * A free text description of the item - */ - description: string; - /** - * Optional end date for the application of the charge - */ - endDate?: string | null; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * The ID of the service point to which this transaction applies if any - */ - servicePointId?: string | null; - /** - * Optional start date for the application of the charge - */ - startDate?: string | null; - /** - * Type of charge. Assumed to be other if absent - */ - type?: ("ENVIRONMENTAL" | "REGULATED" | "NETWORK" | "METERING" | "RETAIL_SERVICE" | "RCTI" | "OTHER") | null; - [k: string]: unknown; - }; + invoiceNumber?: string | null; /** - * Represents a payment to the account. Mandatory if transactionUType is equal to payment + * Flag indicating if the usage is estimated or actual. `true` indicates estimate. `false` or absent indicates actual. */ - payment?: { - /** - * The amount paid - */ - amount: string; - /** - * The method of payment - */ - method: "DIRECT_DEBIT" | "CARD" | "TRANSFER" | "BPAY" | "CASH" | "CHEQUE" | "OTHER"; - [k: string]: unknown; - }; + isEstimate?: boolean | null; /** - * Indicator of the type of transaction object present in this record + * The measurement unit of rate. Assumed to be `KVA` if absent. */ - transactionUType: "usage" | "demand" | "onceOff" | "otherCharges" | "payment"; + measureUnit?: ("KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH") & (string | null); /** - * Represents a usage charge or generation credit. Mandatory if transactionUType is equal to usage + * The rate for the demand charge in _measureUnit_. Assumed to be `KVA` if _measureUnit_ not provided. A negative value indicates power generated. */ - usage?: { - /** - * Optional array of adjustments arising for this transaction - */ - adjustments?: - | Array<{ - /** - * The amount of the adjustment - */ - amount: string; - /** - * A free text description of the adjustment - */ - description: string; - [k: string]: unknown; - }> - | null; - /** - * The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit - */ - amount: string; - /** - * Additional calculation factors that inform the transaction - */ - calculationFactors?: - | Array<{ - /** - * The type of the calculation factor - */ - type: "DLF" | "MLF"; - /** - * The value of the calculation factor - */ - value: number; - [k: string]: unknown; - }> - | null; - /** - * Optional description of the transaction that can be used for display purposes - */ - description?: string | null; - /** - * Date and time when the usage period ends - */ - endDate: string; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * Flag indicating if the usage is estimated or actual. True indicates estimate. False or absent indicates actual - */ - isEstimate?: boolean | null; - /** - * The measurement unit of rate. Assumed to be KWH if absent - */ - measureUnit?: ("KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH") | null; - /** - * The ID of the service point to which this transaction applies if any - */ - servicePointId?: string | null; - /** - * Date and time when the usage period starts - */ - startDate: string; + rate: number; + /** + * Unique identifier for the service point. + */ + servicePointId?: string; + /** + * Date and time when the demand period starts. + */ + startDate: string; + /** + * The time of use type that the transaction applies to. + */ + timeOfUseType: + | "PEAK" + | "OFF_PEAK" + | "OFF_PEAK_DEMAND_CHARGE" + | "SHOULDER" + | "SHOULDER1" + | "SHOULDER2" + | "CONTROLLED_LOAD" + | "SOLAR" + | "AGGREGATE" + | "ALL_DAY" + | "EXCESS"; +} +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export interface EnergyBillingListResponseV2 { + data: { /** - * The time of use type that the transaction applies to + * Array of transactions sorted by date and time in descending order */ - timeOfUseType: - | "PEAK" - | "OFF_PEAK" - | "OFF_PEAK_DEMAND_CHARGE" - | "SHOULDER" - | "SHOULDER1" - | "SHOULDER2" - | "CONTROLLED_LOAD" - | "SOLAR" - | "AGGREGATE" - | "ALL_DAY"; + transactions: EnergyBillingTransactionV2[]; + }; + links: LinksPaginated; + meta: MetaPaginated; +} +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export interface EnergyBillingListResponseV3 { + data: { /** - * The usage for the period in measure unit. A negative value indicates power generated + * Array of transactions sorted by date and time in descending order. */ - usage: number; - [k: string]: unknown; + transactions: EnergyBillingTransactionV3[]; }; - [k: string]: unknown; + links: LinksPaginated; + meta: MetaPaginated; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface EnergyBillingUsageTransaction { +export interface EnergyBillingOnceOffTransaction { /** - * Optional array of adjustments arising for this transaction + * The amount of the charge or credit. A positive value indicates a charge and a negative value indicates a credit. + */ + amount: string; + /** + * A free text description of the item. + */ + description: string; + /** + * The number of the invoice in which this transaction is included if it has been issued. + */ + invoiceNumber?: string | null; + /** + * Unique identifier for the service point. + */ + servicePointId?: string; +} +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export interface EnergyBillingOtherTransaction { + /** + * Optional array of adjustments arising for this transaction. */ adjustments?: - | Array<{ + | { /** - * The amount of the adjustment + * The amount of the adjustment. */ amount: string; /** - * A free text description of the adjustment + * A free text description of the adjustment. */ description: string; - [k: string]: unknown; - }> + }[] | null; /** - * The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit + * The amount of the charge. */ amount: string; /** - * Additional calculation factors that inform the transaction + * Additional calculation factors that inform the transaction. */ calculationFactors?: - | Array<{ + | { /** - * The type of the calculation factor + * The type of the calculation factor. */ type: "DLF" | "MLF"; /** - * The value of the calculation factor + * The value of the calculation factor. */ value: number; - [k: string]: unknown; - }> + }[] | null; /** - * Optional description of the transaction that can be used for display purposes + * A free text description of the item. */ - description?: string | null; + description: string; /** - * Date and time when the usage period ends + * Optional end date for the application of the charge. */ - endDate: string; + endDate?: string | null; /** - * The number of the invoice in which this transaction is included if it has been issued + * The number of the invoice in which this transaction is included if it has been issued. */ invoiceNumber?: string | null; /** - * Flag indicating if the usage is estimated or actual. True indicates estimate. False or absent indicates actual + * Unique identifier for the service point. */ - isEstimate?: boolean | null; + servicePointId?: string; /** - * The measurement unit of rate. Assumed to be KWH if absent + * Optional start date for the application of the charge. */ - measureUnit?: ("KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH") | null; + startDate?: string | null; /** - * The ID of the service point to which this transaction applies if any + * Type of charge. Assumed to be `OTHER` if absent. */ - servicePointId?: string | null; + type?: ("ENVIRONMENTAL" | "REGULATED" | "NETWORK" | "METERING" | "RETAIL_SERVICE" | "RCTI" | "OTHER") | null; +} +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export interface EnergyBillingPaymentTransaction { /** - * Date and time when the usage period starts + * The amount paid. */ - startDate: string; + amount: string; /** - * The time of use type that the transaction applies to + * The method of payment. */ - timeOfUseType: - | "PEAK" - | "OFF_PEAK" - | "OFF_PEAK_DEMAND_CHARGE" - | "SHOULDER" - | "SHOULDER1" - | "SHOULDER2" - | "CONTROLLED_LOAD" - | "SOLAR" - | "AGGREGATE"; + method: "DIRECT_DEBIT" | "CARD" | "TRANSFER" | "BPAY" | "CASH" | "CHEQUE" | "OTHER"; +} +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export interface EnergyBillingTransactionV2 { /** - * The usage for the period in measure unit. A negative value indicates power generated + * The ID of the account for which transaction applies */ - usage: number; - [k: string]: unknown; + accountId: string; + demand?: EnergyBillingDemandTransactionV2; + /** + * The date and time that the transaction occurred + */ + executionDateTime: string; + /** + * The GST incurred in the transaction. Should not be included for credits or payments. If absent zero is assumed + */ + gst?: string | null; + onceOff?: EnergyBillingOnceOffTransaction; + otherCharges?: EnergyBillingOtherTransaction; + payment?: EnergyBillingPaymentTransaction; + /** + * Indicator of the type of transaction object present in this record + */ + transactionUType: "usage" | "demand" | "onceOff" | "otherCharges" | "payment"; + usage?: EnergyBillingUsageTransactionV2; } +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ +export interface EnergyBillingTransactionV3 { + /** + * Unique identifier for the account. + */ + accountId: string; + /** + * Represents a demand charge or generation credit. Mandatory if _transactionUType_ is equal to `demand`. + */ + demand?: EnergyBillingDemandTransactionV3; + /** + * The date and time that the transaction occurred. + */ + executionDateTime: string; + /** + * The GST incurred in the transaction. Should not be included for credits or payments. If absent then zero is assumed. + */ + gst?: string | null; + /** + * Represents a once off charge or credit. Mandatory if _transactionUType_ is equal to `onceOff`. + */ + onceOff?: EnergyBillingOnceOffTransaction; + /** + * Represents charge other than usage and once off. Mandatory if _transactionUType_ is equal to `otherCharges`. + */ + otherCharges?: EnergyBillingOtherTransaction; + /** + * Represents a payment to the account. Mandatory if _transactionUType_ is equal to `payment`. + */ + payment?: EnergyBillingPaymentTransaction; + /** + * Indicator of the type of transaction object present in this record. + */ + transactionUType: "usage" | "demand" | "onceOff" | "otherCharges" | "payment"; + /** + * Represents a usage charge or generation credit. Mandatory if _transactionUType_ is equal to `usage`. + */ + usage?: EnergyBillingUsageTransactionV2; +} /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface EnergyBillingUsageTransactionV2 { /** - * Optional array of adjustments arising for this transaction + * Optional array of adjustments arising for this transaction. */ adjustments?: - | Array<{ + | { /** - * The amount of the adjustment + * The amount of the adjustment. */ amount: string; /** - * A free text description of the adjustment + * A free text description of the adjustment. */ description: string; - [k: string]: unknown; - }> + }[] | null; /** - * The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit + * The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit. */ amount: string; /** - * Additional calculation factors that inform the transaction + * Additional calculation factors that inform the transaction. */ calculationFactors?: - | Array<{ + | { /** - * The type of the calculation factor + * The type of the calculation factor. */ type: "DLF" | "MLF"; /** - * The value of the calculation factor + * The value of the calculation factor. */ value: number; - [k: string]: unknown; - }> + }[] | null; /** - * Optional description of the transaction that can be used for display purposes + * Optional description of the transaction that can be used for display purposes. */ description?: string | null; /** - * Date and time when the usage period ends + * Date and time when the usage period ends. */ endDate: string; /** - * The number of the invoice in which this transaction is included if it has been issued + * The number of the invoice in which this transaction is included if it has been issued. */ invoiceNumber?: string | null; /** - * Flag indicating if the usage is estimated or actual. True indicates estimate. False or absent indicates actual + * Flag indicating if the usage is estimated or actual. `true` indicates estimate. `false` or absent indicates actual. */ isEstimate?: boolean | null; /** - * The measurement unit of rate. Assumed to be KWH if absent + * The measurement unit of rate. Assumed to be `KWH` if absent. */ - measureUnit?: ("KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH") | null; + measureUnit?: ("KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH") & (string | null); /** - * The ID of the service point to which this transaction applies if any + * Unique identifier for the service point. */ - servicePointId?: string | null; + servicePointId?: string; /** - * Date and time when the usage period starts + * Date and time when the usage period starts. */ startDate: string; /** - * The time of use type that the transaction applies to + * The time of use type that the transaction applies to. */ timeOfUseType: | "PEAK" @@ -3181,198 +1127,193 @@ export interface EnergyBillingUsageTransactionV2 { | "AGGREGATE" | "ALL_DAY"; /** - * The usage for the period in measure unit. A negative value indicates power generated + * The usage for the period in measure unit. A negative value indicates power generated. */ usage: number; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface EnergyConcession { /** - * Display text providing more information on the concession. Mandatory if type is VARIABLE + * Display text providing more information on the concession. Mandatory if _type_ is `VARIABLE`. */ additionalInfo?: string | null; /** - * Optional link to additional information regarding the concession + * Optional link to additional information regarding the concession. */ additionalInfoUri?: string | null; /** - * Conditional attribute for the amount of discount for the concession- required if type is FIXED_AMOUNT + * Conditional attribute for the amount of discount for the concession- required if type is `FIXED_AMOUNT`. */ amount?: string | null; /** - * Array of ENUM's to specify what the concession applies to. Multiple ENUM values can be provided. If absent, USAGE is assumed + * Array of ENUMs to specify what the concession applies to. Multiple ENUM values can be provided. If absent, `USAGE` is assumed. */ - appliedTo?: Array<"INVOICE" | "USAGE" | "SERVICE_CHARGE" | "CONTROLLED_LOAD"> | null; + appliedTo?: ("INVOICE" | "USAGE" | "SERVICE_CHARGE" | "CONTROLLED_LOAD")[] | null; /** - * Conditional attribute for frequency at which a concession is applied. Required if type is FIXED_AMOUNT or FIXED_PERCENTAGE. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + * Conditional attribute for frequency at which a concession is applied. Required if type is `FIXED_AMOUNT` or `FIXED_PERCENTAGE`. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). */ discountFrequency?: string | null; /** - * The display name of the concession + * The display name of the concession. */ displayName: string; /** - * Optional end date for the application of the concession + * Optional end date for the application of the concession. */ endDate?: string | null; /** - * Conditional attribute for the percentage of discount of concession - required if type is FIXED_PERCENTAGE + * Conditional attribute for the percentage of discount of concession - required if type is `FIXED_PERCENTAGE`. */ percentage?: string | null; /** - * Optional start date for the application of the concession + * Optional start date for the application of the concession. */ startDate?: string | null; /** - * Indicator of the method of concession calculation + * Indicator of the method of concession calculation. */ type: "FIXED_AMOUNT" | "FIXED_PERCENTAGE" | "VARIABLE"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface EnergyConcessionsResponse { data: { /** - * Array may be empty if no concessions exist + * Array may be empty if no concessions exist. */ concessions: EnergyConcession[]; - [k: string]: unknown; }; links: Links; meta?: Meta; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ +export type EnergyDaysEnum = "SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS"; +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + export interface EnergyDerDetailResponse { data: EnergyDerRecord; links: Links; meta?: Meta; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface EnergyDerListResponse { data: { /** - * Array of meter reads + * Array of meter reads. */ derRecords: EnergyDerRecord[]; }; links: LinksPaginated; meta: MetaPaginated; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface EnergyDerRecord { - acConnections: Array<{ + acConnections: { /** - * The date that the DER installation is commissioned + * The date that the DER installation is commissioned. */ commissioningDate: string; /** - * AC Connection ID as defined in the DER register. Does not align with CDR ID permanence standards + * AC Connection ID as defined in the DER register. Does not align with CDR ID permanence standards. */ connectionIdentifier: number; /** - * Number of AC Connections in the group. For the suite of AC Connections to be considered as a group, all of the AC Connections included must have the same attributes + * Number of AC Connections in the group. For the suite of AC Connections to be considered as a group, all of the AC Connections included must have the same attributes. */ count: number; - derDevices: Array<{ + derDevices: { /** - * Number of devices in the group of DER devices + * Number of devices in the group of DER devices. */ count: number; /** - * Unique identifier for a single DER device or a group of DER devices with the same attributes. Does not align with CDR ID permanence standards + * Unique identifier for a single DER device or a group of DER devices with the same attributes. Does not align with CDR ID permanence standards. */ deviceIdentifier: number; /** - * The name of the device manufacturer. If absent then assumed to be “unknown” + * The name of the device manufacturer. If absent then assumed to be "unknown". */ manufacturer?: string; /** - * The model number of the device. If absent then assumed to be “unknown” + * The model number of the device. If absent then assumed to be "unknown". */ modelNumber?: string; /** - * Maximum output in kVA that is listed in the product specification by the manufacturer. This refers to the capacity of each unit within the device group + * Maximum output in kVA that is listed in the product specification by the manufacturer. This refers to the capacity of each unit within the device group. Default is `0` if value not known. */ nominalRatedCapacity: number; /** - * Maximum storage capacity in kVAh. This refers to the capacity of each storage module within the device group. Mandatory if type is equal to “STORAGE” + * Maximum storage capacity in kVAh. This refers to the capacity of each storage module within the device group. Mandatory if type is equal to `STORAGE`. Default is `0` if value not known. */ nominalStorageCapacity?: number; /** - * Code used to indicate the status of the device. This will be used to identify if an inverter is active or inactive or decommissioned + * Code used to indicate the status of the device. This will be used to identify if an inverter is active or inactive or decommissioned. */ status?: "ACTIVE" | "INACTIVE" | "DECOMMISSIONED"; /** - * Used to indicate the primary technology used in the DER device. This field is also used to record for example the battery chemistry, or the type of PV panel. It is also used to record if a battery is contained in an electric vehicle connected in a vehicle-to-grid arrangement. If absent then assumed to be “other” + * Used to indicate the primary technology used in the DER device. This field is also used to record for example the battery chemistry, or the type of PV panel. It is also used to record if a battery is contained in an electric vehicle connected in a vehicle-to-grid arrangement. If absent then assumed to be "other". */ subtype?: string; /** - * Used to indicate the primary technology used in the DER device + * Used to indicate the primary technology used in the DER device. */ type: "FOSSIL" | "HYDRO" | "WIND" | "SOLAR_PV" | "RENEWABLE" | "GEOTHERMAL" | "STORAGE" | "OTHER"; - [k: string]: unknown; - }>; + }[]; /** - * Indicates whether the DER device is connected via an inverter (and what category of inverter it is) or not (e.g. rotating machine). If absent, assume equipment type to be “OTHER”. + * Indicates whether the DER device is connected via an inverter (and what category of inverter it is) or not (e.g., rotating machine). If absent, assume equipment type to be `OTHER`. */ equipmentType?: "INVERTER" | "OTHER"; /** - * The rated AC output power that is listed in the product specified by the manufacturer. Mandatory if equipmentType is INVERTER + * The rated AC output power that is listed in the product specified by the manufacturer. Mandatory if _equipmentType_ is `INVERTER`. Default is `0` if value not known. */ inverterDeviceCapacity?: number; /** - * The inverter model number. Mandatory if equipmentType is INVERTER + * The inverter model number. Mandatory if _equipmentType_ is `INVERTER`. */ inverterModelNumber?: string; /** - * The inverter series. Mandatory if equipmentType is INVERTER + * The inverter series. Mandatory if _equipmentType_ is `INVERTER`. */ inverterSeries?: string; /** - * The name of the inverter manufacturer. Mandatory if equipmentType is INVERTER + * The name of the inverter manufacturer. Mandatory if _equipmentType_ is `INVERTER`. */ manufacturerName?: string; /** - * Code used to indicate the status of the Inverter. This will be used to identify if an inverter is active or inactive or decommissioned + * Code used to indicate the status of the Inverter. This will be used to identify if an inverter is active or inactive or decommissioned. */ status: "ACTIVE" | "INACTIVE" | "DECOMMISSIONED"; - [k: string]: unknown; - }>; + }[]; /** - * Approved small generating unit capacity as agreed with NSP in the connection agreement, expressed in kVA. Value of 0 indicates no DER record exists for the given servicePointId + * Approved small generating unit capacity as agreed with NSP in the connection agreement, expressed in kVA. Value of `0` indicates no DER record exists for the given _servicePointId_. */ approvedCapacity: number; /** - * The number of phases available for the installation of DER. Acceptable values are 0, 1, 2 or 3. Value of 0 indicates no DER record exists for the given servicePointId + * The number of phases available for the installation of DER. Acceptable values are `0`, `1`, `2` or `3`. Value of `0` indicates no DER record exists for the given _servicePointId_. */ availablePhasesCount: number; /** - * For DER installations where NSPs specify the need for additional forms of protection above those inbuilt in an inverter. If absent then assumed to be false + * For DER installations where NSPs specify the need for additional forms of protection above those inbuilt in an inverter. If absent then assumed to be `false`. */ hasCentralProtectionControl?: boolean | null; /** - * The number of phases that DER is connected to. Acceptable values are 0, 1, 2 or 3. Value of 0 indicates no DER record exists for the given servicePointId + * The number of phases that DER is connected to. Acceptable values are `0`, `1`, `2` or `3`. Value of `0` indicates no DER record exists for the given _servicePointId_. */ installedPhasesCount: number; /** - * For identification of small generating units designed with the ability to operate in an islanded mode + * For identification of small generating units designed with the ability to operate in an islanded mode. */ islandableInstallation: boolean; /** - * Required only when the hasCentralProtectionAndControl flag is set to true. One or more of the object fields will be provided to describe the protection modes in place + * Required only when the _hasCentralProtectionControl_ flag is set to `true`. One or more of the object fields will be provided to describe the protection modes in place. */ protectionMode?: { /** - * Maximum amount of power (kVA) that may be exported from a connection point to the grid, as monitored by a control / relay function. An absent value indicates no limit + * Maximum amount of power (kVA) that may be exported from a connection point to the grid, as monitored by a control/relay function. An absent value indicates no limit. */ exportLimitKva?: number | null; /** @@ -3380,7 +1321,7 @@ export interface EnergyDerRecord { */ frequencyRateOfChange?: number | null; /** - * Description of the form of inter-trip (e.g. 'from local substation'). + * Description of the form of inter-trip (e.g., 'from local substation'). */ interTripScheme?: string | null; /** @@ -3431,705 +1372,475 @@ export interface EnergyDerRecord { * Trip angle in degrees. */ voltageVectorShift?: number | null; - [k: string]: unknown; } | null; /** - * Tokenised ID of the service point to be used for referring to the service point in the CDR API suite. To be created in accordance with CDR ID permanence requirements + * Unique identifier for the service point. */ servicePointId: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface EnergyInvoice { + accountCharges?: EnergyInvoiceAccountCharges; /** - * Object contain charges and credits related to electricity usage - */ - accountCharges?: { - /** - * The aggregate total of account level charges for the period covered by the invoice - */ - totalCharges: string; - /** - * The aggregate total of account level discounts or credits for the period covered by the invoice - */ - totalDiscounts: string; - /** - * The total GST for all account level charges. If absent then zero is assumed - */ - totalGst?: string | null; - [k: string]: unknown; - }; - /** - * The ID of the account for which the invoice was issued + * Unique identifier for the account. */ accountId: string; /** - * The account balance at the time the invoice was issued + * The account balance at the time the invoice was issued. */ balanceAtIssue: string; /** - * The date that the invoice is due to be paid + * The date that the invoice is due to be paid. */ dueDate?: string | null; /** - * Object containing charges and credits related to electricity usage + * Object containing charges and credits related to electricity usage. */ - electricity?: { - /** - * Optional array of charges that may be part of the invoice (for e.g. environmental charges for C&I consumers) (exclusive of GST) - */ - otherCharges?: - | Array<{ - /** - * The aggregate total of charges for this item (exclusive of GST) - */ - amount: string; - /** - * A free text description of the type of charge - */ - description: string; - /** - * Type of charge. Assumed to be other if absent - */ - type?: "ENVIRONMENTAL" | "REGULATED" | "NETWORK" | "METERING" | "RETAIL_SERVICE" | "RCTI" | "OTHER"; - [k: string]: unknown; - }> - | null; - /** - * The aggregate total of generation credits for the period covered by the invoice (exclusive of GST) - */ - totalGenerationCredits: string; - /** - * The total GST for all electricity usage charges. If absent then zero is assumed - */ - totalGst?: string | null; - /** - * The aggregate total of any once off charges arising from electricity usage for the period covered by the invoice (exclusive of GST) - */ - totalOnceOffCharges: string; - /** - * The aggregate total of any once off discounts or credits arising from electricity usage for the period covered by the invoice (exclusive of GST) - */ - totalOnceOffDiscounts: string; - /** - * The aggregate total of usage charges for the period covered by the invoice (exclusive of GST) - */ - totalUsageCharges: string; - [k: string]: unknown; - }; + electricity?: EnergyInvoiceElectricityUsageCharges; /** - * Object containing charges and credits related to gas usage + * Object containing charges and credits related to gas usage. */ - gas?: { - /** - * Optional array of charges that may be part of the invoice (for e.g. environmental charges for C&I consumers) (exclusive of GST) - */ - otherCharges?: - | Array<{ - /** - * The aggregate total of charges for this item (exclusive of GST) - */ - amount: string; - /** - * A free text description of the type of charge - */ - description: string; - /** - * Type of charge. Assumed to be other if absent - */ - type?: "ENVIRONMENTAL" | "REGULATED" | "NETWORK" | "METERING" | "RETAIL_SERVICE" | "RCTI" | "OTHER"; - [k: string]: unknown; - }> - | null; - /** - * The aggregate total of generation credits for the period covered by the invoice (exclusive of GST) - */ - totalGenerationCredits: string; - /** - * The total GST for all electricity usage charges. If absent then zero is assumed - */ - totalGst?: string | null; - /** - * The aggregate total of any once off charges arising from electricity usage for the period covered by the invoice (exclusive of GST) - */ - totalOnceOffCharges: string; - /** - * The aggregate total of any once off discounts or credits arising from electricity usage for the period covered by the invoice (exclusive of GST) - */ - totalOnceOffDiscounts: string; - /** - * The aggregate total of usage charges for the period covered by the invoice (exclusive of GST) - */ - totalUsageCharges: string; - [k: string]: unknown; - }; + gas?: EnergyInvoiceGasUsageCharges; /** - * The total GST amount for this invoice. If absent then zero is assumed + * The total GST amount for this invoice. If absent then zero is assumed. */ gstAmount?: string | null; /** - * The net amount due for this invoice regardless of previous balance + * The net amount due for this invoice regardless of previous balance. */ invoiceAmount?: string | null; /** - * The number assigned to this invoice by the energy Retailer + * The number assigned to this invoice by the energy Retailer. */ invoiceNumber: string; /** - * The date that the invoice was actually issued (as opposed to generated or calculated) + * The date that the invoice was actually issued (as opposed to generated or calculated). */ issueDate: string; /** - * A discount for on time payment + * A discount for on time payment. */ payOnTimeDiscount?: { /** - * The date by which the invoice must be paid to receive the pay on time discount + * The date by which the invoice must be paid to receive the pay on time discount. */ date: string; /** - * The amount that will be discounted if the invoice is paid by the date specified + * The amount that will be discounted if the invoice is paid by the date specified. */ discountAmount: string; /** - * The GST amount that will be discounted if the invoice is paid by the date specified. If absent then zero is assumed + * The GST amount that will be discounted if the invoice is paid by the date specified. If absent then zero is assumed. */ gstAmount?: string | null; - [k: string]: unknown; } | null; /** - * Indicator of the payment status for the invoice + * Indicator of the payment status for the invoice. */ paymentStatus: "PAID" | "PARTIALLY_PAID" | "NOT_PAID"; /** - * Object containing the start and end date for the period covered by the invoice. Mandatory if any usage or demand based charges are included in the invoice + * Object containing the start and end date for the period covered by the invoice. Mandatory if any usage or demand based charges are included in the invoice. */ period?: { /** - * The end date of the period covered by this invoice + * The end date of the period covered by this invoice. */ endDate: string; /** - * The start date of the period covered by this invoice + * The start date of the period covered by this invoice. */ startDate: string; - [k: string]: unknown; } | null; /** - * Array of service point IDs to which this invoice applies. May be empty if the invoice contains no electricity usage related charges + * Array of service point IDs to which this invoice applies. May be empty if the invoice contains no electricity usage related charges. */ servicePoints: string[]; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ /** - * Object contains account level charges and credits related to electricity usage + * Object contains account level charges and credits related to electricity usage. */ export interface EnergyInvoiceAccountCharges { /** - * The aggregate total of account level charges for the period covered by the invoice + * The aggregate total of account level charges for the period covered by the invoice. */ totalCharges: string; /** - * The aggregate total of account level discounts or credits for the period covered by the invoice + * The aggregate total of account level discounts or credits for the period covered by the invoice. */ totalDiscounts: string; /** - * The total GST for all account level charges. If absent then zero is assumed + * The total GST for all account level charges. If absent then zero is assumed. */ totalGst?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface EnergyInvoiceElectricityUsageCharges { /** - * Optional array of charges that may be part of the invoice (for e.g. environmental charges for C&I consumers) (exclusive of GST) + * Optional array of charges that may be part of the invoice (for e.g., environmental charges for C&I consumers) (exclusive of GST). */ otherCharges?: - | Array<{ + | { /** - * The aggregate total of charges for this item (exclusive of GST) + * The aggregate total of charges for this item (exclusive of GST). */ amount: string; /** - * A free text description of the type of charge + * A free text description of the type of charge. */ description: string; /** - * Type of charge. Assumed to be other if absent + * Type of charge. Assumed to be `OTHER` if absent. */ type?: "ENVIRONMENTAL" | "REGULATED" | "NETWORK" | "METERING" | "RETAIL_SERVICE" | "RCTI" | "OTHER"; - [k: string]: unknown; - }> + }[] | null; /** - * The aggregate total of generation credits for the period covered by the invoice (exclusive of GST) + * The aggregate total of generation credits for the period covered by the invoice (exclusive of GST). */ totalGenerationCredits: string; /** - * The total GST for all electricity usage charges. If absent then zero is assumed + * The total GST for all electricity usage charges. If absent then zero is assumed. */ totalGst?: string | null; /** - * The aggregate total of any once off charges arising from electricity usage for the period covered by the invoice (exclusive of GST) + * The aggregate total of any once off charges arising from electricity usage for the period covered by the invoice (exclusive of GST). */ totalOnceOffCharges: string; /** - * The aggregate total of any once off discounts or credits arising from electricity usage for the period covered by the invoice (exclusive of GST) + * The aggregate total of any once off discounts or credits arising from electricity usage for the period covered by the invoice (exclusive of GST). */ totalOnceOffDiscounts: string; /** - * The aggregate total of usage charges for the period covered by the invoice (exclusive of GST) + * The aggregate total of usage charges for the period covered by the invoice (exclusive of GST). */ totalUsageCharges: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface EnergyInvoiceGasUsageCharges { /** - * Optional array of charges that may be part of the invoice (for e.g. environmental charges for C&I consumers) (exclusive of GST) + * Optional array of charges that may be part of the invoice (for e.g., environmental charges for C&I consumers) (exclusive of GST). */ otherCharges?: - | Array<{ + | { /** - * The aggregate total of charges for this item (exclusive of GST) + * The aggregate total of charges for this item (exclusive of GST). */ amount: string; /** - * A free text description of the type of charge + * A free text description of the type of charge. */ description: string; /** - * Type of charge. Assumed to be other if absent + * Type of charge. Assumed to be `OTHER` if absent. */ type?: "ENVIRONMENTAL" | "REGULATED" | "NETWORK" | "METERING" | "RETAIL_SERVICE" | "RCTI" | "OTHER"; - [k: string]: unknown; - }> + }[] | null; /** - * The aggregate total of generation credits for the period covered by the invoice (exclusive of GST) + * The aggregate total of generation credits for the period covered by the invoice (exclusive of GST). */ totalGenerationCredits: string; /** - * The total GST for all gas usage charges. If absent then zero is assumed + * The total GST for all gas usage charges. If absent then zero is assumed. */ totalGst?: string | null; /** - * The aggregate total of any once off charges arising from gas usage for the period covered by the invoice (exclusive of GST) + * The aggregate total of any once off charges arising from gas usage for the period covered by the invoice (exclusive of GST). */ totalOnceOffCharges: string; /** - * The aggregate total of any once off discounts or credits arising from gas usage for the period covered by the invoice (exclusive of GST) + * The aggregate total of any once off discounts or credits arising from gas usage for the period covered by the invoice (exclusive of GST). */ totalOnceOffDiscounts: string; /** - * The aggregate total of usage charges for the period covered by the invoice (exclusive of GST) + * The aggregate total of usage charges for the period covered by the invoice (exclusive of GST). */ totalUsageCharges: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface EnergyInvoiceListResponse { data: { /** - * Array of invoices sorted by issue date in descending order + * Array of invoices sorted by issue date in descending order. */ invoices: EnergyInvoice[]; }; links: LinksPaginated; meta: MetaPaginated; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface EnergyPaymentSchedule { /** - * Optional payment amount indicating that a constant payment amount is scheduled to be paid (used in bill smoothing scenarios) + * Optional payment amount indicating that a constant payment amount is scheduled to be paid (used in bill smoothing scenarios). */ amount?: string | null; /** - * Represents a regular credit card payment schedule. Mandatory if paymentScheduleUType is set to cardDebit + * Represents a regular credit card payment schedule. Mandatory if _paymentScheduleUType_ is set to `cardDebit`. */ cardDebit?: { /** - * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
+ * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
*/ calculationType: "STATIC" | "BALANCE" | "CALCULATED"; /** - * The type of credit card held on file + * The type of credit card held on file. */ cardScheme: "VISA" | "MASTERCARD" | "AMEX" | "DINERS" | "OTHER" | "UNKNOWN"; /** - * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). */ paymentFrequency: string; - [k: string]: unknown; } | null; /** - * Represents a regular payment from a digital wallet. Mandatory if paymentScheduleUType is set to digitalWallet + * Represents a regular payment from a digital wallet. Mandatory if _paymentScheduleUType_ is set to `digitalWallet`. */ digitalWallet?: { /** - * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
+ * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
*/ calculationType: "STATIC" | "BALANCE" | "CALCULATED"; /** - * The identifier of the digital wallet (dependent on type) + * The identifier of the digital wallet (dependent on type). */ identifier: string; /** - * The display name of the wallet as given by the customer, else a default value defined by the data holder + * The display name of the wallet as given by the customer, else a default value defined by the data holder. */ name: string; /** - * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). */ paymentFrequency: string; /** - * The provider of the digital wallet + * The provider of the digital wallet. */ provider: "PAYPAL_AU" | "OTHER"; /** - * The type of the digital wallet identifier + * The type of the digital wallet identifier. */ type: "EMAIL" | "CONTACT_NAME" | "TELEPHONE"; - [k: string]: unknown; } | null; /** - * Represents a regular direct debit from a specified bank account. Mandatory if paymentScheduleUType is set to directDebit + * Represents a regular direct debit from a specified bank account. Mandatory if _paymentScheduleUType_ is set to `directDebit`. */ directDebit?: { /** - * The unmasked account number for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. Is required if isTokenised is absent or false + * The unmasked account number for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. Is required if _isTokenised_ is absent or `false`. */ accountNumber?: string | null; /** - * The unmasked BSB for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. Is required if isTokenised is absent or false + * The unmasked BSB for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. Is required if _isTokenised_ is absent or `false`. */ bsb?: string | null; /** - * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
+ * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
*/ calculationType: "STATIC" | "BALANCE" | "CALCULATED"; /** - * Flag indicating that the account details are tokenised, or held in a closed system, and is not accessible through any other channels. False if absent + * Flag indicating that the account details are tokenised, or held in a closed system, and is not accessible through any other channels. `false` if absent. */ isTokenised?: boolean | null; /** - * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). */ paymentFrequency: string; - [k: string]: unknown; } | null; /** - * Represents a manual payment schedule where the customer pays in response to a delivered statement. Mandatory if paymentScheduleUType is set to manualPayment + * Represents a manual payment schedule where the customer pays in response to a delivered statement. Mandatory if _paymentScheduleUType_ is set to `manualPayment`. */ manualPayment?: { /** - * The frequency with which a bill will be issued. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + * The frequency with which a bill will be issued. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). */ billFrequency: string; - [k: string]: unknown; } | null; /** - * The type of object present in this response + * The type of object present in this response. */ paymentScheduleUType: "cardDebit" | "directDebit" | "manualPayment" | "digitalWallet"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface EnergyPaymentScheduleResponse { data: { /** - * Array may be empty if no payment schedule exist + * Array may be empty if no payment schedules exist. */ paymentSchedules: EnergyPaymentSchedule[]; - [k: string]: unknown; }; links: Links; meta?: Meta; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface EnergyPlan { /** - * Object that contains links to additional information on specific topics + * Object that contains links to additional information on specific topics. */ additionalInformation?: { /** - * A link to detail on bundles that this plan can be a part of + * A link to detail on bundles that this plan can be a part of. */ bundleUri?: string | null; /** - * A link to detail on eligibility criteria for the plan + * A link to detail on eligibility criteria for the plan. */ eligibilityUri?: string | null; /** - * A link to a general overview of the plan + * A link to a general overview of the plan. */ overviewUri?: string | null; /** - * A link to detail on pricing for the plan + * A link to detail on pricing for the plan. */ pricingUri?: string | null; /** - * A link to terms and conditions for the plan + * A link to terms and conditions for the plan. */ termsUri?: string | null; - [k: string]: unknown; - } | null; - /** - * A link to an application web page where this plan can be applied for - */ - applicationUri?: string | null; - /** - * The ID of the brand under which this plan is offered - */ - brand: string; - /** - * The display name of the brand under which this plan is offered - */ - brandName: string; - /** - * The type of customer that the plan is offered to. If absent then the plan is available to all customers - */ - customerType?: ("RESIDENTIAL" | "BUSINESS") | null; - /** - * A description of the plan - */ - description?: string | null; - /** - * The display name of the plan - */ - displayName?: string | null; - /** - * The date and time from which this plan is effective (ie. is available for origination). Used to enable the articulation of products to the regime before they are available for customers to originate - */ - effectiveFrom?: string | null; - /** - * The date and time at which this plan will be retired and will no longer be offered. Used to enable the managed deprecation of plans - */ - effectiveTo?: string | null; - /** - * The fuel types covered by the plan - */ - fuelType: "ELECTRICITY" | "GAS" | "DUAL"; - /** - * Describes the geographical area that the plan is available for. If absent then it is assumed the plan is not geographically limited - */ - geography?: { - /** - * Array of distributors for the plan. Must have at least one entry - */ - distributors: string[]; - /** - * Array of valid Australian post codes that are specifically excluded from the plan. Each element is a single four digit postcode (e.g. 3000) or a range of postcodes defined by two four digit postcodes and a hyphen (e.g. 3000-3999) - */ - excludedPostcodes?: string[] | null; - /** - * Array of valid Australian post codes that are included from the plan. If absent defaults to all non-excluded post codes. Each element is a single four digit postcode (e.g. 3000) or a range of postcodes defined by two four digit postcodes and a hyphen (e.g. 3000-3999) - */ - includedPostcodes?: string[] | null; - [k: string]: unknown; } | null; /** - * The last date and time that the information for this plan was changed (or the creation date for the plan if it has never been altered) - */ - lastUpdated: string; - /** - * The ID of the specific plan + * A link to an application web page where this plan can be applied for. */ - planId: string; - /** - * The type of the plan - */ - type: "STANDING" | "MARKET" | "REGULATED"; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ - -export interface EnergyPlanContract { - /** - * Free text field containing additional information of the fees for this contract - */ - additionalFeeInformation?: string | null; - /** - * Required if pricing model is SINGLE_RATE_CONT_LOAD or TIME_OF_USE_CONT_LOAD or FLEXIBLE_CONT_LOAD - */ - controlledLoad?: EnergyPlanControlledLoad[]; - /** - * Optional list of discounts available for the contract - */ - discounts?: EnergyPlanDiscounts[]; - /** - * Eligibility restrictions or requirements - */ - eligibility?: EnergyPlanEligibility[]; - /** - * An array of fees applicable to the plan - */ - fees?: EnergyPlanFees[]; - /** - * Optional list of charges applicable to green power - */ - greenPowerCharges?: EnergyPlanGreenPowerCharges[]; - /** - * Optional list of incentives available for the contract - */ - incentives?: EnergyPlanIncentives[]; - /** - * Describes intrinsic green power for the plan. If present then the plan includes a percentage of green power in the base plan. Should not be present for gas contracts - */ - intrinsicGreenPower?: { - /** - * Percentage of green power intrinsically included in the plan - */ - greenPercentage: string; - [k: string]: unknown; - } | null; + applicationUri?: string | null; /** - * Flag indicating whether prices are fixed or variable + * The ID of the brand under which this plan is offered. */ - isFixed: boolean; + brand: string; /** - * Free text field that describes what will occur on or prior to expiry of the fixed contract term or benefit period + * The display name of the brand under which this plan is offered. */ - onExpiryDescription?: string | null; + brandName: string; /** - * Payment options for this contract + * The type of customer that the plan is offered to. If absent then the plan is available to all customers. */ - paymentOption: Array<"PAPER_BILL" | "CREDIT_CARD" | "DIRECT_DEBIT" | "BPAY" | "OTHER">; + customerType?: ("RESIDENTIAL" | "BUSINESS") | null; /** - * The pricing model for the contract. Contracts for gas must use SINGLE_RATE. Note that the detail for the enumeration values are: + * A description of the plan. */ - pricingModel: - | "SINGLE_RATE" - | "SINGLE_RATE_CONT_LOAD" - | "TIME_OF_USE" - | "TIME_OF_USE_CONT_LOAD" - | "FLEXIBLE" - | "FLEXIBLE_CONT_LOAD" - | "QUOTA"; + description?: string | null; /** - * Array of feed in tariffs for solar power + * The display name of the plan. */ - solarFeedInTariff?: EnergyPlanSolarFeedInTariff[]; + displayName?: string | null; /** - * Array of tariff periods + * The date and time from which this plan is effective (i.e. is available for origination). Used to enable the articulation of products to the regime before they are available for customers to originate. */ - tariffPeriod: EnergyPlanTariffPeriod[]; + effectiveFrom?: string | null; /** - * Required if pricingModel is set to TIME_OF_USE. Defines the time zone to use for calculation of the time of use thresholds. Defaults to AEST if absent + * The date and time at which this plan will be retired and will no longer be offered. Used to enable the managed deprecation of plans. */ - timeZone?: ("LOCAL" | "AEST") | null; + effectiveTo?: string | null; /** - * Free text description of price variation policy and conditions for the contract. Mandatory if `isFixed` is false + * The fuel types covered by the plan. */ - variation?: string | null; - [k: string]: unknown; -} - -/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ - -export interface EnergyPlanContractV2 { + fuelType: "ELECTRICITY" | "GAS" | "DUAL"; /** - * Free text field containing additional information of the fees for this contract + * Describes the geographical area that the plan is available for. If absent then it is assumed the plan is not geographically limited. */ - additionalFeeInformation?: string | null; + geography?: { + /** + * Array of distributors for the plan. Must have at least one entry. + */ + distributors: string[]; + /** + * Array of valid Australian postcodes that are specifically excluded from the plan. Each element is a single four digit postcode (e.g., `3000`) or a range of postcodes defined by two four digit postcodes and a hyphen (e.g., `3000-3999`). + */ + excludedPostcodes?: string[] | null; + /** + * Array of valid Australian postcodes that are included from the plan. If absent defaults to all non-excluded postcodes. Each element is a single four digit postcode (e.g., `3000`) or a range of postcodes defined by two four digit postcodes and a hyphen (e.g., `3000-3999`). + */ + includedPostcodes?: string[] | null; + } | null; /** - * Required if pricing model is SINGLE_RATE_CONT_LOAD or TIME_OF_USE_CONT_LOAD or FLEXIBLE_CONT_LOAD + * The last date and time that the information for this plan was changed (or the creation date for the plan if it has never been altered). */ - controlledLoad?: EnergyPlanControlledLoad[]; + lastUpdated: string; /** - * Optional list of discounts available for the contract + * The unique identifier for the Energy plan. */ - discounts?: EnergyPlanDiscounts[]; + planId: string; /** - * Eligibility restrictions or requirements + * The type of the plan. */ - eligibility?: EnergyPlanEligibility[]; + type: "STANDING" | "MARKET" | "REGULATED"; +} +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export type EnergyPlanContractFullV2 = EnergyPlanContractV2 & { /** - * An array of fees applicable to the plan + * The term for the contract. If absent assumes no specified term */ - fees?: EnergyPlanFees[]; + termType?: "1_YEAR" | "2_YEAR" | "3_YEAR" | "4_YEAR" | "5_YEAR" | "ONGOING" | "OTHER"; /** - * Optional list of charges applicable to green power + * Description of the benefit period. Should only be present if termType has the value ONGOING */ - greenPowerCharges?: EnergyPlanGreenPowerCharges[]; + benefitPeriod?: string; /** - * Optional list of incentives available for the contract + * Free text description of the terms for the contract */ - incentives?: EnergyPlanIncentives[]; + terms?: string; /** - * Describes intrinsic green power for the plan. If present then the plan includes a percentage of green power in the base plan. Should not be present for gas contracts + * An array of the meter types that this contract is available for */ - intrinsicGreenPower?: { - /** - * Percentage of green power intrinsically included in the plan - */ - greenPercentage: string; - [k: string]: unknown; - } | null; + meterTypes?: string[]; /** - * Flag indicating whether prices are fixed or variable + * Number of days in the cooling off period for the contract. Mandatory for plans with type of MARKET */ - isFixed: boolean; + coolingOffDays?: number; /** - * Free text field that describes what will occur on or prior to expiry of the fixed contract term or benefit period + * An array of the available billing schedules for this contract. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) */ - onExpiryDescription?: string | null; + billFrequency: string[]; +}; +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export type EnergyPlanContractFullV3 = EnergyPlanContractV3 & { /** - * Payment options for this contract + * The term for the contract. If absent assumes no specified term. */ - paymentOption: Array<"PAPER_BILL" | "CREDIT_CARD" | "DIRECT_DEBIT" | "BPAY" | "OTHER">; + termType?: "1_YEAR" | "2_YEAR" | "3_YEAR" | "4_YEAR" | "5_YEAR" | "ONGOING" | "OTHER"; /** - * The pricing model for the contract. Contracts for gas must use SINGLE_RATE. Note that the detail for the enumeration values are: + * Description of the benefit period. Should only be present if _termType_ has the value `ONGOING`. */ - pricingModel: - | "SINGLE_RATE" - | "SINGLE_RATE_CONT_LOAD" - | "TIME_OF_USE" - | "TIME_OF_USE_CONT_LOAD" - | "FLEXIBLE" - | "FLEXIBLE_CONT_LOAD" - | "QUOTA"; + benefitPeriod?: string; /** - * Array of feed in tariffs for solar power + * Free text description of the terms for the contract. */ - solarFeedInTariff?: EnergyPlanSolarFeedInTariffV2[]; + terms?: string; /** - * Array of tariff periods + * An array of the meter types that this contract is available for. */ - tariffPeriod: EnergyPlanTariffPeriod[]; + meterTypes?: string[]; /** - * Required if pricingModel is set to TIME_OF_USE. Defines the time zone to use for calculation of the time of use thresholds. Defaults to AEST if absent + * Number of days in the cooling off period for the contract. Mandatory for plans with type of `MARKET`. */ - timeZone?: ("LOCAL" | "AEST") | null; + coolingOffDays?: number; /** - * Free text description of price variation policy and conditions for the contract. Mandatory if `isFixed` is false + * An array of the available billing schedules for this contract. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). */ - variation?: string | null; - [k: string]: unknown; -} + billFrequency: string[]; +}; +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface EnergyPlanContractV3 { +export interface EnergyPlanContractV2 { /** * Free text field containing additional information of the fees for this contract */ additionalFeeInformation?: string | null; - controlledLoad?: EnergyPlanControlledLoadV2[]; - discounts?: EnergyPlanDiscounts[]; - eligibility?: EnergyPlanEligibility[]; - fees?: EnergyPlanFees[]; - greenPowerCharges?: EnergyPlanGreenPowerCharges[]; - incentives?: EnergyPlanIncentives[]; + controlledLoad?: EnergyPlanControlledLoad; + discounts?: EnergyPlanDiscounts; + eligibility?: EnergyPlanEligibility; + fees?: EnergyPlanFees; + greenPowerCharges?: EnergyPlanGreenPowerCharges; + incentives?: EnergyPlanIncentives; /** * Describes intrinsic green power for the plan. If present then the plan includes a percentage of green power in the base plan. Should not be present for gas contracts */ @@ -4150,7 +1861,7 @@ export interface EnergyPlanContractV3 { /** * Payment options for this contract */ - paymentOption: Array<("PAPER_BILL" | "CREDIT_CARD" | "DIRECT_DEBIT" | "BPAY" | "OTHER")>; + paymentOption: ("PAPER_BILL" | "CREDIT_CARD" | "DIRECT_DEBIT" | "BPAY" | "OTHER")[]; /** * The pricing model for the contract. Contracts for gas must use SINGLE_RATE. Note that the detail for the enumeration values are: */ @@ -4162,8 +1873,8 @@ export interface EnergyPlanContractV3 { | "FLEXIBLE" | "FLEXIBLE_CONT_LOAD" | "QUOTA"; - solarFeedInTariff?: EnergyPlanSolarFeedInTariffV3[]; - tariffPeriod: EnergyPlanTariffPeriodV2[]; + solarFeedInTariff?: EnergyPlanSolarFeedInTariffV2; + tariffPeriod: EnergyPlanTariffPeriod; /** * Required if pricingModel is set to TIME_OF_USE. Defines the time zone to use for calculation of the time of use thresholds. Defaults to AEST if absent */ @@ -4175,96 +1886,90 @@ export interface EnergyPlanContractV3 { } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface EnergyPlanContractFull extends EnergyPlanContractV2 { - /** - * The term for the contract. If absent assumes no specified term - */ - termType?: "1_YEAR" | "2_YEAR" | "3_YEAR" | "4_YEAR" | "5_YEAR" | "ONGOING" | "OTHER"; - /** - * Description of the benefit period. Should only be present if termType has the value ONGOING - */ - benefitPeriod?: string; +export interface EnergyPlanContractV3 { /** - * Free text description of the terms for the contract + * Free text field containing additional information of the fees for this contract. */ - terms?: string; + additionalFeeInformation?: string | null; /** - * An array of the meter types that this contract is available for + * Required if pricing model is `SINGLE_RATE_CONT_LOAD` or `TIME_OF_USE_CONT_LOAD` or `FLEXIBLE_CONT_LOAD`. */ - meterTypes?: string[]; + controlledLoad?: EnergyPlanControlledLoadV2[] | null; /** - * Number of days in the cooling off period for the contract. Mandatory for plans with type of MARKET + * Optional list of discounts available for the contract. */ - coolingOffDays?: number; + discounts?: EnergyPlanDiscounts[] | null; /** - * An array of the available billing schedules for this contract. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + * Eligibility restrictions or requirements. */ - billFrequency: string[]; - [k: string]: unknown; -} - -/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ - -export interface EnergyPlanContractFullV2 extends EnergyPlanContractV2 { + eligibility?: EnergyPlanEligibility[] | null; /** - * The term for the contract. If absent assumes no specified term + * An array of fees applicable to the plan. */ - termType?: "1_YEAR" | "2_YEAR" | "3_YEAR" | "4_YEAR" | "5_YEAR" | "ONGOING" | "OTHER"; + fees?: EnergyPlanFees[] | null; /** - * Description of the benefit period. Should only be present if termType has the value ONGOING + * Optional list of charges applicable to green power. */ - benefitPeriod?: string; + greenPowerCharges?: EnergyPlanGreenPowerCharges[] | null; /** - * Free text description of the terms for the contract + * Optional list of incentives available for the contract. */ - terms?: string; + incentives?: EnergyPlanIncentives[] | null; /** - * An array of the meter types that this contract is available for + * Describes intrinsic green power for the plan. If present then the plan includes a percentage of green power in the base plan. Should not be present for gas contracts. */ - meterTypes?: string[]; + intrinsicGreenPower?: { + /** + * Percentage of green power intrinsically included in the plan. + */ + greenPercentage: string; + } | null; /** - * Number of days in the cooling off period for the contract. Mandatory for plans with type of MARKET + * Flag indicating whether prices are fixed or variable. */ - coolingOffDays?: number; + isFixed: boolean; /** - * An array of the available billing schedules for this contract. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + * Free text field that describes what will occur on or prior to expiry of the fixed contract term or benefit period. */ - billFrequency: string[]; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ - -export interface EnergyPlanContractFullV3 extends EnergyPlanContractV3 { + onExpiryDescription?: string | null; /** - * The term for the contract. If absent assumes no specified term + * Payment options for this contract. */ - termType?: "1_YEAR" | "2_YEAR" | "3_YEAR" | "4_YEAR" | "5_YEAR" | "ONGOING" | "OTHER"; + paymentOption: ("PAPER_BILL" | "CREDIT_CARD" | "DIRECT_DEBIT" | "BPAY" | "OTHER")[]; /** - * Description of the benefit period. Should only be present if termType has the value ONGOING + * The pricing model for the contract. Contracts for gas must use `SINGLE_RATE`. Note that the detail for the enumeration values are: */ - benefitPeriod?: string; + pricingModel: + | "SINGLE_RATE" + | "SINGLE_RATE_CONT_LOAD" + | "TIME_OF_USE" + | "TIME_OF_USE_CONT_LOAD" + | "FLEXIBLE" + | "FLEXIBLE_CONT_LOAD" + | "QUOTA"; /** - * Free text description of the terms for the contract + * Array of feed in tariffs for solar power. */ - terms?: string; + solarFeedInTariff?: EnergyPlanSolarFeedInTariffV3[] | null; /** - * An array of the meter types that this contract is available for + * Array of tariffs that apply to periods throughout the year. */ - meterTypes?: string[]; + tariffPeriod: EnergyPlanTariffPeriodV2[]; /** - * Number of days in the cooling off period for the contract. Mandatory for plans with type of MARKET + * Required if _pricingModel_ is set to `TIME_OF_USE`. Defines the time zone to use for calculation of the time of use thresholds. Defaults to `AEST` if absent. */ - coolingOffDays?: number; + timeZone?: ("LOCAL" | "AEST") | null; /** - * An array of the available billing schedules for this contract. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + * Free text description of price variation policy and conditions for the contract. Mandatory if _isFixed_ is `false`. */ - billFrequency: string[]; + variation?: string | null; } +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ /** * Required if pricing model is SINGLE_RATE_CONT_LOAD or TIME_OF_USE_CONT_LOAD or FLEXIBLE_CONT_LOAD */ -export interface EnergyPlanControlledLoad { +export type EnergyPlanControlledLoad = { /** * A display name for the controlled load */ @@ -4296,7 +2001,7 @@ export interface EnergyPlanControlledLoad { /** * Array of controlled load rates in order of usage volume */ - rates: Array<{ + rates: { /** * The measurement unit of rate. Assumed to be KWH if absent */ @@ -4309,9 +2014,7 @@ export interface EnergyPlanControlledLoad { * Volume in kWh that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period */ volume?: number; - [k: string]: unknown; - }>; - [k: string]: unknown; + }[]; }; /** * Optional start date of the application of the controlled load rate @@ -4320,7 +2023,7 @@ export interface EnergyPlanControlledLoad { /** * Array of objects representing time of use rates. Required if rateBlockUType is timeOfUseRates */ - timeOfUseRates?: Array<{ + timeOfUseRates?: { /** * The daily supply charge (exclusive of GST) for this controlled load tier */ @@ -4336,7 +2039,7 @@ export interface EnergyPlanControlledLoad { /** * Array of controlled load rates in order of usage volume */ - rates: Array<{ + rates: { /** * The measurement unit of rate. Assumed to be KWH if absent */ @@ -4349,12 +2052,11 @@ export interface EnergyPlanControlledLoad { * Volume in kWh that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period */ volume?: number; - [k: string]: unknown; - }>; + }[]; /** * Array of times of use. */ - timeOfUse: Array<{ + timeOfUse: { /** * Display text providing more information on the contrlled load, for e.g. controlled load availability if specific day/time is not known. Required if startTime and endTime absent or if additionalInfoUri provided */ @@ -4366,167 +2068,156 @@ export interface EnergyPlanControlledLoad { /** * The days that the rate applies to */ - days?: Array<"SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS">; + days?: ("SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS")[]; /** - * The end of the time period per day for which the controlled load rate applies. Required if startTime provided. - * Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). - * If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + * The end of the time period per day for which the controlled load rate applies. Required if startTime provided */ endTime?: string; /** - * The beginning of the time period per day for which the controlled load rate applies. Required if endTime provided. - * Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). - * If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + * The beginning of the time period per day for which the controlled load rate applies. Required if endTime provided */ startTime?: string; - [k: string]: unknown; - }>; + }[]; /** * The type of usage that the rate applies to */ type: "PEAK" | "OFF_PEAK" | "SHOULDER" | "SOLAR_SPONGE"; - [k: string]: unknown; - }>; - [k: string]: unknown; -} + }[]; +}[]; +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -/** - * Required if pricing model is SINGLE_RATE_CONT_LOAD or TIME_OF_USE_CONT_LOAD or FLEXIBLE_CONT_LOAD - */ export interface EnergyPlanControlledLoadV2 { /** - * A display name for the controlled load + * A display name for the controlled load. */ displayName: string; /** - * Optional end date of the application of the controlled load rate + * Optional end date of the application of the controlled load rate. */ - endDate?: string; + endDate?: string | null; /** - * Specifies the type of controlloed load rate + * Specifies the type of controlled load rate. */ rateBlockUType: "singleRate" | "timeOfUseRates"; /** - * Object representing a single controlled load rate. Required if rateBlockUType is singleRate + * Object representing a single controlled load rate. Required if _rateBlockUType_ is `singleRate`. */ singleRate?: { /** - * The daily supply charge (exclusive of GST) for this controlled load tier + * The daily supply charge (exclusive of GST) for this controlled load tier. */ - dailySupplyCharge?: string; + dailySupplyCharge?: string | null; /** - * Description of the controlled load rate + * Description of the controlled load rate. */ - description?: string; + description?: string | null; /** - * Display name of the controlled load rate + * Display name of the controlled load rate. */ displayName: string; /** - * Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Defaults to P1Y if absent + * Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Defaults to `P1Y` if absent. */ - period?: string; + period?: string | null; /** - * Array of controlled load rates in order of usage volume + * Array of controlled load rates in order of usage volume. */ - rates: Array<{ + rates: { /** - * The measurement unit of rate. Assumed to be KWH if absent + * The measurement unit of rate. Assumed to be `KWH` if absent. */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; + measureUnit?: ("KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH") & string; /** - * Unit price of usage per measure unit (exclusive of GST) + * Unit price of usage per measure unit (exclusive of GST). */ unitPrice: string; /** - * Volume in kWh that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period + * Volume in kWh that this rate applies to. Only applicable for 'stepped' rates where different rates apply for different volumes of usage in a period. */ volume?: number; - }>; - }; + }[]; + } | null; /** - * Optional start date of the application of the controlled load rate + * Optional start date of the application of the controlled load rate. */ - startDate?: string; + startDate?: string | null; /** - * Array of objects representing time of use rates. Required if rateBlockUType is timeOfUseRates + * Array of objects representing time of use rates. Required if _rateBlockUType_ is `timeOfUseRates`. */ - timeOfUseRates?: Array<{ - /** - * The daily supply charge (exclusive of GST) for this controlled load tier - */ - dailySupplyCharge?: string; - /** - * Description of the controlled load rate - */ - description?: string; - /** - * Display name of the controlled load rate - */ - displayName: string; - /** - * Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Defaults to P1Y if absent - */ - period?: string; - /** - * Array of controlled load rates in order of usage volume - */ - rates: Array<{ - /** - * The measurement unit of rate. Assumed to be KWH if absent - */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; - /** - * Unit price of usage per measure unit (exclusive of GST) - */ - unitPrice: string; + timeOfUseRates?: + | { /** - * Volume in kWh that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period + * The daily supply charge (exclusive of GST) for this controlled load tier. */ - volume?: number; - }>; - /** - * Array of times of use. - */ - timeOfUse: Array<{ + dailySupplyCharge?: string; /** - * Display text providing more information on the contrlled load, for e.g. controlled load availability if specific day/time is not known. Required if startTime and endTime absent or if additionalInfoUri provided + * Description of the controlled load rate. */ - additionalInfo?: string; + description?: string; /** - * Optional link to additional information regarding the controlled load + * Display name of the controlled load rate. */ - additionalInfoUri?: string; + displayName: string; /** - * The days that the rate applies to + * Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Defaults to `P1Y` if absent. */ - days?: Array<("SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS")>; + period?: string; /** - * The end of the time period per day for which the controlled load rate applies. Required if startTime provided. - * - * Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + * Array of controlled load rates in order of usage volume. */ - endTime?: string; + rates: { + /** + * The measurement unit of rate. Assumed to be `KWH` if absent. + */ + measureUnit?: ("KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH") & string; + /** + * Unit price of usage per measure unit (exclusive of GST). + */ + unitPrice: string; + /** + * Volume in kWh that this rate applies to. Only applicable for 'stepped' rates where different rates apply for different volumes of usage in a period. + */ + volume?: number; + }[]; /** - * The beginning of the time period per day for which the controlled load rate applies. Required if endTime provided. - * - * Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + * Array of time windows for which this time of use rate applies. */ - startTime?: string; - }>; - /** - * The type of usage that the rate applies to - */ - type: "PEAK" | "OFF_PEAK" | "SHOULDER" | "SOLAR_SPONGE"; - }>; + timeOfUse: { + /** + * Display text providing more information on the controlled load, for e.g., controlled load availability if specific day/time is not known. Required if _startTime_ and _endTime_ absent or if _additionalInfoUri_ provided. + */ + additionalInfo?: string; + /** + * Optional link to additional information regarding the controlled load. + */ + additionalInfoUri?: string; + /** + * The days that this time window applies to. + */ + days?: ("SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS")[]; + /** + * The end of the time window per day for which the controlled load rate applies. Required if _startTime_ provided. Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + */ + endTime?: string; + /** + * The beginning of the time window per day for which the controlled load rate applies. Required if _endTime_ provided. Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + */ + startTime?: string; + }[]; + /** + * The type of usage that the rate applies to. + */ + type: "PEAK" | "OFF_PEAK" | "SHOULDER" | "SOLAR_SPONGE"; + }[] + | null; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface EnergyPlanDetail extends EnergyPlan { +export type EnergyPlanDetailV2 = EnergyPlan & { /** * Charges for metering included in the plan */ - meteringCharges?: Array<{ + meteringCharges?: { /** * Display name of the charge */ @@ -4547,188 +2238,234 @@ export interface EnergyPlanDetail extends EnergyPlan { * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) */ period?: string; - [k: string]: unknown; - }>; + }[]; /** * The details of the terms for the supply of electricity under this plan. Is mandatory if fuelType is set to GAS or DUAL */ - gasContract?: EnergyPlanContractFull; + gasContract?: EnergyPlanContractV2 & { + /** + * The term for the contract. If absent assumes no specified term + */ + termType?: "1_YEAR" | "2_YEAR" | "3_YEAR" | "4_YEAR" | "5_YEAR" | "ONGOING" | "OTHER"; + /** + * Description of the benefit period. Should only be present if termType has the value ONGOING + */ + benefitPeriod?: string; + /** + * Free text description of the terms for the contract + */ + terms?: string; + /** + * An array of the meter types that this contract is available for + */ + meterTypes?: string[]; + /** + * Number of days in the cooling off period for the contract. Mandatory for plans with type of MARKET + */ + coolingOffDays?: number; + /** + * An array of the available billing schedules for this contract. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + */ + billFrequency: string[]; + }; /** * The details of the terms for the supply of electricity under this plan. Is mandatory if fuelType is set to ELECTRICITY or DUAL */ - electricityContract?: EnergyPlanContractFull; - [k: string]: unknown; -} + electricityContract?: EnergyPlanContractV2 & { + /** + * The term for the contract. If absent assumes no specified term + */ + termType?: "1_YEAR" | "2_YEAR" | "3_YEAR" | "4_YEAR" | "5_YEAR" | "ONGOING" | "OTHER"; + /** + * Description of the benefit period. Should only be present if termType has the value ONGOING + */ + benefitPeriod?: string; + /** + * Free text description of the terms for the contract + */ + terms?: string; + /** + * An array of the meter types that this contract is available for + */ + meterTypes?: string[]; + /** + * Number of days in the cooling off period for the contract. Mandatory for plans with type of MARKET + */ + coolingOffDays?: number; + /** + * An array of the available billing schedules for this contract. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + */ + billFrequency: string[]; + }; +}; /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface EnergyPlanDetailV2 extends EnergyPlan { +export type EnergyPlanDetailV3 = EnergyPlan & { /** - * Charges for metering included in the plan + * Charges for metering included in the plan. */ - meteringCharges?: Array<{ + meteringCharges?: { /** - * Display name of the charge + * Display name of the charge. */ displayName: string; /** - * Description of the charge + * Description of the charge. */ description?: string; /** - * Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified + * Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified. */ minimumValue: string; /** - * The upper limit of the charge if the charge could occur in a range + * The upper limit of the charge if the charge could occur in a range. */ maximumValue?: string; /** - * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). */ period?: string; - [k: string]: unknown; - }>; - /** - * The details of the terms for the supply of electricity under this plan. Is mandatory if fuelType is set to GAS or DUAL - */ - gasContract?: EnergyPlanContractFullV2; - /** - * The details of the terms for the supply of electricity under this plan. Is mandatory if fuelType is set to ELECTRICITY or DUAL - */ - electricityContract?: EnergyPlanContractFullV2; - [k: string]: unknown; -} - -export interface EnergyPlanDetailV3 extends EnergyPlan { + }[]; /** - * Charges for metering included in the plan + * The details of the terms for the supply of electricity under this plan. Is mandatory if _fuelType_ is set to `GAS` or `DUAL`. */ - meteringCharges?: Array<{ + gasContract?: EnergyPlanContractV3 & { /** - * Display name of the charge + * The term for the contract. If absent assumes no specified term. */ - displayName: string; + termType?: "1_YEAR" | "2_YEAR" | "3_YEAR" | "4_YEAR" | "5_YEAR" | "ONGOING" | "OTHER"; /** - * Description of the charge + * Description of the benefit period. Should only be present if _termType_ has the value `ONGOING`. */ - description?: string; + benefitPeriod?: string; /** - * Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified + * Free text description of the terms for the contract. */ - minimumValue: string; + terms?: string; /** - * The upper limit of the charge if the charge could occur in a range + * An array of the meter types that this contract is available for. */ - maximumValue?: string; + meterTypes?: string[]; /** - * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + * Number of days in the cooling off period for the contract. Mandatory for plans with type of `MARKET`. */ - period?: string; - [k: string]: unknown; - }>; - /** - * The details of the terms for the supply of electricity under this plan. Is mandatory if fuelType is set to GAS or DUAL - */ - gasContract?: EnergyPlanContractFullV3; + coolingOffDays?: number; + /** + * An array of the available billing schedules for this contract. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). + */ + billFrequency: string[]; + }; /** - * The details of the terms for the supply of electricity under this plan. Is mandatory if fuelType is set to ELECTRICITY or DUAL + * The details of the terms for the supply of electricity under this plan. Is mandatory if _fuelType_ is set to `ELECTRICITY` or `DUAL`. */ - electricityContract?: EnergyPlanContractFullV3; - [k: string]: unknown; -} - + electricityContract?: EnergyPlanContractV3 & { + /** + * The term for the contract. If absent assumes no specified term. + */ + termType?: "1_YEAR" | "2_YEAR" | "3_YEAR" | "4_YEAR" | "5_YEAR" | "ONGOING" | "OTHER"; + /** + * Description of the benefit period. Should only be present if _termType_ has the value `ONGOING`. + */ + benefitPeriod?: string; + /** + * Free text description of the terms for the contract. + */ + terms?: string; + /** + * An array of the meter types that this contract is available for. + */ + meterTypes?: string[]; + /** + * Number of days in the cooling off period for the contract. Mandatory for plans with type of `MARKET`. + */ + coolingOffDays?: number; + /** + * An array of the available billing schedules for this contract. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). + */ + billFrequency: string[]; + }; +}; /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -/** - * Optional list of discounts available for the contract - */ export interface EnergyPlanDiscounts { /** - * The type of the discount. Mandatory if the discount type is CONDITIONAL + * The type of the discount. Mandatory if the discount _type_ is `CONDITIONAL`. */ - category?: "PAY_ON_TIME" | "DIRECT_DEBIT" | "GUARANTEED_DISCOUNT" | "OTHER"; + category?: ("PAY_ON_TIME" | "DIRECT_DEBIT" | "GUARANTEED_DISCOUNT" | "OTHER") | null; /** - * The description of the discount + * The description of the discount. */ - description?: string; + description?: string | null; /** - * The display name of the discount + * The display name of the discount. */ displayName: string; /** - * Optional end date for the discount after which the discount is no longer available + * Optional end date for the discount after which the discount is no longer available. */ - endDate?: string; + endDate?: string | null; /** - * Required if methodUType is fixedAmount + * Required if _methodUType_ is `fixedAmount`. */ fixedAmount?: { /** - * The amount of the discount + * The amount of the discount. */ amount: string; - [k: string]: unknown; - }; + } | null; /** - * The method of calculation of the discount + * The method of calculation of the discount. */ methodUType: "percentOfBill" | "percentOfUse" | "fixedAmount" | "percentOverThreshold"; /** - * Required if methodUType is percentOfBill + * Required if _methodUType_ is `percentOfBill`. */ percentOfBill?: { /** - * The rate of the discount applied to the bill amount + * The rate of the discount applied to the bill amount. */ rate: string; - [k: string]: unknown; - }; + } | null; /** - * Required if methodUType is percentOfUse + * Required if _methodUType_ is `percentOfUse`. */ percentOfUse?: { /** - * The rate of the discount applied to the usageamount + * The rate of the discount applied to the _usageamount_. */ rate: string; - [k: string]: unknown; - }; + } | null; /** - * Required if methodUType is percentOverThreshold + * Required if _methodUType_ is `percentOverThreshold`. */ percentOverThreshold?: { /** - * The rate of the discount over the usage amount + * The rate of the discount over the usage amount. */ rate: string; /** - * The usage amount threshold above which the discount applies + * The usage amount threshold above which the discount applies. */ usageAmount: string; - [k: string]: unknown; - }; + } | null; /** - * The type of the discount + * The type of the discount. */ type: "CONDITIONAL" | "GUARANTEED" | "OTHER"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -/** - * Eligibility restrictions or requirements - */ export interface EnergyPlanEligibility { /** - * A description of the eligibility restriction + * A description of the eligibility restriction. */ - description?: string; + description?: string | null; /** - * Information of the eligibility restriction specific to the type of the restriction + * Information of the eligibility restriction specific to the type of the restriction. */ information: string; /** - * The type of the eligibility restriction.
The CONTINGENT_PLAN value indicates that the plan is contingent on the customer taking up an alternate fuel plan from the same retailer (for instance, if the fuelType is ELECTRICITY then a GAS plan from the same retailer must be taken up) + * The type of the eligibility restriction.
The `CONTINGENT_PLAN` value indicates that the plan is contingent on the customer taking up an alternate fuel plan from the same retailer (for instance, if the _fuelType_ is `ELECTRICITY` then a `GAS` plan from the same retailer must be taken up). */ type: | "EXISTING_CUST" @@ -4752,28 +2489,24 @@ export interface EnergyPlanEligibility { | "GROUP_BUY_MEMBER" | "CONTINGENT_PLAN" | "OTHER"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -/** - * An array of fees applicable to the plan - */ export interface EnergyPlanFees { /** - * The fee amount. Required if term is not PERCENT_OF_BILL + * The fee amount. Required if _term_ is not `PERCENT_OF_BILL`. */ - amount?: string; + amount?: string | null; /** - * A description of the fee + * A description of the fee. */ - description?: string; + description?: string | null; /** - * The fee rate. Required if term is PERCENT_OF_BILL + * The fee rate. Required if _term_ is `PERCENT_OF_BILL`. */ - rate?: string; + rate?: string | null; /** - * The term of the fee + * The term of the fee. */ term: | "FIXED" @@ -4790,7 +2523,7 @@ export interface EnergyPlanFees { | "BIANNUAL" | "VARIABLE"; /** - * The type of the fee + * The type of the fee. */ type: | "EXIT" @@ -4809,46 +2542,41 @@ export interface EnergyPlanFees { | "CONTRIBUTION" | "PAPER_BILL" | "OTHER"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -/** - * Optional list of charges applicable to green power - */ export interface EnergyPlanGreenPowerCharges { /** - * The description of the charge + * The description of the charge. */ - description?: string; + description?: string | null; /** - * The display name of the charge + * The display name of the charge. */ displayName: string; /** - * The applicable green power scheme + * The applicable green power scheme. */ scheme: "GREENPOWER" | "OTHER"; /** - * Array of charge tiers based on the percentage of green power used for the period implied by the type. Array is in order of increasing percentage of green power + * Array of charge tiers based on the percentage of green power used for the period implied by the type. Array is in order of increasing percentage of green power. */ - tiers: Array<{ + tiers: { /** - * The amount of the charge if the type implies the application of a fixed amount + * The amount of the charge if the type implies the application of a fixed amount. */ amount?: string; /** - * The upper percentage of green power used applicable for this tier + * The upper percentage of green power used applicable for this tier. */ percentGreen: string; /** - * The rate of the charge if the type implies the application of a rate + * The rate of the charge if the type implies the application of a rate. */ rate?: string; - [k: string]: unknown; - }>; + }[]; /** - * The type of charge + * The type of charge. */ type: | "FIXED_PER_DAY" @@ -4857,140 +2585,233 @@ export interface EnergyPlanGreenPowerCharges { | "FIXED_PER_UNIT" | "PERCENT_OF_USE" | "PERCENT_OF_BILL"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ /** - * Optional list of incentives available for the contract + * The unique identifier for the Energy plan. */ +export type EnergyPlanId = string; +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + export interface EnergyPlanIncentives { /** - * The type of the incentive + * The type of the incentive. */ category: "GIFT" | "ACCOUNT_CREDIT" | "OTHER"; /** - * The description of the incentive + * The description of the incentive. */ description: string; /** - * The display name of the incentive + * The display name of the incentive. */ displayName: string; /** - * A display message outlining an eligibility criteria that may apply + * A display message outlining an eligibility criteria that may apply. */ - eligibility?: string; - [k: string]: unknown; + eligibility?: string | null; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface EnergyPlanListResponse { data: { /** - * Array of plans + * Array of plans. */ plans: EnergyPlan[]; }; links: LinksPaginated; meta: MetaPaginated; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface EnergyPlanResponse { - data: EnergyPlanDetail; - links: LinksPaginated; - meta?: MetaPaginated | null; - [k: string]: unknown; -} - export interface EnergyPlanResponseV2 { - data: EnergyPlanDetailV2; - links: Links; - meta?: Meta; -} - -export interface EnergyPlanResponseV3 { - data: EnergyPlanDetailV3; + data: EnergyPlan & { + /** + * Charges for metering included in the plan + */ + meteringCharges?: { + /** + * Display name of the charge + */ + displayName: string; + /** + * Description of the charge + */ + description?: string; + /** + * Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified + */ + minimumValue: string; + /** + * The upper limit of the charge if the charge could occur in a range + */ + maximumValue?: string; + /** + * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + */ + period?: string; + }[]; + /** + * The details of the terms for the supply of electricity under this plan. Is mandatory if fuelType is set to GAS or DUAL + */ + gasContract?: EnergyPlanContractV2 & { + /** + * The term for the contract. If absent assumes no specified term + */ + termType?: "1_YEAR" | "2_YEAR" | "3_YEAR" | "4_YEAR" | "5_YEAR" | "ONGOING" | "OTHER"; + /** + * Description of the benefit period. Should only be present if termType has the value ONGOING + */ + benefitPeriod?: string; + /** + * Free text description of the terms for the contract + */ + terms?: string; + /** + * An array of the meter types that this contract is available for + */ + meterTypes?: string[]; + /** + * Number of days in the cooling off period for the contract. Mandatory for plans with type of MARKET + */ + coolingOffDays?: number; + /** + * An array of the available billing schedules for this contract. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + */ + billFrequency: string[]; + }; + /** + * The details of the terms for the supply of electricity under this plan. Is mandatory if fuelType is set to ELECTRICITY or DUAL + */ + electricityContract?: EnergyPlanContractV2 & { + /** + * The term for the contract. If absent assumes no specified term + */ + termType?: "1_YEAR" | "2_YEAR" | "3_YEAR" | "4_YEAR" | "5_YEAR" | "ONGOING" | "OTHER"; + /** + * Description of the benefit period. Should only be present if termType has the value ONGOING + */ + benefitPeriod?: string; + /** + * Free text description of the terms for the contract + */ + terms?: string; + /** + * An array of the meter types that this contract is available for + */ + meterTypes?: string[]; + /** + * Number of days in the cooling off period for the contract. Mandatory for plans with type of MARKET + */ + coolingOffDays?: number; + /** + * An array of the available billing schedules for this contract. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + */ + billFrequency: string[]; + }; + }; links: Links; meta?: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -/** - * Array of feed in tariffs for solar power - */ -export interface EnergyPlanSolarFeedInTariff { - /** - * A description of the tariff - */ - description?: string; - /** - * The name of the tariff - */ - displayName: string; - /** - * The type of the payer - */ - payerType: "GOVERNMENT" | "RETAILER"; - /** - * The applicable scheme - */ - scheme: "PREMIUM" | "OTHER"; - /** - * Represents a constant tariff. Mandatory if tariffUType is set to singleTariff - */ - singleTariff?: { - /** - * The tariff amount - */ - amount: string; - [k: string]: unknown; - }; - /** - * The type of the payer - */ - tariffUType: "singleTariff" | "timeVaryingTariffs"; - /** - * Represents a tariff based on time. Mandatory if tariffUType is set to timeVaryingTariffs - */ - timeVaryingTariffs?: { +export interface EnergyPlanResponseV3 { + data: EnergyPlan & { /** - * The tariff amount + * Charges for metering included in the plan. */ - amount: string; + meteringCharges?: { + /** + * Display name of the charge. + */ + displayName: string; + /** + * Description of the charge. + */ + description?: string; + /** + * Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified. + */ + minimumValue: string; + /** + * The upper limit of the charge if the charge could occur in a range. + */ + maximumValue?: string; + /** + * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). + */ + period?: string; + }[]; /** - * Array of time periods for which this tariff is applicable + * The details of the terms for the supply of electricity under this plan. Is mandatory if _fuelType_ is set to `GAS` or `DUAL`. */ - timeVariations: Array<{ + gasContract?: EnergyPlanContractV3 & { /** - * The days that the tariff applies to. At least one entry required + * The term for the contract. If absent assumes no specified term. */ - days: Array<"SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS">; + termType?: "1_YEAR" | "2_YEAR" | "3_YEAR" | "4_YEAR" | "5_YEAR" | "ONGOING" | "OTHER"; /** - * The end of the time period per day for which the tariff applies. If absent assumes end of day (ie. one second before midnight) + * Description of the benefit period. Should only be present if _termType_ has the value `ONGOING`. */ - endTime?: string; + benefitPeriod?: string; /** - * The beginning of the time period per day for which the tariff applies. If absent assumes start of day (ie. midnight) + * Free text description of the terms for the contract. */ - startTime?: string; - [k: string]: unknown; - }>; + terms?: string; + /** + * An array of the meter types that this contract is available for. + */ + meterTypes?: string[]; + /** + * Number of days in the cooling off period for the contract. Mandatory for plans with type of `MARKET`. + */ + coolingOffDays?: number; + /** + * An array of the available billing schedules for this contract. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). + */ + billFrequency: string[]; + }; /** - * The type of the charging time period. If absent applies to all periods + * The details of the terms for the supply of electricity under this plan. Is mandatory if _fuelType_ is set to `ELECTRICITY` or `DUAL`. */ - type?: "PEAK" | "OFF_PEAK" | "SHOULDER"; - [k: string]: unknown; + electricityContract?: EnergyPlanContractV3 & { + /** + * The term for the contract. If absent assumes no specified term. + */ + termType?: "1_YEAR" | "2_YEAR" | "3_YEAR" | "4_YEAR" | "5_YEAR" | "ONGOING" | "OTHER"; + /** + * Description of the benefit period. Should only be present if _termType_ has the value `ONGOING`. + */ + benefitPeriod?: string; + /** + * Free text description of the terms for the contract. + */ + terms?: string; + /** + * An array of the meter types that this contract is available for. + */ + meterTypes?: string[]; + /** + * Number of days in the cooling off period for the contract. Mandatory for plans with type of `MARKET`. + */ + coolingOffDays?: number; + /** + * An array of the available billing schedules for this contract. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). + */ + billFrequency: string[]; + }; }; - [k: string]: unknown; + links: Links; + meta?: Meta; } +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ /** * Array of feed in tariffs for solar power */ -export interface EnergyPlanSolarFeedInTariffV2 { +export type EnergyPlanSolarFeedInTariffV2 = { /** * A description of the tariff */ @@ -4999,6 +2820,10 @@ export interface EnergyPlanSolarFeedInTariffV2 { * The name of the tariff */ displayName: string; + /** + * The end date of the application of the feed in tariff + */ + endDate?: string; /** * The type of the payer */ @@ -5014,13 +2839,25 @@ export interface EnergyPlanSolarFeedInTariffV2 { /** * Array of feed in rates */ - rates: Array<{ + rates: { + /** + * The measurement unit of rate. Assumed to be KWH if absent + */ measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; + /** + * Unit price of usage per measure unit (exclusive of GST) + */ unitPrice: string; + /** + * Volume that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period + */ volume?: number; - }>; - [k: string]: unknown; + }[]; }; + /** + * The start date of the application of the feed in tariff + */ + startDate?: string; /** * The type of the payer */ @@ -5030,171 +2867,162 @@ export interface EnergyPlanSolarFeedInTariffV2 { */ timeVaryingTariffs?: { /** - * The tariff amount + * Array of feed in rates */ - rates: Array<{ + rates?: { + /** + * The measurement unit of rate. Assumed to be KWH if absent + */ measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; + /** + * Unit price of usage per measure unit (exclusive of GST) + */ unitPrice: string; + /** + * Volume that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period + */ volume?: number; - }>; + }[]; /** * Array of time periods for which this tariff is applicable */ - timeVariations: Array<{ + timeVariations: { /** * The days that the tariff applies to. At least one entry required */ - days: Array<"SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS">; + days: ("SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS")[]; /** - * The end of the time period per day for which the tariff applies. If absent assumes end of day (ie. one second before midnight). - * Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). - * If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + * The end of the time period per day for which the tariff applies. If absent assumes end of day (ie. one second before midnight) */ endTime?: string; /** - * The beginning of the time period per day for which the tariff applies. If absent assumes start of day (ie. midnight). - * Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). - * If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + * The beginning of the time period per day for which the tariff applies. If absent assumes start of day (ie. midnight) */ startTime?: string; - [k: string]: unknown; - }>; + }[]; /** * The type of the charging time period. If absent applies to all periods */ type?: "PEAK" | "OFF_PEAK" | "SHOULDER"; - [k: string]: unknown; }; - [k: string]: unknown; -} +}[]; +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -/** - * Array of feed in tariffs for solar power - */ export interface EnergyPlanSolarFeedInTariffV3 { /** - * A description of the tariff + * A description of the tariff. */ - description?: string; + description?: string | null; /** - * The name of the tariff + * The name of the tariff. */ displayName: string; /** - * The end date of the application of the feed in tariff + * The end date of the application of the feed in tariff. */ - endDate?: string; + endDate?: string | null; /** - * The type of the payer + * The type of the payer. */ payerType: "GOVERNMENT" | "RETAILER"; /** - * The applicable scheme + * The applicable scheme. */ scheme: "PREMIUM" | "CURRENT" | "VARIABLE" | "OTHER"; /** - * Represents a constant tariff. Mandatory if tariffUType is set to singleTariff + * Represents a constant tariff. Mandatory if _tariffUType_ is set to `singleTariff`. */ singleTariff?: { /** - * Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Defaults to P1Y if absent + * Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Defaults to `P1Y` if absent. */ - period?: string; + period?: string | null; /** - * Array of feed in rates + * Array of feed in rates. */ - rates: Array<{ + rates: { /** - * The measurement unit of rate. Assumed to be KWH if absent + * The measurement unit of rate. Assumed to be `KWH` if absent. */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; + measureUnit?: ("KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH") & string; /** - * Unit price of usage per measure unit (exclusive of GST) + * Unit price of usage per measure unit (exclusive of GST). */ unitPrice: string; /** - * Volume that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period + * Volume that this rate applies to. Only applicable for 'stepped' rates where different rates apply for different volumes of usage in a period. */ volume?: number; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; + }[]; + } | null; /** - * The start date of the application of the feed in tariff + * The start date of the application of the feed in tariff. */ - startDate?: string; + startDate?: string | null; /** - * Reference to the applicable tariff structure + * Reference to the applicable tariff structure. */ tariffUType: "singleTariff" | "timeVaryingTariffs"; /** - * Represents a tariff based on time. Mandatory if tariffUType is set to timeVaryingTariffs + * Represents a tariff based on time of day. Mandatory if _tariffUType_ is set to `timeVaryingTariffs`. */ - timeVaryingTariffs?: Array<{ - /** - * Display name of the tariff - */ - displayName: string; - /** - * Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Defaults to P1Y if absent - */ - period?: string; - /** - * Array of feed in rates - */ - rates?: Array<{ - /** - * The measurement unit of rate. Assumed to be KWH if absent - */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; + timeVaryingTariffs?: + | { /** - * Unit price of usage per measure unit (exclusive of GST) + * Display name of the tariff. */ - unitPrice: string; + displayName: string; /** - * Volume that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period + * Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Defaults to `P1Y` if absent. */ - volume?: number; - [k: string]: unknown; - }>; - /** - * Array of time periods for which this tariff is applicable - */ - timeVariations: Array<{ + period?: string; /** - * The days that the tariff applies to. At least one entry required + * Array of feed in rates. */ - days: Array<("SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS")>; + rates?: { + /** + * The measurement unit of rate. Assumed to be `KWH` if absent. + */ + measureUnit?: ("KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH") & string; + /** + * Unit price of usage per measure unit (exclusive of GST). + */ + unitPrice: string; + /** + * Volume that this rate applies to. Only applicable for 'stepped' rates where different rates apply for different volumes of usage in a period. + */ + volume?: number; + }[]; /** - * The end of the time period per day for which the tariff applies. If absent assumes end of day (ie. one second before midnight). - * - * Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + * Array of time windows for which this tariff is applicable. */ - endTime?: string; + timeVariations: { + /** + * The days that this time window applies to. At least one entry required. + */ + days: ("SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS")[]; + /** + * The end of the time window per day for which the tariff applies. If absent assumes end of day (i.e. one second before midnight). Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + */ + endTime?: string; + /** + * The beginning of the time window per day for which the tariff applies. If absent assumes start of day (i.e. midnight). Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + */ + startTime?: string; + }[]; /** - * The beginning of the time period per day for which the tariff applies. If absent assumes start of day (ie. midnight). - * - * Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + * The type of the charging time period. If absent applies to all periods. */ - startTime?: string; - [k: string]: unknown; - }>; - /** - * The type of the charging time period. If absent applies to all periods - */ - type?: "PEAK" | "OFF_PEAK" | "SHOULDER"; - [k: string]: unknown; - }>; - [k: string]: unknown; + type?: "PEAK" | "OFF_PEAK" | "SHOULDER"; + }[] + | null; } - /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ /** * Array of tariff periods */ -export interface EnergyPlanTariffPeriod { +export type EnergyPlanTariffPeriod = { /** * The amount of access charge for the tariff period, in dollars per day exclusive of GST. */ @@ -5202,7 +3030,7 @@ export interface EnergyPlanTariffPeriod { /** * Array of demand charges. Required if rateBlockUType is demandCharges */ - demandCharges?: Array<{ + demandCharges?: { /** * The charge amount per measure unit exclusive of GST */ @@ -5214,7 +3042,7 @@ export interface EnergyPlanTariffPeriod { /** * The days that the demand tariff applies to */ - days?: Array<"SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS">; + days?: ("SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS")[]; /** * Description of the charge */ @@ -5224,8 +3052,7 @@ export interface EnergyPlanTariffPeriod { */ displayName: string; /** - * End of the period.\n\nFormatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). - * If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + * End of the period */ endTime: string; /** @@ -5248,8 +3075,7 @@ export interface EnergyPlanTariffPeriod { * Start of the period */ startTime: string; - [k: string]: unknown; - }>; + }[]; /** * The name of the tariff period */ @@ -5285,7 +3111,7 @@ export interface EnergyPlanTariffPeriod { /** * Array of controlled load rates in order of usage volume */ - rates: Array<{ + rates: { /** * The measurement unit of rate. Assumed to be KWH if absent */ @@ -5298,9 +3124,7 @@ export interface EnergyPlanTariffPeriod { * Volume in kWh that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period */ volume?: number; - [k: string]: unknown; - }>; - [k: string]: unknown; + }[]; }; /** * The start date of the tariff period in a calendar year. Formatted in mm-dd format @@ -5309,7 +3133,7 @@ export interface EnergyPlanTariffPeriod { /** * Array of objects representing time of use rates. Required if rateBlockUType is timeOfUseRates */ - timeOfUseRates?: Array<{ + timeOfUseRates?: { /** * Description of the rate */ @@ -5321,7 +3145,7 @@ export interface EnergyPlanTariffPeriod { /** * Array of controlled load rates in order of usage volume */ - rates: Array<{ + rates: { /** * The measurement unit of rate. Assumed to be KWH if absent */ @@ -5334,16 +3158,15 @@ export interface EnergyPlanTariffPeriod { * Volume in kWh that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period */ volume?: number; - [k: string]: unknown; - }>; + }[]; /** * Array of times of use */ - timeOfUse: Array<{ + timeOfUse: { /** * The days that the rate applies to */ - days: Array<"SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS">; + days: ("SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS")[]; /** * End of the period */ @@ -5352,14 +3175,12 @@ export interface EnergyPlanTariffPeriod { * Start of the period */ startTime: string; - [k: string]: unknown; - }>; + }[]; /** * The type of usage that the rate applies to */ type: "PEAK" | "OFF_PEAK" | "SHOULDER" | "SHOULDER1" | "SHOULDER2"; - [k: string]: unknown; - }>; + }[]; /** * Specifies the charge specific time zone for calculation of the time of use thresholds. If absent, timezone value in EnergyPlanContract is assumed. */ @@ -5368,253 +3189,433 @@ export interface EnergyPlanTariffPeriod { * Type of charge. Assumed to be other if absent */ type?: "ENVIRONMENTAL" | "REGULATED" | "NETWORK" | "METERING" | "RETAIL_SERVICE" | "RCTI" | "OTHER"; - [k: string]: unknown; -} +}[]; +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -/** - * Array of tariff periods - */ export interface EnergyPlanTariffPeriodV2 { /** - * Array representing banded daily supply charge rates. Mandatory if dailySupplyChargeType is BAND + * Array representing banded daily supply charge rates. Mandatory if _dailySupplyChargeType_ is `BAND`. */ - bandedDailySupplyCharges?: Array<{ - /** - * The measurement unit of rate. Assumed to be DAYS if absent - */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; - /** - * The amount of daily supply charge for the band, in dollars per day exclusive of GST - */ - unitPrice: string; - /** - * Volume the charge applies to - */ - volume?: number; - [k: string]: unknown; - }>; + bandedDailySupplyCharges?: + | { + /** + * The measurement unit of rate. Assumed to be `DAYS` if absent. + */ + measureUnit?: ("KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH") & string; + /** + * The amount of daily supply charge for the band, in dollars per day exclusive of GST. + */ + unitPrice: string; + /** + * Volume the charge applies to. + */ + volume?: number; + }[] + | null; /** - * The amount of access charge for the tariff period, in dollars per day exclusive of GST. Mandatory if dailySupplyChargeType is SINGLE + * The amount of access charge for the tariff period, in dollars per day exclusive of GST. Mandatory if _dailySupplyChargeType_ is `SINGLE`. */ - dailySupplyCharge?: string; + dailySupplyCharge?: string | null; /** * Specifies if daily supply charge is single or banded. */ - dailySupplyChargeType?: "SINGLE" | "BAND"; + dailySupplyChargeType?: ("SINGLE" | "BAND") | null; /** - * Array of demand charges. Required if rateBlockUType is demandCharges + * Array of demand charges. Required if _rateBlockUType_ is `demandCharges`. */ - demandCharges?: Array<{ - /** - * The charge amount per measure unit exclusive of GST - */ - amount: string; - /** - * Charge period for the demand tariff - */ - chargePeriod: "DAY" | "MONTH" | "TARIFF_PERIOD"; - /** - * The days that the demand tariff applies to - */ - days?: Array<("SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS")>; - /** - * Description of the charge - */ - description?: string; - /** - * Display name of the charge - */ - displayName: string; - /** - * End of the period. - * - * Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. - */ - endTime: string; - /** - * Maximum demand for this demand tariff in kW. If present, must be higher than the value of the minDemand field - */ - maxDemand?: string; - /** - * The measurement unit of charge amount. Assumed to be KWH if absent - */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; - /** - * Application period for the demand tariff - */ - measurementPeriod: "DAY" | "MONTH" | "TARIFF_PERIOD"; - /** - * Minimum demand for this demand tariff in kW. If absent then 0 is assumed - */ - minDemand?: string; - /** - * Start of the period. - * - * Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. - */ - startTime: string; - [k: string]: unknown; - }>; + demandCharges?: + | { + /** + * The charge amount per measure unit exclusive of GST. + */ + amount: string; + /** + * Charge period for the demand tariff. + */ + chargePeriod: "DAY" | "MONTH" | "TARIFF_PERIOD"; + /** + * The days that the demand tariff applies to. + */ + days?: ("SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS")[]; + /** + * Description of the charge. + */ + description?: string; + /** + * Display name of the charge. + */ + displayName: string; + /** + * End of the period. Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + */ + endTime: string; + /** + * Maximum demand for this demand tariff in kW. If present, must be higher than the value of the _minDemand_ field. + */ + maxDemand?: string; + /** + * The measurement unit of charge amount. Assumed to be `KWH` if absent. + */ + measureUnit?: ("KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH") & string; + /** + * Application period for the demand tariff. + */ + measurementPeriod: "DAY" | "MONTH" | "TARIFF_PERIOD"; + /** + * Minimum demand for this demand tariff in kW. If absent then `0.00` is assumed. + */ + minDemand?: string; + /** + * Start of the period. Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + */ + startTime: string; + }[] + | null; /** - * The name of the tariff period + * The name of the tariff period. */ displayName: string; /** - * The end date of the tariff period in a calendar year. Formatted in mm-dd format + * The end date of the tariff period in a calendar year. Formatted in mm-dd format. */ endDate: string; /** - * Specifies the type of rate applicable to this tariff period + * Specifies the type of rate applicable to this tariff period. */ rateBlockUType: "singleRate" | "timeOfUseRates" | "demandCharges"; /** - * Object representing a single rate. Required if rateBlockUType is singleRate + * Object representing a single rate. Required if _rateBlockUType_ is `singleRate`. */ singleRate?: { /** - * Description of the rate + * Description of the rate. */ - description?: string; + description?: string | null; /** - * Display name of the rate + * Display name of the rate. */ displayName: string; /** - * The block rate (unit price) for any usage above the included fixed usage, in dollars per kWh inclusive of GST. Only required if pricingModel field is ‘QUOTA’ + * The block rate (unit price) for any usage above the included fixed usage, in dollars per kWh inclusive of GST. Only required if _pricingModel_ field is `QUOTA`. */ - generalUnitPrice?: string; + generalUnitPrice?: string | null; /** - * Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + * Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). */ - period?: string; + period?: string | null; /** - * Array of controlled load rates in order of usage volume + * Array of rates in order of usage volume. */ - rates: Array<{ + rates: { /** - * The measurement unit of rate. Assumed to be KWH if absent + * The measurement unit of rate. Assumed to be `KWH` if absent. */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; + measureUnit?: ("KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH") & string; /** - * Unit price of usage per measure unit (exclusive of GST) + * Unit price of usage per measure unit (exclusive of GST). */ unitPrice: string; /** - * Volume in kWh that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period + * Volume in kWh that this rate applies to. Only applicable for 'stepped' rates where different rates apply for different volumes of usage in a period. */ volume?: number; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; + }[]; + } | null; /** - * The start date of the tariff period in a calendar year. Formatted in mm-dd format + * The start date of the tariff period in a calendar year. Formatted in mm-dd format. */ startDate: string; /** - * Array of objects representing time of use rates. Required if rateBlockUType is timeOfUseRates + * Array of objects representing time of use rates that apply throughout the _tariffPeriod_. Required if _rateBlockUType_ is `timeOfUseRates`. */ - timeOfUseRates?: Array<{ - /** - * Description of the rate - */ - description?: string; - /** - * Display name of the rate - */ - displayName: string; - /** - * Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Defaults to P1Y if absent - */ - period?: string; - /** - * Array of controlled load rates in order of usage volume - */ - rates: Array<{ + timeOfUseRates?: + | { /** - * The measurement unit of rate. Assumed to be KWH if absent + * Description of the rate. */ - measureUnit?: "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; + description?: string; /** - * Unit price of usage per measure unit (exclusive of GST) + * Display name of the rate. */ - unitPrice: string; + displayName: string; /** - * Volume in kWh that this rate applies to. Only applicable for ‘stepped’ rates where different rates apply for different volumes of usage in a period + * Usage period for which the block rate applies. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). Defaults to `P1Y` if absent. */ - volume?: number; - [k: string]: unknown; - }>; - /** - * Array of times of use - */ - timeOfUse: Array<{ + period?: string; /** - * The days that the rate applies to + * Array of rates in order of usage volume. */ - days: Array<("SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS")>; + rates: { + /** + * The measurement unit of rate. Assumed to be `KWH` if absent. + */ + measureUnit?: ("KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH") & string; + /** + * Unit price of usage per measure unit (exclusive of GST). + */ + unitPrice: string; + /** + * Volume in kWh that this rate applies to. Only applicable for 'stepped' rates where different rates apply for different volumes of usage in a period. + */ + volume?: number; + }[]; /** - * End of the period. - * - * Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + * Array of time windows for which this time of use rate applies. */ - endTime: string; + timeOfUse: { + /** + * The days that this time window applies to. + */ + days: ("SUN" | "MON" | "TUE" | "WED" | "THU" | "FRI" | "SAT" | "PUBLIC_HOLIDAYS")[]; + /** + * The end of the time window per day for which the rate applies. Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + */ + endTime: string; + /** + * The beginning of the time window per day for which the rate applies. Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + */ + startTime: string; + }[]; /** - * Start of the period. - * - * Formatted according to [ISO 8601 Times](https://en.wikipedia.org/wiki/ISO_8601#Times). If the time is provided without a UTC offset, the time zone will be determined by the value of EnergyPlanContract.timeZone. + * The type of usage that the rate applies to. */ - startTime: string; - [k: string]: unknown; - }>; + type: "PEAK" | "OFF_PEAK" | "SHOULDER" | "SHOULDER1" | "SHOULDER2"; + }[] + | null; + /** + * Specifies the charge specific time zone for calculation of the time of use thresholds. If absent, timezone value in EnergyPlanContract is assumed. + */ + timeZone?: ("LOCAL" | "AEST") | null; + /** + * Type of charge. Assumed to be `OTHER` if absent. + */ + type?: ("ENVIRONMENTAL" | "REGULATED" | "NETWORK" | "METERING" | "RETAIL_SERVICE" | "RCTI" | "OTHER") | null; +} +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export interface EnergyServicePoint { + consumerProfile?: { /** - * The type of usage that the rate applies to + * A code that defines the consumer class as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments. */ - type: "PEAK" | "OFF_PEAK" | "SHOULDER" | "SHOULDER1" | "SHOULDER2"; - [k: string]: unknown; - }>; + classification?: ("BUSINESS" | "RESIDENTIAL") | null; + /** + * A code that defines the consumption threshold as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments. Note the details of enumeration values below: + */ + threshold?: "LOW" | "MEDIUM" | "HIGH"; + } | null; + /** + * This flag determines whether the energy at this connection point is to be treated as consumer load or as a generating unit (this may include generator auxiliary loads). If absent defaults to `false`.
**Note:** Only applicable for scheduled or semischeduled generators, does not indicate on site generation by consumer. + */ + isGenerator?: boolean | null; + /** + * Jurisdiction code to which the service point belongs.This code defines the jurisdictional rules which apply to the service point. Note the details of enumeration values below: + */ + jurisdictionCode: "ALL" | "ACT" | "NEM" | "NSW" | "QLD" | "SA" | "TAS" | "VIC"; + /** + * The date and time that the information for this service point was modified. + */ + lastUpdateDateTime: string; + /** + * The independent ID of the service point, known in the industry as the NMI. + */ + nationalMeteringId: string; /** - * Specifies the charge specific time zone for calculation of the time of use thresholds. If absent, timezone value in EnergyPlanContract is assumed. + * The classification of the service point as defined in MSATS procedures. */ - timeZone?: "LOCAL" | "AEST"; + servicePointClassification: + | "EXTERNAL_PROFILE" + | "GENERATOR" + | "LARGE" + | "SMALL" + | "WHOLESALE" + | "NON_CONTEST_UNMETERED_LOAD" + | "NON_REGISTERED_EMBEDDED_GENERATOR" + | "DISTRIBUTION_WHOLESALE"; /** - * Type of charge. Assumed to be other if absent + * Tokenised ID of the service point to be used for referring to the service point in the CDR API suite. To be created in accordance with CDR ID permanence requirements. */ - type?: "ENVIRONMENTAL" | "REGULATED" | "NETWORK" | "METERING" | "RETAIL_SERVICE" | "RCTI" | "OTHER"; - [k: string]: unknown; + servicePointId: string; + /** + * Code used to indicate the status of the service point. Note the details for the enumeration values below: + */ + servicePointStatus: "ACTIVE" | "DE_ENERGISED" | "EXTINCT" | "GREENFIELD" | "OFF_MARKET"; + /** + * The latest start date from which the constituent data sets of this service point became valid. + */ + validFromDate: string; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface EnergyServicePoint { +export interface EnergyServicePointDetail { consumerProfile?: { /** - * A code that defines the consumer class as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments + * A code that defines the consumer class as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments. */ classification?: ("BUSINESS" | "RESIDENTIAL") | null; /** - * A code that defines the consumption threshold as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments. Note the details of enumeration values below: + * A code that defines the consumption threshold as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments. Note the details of enumeration values below: */ threshold?: "LOW" | "MEDIUM" | "HIGH"; - [k: string]: unknown; } | null; + distributionLossFactor: { + /** + * A code used to identify data loss factor for the service point values. Refer to AEMO distribution loss factor documents for each financial year to interpret. + */ + code: string; + /** + * Description of the data loss factor code and value. + */ + description: string; + /** + * The value associated with the loss factor code. + */ + lossValue: string; + }; /** - * This flag determines whether the energy at this connection point is to be treated as consumer load or as a generating unit(this may include generator auxiliary loads). If absent defaults to false.
**Note:** Only applicable for scheduled or semischeduled generators, does not indicate on site generation by consumer + * This flag determines whether the energy at this connection point is to be treated as consumer load or as a generating unit(this may include generator auxiliary loads). If absent defaults to `false`.
**Note:** Only applicable for scheduled or semischeduled generators, does not indicate on site generation by consumer. */ isGenerator?: boolean | null; /** - * Jurisdiction code to which the service point belongs.This code defines the jurisdictional rules which apply to the service point. Note the details of enumeration values below: + * Jurisdiction code to which the service point belongs.This code defines the jurisdictional rules which apply to the service point. Note the details of enumeration values below: */ jurisdictionCode: "ALL" | "ACT" | "NEM" | "NSW" | "QLD" | "SA" | "TAS" | "VIC"; /** - * The date and time that the information for this service point was modified + * The date and time that the information for this service point was modified. */ lastUpdateDateTime: string; + location: CommonPhysicalAddress; + /** + * The meters associated with the service point. This may be empty where there are no meters physically installed at the service point. + */ + meters?: + | { + /** + * The meter ID uniquely identifies a meter for a given service point. It is unique in the context of the service point. It is not globally unique. + */ + meterId: string; + /** + * Usage data registers available from the meter. This may be empty where there are no meters physically installed at the service point. + */ + registers?: { + /** + * The energy delivered through a connection point or metering point over an extended period normalised to a 'per day' basis (kWh). This value is calculated annually. + */ + averagedDailyLoad?: number; + /** + * Actual/Subtractive Indicator. Note the details of enumeration values below: + */ + consumptionType?: "ACTUAL" | "CUMULATIVE"; + /** + * Indicates whether the energy recorded by this register is created under a Controlled Load regime. + */ + controlledLoad?: boolean; + /** + * Multiplier required to take a register value and turn it into a value representing billable energy. + */ + multiplier?: number; + /** + * The Network Tariff Code is a free text field containing a code supplied and published by the local network service provider. + */ + networkTariffCode?: string; + /** + * Indicates the consumption type of register. + */ + registerConsumptionType: + | "INTERVAL" + | "BASIC" + | "PROFILE_DATA" + | "ACTIVE_IMPORT" + | "ACTIVE" + | "REACTIVE_IMPORT" + | "REACTIVE"; + /** + * Unique identifier of the register within this service point. Is not globally unique. + */ + registerId: string; + /** + * Register suffix of the meter register where the meter reads are obtained. + */ + registerSuffix?: string; + /** + * Code to identify the time validity of register contents. + */ + timeOfDay?: + | "ALLDAY" + | "INTERVAL" + | "PEAK" + | "BUSINESS" + | "SHOULDER" + | "EVENING" + | "OFFPEAK" + | "CONTROLLED" + | "DEMAND"; + /** + * The unit of measure for data held in this register. + */ + unitOfMeasure?: string; + }[]; + /** + * Technical characteristics of the meter. + */ + specifications: { + /** + * The metering Installation type code indicates whether the metering installation has to be manually read. Note the details of enumeration values below: + */ + installationType: + | "BASIC" + | "COMMS1" + | "COMMS2" + | "COMMS3" + | "COMMS4" + | "COMMS4C" + | "COMMS4D" + | "MRAM" + | "MRIM" + | "PROF" + | "SAMPLE" + | "UMCP" + | "VICAMI" + | "NCOLNUML"; + /** + * Free text field to identify the manufacturer of the installed meter. + */ + manufacturer?: string; + /** + * Free text field to identify the meter manufacturer's designation for the meter model. + */ + model?: string; + /** + * This date is the next scheduled meter read date (NSRD) if a manual Meter Reading is required. + */ + nextScheduledReadDate?: string; + /** + * Code to denote the method and frequency of Meter Reading. The value is formatted as follows: For example, + */ + readType?: string; + /** + * A code to denote the status of the meter. Note the details of enumeration values below: + */ + status: "CURRENT" | "DISCONNECTED"; + }; + }[] + | null; /** - * The independent ID of the service point, known in the industry as the NMI + * The independent ID of the service point, known in the industry as the NMI. */ nationalMeteringId: string; + relatedParticipants: { + /** + * The name of the party/organisation related to this service point. + */ + party: string; + /** + * The role performed by this participant in relation to the service point. Note the details of enumeration values below: + */ + role: "FRMP" | "LNSP" | "DRSP"; + }[]; /** - * The classification of the service point as defined in MSATS procedures + * The classification of the service point as defined in MSATS procedures. */ servicePointClassification: | "EXTERNAL_PROFILE" @@ -5626,337 +3627,378 @@ export interface EnergyServicePoint { | "NON_REGISTERED_EMBEDDED_GENERATOR" | "DISTRIBUTION_WHOLESALE"; /** - * Tokenised ID of the service point to be used for referring to the service point in the CDR API suite. To be created in accordance with CDR ID permanence requirements + * The tokenised ID of the service point for use in the CDR APIs. Created according to the CDR rules for ID permanence. */ servicePointId: string; /** - * Code used to indicate the status of the service point. Note the details for the enumeration values below: + * Code used to indicate the status of the service point. Note the details for the enumeration values below: */ servicePointStatus: "ACTIVE" | "DE_ENERGISED" | "EXTINCT" | "GREENFIELD" | "OFF_MARKET"; /** - * The start date from which this service point first became valid + * The latest start date from which the constituent data sets of this service point became valid. */ validFromDate: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface EnergyServicePointDetail { - consumerProfile?: { +export interface EnergyServicePointDetailResponse { + data: EnergyServicePointDetail; + links: Links; + meta?: Meta; +} +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export interface EnergyServicePointDetailResponseV2 { + data: EnergyServicePointV2 & { + distributionLossFactor: { + /** + * A code used to identify data loss factor for the service point values. Refer to AEMO distribution loss factor documents for each financial year to interpret. + */ + code: string; + /** + * Description of the data loss factor code and value. + */ + description: string; + /** + * The value associated with the loss factor code. + */ + lossValue: string; + }; + relatedParticipants: { + /** + * The name of the party/organisation related to this service point. + */ + party: string; + /** + * The role performed by this participant in relation to the service point. Note the details of enumeration values below: + */ + role: "FRMP" | "LNSP" | "DRSP"; + }[]; /** - * A code that defines the consumer class as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments + * Location of the servicepoint. */ - classification?: ("BUSINESS" | "RESIDENTIAL") | null; + location: CommonPhysicalAddress; /** - * A code that defines the consumption threshold as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments. Note the details of enumeration values below: + * The meters associated with the service point. This may be empty where there are no meters physically installed at the service point. */ - threshold?: "LOW" | "MEDIUM" | "HIGH"; - [k: string]: unknown; - } | null; + meters?: { + /** + * The meter ID uniquely identifies a meter for a given service point. It is unique in the context of the service point. It is not globally unique. + */ + meterId: string; + /** + * Technical characteristics of the meter. + */ + specifications: { + /** + * A code to denote the status of the meter. Note the details of enumeration values below: + */ + status: "CURRENT" | "DISCONNECTED"; + /** + * The metering Installation type code indicates whether the metering installation has to be manually read. Note the details of enumeration values below: + */ + installationType: + | "BASIC" + | "COMMS1" + | "COMMS2" + | "COMMS3" + | "COMMS4" + | "COMMS4C" + | "COMMS4D" + | "MRAM" + | "MRIM" + | "PROF" + | "SAMPLE" + | "UMCP" + | "VICAMI" + | "NCOLNUML"; + /** + * Free text field to identify the manufacturer of the installed meter. + */ + manufacturer?: string; + /** + * Free text field to identify the meter manufacturer's designation for the meter model. + */ + model?: string; + /** + * Code to denote the method and frequency of Meter Reading. The value is formatted as follows: For example, + */ + readType?: string; + /** + * This date is the next scheduled meter read date (NSRD) if a manual Meter Reading is required. + */ + nextScheduledReadDate?: string; + }; + /** + * Usage data registers available from the meter. This may be empty where there are no meters physically installed at the service point. + */ + registers?: { + /** + * Unique identifier of the register within this service point. Is not globally unique. + */ + registerId: string; + /** + * Register suffix of the meter register where the meter reads are obtained. + */ + registerSuffix?: string; + /** + * The energy delivered through a connection point or metering point over an extended period normalised to a 'per day' basis (kWh). This value is calculated annually. + */ + averagedDailyLoad?: number; + /** + * Indicates the consumption type of register. + */ + registerConsumptionType: + | "INTERVAL" + | "BASIC" + | "PROFILE_DATA" + | "ACTIVE_IMPORT" + | "ACTIVE" + | "REACTIVE_IMPORT" + | "REACTIVE"; + /** + * The Network Tariff Code is a free text field containing a code supplied and published by the local network service provider. + */ + networkTariffCode?: string; + /** + * The unit of measure for data held in this register. + */ + unitOfMeasure?: string; + /** + * Code to identify the time validity of register contents. + */ + timeOfDay?: + | "ALLDAY" + | "INTERVAL" + | "PEAK" + | "BUSINESS" + | "SHOULDER" + | "EVENING" + | "OFFPEAK" + | "CONTROLLED" + | "DEMAND"; + /** + * Multiplier required to take a register value and turn it into a value representing billable energy. + */ + multiplier?: number; + /** + * Indicates whether the energy recorded by this register is created under a Controlled Load regime. + */ + controlledLoad?: boolean; + /** + * Actual/Subtractive Indicator. Note the details of enumeration values below: + */ + consumptionType?: "ACTUAL" | "CUMULATIVE"; + }[]; + }[]; + }; + links: Links; + meta?: Meta; +} +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export type EnergyServicePointDetailV2 = EnergyServicePointV2 & { distributionLossFactor: { /** - * A code used to identify data loss factor for the service point values. Refer to AEMO distribution loss factor documents for each financial year to interpret + * A code used to identify data loss factor for the service point values. Refer to AEMO distribution loss factor documents for each financial year to interpret. */ code: string; /** - * Description of the data loss factor code and value + * Description of the data loss factor code and value. + */ + description: string; + /** + * The value associated with the loss factor code. + */ + lossValue: string; + }; + relatedParticipants: { + /** + * The name of the party/organisation related to this service point. */ - description: string; + party: string; /** - * The value associated with the loss factor code + * The role performed by this participant in relation to the service point. Note the details of enumeration values below: */ - lossValue: string; - [k: string]: unknown; - }; - /** - * This flag determines whether the energy at this connection point is to be treated as consumer load or as a generating unit(this may include generator auxiliary loads). If absent defaults to false.
**Note:** Only applicable for scheduled or semischeduled generators, does not indicate on site generation by consumer - */ - isGenerator?: boolean | null; - /** - * Jurisdiction code to which the service point belongs.This code defines the jurisdictional rules which apply to the service point. Note the details of enumeration values below: - */ - jurisdictionCode: "ALL" | "ACT" | "NEM" | "NSW" | "QLD" | "SA" | "TAS" | "VIC"; + role: "FRMP" | "LNSP" | "DRSP"; + }[]; /** - * The date and time that the information for this service point was modified + * Location of the servicepoint. */ - lastUpdateDateTime: string; + location: CommonPhysicalAddress; /** - * Location of the servicepoint + * The meters associated with the service point. This may be empty where there are no meters physically installed at the service point. */ - location: { + meters?: { /** - * The type of address object present + * The meter ID uniquely identifies a meter for a given service point. It is unique in the context of the service point. It is not globally unique. */ - addressUType: "paf" | "simple"; + meterId: string; /** - * Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). Required if addressUType is set to paf + * Technical characteristics of the meter. */ - paf?: { - /** - * Building/Property name 1 - */ - buildingName1?: string | null; - /** - * Building/Property name 2 - */ - buildingName2?: string | null; - /** - * Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier - */ - dpid?: string | null; - /** - * Unit number (including suffix, if applicable) - */ - flatUnitNumber?: string | null; - /** - * Type of flat or unit for the address - */ - flatUnitType?: string | null; - /** - * Floor or level number (including alpha characters) - */ - floorLevelNumber?: string | null; - /** - * Type of floor or level for the address - */ - floorLevelType?: string | null; - /** - * Full name of locality - */ - localityName: string; - /** - * Allotment number for the address - */ - lotNumber?: string | null; - /** - * Postal delivery number if the address is a postal delivery type - */ - postalDeliveryNumber?: number | null; + specifications: { /** - * Postal delivery number prefix related to the postal delivery number + * A code to denote the status of the meter. Note the details of enumeration values below: */ - postalDeliveryNumberPrefix?: string | null; + status: "CURRENT" | "DISCONNECTED"; /** - * Postal delivery number suffix related to the postal delivery number + * The metering Installation type code indicates whether the metering installation has to be manually read. Note the details of enumeration values below: */ - postalDeliveryNumberSuffix?: string | null; + installationType: + | "BASIC" + | "COMMS1" + | "COMMS2" + | "COMMS3" + | "COMMS4" + | "COMMS4C" + | "COMMS4D" + | "MRAM" + | "MRIM" + | "PROF" + | "SAMPLE" + | "UMCP" + | "VICAMI" + | "NCOLNUML"; /** - * Postal delivery type. (eg. PO BOX). Valid enumeration defined by Australia Post PAF code file + * Free text field to identify the manufacturer of the installed meter. */ - postalDeliveryType?: string | null; - /** - * Postcode for the locality - */ - postcode: string; - /** - * State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT - */ - state: string; - /** - * The name of the street - */ - streetName?: string | null; - /** - * The street type suffix. Valid enumeration defined by Australia Post PAF code file - */ - streetSuffix?: string | null; - /** - * The street type. Valid enumeration defined by Australia Post PAF code file - */ - streetType?: string | null; - /** - * Thoroughfare number for a property (first number in a property ranged address) - */ - thoroughfareNumber1?: number | null; + manufacturer?: string; /** - * Suffix for the thoroughfare number. Only relevant if _thoroughfareNumber1_ is populated + * Free text field to identify the meter manufacturer's designation for the meter model. */ - thoroughfareNumber1Suffix?: string | null; + model?: string; /** - * Second thoroughfare number (only used if the property has a ranged address eg 23-25) + * Code to denote the method and frequency of Meter Reading. The value is formatted as follows: For example, */ - thoroughfareNumber2?: number | null; + readType?: string; /** - * Suffix for the second thoroughfare number. Only relevant if _thoroughfareNumber2_ is populated + * This date is the next scheduled meter read date (NSRD) if a manual Meter Reading is required. */ - thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; + nextScheduledReadDate?: string; }; /** - * Required if addressUType is set to simple + * Usage data registers available from the meter. This may be empty where there are no meters physically installed at the service point. */ - simple?: { - /** - * First line of the standard address object - */ - addressLine1: string; + registers?: { /** - * Second line of the standard address object + * Unique identifier of the register within this service point. Is not globally unique. */ - addressLine2?: string | null; + registerId: string; /** - * Third line of the standard address object + * Register suffix of the meter register where the meter reads are obtained. */ - addressLine3?: string | null; + registerSuffix?: string; /** - * Name of the city or locality + * The energy delivered through a connection point or metering point over an extended period normalised to a 'per day' basis (kWh). This value is calculated annually. */ - city: string; + averagedDailyLoad?: number; /** - * A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (AUS) is assumed if country is not present. + * Indicates the consumption type of register. */ - country?: string | null; + registerConsumptionType: + | "INTERVAL" + | "BASIC" + | "PROFILE_DATA" + | "ACTIVE_IMPORT" + | "ACTIVE" + | "REACTIVE_IMPORT" + | "REACTIVE"; /** - * Name of the individual or business formatted for inclusion in an address used for physical mail + * The Network Tariff Code is a free text field containing a code supplied and published by the local network service provider. */ - mailingName?: string | null; + networkTariffCode?: string; /** - * Mandatory for Australian addresses + * The unit of measure for data held in this register. */ - postcode?: string | null; + unitOfMeasure?: string; /** - * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT + * Code to identify the time validity of register contents. */ - state: string; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * The meters associated with the service point. This may be empty where there are no meters physically installed at the service point - */ - meters?: - | Array<{ + timeOfDay?: + | "ALLDAY" + | "INTERVAL" + | "PEAK" + | "BUSINESS" + | "SHOULDER" + | "EVENING" + | "OFFPEAK" + | "CONTROLLED" + | "DEMAND"; /** - * The meter ID uniquely identifies a meter for a given service point. It is unique in the context of the service point. It is not globally unique + * Multiplier required to take a register value and turn it into a value representing billable energy. */ - meterId: string; + multiplier?: number; /** - * Usage data registers available from the meter. This may be empty where there are no meters physically installed at the service point + * Indicates whether the energy recorded by this register is created under a Controlled Load regime. */ - registers?: Array<{ - /** - * The energy delivered through a connection point or metering point over an extended period normalised to a 'per day' basis (kWh). This value is calculated annually. - */ - averagedDailyLoad?: number; - /** - * Actual/Subtractive Indicator. Note the details of enumeration values below: - */ - consumptionType?: "ACTUAL" | "CUMULATIVE"; - /** - * Indicates whether the energy recorded by this register is created under a Controlled Load regime - */ - controlledLoad?: boolean; - /** - * Multiplier required to take a register value and turn it into a value representing billable energy - */ - multiplier?: number; - /** - * The Network Tariff Code is a free text field containing a code supplied and published by the local network service provider - */ - networkTariffCode?: string; - /** - * Indicates the consumption type of register - */ - registerConsumptionType: - | "INTERVAL" - | "BASIC" - | "PROFILE_DATA" - | "ACTIVE_IMPORT" - | "ACTIVE" - | "REACTIVE_IMPORT" - | "REACTIVE"; - /** - * Unique identifier of the register within this service point. Is not globally unique - */ - registerId: string; - /** - * Register suffix of the meter register where the meter reads are obtained - */ - registerSuffix?: string; - /** - * Code to identify the time validity of register contents - */ - timeOfDay?: - | "ALLDAY" - | "INTERVAL" - | "PEAK" - | "BUSINESS" - | "SHOULDER" - | "EVENING" - | "OFFPEAK" - | "CONTROLLED" - | "DEMAND"; - /** - * The unit of measure for data held in this register - */ - unitOfMeasure?: string; - [k: string]: unknown; - }>; + controlledLoad?: boolean; /** - * Technical characteristics of the meter + * Actual/Subtractive Indicator. Note the details of enumeration values below: */ - specifications: { - /** - * The metering Installation type code indicates whether the metering installation has to be manually read. Note the details of enumeration values below: - */ - installationType: - | "BASIC" - | "COMMS1" - | "COMMS2" - | "COMMS3" - | "COMMS4" - | "COMMS4C" - | "COMMS4D" - | "MRAM" - | "MRIM" - | "PROF" - | "SAMPLE" - | "UMCP" - | "VICAMI" - | "NCOLNUML"; - /** - * Free text field to identify the manufacturer of the installed meter - */ - manufacturer?: string; - /** - * Free text field to identify the meter manufacturer’s designation for the meter model - */ - model?: string; - /** - * This date is the next scheduled meter read date (NSRD) if a manual Meter Reading is required - */ - nextScheduledReadDate?: string; - /** - * Code to denote the method and frequency of Meter Reading. The value is formatted as follows: For example, - */ - readType?: string; - /** - * A code to denote the status of the meter. Note the details of enumeration values below: - */ - status: "CURRENT" | "DISCONNECTED"; - [k: string]: unknown; - }; - [k: string]: unknown; - }> - | null; - /** - * The independent ID of the service point, known in the industry as the NMI - */ - nationalMeteringId: string; - relatedParticipants: Array<{ + consumptionType?: "ACTUAL" | "CUMULATIVE"; + }[]; + }[]; +}; +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +/** + * A unique identifier for an Energy service point, generated according to [CDR ID Permanence](#id-permanence) requirements. + */ +export type EnergyServicePointId = string; +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export interface EnergyServicePointListResponse { + data: { + servicePoints: EnergyServicePoint[]; + }; + links: LinksPaginated; + meta: MetaPaginated; +} +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export interface EnergyServicePointListResponseV2 { + data: { + servicePoints: EnergyServicePointV2[]; + }; + links: LinksPaginated; + meta: MetaPaginated; +} +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export interface EnergyServicePointV2 { + consumerProfile?: { /** - * The name of the party/organisation related to this service point + * A code that defines the consumer class as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments. */ - party: string; + classification?: ("BUSINESS" | "RESIDENTIAL") | null; /** - * The role performed by this participant in relation to the service point. Note the details of enumeration values below: + * A code that defines the consumption threshold as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments. Note the details of enumeration values below: */ - role: "FRMP" | "LNSP" | "DRSP"; - [k: string]: unknown; - }>; + threshold?: "LOW" | "MEDIUM" | "HIGH"; + } | null; + /** + * This flag determines whether the energy at this connection point is to be treated as consumer load or as a generating unit (this may include generator auxiliary loads). If absent defaults to `false`.
**Note:** Only applicable for scheduled or semischeduled generators, does not indicate on site generation by consumer. + */ + isGenerator?: boolean | null; + /** + * Jurisdiction code to which the service point belongs.This code defines the jurisdictional rules which apply to the service point. Note the details of enumeration values below: + */ + jurisdictionCode: "ALL" | "ACT" | "NEM" | "NSW" | "QLD" | "SA" | "TAS" | "VIC"; + /** + * The date the account holder changed for the NMI. + */ + lastConsumerChangeDate?: string | null; + /** + * The date and time that the information for this service point was modified. + */ + lastUpdateDateTime: string; + /** + * The independent ID of the service point, known in the industry as the NMI. + */ + nationalMeteringId: string; /** - * The classification of the service point as defined in MSATS procedures + * The classification of the service point as defined in MSATS procedures. */ servicePointClassification: | "EXTERNAL_PROFILE" @@ -5968,212 +4010,182 @@ export interface EnergyServicePointDetail { | "NON_REGISTERED_EMBEDDED_GENERATOR" | "DISTRIBUTION_WHOLESALE"; /** - * The tokenised ID of the service point for use in the CDR APIs. Created according to the CDR rules for ID permanence + * Unique identifier for the service point. */ servicePointId: string; /** - * Code used to indicate the status of the service point. Note the details for the enumeration values below: + * Code used to indicate the status of the service point. Note the details for the enumeration values below: */ servicePointStatus: "ACTIVE" | "DE_ENERGISED" | "EXTINCT" | "GREENFIELD" | "OFF_MARKET"; /** - * The latest start date from which the constituent data sets of this service point became valid + * The latest start date from which the constituent data sets of this service point became valid. */ validFromDate: string; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ - -export interface EnergyServicePointDetailResponse { - data: EnergyServicePointDetail; - links: LinksPaginated; - meta?: MetaPaginated | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ - -export interface EnergyServicePointListResponse { - data: { - servicePoints: EnergyServicePoint[]; - }; - links: LinksPaginated; - meta: MetaPaginated; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface EnergyUsageListResponse { data: { /** - * Array of meter reads sorted by NMI in ascending order followed by readStartDate in descending order + * Array of meter reads sorted by NMI in ascending order followed by _readStartDate_ in descending order. */ reads: EnergyUsageRead[]; - [k: string]: unknown; }; links: LinksPaginated; meta: MetaPaginated; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface EnergyUsageRead { /** - * Mandatory if readUType is set to basicRead + * Mandatory if _readUType_ is set to `basicRead`. */ basicRead?: { /** - * The quality of the read taken. If absent then assumed to be ACTUAL + * The quality of the read taken. If absent then assumed to be `ACTUAL`. */ quality?: ("ACTUAL" | "SUBSTITUTE" | "FINAL_SUBSTITUTE") | null; /** - * Meter read value. If positive then it means consumption, if negative it means export + * Meter read value. If positive then it means consumption, if negative it means export. */ value: number; - [k: string]: unknown; } | null; /** - * Indicates whether the energy recorded by this register is created under a Controlled Load regime + * Indicates whether the energy recorded by this register is created under a Controlled Load regime. */ controlledLoad?: boolean | null; /** - * Mandatory if readUType is set to intervalRead + * Mandatory if _readUType_ is set to `intervalRead`. */ intervalRead?: { /** - * The aggregate sum of the interval read values. If positive then it means net consumption, if negative it means net export + * The aggregate sum of the interval read values. If positive then it means net consumption, if negative it means net export. */ aggregateValue: number; /** - * Array of Interval read values. If positive then it means consumption, if negative it means export. Required when interval-reads query parameter equals FULL or MIN_30.
Each read value indicates the read for the interval specified by readIntervalLength beginning at midnight of readStartDate (for example 00:00 to 00:30 would be the first reading in a 30 minute Interval) + * Array of Interval read values. If positive then it means consumption, if negative it means export. Required when _interval-reads_ query parameter equals `FULL` or `MIN_30`.
Each read value indicates the read for the interval specified by _readIntervalLength_ beginning at midnight of _readStartDate_ (for example 00:00 to 00:30 would be the first reading in a 30 minute Interval). */ intervalReads?: number[] | null; /** - * Read interval length in minutes. Required when interval-reads query parameter equals FULL or MIN_30 + * Read interval length in minutes. Required when _interval-reads_ query parameter equals `FULL` or `MIN_30`. */ readIntervalLength?: number | null; /** - * Specifies quality of reads that are not ACTUAL. For read indices that are not specified, quality is assumed to be ACTUAL. If not present, all quality of all reads are assumed to be actual. Required when interval-reads query parameter equals FULL or MIN_30 + * Specifies quality of reads that are not `ACTUAL`. For read indices that are not specified, quality is assumed to be `ACTUAL`. If not present, all quality of all reads are assumed to be actual. Required when _interval-reads_ query parameter equals `FULL` or `MIN_30`. */ readQualities?: - | Array<{ + | { /** - * End interval for read quality flag + * End interval for read quality flag. */ endInterval: number; /** - * The quality of the read taken + * The quality of the read taken. */ quality: "SUBSTITUTE" | "FINAL_SUBSTITUTE"; /** - * Start interval for read quality flag. First read begins at 1 + * Start interval for read quality flag. First read begins at `1`. */ startInterval: number; - [k: string]: unknown; - }> + }[] | null; - [k: string]: unknown; } | null; /** - * Meter id/serial number as it appears in customer’s bill. ID permanence rules do not apply. + * Meter id/serial number as it appears in customer's bill. ID permanence rules do not apply. */ meterId?: string | null; /** - * Date when the meter reads end in AEST. If absent then assumed to be equal to readStartDate. In this case the entry represents data for a single date specified by readStartDate. + * Date when the meter reads end in AEST. If absent then assumed to be equal to _readStartDate_. In this case the entry represents data for a single date specified by _readStartDate_. */ readEndDate?: string | null; /** - * Date when the meter reads start in AEST and assumed to start from 12:00 am AEST. + * Date when the meter reads start in AEST and assumed to start from 12:00am AEST. */ readStartDate: string; /** - * Specify the type of the meter read data + * Specify the type of the meter read data. */ readUType: "basicRead" | "intervalRead"; /** - * Register ID of the meter register where the meter reads are obtained + * Register ID of the meter register where the meter reads are obtained. */ registerId?: string | null; /** - * Register suffix of the meter register where the meter reads are obtained + * Register suffix of the meter register where the meter reads are obtained. */ registerSuffix: string; /** - * Tokenised ID of the service point to be used for referring to the service point in the CDR API suite. To be created in accordance with CDR ID permanence requirements + * Unique identifier for the service point. */ servicePointId: string; /** * Unit of measure of the meter reads. Refer to Appendix B of MDFF Specification NEM12 NEM13 v2.1 for a list of possible values. */ unitOfMeasure?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface ResponseErrorListV2 { - errors: Array<{ - /** - * The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the meta object. Otherwise, the value is the error code URN. - */ - code: string; - /** - * A human-readable explanation specific to this occurrence of the problem. - */ - detail: string; - /** - * Additional data for customised error codes - */ - meta?: { - /** - * The CDR error code URN which the application-specific error code extends. Mandatory if the error `code` is an application-specific error rather than a standardised error code. - */ - urn?: string; - [k: string]: unknown; - }; + +export interface ErrorV2 { + /** + * The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the _meta_ object. Otherwise, the value is the error code URN. + */ + code: string; + /** + * A human-readable explanation specific to this occurrence of the problem. + */ + detail: string; + /** + * Additional data for customised error codes. + */ + meta?: { /** - * A short, human-readable summary of the problem that MUST NOT change from occurrence to occurrence of the problem represented by the error code. + * The CDR error code URN which the application-specific error code extends. Mandatory if the error _code_ is an application-specific error rather than a standardised error code. */ - title: string; - [k: string]: unknown; - }>; - [k: string]: unknown; + urn?: string | null; + } | null; + /** + * A short, human-readable summary of the problem that **MUST NOT** change from occurrence to occurrence of the problem represented by the error code. + */ + title: string; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface Links { /** - * Fully qualified link that generated the current response document + * Fully qualified link that generated the current response document. */ self: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface LinksPaginated { /** - * URI to the first page of this set. Mandatory if this response is not the first page + * URI to the first page of this set. Mandatory if this response is not the first page. */ first?: string | null; /** - * URI to the last page of this set. Mandatory if this response is not the last page + * URI to the last page of this set. Mandatory if this response is not the last page. */ last?: string | null; /** - * URI to the next page of this set. Mandatory if this response is not the last page + * URI to the next page of this set. Mandatory if this response is not the last page. */ next?: string | null; /** - * URI to the previous page of this set. Mandatory if this response is not the first page + * URI to the previous page of this set. Mandatory if this response is not the first page. */ prev?: string | null; /** - * Fully qualified link that generated the current response document + * Fully qualified link that generated the current response document. */ self: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ -export interface Meta { - [k: string]: unknown; -} +export type MeasureUnitEnum = "KWH" | "KVA" | "KVAR" | "KVARH" | "KW" | "DAYS" | "METER" | "MONTH"; +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export interface Meta {} /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface MetaPaginated { @@ -6185,36 +4197,72 @@ export interface MetaPaginated { * The total number of records in the full set. See [pagination](#pagination). */ totalRecords: number; - [k: string]: unknown; } +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export type PrimaryErrorV1 = { + /** + * Indicates the error was propagated from a designated secondary data holder. + */ + isSecondaryDataHolderError?: boolean; +} & ErrorV2; +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ +export interface PrimaryResponseErrorListV1 { + /** + * List of errors. + */ + errors: PrimaryErrorV1[]; +} /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ export interface RequestAccountIdList { data: { /** - * Array of specific accountIds to obtain data for + * Array of specific _accountId_ values to obtain data for. */ accountIds: string[]; - [k: string]: unknown; }; - meta?: { - [k: string]: unknown; - }; - [k: string]: unknown; + meta?: Meta; } +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ +export interface RequestAccountIdListV1 { + data: { + /** + * Array of _accountId_ values to obtain data for. + */ + accountIds: string[]; + }; + meta?: Meta; +} /* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + export interface RequestServicePointIdList { data: { /** - * Array of specific servicePointIds to obtain data for + * Array of specific _servicePointId_ values to obtain data for. */ servicePointIds: string[]; - [k: string]: unknown; }; - meta?: { - [k: string]: unknown; + meta?: Meta; +} +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export interface RequestServicePointIdListV1 { + data: { + /** + * Array of _servicePointId_ values to obtain data for. + */ + servicePointIds: string[]; }; - [k: string]: unknown; + meta?: Meta; +} +/* These are the schema definitions stipulated by the Data Standards Body for the energy api. */ + +export interface ResponseErrorListV2 { + /** + * List of errors. + */ + errors: ErrorV2[]; } diff --git a/types/consumer-data-standards/energy_sdh/index.d.ts b/types/consumer-data-standards/energy_sdh/index.d.ts index 7e00e3cd63f6d6..cc3fce0491a672 100644 --- a/types/consumer-data-standards/energy_sdh/index.d.ts +++ b/types/consumer-data-standards/energy_sdh/index.d.ts @@ -92,7 +92,6 @@ export interface CommonPAFAddress { * Suffix for the second thoroughfare number. Only relevant is thoroughfareNumber2 is populated */ thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy_sdh api. */ @@ -193,7 +192,6 @@ export interface CommonPhysicalAddress { * Suffix for the second thoroughfare number. Only relevant is thoroughfareNumber2 is populated */ thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; }; /** * Required if addressUType is set to simple @@ -231,9 +229,7 @@ export interface CommonPhysicalAddress { * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT */ state: string; - [k: string]: unknown; }; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy_sdh api. */ @@ -273,7 +269,6 @@ export interface CommonSimpleAddress { * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT */ state: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy_sdh api. */ @@ -329,7 +324,6 @@ export interface EnergyDerDetailResponse { * Used to indicate the primary technology used in the DER device */ type: "FOSSIL" | "HYDRO" | "WIND" | "SOLAR_PV" | "RENEWABLE" | "GEOTHERMAL" | "STORAGE" | "OTHER"; - [k: string]: unknown; }>; /** * Indicates whether the DER device is connected via an inverter (and what category of inverter it is) or not (e.g. rotating machine). If absent, assume equipment type to be “OTHER”. @@ -355,7 +349,6 @@ export interface EnergyDerDetailResponse { * Code used to indicate the status of the Inverter. This will be used to identify if an inverter is active or inactive or decommissioned */ status: "ACTIVE" | "INACTIVE" | "DECOMMISSIONED"; - [k: string]: unknown; }>; /** * Approved small generating unit capacity as agreed with NSP in the connection agreement, expressed in kVA @@ -441,25 +434,19 @@ export interface EnergyDerDetailResponse { * Trip angle in degrees. */ voltageVectorShift?: number | null; - [k: string]: unknown; } | null; /** * The independent ID of the service point, known in the industry as the National Meter Identifier (NMI). Note that the servicePointId will be replaced with NMI for all interactions between Data Holder and AEMO. */ servicePointId: string; - [k: string]: unknown; }; links: { /** * Fully qualified link that generated the current response document */ self: string; - [k: string]: unknown; }; - meta?: { - [k: string]: unknown; - }; - [k: string]: unknown; + meta?: {}; } /* These are the schema definitions stipulated by the Data Standards Body for the energy_sdh api. */ @@ -519,7 +506,6 @@ export interface EnergyDerListResponse { * Used to indicate the primary technology used in the DER device */ type: "FOSSIL" | "HYDRO" | "WIND" | "SOLAR_PV" | "RENEWABLE" | "GEOTHERMAL" | "STORAGE" | "OTHER"; - [k: string]: unknown; }>; /** * Indicates whether the DER device is connected via an inverter (and what category of inverter it is) or not (e.g. rotating machine). If absent, assume equipment type to be “OTHER”. @@ -545,7 +531,6 @@ export interface EnergyDerListResponse { * Code used to indicate the status of the Inverter. This will be used to identify if an inverter is active or inactive or decommissioned */ status: "ACTIVE" | "INACTIVE" | "DECOMMISSIONED"; - [k: string]: unknown; }>; /** * Approved small generating unit capacity as agreed with NSP in the connection agreement, expressed in kVA @@ -631,15 +616,12 @@ export interface EnergyDerListResponse { * Trip angle in degrees. */ voltageVectorShift?: number | null; - [k: string]: unknown; } | null; /** * The independent ID of the service point, known in the industry as the National Meter Identifier (NMI). Note that the servicePointId will be replaced with NMI for all interactions between Data Holder and AEMO. */ servicePointId: string; - [k: string]: unknown; }>; - [k: string]: unknown; }; links: { /** @@ -662,7 +644,6 @@ export interface EnergyDerListResponse { * Fully qualified link that generated the current response document */ self: string; - [k: string]: unknown; }; meta: { /** @@ -673,9 +654,7 @@ export interface EnergyDerListResponse { * The total number of records in the full set. See [pagination](#pagination). */ totalRecords: number; - [k: string]: unknown; }; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy_sdh api. */ @@ -730,7 +709,6 @@ export interface EnergyDerRecord { * Used to indicate the primary technology used in the DER device */ type: "FOSSIL" | "HYDRO" | "WIND" | "SOLAR_PV" | "RENEWABLE" | "GEOTHERMAL" | "STORAGE" | "OTHER"; - [k: string]: unknown; }>; /** * Indicates whether the DER device is connected via an inverter (and what category of inverter it is) or not (e.g. rotating machine). If absent, assume equipment type to be “OTHER”. @@ -756,7 +734,6 @@ export interface EnergyDerRecord { * Code used to indicate the status of the Inverter. This will be used to identify if an inverter is active or inactive or decommissioned */ status: "ACTIVE" | "INACTIVE" | "DECOMMISSIONED"; - [k: string]: unknown; }>; /** * Approved small generating unit capacity as agreed with NSP in the connection agreement, expressed in kVA @@ -842,13 +819,11 @@ export interface EnergyDerRecord { * Trip angle in degrees. */ voltageVectorShift?: number | null; - [k: string]: unknown; } | null; /** * The independent ID of the service point, known in the industry as the National Meter Identifier (NMI). Note that the servicePointId will be replaced with NMI for all interactions between Data Holder and AEMO. */ servicePointId: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy_sdh api. */ @@ -862,7 +837,6 @@ export interface EnergyServicePoint { * A code that defines the consumption threshold as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments. Note the details of enumeration values below: */ threshold?: "LOW" | "MEDIUM" | "HIGH"; - [k: string]: unknown; } | null; /** * This flag determines whether the energy at this connection point is to be treated as consumer load or as a generating unit(this may include generator auxiliary loads). If absent defaults to false.
**Note:** Only applicable for scheduled or semischeduled generators, does not indicate on site generation by consumer @@ -904,7 +878,6 @@ export interface EnergyServicePoint { * The start date from which this service point first became valid */ validFromDate: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy_sdh api. */ @@ -918,7 +891,6 @@ export interface EnergyServicePointDetail { * A code that defines the consumption threshold as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments. Note the details of enumeration values below: */ threshold?: "LOW" | "MEDIUM" | "HIGH"; - [k: string]: unknown; } | null; distributionLossFactor: { /** @@ -933,7 +905,6 @@ export interface EnergyServicePointDetail { * The value associated with the loss factor code */ lossValue: string; - [k: string]: unknown; }; /** * This flag determines whether the energy at this connection point is to be treated as consumer load or as a generating unit(this may include generator auxiliary loads). If absent defaults to false.
**Note:** Only applicable for scheduled or semischeduled generators, does not indicate on site generation by consumer @@ -1047,7 +1018,6 @@ export interface EnergyServicePointDetail { * Suffix for the second thoroughfare number. Only relevant is thoroughfareNumber2 is populated */ thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; }; /** * Required if addressUType is set to simple @@ -1085,9 +1055,7 @@ export interface EnergyServicePointDetail { * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT */ state: string; - [k: string]: unknown; }; - [k: string]: unknown; }; /** * The meters associated with the service point. This may be empty where there are no meters physically installed at the service point @@ -1158,7 +1126,6 @@ export interface EnergyServicePointDetail { * The unit of measure for data held in this register */ unitOfMeasure?: string; - [k: string]: unknown; }>; /** * Technical characteristics of the meter @@ -1202,9 +1169,7 @@ export interface EnergyServicePointDetail { * A code to denote the status of the meter. Note the details of enumeration values below: */ status: "CURRENT" | "DISCONNECTED"; - [k: string]: unknown; }; - [k: string]: unknown; }> | null; /** @@ -1220,7 +1185,6 @@ export interface EnergyServicePointDetail { * The role performed by this participant in relation to the service point. Note the details of enumeration values below: */ role: "FRMP" | "LNSP" | "DRSP"; - [k: string]: unknown; }>; /** * The classification of the service point as defined in MSATS procedures @@ -1246,7 +1210,6 @@ export interface EnergyServicePointDetail { * The start date from which this service point first became valid */ validFromDate: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy_sdh api. */ @@ -1261,7 +1224,6 @@ export interface EnergyServicePointDetailResponse { * A code that defines the consumption threshold as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments. Note the details of enumeration values below: */ threshold?: "LOW" | "MEDIUM" | "HIGH"; - [k: string]: unknown; } | null; distributionLossFactor: { /** @@ -1276,7 +1238,6 @@ export interface EnergyServicePointDetailResponse { * The value associated with the loss factor code */ lossValue: string; - [k: string]: unknown; }; /** * This flag determines whether the energy at this connection point is to be treated as consumer load or as a generating unit(this may include generator auxiliary loads). If absent defaults to false.
**Note:** Only applicable for scheduled or semischeduled generators, does not indicate on site generation by consumer @@ -1390,7 +1351,6 @@ export interface EnergyServicePointDetailResponse { * Suffix for the second thoroughfare number. Only relevant is thoroughfareNumber2 is populated */ thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; }; /** * Required if addressUType is set to simple @@ -1428,9 +1388,7 @@ export interface EnergyServicePointDetailResponse { * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT */ state: string; - [k: string]: unknown; }; - [k: string]: unknown; }; /** * The meters associated with the service point. This may be empty where there are no meters physically installed at the service point @@ -1501,7 +1459,6 @@ export interface EnergyServicePointDetailResponse { * The unit of measure for data held in this register */ unitOfMeasure?: string; - [k: string]: unknown; }>; /** * Technical characteristics of the meter @@ -1545,9 +1502,7 @@ export interface EnergyServicePointDetailResponse { * A code to denote the status of the meter. Note the details of enumeration values below: */ status: "CURRENT" | "DISCONNECTED"; - [k: string]: unknown; }; - [k: string]: unknown; }> | null; /** @@ -1563,7 +1518,6 @@ export interface EnergyServicePointDetailResponse { * The role performed by this participant in relation to the service point. Note the details of enumeration values below: */ role: "FRMP" | "LNSP" | "DRSP"; - [k: string]: unknown; }>; /** * The classification of the service point as defined in MSATS procedures @@ -1589,19 +1543,14 @@ export interface EnergyServicePointDetailResponse { * The start date from which this service point first became valid */ validFromDate: string; - [k: string]: unknown; }; links: { /** * Fully qualified link that generated the current response document */ self: string; - [k: string]: unknown; }; - meta?: { - [k: string]: unknown; - }; - [k: string]: unknown; + meta?: {}; } /* These are the schema definitions stipulated by the Data Standards Body for the energy_sdh api. */ @@ -1617,7 +1566,6 @@ export interface EnergyServicePointListResponse { * A code that defines the consumption threshold as defined in the National Energy Retail Regulations, or in overriding Jurisdictional instruments. Note the details of enumeration values below: */ threshold?: "LOW" | "MEDIUM" | "HIGH"; - [k: string]: unknown; } | null; /** * This flag determines whether the energy at this connection point is to be treated as consumer load or as a generating unit(this may include generator auxiliary loads). If absent defaults to false.
**Note:** Only applicable for scheduled or semischeduled generators, does not indicate on site generation by consumer @@ -1659,9 +1607,7 @@ export interface EnergyServicePointListResponse { * The start date from which this service point first became valid */ validFromDate: string; - [k: string]: unknown; }>; - [k: string]: unknown; }; links: { /** @@ -1684,7 +1630,6 @@ export interface EnergyServicePointListResponse { * Fully qualified link that generated the current response document */ self: string; - [k: string]: unknown; }; meta: { /** @@ -1695,9 +1640,7 @@ export interface EnergyServicePointListResponse { * The total number of records in the full set. See [pagination](#pagination). */ totalRecords: number; - [k: string]: unknown; }; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy_sdh api. */ @@ -1719,7 +1662,6 @@ export interface EnergyUsageListResponse { * Meter read value. If positive then it means consumption, if negative it means export */ value: number; - [k: string]: unknown; } | null; /** * Indicates whether the energy recorded by this register is created under a Controlled Load regime @@ -1757,9 +1699,7 @@ export interface EnergyUsageListResponse { * Start interval for read quality flag. First read begins at 1 */ startInterval: number; - [k: string]: unknown; } | null; - [k: string]: unknown; } | null; /** * Meter id/serial number as it appears in customer’s bill. ID permanence rules do not apply. @@ -1793,9 +1733,7 @@ export interface EnergyUsageListResponse { * Unit of measure of the meter reads. Refer to Appendix B of MDFF Specification NEM12 NEM13 v2.1 for a list of possible values */ unitOfMeasure?: string | null; - [k: string]: unknown; }>; - [k: string]: unknown; }; links: { /** @@ -1818,7 +1756,6 @@ export interface EnergyUsageListResponse { * Fully qualified link that generated the current response document */ self: string; - [k: string]: unknown; }; meta: { /** @@ -1829,9 +1766,7 @@ export interface EnergyUsageListResponse { * The total number of records in the full set. See [pagination](#pagination). */ totalRecords: number; - [k: string]: unknown; }; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy_sdh api. */ @@ -1848,7 +1783,6 @@ export interface EnergyUsageRead { * Meter read value. If positive then it means consumption, if negative it means export */ value: number; - [k: string]: unknown; } | null; /** * Indicates whether the energy recorded by this register is created under a Controlled Load regime @@ -1886,9 +1820,7 @@ export interface EnergyUsageRead { * Start interval for read quality flag. First read begins at 1 */ startInterval: number; - [k: string]: unknown; } | null; - [k: string]: unknown; } | null; /** * Meter id/serial number as it appears in customer’s bill. ID permanence rules do not apply. @@ -1922,7 +1854,6 @@ export interface EnergyUsageRead { * Unit of measure of the meter reads. Refer to Appendix B of MDFF Specification NEM12 NEM13 v2.1 for a list of possible values */ unitOfMeasure?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy_sdh api. */ @@ -1933,7 +1864,6 @@ export interface Links { * Fully qualified link that generated the current response document */ self: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy_sdh api. */ @@ -1958,7 +1888,6 @@ export interface LinksPaginated { * Fully qualified link that generated the current response document */ self: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy_sdh api. */ @@ -1976,7 +1905,6 @@ export interface MetaPaginated { * The total number of records in the full set. See [pagination](#pagination). */ totalRecords: number; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the energy_sdh api. */ @@ -1998,13 +1926,10 @@ export interface ResponseErrorListV2 { * The CDR error code URN which the application-specific error code extends. Mandatory if the error `code` is an application-specific error rather than a standardised error code. */ urn?: string; - [k: string]: unknown; }; /** * A short, human-readable summary of the problem that MUST NOT change from occurrence to occurrence of the problem represented by the error code. */ title: string; - [k: string]: unknown; }>; - [k: string]: unknown; } diff --git a/types/consumer-data-standards/index.d.ts b/types/consumer-data-standards/index.d.ts index 2b1eea63c5e9c7..d8ecc0b1733235 100644 --- a/types/consumer-data-standards/index.d.ts +++ b/types/consumer-data-standards/index.d.ts @@ -1,10 +1,10 @@ import * as admin from "./admin"; import * as banking from "./banking"; import * as common from "./common"; -import * as dcr1 from "./dcr"; +import * as dcr from "./dcr"; import * as energy from "./energy"; import * as energy_sdh from "./energy_sdh"; import * as register from "./register"; import * as telco from "./telco"; -export { admin, banking, common, dcr1, energy, energy_sdh, register, telco }; +export { admin, banking, common, dcr, energy, energy_sdh, register, telco }; diff --git a/types/consumer-data-standards/package.json b/types/consumer-data-standards/package.json index f7f15c57545cc3..10b2fedb9d8307 100644 --- a/types/consumer-data-standards/package.json +++ b/types/consumer-data-standards/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@types/consumer-data-standards", - "version": "7.3.9999", + "version": "7.4.9999", "nonNpm": true, "nonNpmDescription": "consumer-data-standards-browser", "projects": [ diff --git a/types/consumer-data-standards/register/index.d.ts b/types/consumer-data-standards/register/index.d.ts index 70c83c996608cb..70968aa611d18e 100644 --- a/types/consumer-data-standards/register/index.d.ts +++ b/types/consumer-data-standards/register/index.d.ts @@ -2,75 +2,99 @@ export interface DataHolderBrandSummary { /** - * Australian Business Number for the organisation + * Australian Business Number for the organisation. */ abn?: string | null; /** - * Australian Company Number for the organisation + * Australian Company Number for the organisation. */ acn?: string | null; /** - * Australian Registered Body Number. ARBNs are issued to registrable Australian bodies and foreign companies + * Australian Registered Body Number. ARBNs are issued to registrable Australian bodies and foreign companies. */ arbn?: string | null; /** - * The name of Data Holder Brand + * The name of Data Holder Brand. */ brandName: string; /** - * Unique id of the Data Holder Brand issued by the CDR Register + * Unique id of the Data Holder Brand issued by the CDR Register. */ dataHolderBrandId?: string | null; /** - * The industries the Data Holder Brand belongs to + * The industries the Data Holder Brand belongs to. */ - industries: Array<"banking" | "energy" | "telco">; + industries: ("banking" | "energy" | "telco")[]; /** - * Interim id of the Data Holder Brand issued by the CDR Register. This is to be used to uniquely identify the record when dataHolderBrandId is not populated and is not to be reused + * Interim id of the Data Holder Brand issued by the CDR Register. This is to be used to uniquely identify the record when dataHolderBrandId is not populated and is not to be reused. */ interimId?: string | null; /** - * The date/time that the Data Holder Brand data was last updated in the Register + * The date/time that the Data Holder Brand data was last updated in the Register. */ lastUpdated: string; /** - * Brand logo URI + * Brand logo URI. */ logoUri: string; /** - * Base URI for the Data Holder's Consumer Data Standard public endpoints + * Base URI for the Data Holder's Consumer Data Standard public endpoints. + */ + publicBaseUri: string; +} +/* These are the schema definitions stipulated by the Data Standards Body for the register api. */ + +export interface DataHolderBrandSummaryV2 { + /** + * Australian Business Number for the organisation. + */ + abn?: string | null; + /** + * Australian Company Number for the organisation. + */ + acn?: string | null; + /** + * Australian Registered Body Number. ARBNs are issued to registrable Australian bodies and foreign companies. + */ + arbn?: string | null; + /** + * The name of Data Holder Brand. + */ + brandName: string; + /** + * Unique id of the Data Holder Brand issued by the CDR Register. + */ + dataHolderBrandId?: string | null; + /** + * The industries the Data Holder Brand belongs to. + */ + industries: ("banking" | "energy" | "non-bank-lending" | "telco")[]; + /** + * Interim id of the Data Holder Brand issued by the CDR Register. This is to be used to uniquely identify the record when _dataHolderBrandId_ is not populated and is not to be reused. + */ + interimId?: string | null; + /** + * The date/time that the Data Holder Brand data was last updated in the Register. + */ + lastUpdated: string; + /** + * Brand logo URI. + */ + logoUri: string; + /** + * Base URI for the Data Holder's Consumer Data Standard public endpoints. */ publicBaseUri: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ export interface DataHoldersStatusList { /** - * Response data for the query + * Response data for the query. */ - data: Array<{ - /** - * Unique id of the Data Holder Legal Entity issued by the CDR Register. - */ - legalEntityId: string; - /** - * Data Holder status in the CDR Register - */ - status: "ACTIVE" | "REMOVED"; - [k: string]: unknown; - }>; - links: { - /** - * Fully qualified link to this API call - */ - self: string; - [k: string]: unknown; - }; - meta: { - [k: string]: unknown; - }; - [k: string]: unknown; + data: DataHolderStatus[]; + links: Links; + meta: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ @@ -80,477 +104,347 @@ export interface DataHolderStatus { */ legalEntityId: string; /** - * Data Holder status in the CDR Register + * Data Holder status in the CDR Register. */ status: "ACTIVE" | "REMOVED"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ /** - * Metadata related to Data Recipient Brand + * Metadata related to Data Recipient Brand. */ export interface DataRecipientBrandMetaData { /** - * Data Recipient Brand name + * Data Recipient Brand name. */ brandName: string; /** - * Unique id of the Data Recipient brand issued by the CDR Register + * Unique id of the Data Recipient brand issued by the CDR Register. */ dataRecipientBrandId: string; /** - * Data Recipient Brand logo URI + * Data Recipient Brand logo URI. */ logoUri: string; - softwareProducts?: - | Array<{ - /** - * Software product logo URI - */ - logoUri: string; - /** - * Description of the software product - */ - softwareProductDescription?: string | null; - /** - * Unique id of the Data Recipient software product issued by the CDR Register - */ - softwareProductId: string; - /** - * Name of the software product - */ - softwareProductName: string; - /** - * Software Product status in the CDR Register - */ - status: "ACTIVE" | "INACTIVE" | "REMOVED"; - [k: string]: unknown; - }> - | null; - /** - * Data Recipient Brand status in the CDR Register + softwareProducts?: SoftwareProductMetaData[] | null; + /** + * Data Recipient Brand status in the CDR Register. */ status: "ACTIVE" | "INACTIVE" | "REMOVED"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ export interface DataRecipientsStatusList { /** - * Response data for the query + * Response data for the query. */ - data: Array<{ - /** - * Unique id of the Data Recipient Legal Entity issued by the CDR Register - */ - legalEntityId: string; - /** - * Data Recipient status in the CDR Register - */ - status: "ACTIVE" | "SUSPENDED" | "REVOKED" | "SURRENDERED"; - [k: string]: unknown; - }>; - links: { - /** - * Fully qualified link to this API call - */ - self: string; - [k: string]: unknown; - }; - meta: { - [k: string]: unknown; - }; - [k: string]: unknown; + data: DataRecipientStatus[]; + links: Links; + meta: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ export interface DataRecipientStatus { /** - * Unique id of the Data Recipient Legal Entity issued by the CDR Register + * Unique id of the Data Recipient Legal Entity issued by the CDR Register. */ legalEntityId: string; /** - * Data Recipient status in the CDR Register + * Data Recipient status in the CDR Register. */ status: "ACTIVE" | "SUSPENDED" | "REVOKED" | "SURRENDERED"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ +export interface ErrorV2 { + /** + * The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the _meta_ object. Otherwise, the value is the error code URN. + */ + code: string; + /** + * A human-readable explanation specific to this occurrence of the problem. + */ + detail: string; + /** + * Additional data for customised error codes. + */ + meta?: { + /** + * The CDR error code URN which the application-specific error code extends. Mandatory if the error _code_ is an application-specific error rather than a standardised error code. + */ + urn?: string | null; + } | null; + /** + * A short, human-readable summary of the problem that **MUST NOT** change from occurrence to occurrence of the problem represented by the error code. + */ + title: string; +} +/* These are the schema definitions stipulated by the Data Standards Body for the register api. */ + +export type IndustriesEnumV2 = "banking" | "energy" | "non-bank-lending" | "telco"; +/* These are the schema definitions stipulated by the Data Standards Body for the register api. */ + +export type IndustryEnumRecipients = "all"; +/* These are the schema definitions stipulated by the Data Standards Body for the register api. */ + +export type IndustryEnumV2 = "banking" | "energy" | "non-bank-lending" | "telco" | "all"; +/* These are the schema definitions stipulated by the Data Standards Body for the register api. */ + /** - * Object representing a JSON Web Key + * Object representing a JSON Web Key. */ export interface JWK { /** - * The "alg" (algorithm) parameter identifies the algorithm intended for use with the key + * The _alg_ (algorithm) parameter identifies the algorithm intended for use with the key. */ alg: string; /** - * The "e" RSA public exponent parameter + * The _e_ RSA public exponent parameter. */ e: string; /** - * The "key_ops" (key operations) parameter identifies the operation(s) for which the key is intended to be used + * The _key_ops_ (key operations) parameter identifies the operation(s) for which the key is intended to be used. */ key_ops: string[]; /** - * The "kid" (key ID) parameter is partially used to match a specific key. - * Note the "kid" parameter is not guaranteed to be unique and additional parameters should be used to progressively identify a key within a set + * The _kid_ (key ID) parameter is partially used to match a specific key. Note the _kid_ parameter is not guaranteed to be unique and additional parameters should be used to progressively identify a key within a set. */ kid: string; /** - * The "kty" (key type) parameter identifies the cryptographic algorithm family used with the key + * The _kty_ (key type) parameter identifies the cryptographic algorithm family used with the key. */ kty: string; /** - * The "n" RSA public modulus parameter + * The _n_ RSA public modulus parameter. */ n: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ /** - * The data that is common to all organisations, regardless of the type (e.g. company, trust, partnership, government) + * The data that is common to all organisations, regardless of the type (e.g., company, trust, partnership, government). */ export interface LegalEntityDetail { /** - * Australian Business Number for the organisation + * Australian Business Number for the organisation. */ abn?: string | null; /** - * Australian Company Number for the organisation + * Australian Company Number for the organisation. */ acn?: string | null; /** - * ANZSIC division of the organisation. **[[ANZSIC-2006]](#iref-ANZSIC-2006)** + * ANZSIC division of the organisation. **[[ANZSIC-2006]](#iref-ANZSIC-2006)**. */ anzsicDivision?: string | null; /** - * Australian Registered Body Number. ARBNs are issued to registrable Australian bodies and foreign companies + * Australian Registered Body Number. ARBNs are issued to registrable Australian bodies and foreign companies. */ arbn?: string | null; /** - * Unique id of the organisation issued by the CDR Register + * Unique id of the organisation issued by the CDR Register. */ legalEntityId: string; /** - * Unique legal name of the organisation + * Unique legal name of the organisation. */ legalEntityName: string; /** - * Legal Entity logo URI + * Legal Entity logo URI. */ logoUri: string; /** - * Legal organisation type + * Legal organisation type. */ organisationType?: ("SOLE_TRADER" | "COMPANY" | "PARTNERSHIP" | "TRUST" | "GOVERNMENT_ENTITY" | "OTHER") | null; /** - * Country of registration (if the company is registered outside Australia) + * Country of registration (if the company is registered outside Australia). */ registeredCountry?: string | null; /** - * Date of registration (if the company is registered outside Australia) + * Date of registration (if the company is registered outside Australia). */ registrationDate?: string | null; /** - * Unique registration number (if the company is registered outside Australia) + * Unique registration number (if the company is registered outside Australia). */ registrationNumber?: string | null; status: "ACTIVE" | "REMOVED"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ export interface Links { /** - * Fully qualified link to this API call + * Fully qualified link to this API call. */ self: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ export interface LinksPaginated { /** - * URI to the first page of this set. Mandatory if this response is not the first page + * URI to the first page of this set. Mandatory if this response is not the first page. */ first?: string | null; /** - * URI to the last page of this set. Mandatory if this response is not the last page + * URI to the last page of this set. Mandatory if this response is not the last page. */ last?: string | null; /** - * URI to the next page of this set. Mandatory if this response is not the last page + * URI to the next page of this set. Mandatory if this response is not the last page. */ next?: string | null; /** - * URI to the previous page of this set. Mandatory if this response is not the first page + * URI to the previous page of this set. Mandatory if this response is not the first page. */ prev?: string | null; /** - * Fully qualified link to this API call + * Fully qualified link to this API call. */ self: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ -export interface Meta { - [k: string]: unknown; -} +export interface Meta {} /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ /** - * Additional data for customised error codes + * Additional data for customised error codes. */ export interface MetaError { /** - * The CDR error code URN which the application-specific error code extends. Mandatory if the error `code` is an application-specific error rather than a standardised error code. + * The CDR error code URN which the application-specific error code extends. Mandatory if the error _code_ is an application-specific error rather than a standardised error code. */ urn?: string | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ export interface MetaPaginated { /** - * The total number of pages in the full set + * The total number of pages in the full set. */ totalPages: number; /** - * The total number of records in the full set + * The total number of records in the full set. */ totalRecords: number; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ /** - * Defines the mechanism used and associated endpoints for Data Holder to Data Recipient authentication + * Defines the mechanism used and associated endpoints for Data Holder to Data Recipient authentication. */ export interface RegisterDataHolderAuth { /** - * JWKS endpoint used for authentication by the Data Holder with the Data Recipient + * JWKS endpoint used for authentication by the Data Holder with the Data Recipient. */ jwksEndpoint: string; /** - * The type of authentication and authorisation mechanism in use + * The type of authentication and authorisation mechanism in use. */ registerUType: "SIGNED-JWT"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ export interface RegisterDataHolderBrand { - authDetails: Array<{ - /** - * JWKS endpoint used for authentication by the Data Holder with the Data Recipient - */ - jwksEndpoint: string; - /** - * The type of authentication and authorisation mechanism in use - */ - registerUType: "SIGNED-JWT"; - [k: string]: unknown; - }>; + authDetails: RegisterDataHolderAuth[]; /** - * The name of Data Holder Brand + * The name of Data Holder Brand. */ brandName: string; /** - * Unique id of the Data Holder Brand issued by the CDR Register + * Unique id of the Data Holder Brand issued by the CDR Register. */ dataHolderBrandId: string; + endpointDetail: RegisterDataHolderBrandServiceEndpoint; /** - * Endpoints related to Data Holder Brand services + * The industries the Data Holder Brand belongs to. */ - endpointDetail: { - /** - * Base URI for the Data Holder extension endpoints to the Consumer Data Standard (optional) - */ - extensionBaseUri?: string | null; - /** - * Base URI for the Data Holder's Consumer Data Standard information security endpoints - */ - infosecBaseUri: string; - /** - * Base URI for the Data Holder's Consumer Data Standard public endpoints - */ - publicBaseUri: string; - /** - * Base URI for the Data Holder's Consumer Data Standard resource endpoints - */ - resourceBaseUri: string; - /** - * The major version of the high level standards. This is not the version of the endpoint or the payload being requested but the version of the overall standards being applied. This version number will be "v" followed by the major version of the standards as a positive integer (e.g. v1, v12 or v76) - */ - version: string; - /** - * Publicly available website or web resource URI - */ - websiteUri: string; - [k: string]: unknown; - }; + industries: ("banking" | "energy" | "telco")[]; /** - * The industries the Data Holder Brand belongs to - */ - industries: Array<"banking" | "energy" | "telco">; - /** - * The date/time that the Data Holder Brand data was last updated in the Register + * The date/time that the Data Holder Brand data was last updated in the Register. */ lastUpdated: string; + legalEntity: LegalEntityDetail; /** - * The data that is common to all organisations, regardless of the type (e.g. company, trust, partnership, government) - */ - legalEntity: { - /** - * Australian Business Number for the organisation - */ - abn?: string | null; - /** - * Australian Company Number for the organisation - */ - acn?: string | null; - /** - * ANZSIC division of the organisation. **[[ANZSIC-2006]](#iref-ANZSIC-2006)** - */ - anzsicDivision?: string | null; - /** - * Australian Registered Body Number. ARBNs are issued to registrable Australian bodies and foreign companies - */ - arbn?: string | null; - /** - * Unique id of the organisation issued by the CDR Register - */ - legalEntityId: string; - /** - * Unique legal name of the organisation - */ - legalEntityName: string; - /** - * Legal Entity logo URI - */ - logoUri: string; - /** - * Legal organisation type - */ - organisationType?: ("SOLE_TRADER" | "COMPANY" | "PARTNERSHIP" | "TRUST" | "GOVERNMENT_ENTITY" | "OTHER") | null; - /** - * Country of registeration (if the company is registered outside Australia) - */ - registeredCountry?: string | null; - /** - * Date of registration (if the company is registered outside Australia) - */ - registrationDate?: string | null; - /** - * Unique registration number (if the company is registered outside Australia) - */ - registrationNumber?: string | null; - status: "ACTIVE" | "REMOVED"; - [k: string]: unknown; - }; - /** - * Brand logo URI + * Brand logo URI. */ logoUri: string; status: "ACTIVE" | "INACTIVE" | "REMOVED"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ /** - * Endpoints related to Data Holder Brand services + * Endpoints related to Data Holder Brand services. */ export interface RegisterDataHolderBrandServiceEndpoint { /** - * Base URI for the Data Holder extension endpoints to the Consumer Data Standard (optional) + * Base URI for the Data Holder extension endpoints to the Consumer Data Standard (optional). */ extensionBaseUri?: string | null; /** - * Base URI for the Data Holder's Consumer Data Standard information security endpoints + * Base URI for the Data Holder's Consumer Data Standard information security endpoints. */ infosecBaseUri: string; /** - * Base URI for the Data Holder's Consumer Data Standard public endpoints + * Base URI for the Data Holder's Consumer Data Standard public endpoints. */ publicBaseUri: string; /** - * Base URI for the Data Holder's Consumer Data Standard resource endpoints + * Base URI for the Data Holder's Consumer Data Standard resource endpoints. */ resourceBaseUri: string; /** - * The major version of the high level standards. This is not the version of the endpoint or the payload being requested but the version of the overall standards being applied. This version number will be "v" followed by the major version of the standards as a positive integer (e.g. v1, v12 or v76) + * The major version of the high level standards. This is not the version of the endpoint or the payload being requested but the version of the overall standards being applied. This version number will be "`v`" followed by the major version of the standards as a positive integer (e.g., `v1`, `v12` or `v76`). */ version: string; /** - * Publicly available website or web resource URI + * Publicly available website or web resource URI. */ websiteUri: string; - [k: string]: unknown; +} +/* These are the schema definitions stipulated by the Data Standards Body for the register api. */ + +export interface RegisterDataHolderBrandV2 { + authDetails: RegisterDataHolderAuth[]; + /** + * The name of Data Holder Brand. + */ + brandName: string; + /** + * Unique id of the Data Holder Brand issued by the CDR Register. + */ + dataHolderBrandId: string; + endpointDetail: RegisterDataHolderBrandServiceEndpoint; + /** + * The industries the Data Holder Brand belongs to. + */ + industries: ("banking" | "energy" | "non-bank-lending" | "telco")[]; + /** + * The date/time that the Data Holder Brand data was last updated in the Register. + */ + lastUpdated: string; + legalEntity: LegalEntityDetail; + /** + * Brand logo URI. + */ + logoUri: string; + status: "ACTIVE" | "INACTIVE" | "REMOVED"; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ export interface RegisterDataRecipient { /** - * Accreditation level of the Data Recipient in the CDR Register + * Accreditation level of the Data Recipient in the CDR Register. */ accreditationLevel: "UNRESTRICTED" | "SPONSORED"; /** - * CDR Register issued human readable unique number given to Data Recipients upon accreditation + * CDR Register issued human readable unique number given to Data Recipients upon accreditation. */ accreditationNumber: string; - dataRecipientBrands?: - | Array<{ - /** - * Data Recipient Brand name - */ - brandName: string; - /** - * Unique id of the Data Recipient brand issued by the CDR Register - */ - dataRecipientBrandId: string; - /** - * Data Recipient Brand logo URI - */ - logoUri: string; - softwareProducts?: - | Array<{ - /** - * Software product logo URI - */ - logoUri: string; - /** - * Description of the software product - */ - softwareProductDescription?: string | null; - /** - * Unique id of the Data Recipient software product issued by the CDR Register - */ - softwareProductId: string; - /** - * Name of the software product - */ - softwareProductName: string; - /** - * Software Product status in the CDR Register - */ - status: "ACTIVE" | "INACTIVE" | "REMOVED"; - [k: string]: unknown; - }> - | null; - /** - * Data Recipient Brand status in the CDR Register - */ - status: "ACTIVE" | "INACTIVE" | "REMOVED"; - [k: string]: unknown; - }> - | null; - /** - * The date/time that the Legal Entity was last updated in the CDR Register + dataRecipientBrands?: DataRecipientBrandMetaData[] | null; + /** + * The date/time that the Legal Entity was last updated in the CDR Register. */ lastUpdated: string; /** @@ -558,563 +452,208 @@ export interface RegisterDataRecipient { */ legalEntityId: string; /** - * Legal name of the Data Recipient + * Legal name of the Data Recipient. */ legalEntityName: string; /** - * Legal Entity logo URI + * Legal Entity logo URI. */ logoUri: string; /** - * Data Recipient status in the CDR Register + * Data Recipient status in the CDR Register. */ status: "ACTIVE" | "SUSPENDED" | "REVOKED" | "SURRENDERED"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ export interface ResponseDataHoldersBrandSummaryList { /** - * Response data for the query + * Response data for the query. */ - data: Array<{ - /** - * Australian Business Number for the organisation - */ - abn?: string | null; - /** - * Australian Company Number for the organisation - */ - acn?: string | null; - /** - * Australian Registered Body Number. ARBNs are issued to registrable Australian bodies and foreign companies - */ - arbn?: string | null; - /** - * The name of Data Holder Brand - */ - brandName: string; - /** - * Unique id of the Data Holder Brand issued by the CDR Register - */ - dataHolderBrandId?: string | null; - /** - * The industries the Data Holder Brand belongs to - */ - industries: Array<"banking" | "energy" | "telco">; - /** - * Interim id of the Data Holder Brand issued by the CDR Register. This is to be used to uniquely identify the record when dataHolderBrandId is not populated and is not to be reused - */ - interimId?: string | null; - /** - * The date/time that the Data Holder Brand data was last updated in the Register - */ - lastUpdated: string; - /** - * Brand logo URI - */ - logoUri: string; - /** - * Base URI for the Data Holder's Consumer Data Standard public endpoints - */ - publicBaseUri: string; - [k: string]: unknown; - }>; - links: { - /** - * Fully qualified link to this API call - */ - self: string; - [k: string]: unknown; - }; - meta: { - [k: string]: unknown; - }; - [k: string]: unknown; + data: DataHolderBrandSummaryV2[]; + links: Links; + meta: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ export interface ResponseErrorListV2 { - errors: Array<{ - /** - * The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the meta object. Otherwise, the value is the error code URN. - */ - code: string; - /** - * A human-readable explanation specific to this occurrence of the problem. - */ - detail: string; - /** - * Additional data for customised error codes - */ - meta?: { - /** - * The CDR error code URN which the application-specific error code extends. Mandatory if the error `code` is an application-specific error rather than a standardised error code. - */ - urn?: string | null; - [k: string]: unknown; - }; - /** - * A short, human-readable summary of the problem that MUST NOT change from occurrence to occurrence of the problem represented by the error code. - */ - title: string; - [k: string]: unknown; - }>; - [k: string]: unknown; + /** + * List of errors. + */ + errors: ErrorV2[]; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ export interface ResponseErrorListV2Errors { /** - * The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the meta object. Otherwise, the value is the error code URN. + * The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the _meta_ object. Otherwise, the value is the error code URN. */ code: string; /** * A human-readable explanation specific to this occurrence of the problem. */ detail: string; - /** - * Additional data for customised error codes - */ - meta?: { - /** - * The CDR error code URN which the application-specific error code extends. Mandatory if the error `code` is an application-specific error rather than a standardised error code. - */ - urn?: string | null; - [k: string]: unknown; - }; + meta?: MetaError; /** * A short, human-readable summary of the problem that MUST NOT change from occurrence to occurrence of the problem represented by the error code. */ title: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ /** - * Response containing the JSON Web Key Set + * Response containing the JSON Web Key Set. */ export interface ResponseJWKS { /** - * The value of the "keys" parameter is an array of JWK values + * The value of the _keys_ parameter is an array of JWK values. */ - keys: Array<{ - /** - * The "alg" (algorithm) parameter identifies the algorithm intended for use with the key - */ - alg: string; - /** - * The "e" RSA public exponent parameter - */ - e: string; - /** - * The "key_ops" (key operations) parameter identifies the operation(s) for which the key is intended to be used - */ - key_ops: string[]; - /** - * The "kid" (key ID) parameter is partially used to match a specific key. Note the "kid" parameter is not guaranteed unique and additional parameters should be used to progressively to identify a key within a set - */ - kid: string; - /** - * The "kty" (key type) parameter identifies the cryptographic algorithm family used with the key - */ - kty: string; - /** - * The "n" RSA public modulus parameter - */ - n: string; - [k: string]: unknown; - }>; - [k: string]: unknown; + keys: JWK[]; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ /** - * Response containing the Open ID Provider Configuration Metadata + * Response containing the Open ID Provider Configuration Metadata. */ export interface ResponseOpenIDProviderConfigMetadata { /** - * JSON array containing a list of the Claim Names of the Claims that the CDR Register supplies values for + * JSON array containing a list of the Claim Names of the Claims that the CDR Register supplies values for. */ claims_supported: string[]; /** - * JSON array containing a list of Proof Key for Code Exchange (PKCE) **[[RFC7636]](#nref-RFC7636)** code challenge methods supported by this authorization server. Given the CDR Register does not support PKCE, this field can be safely ignored + * JSON array containing a list of Proof Key for Code Exchange (PKCE) **[[RFC7636]](#nref-RFC7636)** code challenge methods supported by this authorization server. Given the CDR Register does not support PKCE, this field can be safely ignored. */ code_challenge_methods_supported: string[]; /** - * JSON array containing a list of the OAuth 2.0 Grant Type values that the CDR Register supports + * JSON array containing a list of the OAuth 2.0 Grant Type values that the CDR Register supports. */ grant_types_supported: string[]; /** - * JSON array containing a list of the JWS signing algorithms (alg values) supported by the CDR Register for the ID Token to encode the Claims in a JWT. Given the CDR Register does not issue ID tokens, this field can be safely ignored + * JSON array containing a list of the JWS signing algorithms (alg values) supported by the CDR Register for the ID Token to encode the Claims in a JWT. Given the CDR Register does not issue ID tokens, this field can be safely ignored. */ id_token_signing_alg_values_supported: string[]; /** - * URL using the https scheme with no query or fragment component that the CDR Register asserts as its Issuer Identifier + * URL using the https scheme with no query or fragment component that the CDR Register asserts as its Issuer Identifier. */ issuer: string; /** - * URL of the CDR Register's JSON Web Key Set **[[JWK]](#nref-JWK)** document. This contains the signing key(s) used to validate access tokens issued from the CDR Register. Note that this differs from the JWKS endpoint used to validate SSAs and CDR Register client authentication + * URL of the CDR Register's JSON Web Key Set **[[JWK]](#nref-JWK)** document. This contains the signing key(s) used to validate access tokens issued from the CDR Register. Note that this differs from the JWKS endpoint used to validate SSAs and CDR Register client authentication. */ jwks_uri: string; /** - * JSON array containing a list of the OAuth 2.0 response_type values that the CDR Register supports + * JSON array containing a list of the OAuth 2.0 _response_type_ values that the CDR Register supports. */ response_types_supported: string[]; /** - * JSON array containing a list of the OAuth 2.0 **[[RFC6749]](#nref-RFC6749)** scope values that the CDR Register supports + * JSON array containing a list of the OAuth 2.0 **[[RFC6749]](#nref-RFC6749)** scope values that the CDR Register supports. */ scopes_supported: string[]; /** - * JSON array containing a list of the Subject Identifier types that the CDR Register supports. Given the CDR Register does not issue ID tokens, this field can be safely ignored + * JSON array containing a list of the Subject Identifier types that the CDR Register supports. Given the CDR Register does not issue ID tokens, this field can be safely ignored. */ subject_types_supported: string[]; /** - * Boolean value indicating server support for mutual TLS client certificate bound access tokens + * Boolean value indicating server support for mutual TLS client certificate bound access tokens. */ tls_client_certificate_bound_access_tokens: boolean; /** - * URL of the CDR Register's OAuth 2.0 Token Endpoint + * URL of the CDR Register's OAuth 2.0 Token Endpoint. */ token_endpoint: string; /** - * JSON array containing a list of Client Authentication methods supported by this Token Endpoint + * JSON array containing a list of Client Authentication methods supported by this Token Endpoint. */ token_endpoint_auth_methods_supported: string[]; /** - * JSON array containing a list of the JWS signing algorithms (alg values) supported by the token endpoint for the signature on the JWT **[[JWT]](#nref-JWT)** used to authenticate the client at the token endpoint for the \"private_key_jwt\" authentication method + * JSON array containing a list of the JWS signing algorithms (_alg_ values) supported by the token endpoint for the signature on the JWT **[[JWT]](#nref-JWT)** used to authenticate the client at the token endpoint for the `private_key_jwt` authentication method. */ token_endpoint_auth_signing_alg_values_supported: string[]; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ /** - * Response containing a list of CDR Register Data Holder Brand objects + * Response containing a list of CDR Register Data Holder Brand objects. */ export interface ResponseRegisterDataHolderBrandList { /** - * Response data for the query - */ - data: Array<{ - authDetails: Array<{ - /** - * JWKS endpoint used for authentication by the Data Holder with the Data Recipient - */ - jwksEndpoint: string; - /** - * The type of authentication and authorisation mechanism in use - */ - registerUType: "SIGNED-JWT"; - [k: string]: unknown; - }>; - /** - * The name of Data Holder Brand - */ - brandName: string; - /** - * Unique id of the Data Holder Brand issued by the CDR Register - */ - dataHolderBrandId: string; - /** - * Endpoints related to Data Holder Brand services - */ - endpointDetail: { - /** - * Base URI for the Data Holder extension endpoints to the Consumer Data Standard (optional) - */ - extensionBaseUri?: string | null; - /** - * Base URI for the Data Holder's Consumer Data Standard information security endpoints - */ - infosecBaseUri: string; - /** - * Base URI for the Data Holder's Consumer Data Standard public endpoints - */ - publicBaseUri: string; - /** - * Base URI for the Data Holder's Consumer Data Standard resource endpoints - */ - resourceBaseUri: string; - /** - * The major version of the high level standards. This is not the version of the endpoint or the payload being requested but the version of the overall standards being applied. This version number will be "v" followed by the major version of the standards as a positive integer (e.g. v1, v12 or v76) - */ - version: string; - /** - * Publicly available website or web resource URI - */ - websiteUri: string; - [k: string]: unknown; - }; - /** - * The industries the Data Holder Brand belongs to - */ - industries: Array<"banking" | "energy" | "telco">; - /** - * The date/time that the Data Holder Brand data was last updated in the Register - */ - lastUpdated: string; - /** - * The data that is common to all organisations, regardless of the type (e.g. company, trust, partnership, government) - */ - legalEntity: { - /** - * Australian Business Number for the organisation - */ - abn?: string | null; - /** - * Australian Company Number for the organisation - */ - acn?: string | null; - /** - * ANZSIC division of the organisation. **[[ANZSIC-2006]](#iref-ANZSIC-2006)** - */ - anzsicDivision?: string | null; - /** - * Australian Registered Body Number. ARBNs are issued to registrable Australian bodies and foreign companies - */ - arbn?: string | null; - /** - * Unique id of the organisation issued by the CDR Register - */ - legalEntityId: string; - /** - * Unique legal name of the organisation - */ - legalEntityName: string; - /** - * Legal Entity logo URI - */ - logoUri: string; - /** - * Legal organisation type - */ - organisationType?: - | ("SOLE_TRADER" | "COMPANY" | "PARTNERSHIP" | "TRUST" | "GOVERNMENT_ENTITY" | "OTHER") - | null; - /** - * Country of registeration (if the company is registered outside Australia) - */ - registeredCountry?: string | null; - /** - * Date of registration (if the company is registered outside Australia) - */ - registrationDate?: string | null; - /** - * Unique registration number (if the company is registered outside Australia) - */ - registrationNumber?: string | null; - status: "ACTIVE" | "REMOVED"; - [k: string]: unknown; - }; - /** - * Brand logo URI - */ - logoUri: string; - status: "ACTIVE" | "INACTIVE" | "REMOVED"; - [k: string]: unknown; - }>; - links: { - /** - * URI to the first page of this set. Mandatory if this response is not the first page - */ - first?: string | null; - /** - * URI to the last page of this set. Mandatory if this response is not the last page - */ - last?: string | null; - /** - * URI to the next page of this set. Mandatory if this response is not the last page - */ - next?: string | null; - /** - * URI to the previous page of this set. Mandatory if this response is not the first page - */ - prev?: string | null; - /** - * Fully qualified link to this API call - */ - self: string; - [k: string]: unknown; - }; - meta: { - /** - * The total number of pages in the full set - */ - totalPages: number; - /** - * The total number of records in the full set - */ - totalRecords: number; - [k: string]: unknown; - }; - [k: string]: unknown; + * Response data for the query. + */ + data: RegisterDataHolderBrand[]; + links: LinksPaginated; + meta: MetaPaginated; +} +/* These are the schema definitions stipulated by the Data Standards Body for the register api. */ + +/** + * Response containing a list of CDR Register Data Holder Brand objects. + */ +export interface ResponseRegisterDataHolderBrandListV2 { + /** + * Response data for the query. + */ + data: RegisterDataHolderBrandV2[]; + links: LinksPaginated; + meta: MetaPaginated; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ /** - * Response containing a list of Data Recipients in the CDR Register + * Response containing a list of Data Recipients in the CDR Register. */ export interface ResponseRegisterDataRecipientList { /** - * Response data for the query + * Response data for the query. */ - data: Array<{ - /** - * Accreditation level of the Data Recipient in the CDR Register - */ - accreditationLevel: "UNRESTRICTED" | "SPONSORED"; - /** - * CDR Register issued human readable unique number given to Data Recipients upon accreditation - */ - accreditationNumber: string; - dataRecipientBrands?: - | Array<{ - /** - * Data Recipient Brand name - */ - brandName: string; - /** - * Unique id of the Data Recipient brand issued by the CDR Register - */ - dataRecipientBrandId: string; - /** - * Data Recipient Brand logo URI - */ - logoUri: string; - softwareProducts?: - | Array<{ - /** - * Software product logo URI - */ - logoUri: string; - /** - * Description of the software product - */ - softwareProductDescription?: string | null; - /** - * Unique id of the Data Recipient software product issued by the CDR Register - */ - softwareProductId: string; - /** - * Name of the software product - */ - softwareProductName: string; - /** - * Software Product status in the CDR Register - */ - status: "ACTIVE" | "INACTIVE" | "REMOVED"; - [k: string]: unknown; - }> - | null; - /** - * Data Recipient Brand status in the CDR Register - */ - status: "ACTIVE" | "INACTIVE" | "REMOVED"; - [k: string]: unknown; - }> - | null; - /** - * The date/time that the Legal Entity was last updated in the CDR Register - */ - lastUpdated: string; - /** - * Unique id of the Data Recipient Legal Entity issued by the CDR Register. - */ - legalEntityId: string; - /** - * Legal name of the Data Recipient - */ - legalEntityName: string; - /** - * Legal Entity logo URI - */ - logoUri: string; - /** - * Data Recipient status in the CDR Register - */ - status: "ACTIVE" | "SUSPENDED" | "REVOKED" | "SURRENDERED"; - [k: string]: unknown; - }>; - links: { - /** - * Fully qualified link to this API call - */ - self: string; - [k: string]: unknown; - }; - meta: { - [k: string]: unknown; - }; - [k: string]: unknown; + data: RegisterDataRecipient[]; + links: Links; + meta: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ /** - * Data Recipient Brand Software Products + * Data Recipient Brand Software Products. */ export interface SoftwareProductMetaData { /** - * Software product logo URI + * Software product logo URI. */ logoUri: string; /** - * Description of the software product + * Description of the software product. */ - softwareProductDescription?: string | null; + softwareProductDescription: string; /** - * Unique id of the Data Recipient software product issued by the CDR Register + * Unique id of the Data Recipient software product issued by the CDR Register. */ softwareProductId: string; /** - * Name of the software product + * Name of the software product. */ softwareProductName: string; /** - * Software Product status in the CDR Register + * Software Product status in the CDR Register. */ status: "ACTIVE" | "INACTIVE" | "REMOVED"; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ export interface SoftwareProductsStatusList { /** - * Response data for the query + * Response data for the query. */ - data: Array<{ - /** - * Unique id of the software product issued by the CDR Register - */ - softwareProductId: string; - /** - * Software product status in the CDR Register - */ - status: "ACTIVE" | "INACTIVE" | "REMOVED"; - [k: string]: unknown; - }>; - links: { - /** - * Fully qualified link to this API call - */ - self: string; - [k: string]: unknown; - }; - meta: { - [k: string]: unknown; - }; - [k: string]: unknown; + data: SoftwareProductStatus[]; + links: Links; + meta: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the register api. */ export interface SoftwareProductStatus { /** - * Unique id of the software product issued by the CDR Register + * Unique id of the software product issued by the CDR Register. */ softwareProductId: string; /** - * Software product status in the CDR Register + * Software product status in the CDR Register. */ status: "ACTIVE" | "INACTIVE" | "REMOVED"; - [k: string]: unknown; } diff --git a/types/consumer-data-standards/telco/index.d.ts b/types/consumer-data-standards/telco/index.d.ts index 84a06c028df04a..fcb70c7e308c10 100644 --- a/types/consumer-data-standards/telco/index.d.ts +++ b/types/consumer-data-standards/telco/index.d.ts @@ -1,9014 +1,1641 @@ /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -/** - * Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). Required if addressUType is set to paf - */ -export interface CommonPAFAddress { - /** - * Building/Property name 1 - */ - buildingName1?: string | null; +export interface ErrorV2 { /** - * Building/Property name 2 + * The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the _meta_ object. Otherwise, the value is the error code URN. */ - buildingName2?: string | null; + code: string; /** - * Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier + * A human-readable explanation specific to this occurrence of the problem. */ - dpid?: string | null; + detail: string; /** - * Unit number (including suffix, if applicable) + * Additional data for customised error codes. */ - flatUnitNumber?: string | null; - /** - * Type of flat or unit for the address - */ - flatUnitType?: string | null; + meta?: { + /** + * The CDR error code URN which the application-specific error code extends. Mandatory if the error _code_ is an application-specific error rather than a standardised error code. + */ + urn?: string | null; + } | null; /** - * Floor or level number (including alpha characters) + * A short, human-readable summary of the problem that **MUST NOT** change from occurrence to occurrence of the problem represented by the error code. */ - floorLevelNumber?: string | null; + title: string; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface Links { /** - * Type of floor or level for the address + * Fully qualified link that generated the current response document. */ - floorLevelType?: string | null; + self: string; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface LinksPaginated { /** - * Full name of locality + * URI to the first page of this set. Mandatory if this response is not the first page. */ - localityName: string; + first?: string | null; /** - * Allotment number for the address + * URI to the last page of this set. Mandatory if this response is not the last page. */ - lotNumber?: string | null; + last?: string | null; /** - * Postal delivery number if the address is a postal delivery type + * URI to the next page of this set. Mandatory if this response is not the last page. */ - postalDeliveryNumber?: number | null; + next?: string | null; /** - * Postal delivery number prefix related to the postal delivery number + * URI to the previous page of this set. Mandatory if this response is not the first page. */ - postalDeliveryNumberPrefix?: string | null; + prev?: string | null; /** - * Postal delivery number suffix related to the postal delivery number + * Fully qualified link that generated the current response document. */ - postalDeliveryNumberSuffix?: string | null; + self: string; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface Meta {} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface MetaPaginated { /** - * Postal delivery type. (eg. PO BOX). Valid enumeration defined by Australia Post PAF code file + * The total number of pages in the full set. See [pagination](#pagination). */ - postalDeliveryType?: string | null; + totalPages: number; /** - * Postcode for the locality + * The total number of records in the full set. See [pagination](#pagination). */ - postcode: string; + totalRecords: number; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface RequestAccountIdListV1 { + data: { + /** + * Array of _accountId_ values to obtain data for. + */ + accountIds: string[]; + }; + meta?: Meta; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface RequestServiceIdListV1 { + data: { + /** + * Array of _serviceId_ values to obtain data for. + */ + serviceIds: string[]; + }; + meta: Meta; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface ResponseErrorListV2 { /** - * State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT + * List of errors. */ - state: string; + errors: ErrorV2[]; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoAccountBase { /** - * The name of the street + * Unique identifier for the account. */ - streetName?: string | null; + accountId?: string; /** - * The street type suffix. Valid enumeration defined by Australia Post PAF code file + * Masked identifier of the account as defined by the data holder. This must be the value presented on physical statements (required if it exists) and must not be used for the value of the _accountId_. */ - streetSuffix?: string | null; + accountNumber?: string | null; /** - * The street type. Valid enumeration defined by Australia Post PAF code file + * The retail name of the brand. */ - streetType?: string | null; + brand?: string | null; /** - * Thoroughfare number for a property (first number in a property ranged address) + * The date that the account was created or opened. Mandatory if _openStatus_ is `OPEN`. */ - thoroughfareNumber1?: number | null; + creationDate?: string | null; /** - * Suffix for the thoroughfare number. Only relevant is thoroughfareNumber1 is populated + * An optional display name for the account if one exists or can be derived. The content of this field is at the discretion of the data holder. */ - thoroughfareNumber1Suffix?: string | null; + displayName?: string | null; /** - * Second thoroughfare number (only used if the property has a ranged address eg 23-25) + * The date and time which the account was last updated. */ - thoroughfareNumber2?: number | null; + lastUpdated?: string | null; /** - * Suffix for the second thoroughfare number. Only relevant is thoroughfareNumber2 is populated + * Open or closed status for the account. If not present then `OPEN` is assumed. */ - thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; + openStatus?: ("CLOSED" | "OPEN") | null; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface CommonPhysicalAddress { - /** - * The type of address object present - */ - addressUType: "paf" | "simple"; - /** - * Australian address formatted according to the file format defined by the [PAF file format](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). Required if addressUType is set to paf - */ - paf?: { - /** - * Building/Property name 1 - */ - buildingName1?: string | null; - /** - * Building/Property name 2 - */ - buildingName2?: string | null; - /** - * Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier - */ - dpid?: string | null; - /** - * Unit number (including suffix, if applicable) - */ - flatUnitNumber?: string | null; - /** - * Type of flat or unit for the address - */ - flatUnitType?: string | null; - /** - * Floor or level number (including alpha characters) - */ - floorLevelNumber?: string | null; - /** - * Type of floor or level for the address - */ - floorLevelType?: string | null; - /** - * Full name of locality - */ - localityName: string; - /** - * Allotment number for the address - */ - lotNumber?: string | null; - /** - * Postal delivery number if the address is a postal delivery type - */ - postalDeliveryNumber?: number | null; - /** - * Postal delivery number prefix related to the postal delivery number - */ - postalDeliveryNumberPrefix?: string | null; - /** - * Postal delivery number suffix related to the postal delivery number - */ - postalDeliveryNumberSuffix?: string | null; - /** - * Postal delivery type. (eg. PO BOX). Valid enumeration defined by Australia Post PAF code file - */ - postalDeliveryType?: string | null; - /** - * Postcode for the locality - */ - postcode: string; - /** - * State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT - */ - state: string; - /** - * The name of the street - */ - streetName?: string | null; - /** - * The street type suffix. Valid enumeration defined by Australia Post PAF code file - */ - streetSuffix?: string | null; - /** - * The street type. Valid enumeration defined by Australia Post PAF code file - */ - streetType?: string | null; - /** - * Thoroughfare number for a property (first number in a property ranged address) - */ - thoroughfareNumber1?: number | null; - /** - * Suffix for the thoroughfare number. Only relevant is thoroughfareNumber1 is populated - */ - thoroughfareNumber1Suffix?: string | null; - /** - * Second thoroughfare number (only used if the property has a ranged address eg 23-25) - */ - thoroughfareNumber2?: number | null; +export interface TelcoAccountDetailResponse { + data: TelcoAccountBase & { /** - * Suffix for the second thoroughfare number. Only relevant is thoroughfareNumber2 is populated + * The array of plans containing services and associated plan details. */ - thoroughfareNumber2Suffix?: string | null; - [k: string]: unknown; + plans: (TelcoAccountPlanBase & { + /** + * Detail on the plan applicable to this account. Mandatory if _openStatus_ is `OPEN`. + */ + planDetail?: { + /** + * Charges for metering included in the plan. + */ + charges: TelcoProductDetailMeteringCharges[]; + }; + })[]; }; + links: Links; + meta: Meta; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export type TelcoAccountDetailResponseData = TelcoAccountBase & { /** - * Required if addressUType is set to simple + * The array of plans containing services and associated plan details. */ - simple?: { - /** - * First line of the standard address object - */ - addressLine1: string; - /** - * Second line of the standard address object - */ - addressLine2?: string | null; - /** - * Third line of the standard address object - */ - addressLine3?: string | null; - /** - * Name of the city or locality - */ - city: string; - /** - * A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (AUS) is assumed if country is not present. - */ - country?: string | null; - /** - * Name of the individual or business formatted for inclusion in an address used for physical mail - */ - mailingName?: string | null; + plans: (TelcoAccountPlanBase & { /** - * Mandatory for Australian addresses + * Detail on the plan applicable to this account. Mandatory if _openStatus_ is `OPEN`. */ - postcode?: string | null; + planDetail?: { + /** + * Charges for metering included in the plan. + */ + charges: TelcoProductDetailMeteringCharges[]; + }; + })[]; +}; +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +/** + * A unique identifier for a Telco account, generated according to [CDR ID Permanence](#id-permanence) requirements. + */ +export type TelcoAccountId = string; +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoAccountListResponse { + data: { /** - * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT + * Array of accounts. */ - state: string; - [k: string]: unknown; + accounts: (TelcoAccountBase & { + /** + * The array of plans containing services and associated plan details. + */ + plans: TelcoAccountPlanBase[]; + })[]; }; - [k: string]: unknown; + links: LinksPaginated; + meta: MetaPaginated; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -/** - * Required if addressUType is set to simple - */ -export interface CommonSimpleAddress { +export interface TelcoAccountPlanBase { + /** + * The billing type of the plan. + */ + billingType: "PRE_PAID" | "POST_PAID" | "UPFRONT_PAID" | "OTHER"; /** - * First line of the standard address object + * Optional display name for the plan provided by the customer to help differentiate multiple plans. */ - addressLine1: string; + nickname?: string | null; /** - * Second line of the standard address object + * Mandatory if _openStatus_ is `OPEN`. */ - addressLine2?: string | null; + planOverview?: TelcoAccountPlanOverview; /** - * Third line of the standard address object + * List of _serviceId_ values. */ - addressLine3?: string | null; + serviceIds: string[]; /** - * Name of the city or locality + * The type of the plan. The type of plan. A [`MOBILE`](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or `BROADBAND` fixed internet service. */ - city: string; + type: "MOBILE" | "BROADBAND"; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export type TelcoAccountPlanDetail = TelcoAccountPlanBase & { /** - * A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (AUS) is assumed if country is not present. + * Detail on the plan applicable to this account. Mandatory if _openStatus_ is `OPEN`. */ - country?: string | null; + planDetail?: { + /** + * Charges for metering included in the plan. + */ + charges: TelcoProductDetailMeteringCharges[]; + }; +}; +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoAccountPlanOverview { /** - * Name of the individual or business formatted for inclusion in an address used for physical mail + * The name of the plan if one exists. */ - mailingName?: string | null; + displayName?: string | null; /** - * Mandatory for Australian addresses + * The end date of the applicability of this plan. */ - postcode?: string | null; + endDate?: string | null; /** - * Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. NSW, QLD, VIC, NT, WA, SA, TAS, ACT, AAT + * The start date of the applicability of this plan. */ - state: string; - [k: string]: unknown; + startDate: string; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface Links { +export type TelcoAccountResponseData = TelcoAccountBase & { /** - * Fully qualified link that generated the current response document + * The array of plans containing services and associated plan details. */ - self: string; - [k: string]: unknown; + plans: TelcoAccountPlanBase[]; +}; +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoAccountUsage { + /** + * Unique identifier for the account. + */ + accountId: string; + /** + * List of services that are part of the account. + */ + services: { + service: TelcoServiceUsage; + }[]; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface LinksPaginated { +/** + * Object that contains links to additional information on specific topics. + */ +export interface TelcoAdditionalInformation { /** - * URI to the first page of this set. Mandatory if this response is not the first page + * A link to detail on bundles that this plan can be a part of. */ - first?: string | null; + bundleUri?: string | null; /** - * URI to the last page of this set. Mandatory if this response is not the last page + * A link to detail on eligibility criteria for the plan. */ - last?: string | null; + eligibilityUri?: string | null; /** - * URI to the next page of this set. Mandatory if this response is not the last page + * A link to a general overview of the plan. */ - next?: string | null; + overviewUri?: string | null; /** - * URI to the previous page of this set. Mandatory if this response is not the first page + * A link to detail on pricing for the plan. */ - prev?: string | null; + pricingUri?: string | null; /** - * Fully qualified link that generated the current response document + * A link to terms and conditions for the plan. */ - self: string; - [k: string]: unknown; + termsUri?: string | null; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface Meta { - [k: string]: unknown; +export interface TelcoBalanceListResponse { + data: { + /** + * Array of account balances. + */ + balances: TelcoBalanceResponseData[]; + }; + links: LinksPaginated; + meta: MetaPaginated; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -/** - * Additional data for customised error codes - */ -export interface MetaError { +export interface TelcoBalanceResponse { /** - * The CDR error code URN which the application-specific error code extends. Mandatory if the error `code` is an application-specific error rather than a standardised error code. + * Object containing account service usage summary. */ - urn?: string | null; - [k: string]: unknown; + data: { + /** + * List of services that are part of the account. + */ + services: TelcoServiceBalance[]; + }; + links: Links; + meta: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface MetaPaginated { +export interface TelcoBalanceResponseData { /** - * The total number of pages in the full set. See [pagination](#pagination). + * Unique identifier for the account. */ - totalPages: number; + accountId: string; /** - * The total number of records in the full set. See [pagination](#pagination). + * Array of account balances. */ - totalRecords: number; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface ResponseErrorListV2 { - errors: Array<{ - /** - * The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the meta object. Otherwise, the value is the error code URN. - */ - code: string; - /** - * A human-readable explanation specific to this occurrence of the problem. - */ - detail: string; + balance: { /** - * Additional data for customised error codes + * List of services that are part of the account. */ - meta?: { - /** - * The CDR error code URN which the application-specific error code extends. Mandatory if the error `code` is an application-specific error rather than a standardised error code. - */ - urn?: string | null; - [k: string]: unknown; - }; - /** - * A short, human-readable summary of the problem that MUST NOT change from occurrence to occurrence of the problem represented by the error code. - */ - title: string; - [k: string]: unknown; - }>; - [k: string]: unknown; + services?: TelcoServiceBalance[] | null; + }; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -/** - * The array of plans containing services and associated plan details - */ -export interface TelcoAccount { +export interface TelcoBillingAccountTransaction { /** - * The array of plans containing service and associated plan details + * Optional array of adjustments arising for this transaction. */ - plans: Array<{ - /** - * The billing type of then plan - */ - billingType: "PRE_PAID" | "POST_PAID" | "UPFRONT_PAID" | "OTHER"; - /** - * Optional display name for the plan provided by the customer to help differentiate multiple plans - */ - nickname?: string | null; - /** - * Mandatory if openStatus is OPEN - */ - planOverview: { - /** - * The name of the plan if one exists - */ - displayName?: string | null; - /** - * The end date of the applicability of this plan - */ - endDate?: string | null; - /** - * The start date of the applicability of this plan - */ - startDate: string; - [k: string]: unknown; - }; - /** - * The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirement - */ - serviceIds: string[]; - /** - * The type of the plan. The type of plan. A [MOBILE](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or BROADBAND fixed internet service - */ - type: "MOBILE" | "BROADBAND"; - [k: string]: unknown; - }>; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoAccountBase { + adjustments?: TelcoBillingAccountTransactionAdjustments[] | null; /** - * The ID of the account. To be created in accordance with [CDR ID permanence](#id-permanence) requirements + * The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit. */ - accountId?: string | null; + amount: string; /** - * Masked identifier of the account as defined by the data holder. This must be the value presented on physical statements (required if it exists) and must not be used for the value of the accountId + * Optional description of the transaction that can be used for display purposes. */ - accountNumber?: string | null; + description?: string | null; /** - * The retail name of the brand + * Date and time when the usage period ends. */ - brand?: string | null; + endDate: string; /** - * The date that the account was created or opened. Mandatory if openStatus is OPEN + * The number of the invoice in which this transaction is included if it has been issued. */ - creationDate?: string | null; + invoiceNumber?: string | null; /** - * An optional display name for the account if one exists or can be derived. The content of this field is at the discretion of the data holder + * Array list of service identifiers to which this transaction applies if any. E.g., a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements. */ - displayName?: string | null; + serviceIds?: string | null; /** - * The date and time which the account was last updated + * Date and time when the usage period starts. */ - lastUpdated?: string | null; + startDate: string; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoBillingAccountTransactionAdjustments { /** - * Open or closed status for the account. If not present then OPEN is assumed + * The amount of the adjustment. */ - openStatus?: ("CLOSED" | "OPEN") | null; - [k: string]: unknown; + amount: string; + /** + * A free text description of the adjustment. + */ + description: string; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -/** - * The array of plans containing services and associated plan details - */ -export interface TelcoAccountDetail { +export interface TelcoBillingOnceOffTransaction { /** - * The array of plans containing services and associated plan details + * The amount of the charge or credit. A positive value indicates a charge and a negative value indicates a credit. */ - plans: Array< - { - /** - * The billing type of then plan - */ - billingType: "PRE_PAID" | "POST_PAID" | "UPFRONT_PAID" | "OTHER"; - /** - * Optional display name for the plan provided by the customer to help differentiate multiple plans - */ - nickname?: string | null; - /** - * Mandatory if openStatus is OPEN - */ - planOverview: { - /** - * The name of the plan if one exists - */ - displayName?: string | null; - /** - * The end date of the applicability of this plan - */ - endDate?: string | null; - /** - * The start date of the applicability of this plan - */ - startDate: string; - [k: string]: unknown; - }; - /** - * The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirement - */ - serviceIds: string[]; - /** - * The type of the plan. The type of plan. A [MOBILE](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or BROADBAND fixed internet service - */ - type: "MOBILE" | "BROADBAND"; - [k: string]: unknown; - } & { - planDetail: { - /** - * Charges for metering included in the plan - */ - charges: Array<{ - /** - * Description of the charge - */ - description?: string | null; - /** - * Display name of the charge - */ - displayName: string; - /** - * The upper limit of the charge if the charge could occur in a range - */ - maximumValue?: string | null; - /** - * Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified - */ - minimumValue: string; - /** - * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - period?: string | null; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - [k: string]: unknown; - } - >; - [k: string]: unknown; + amount: string; + /** + * A free text description of the item. + */ + description: string; + /** + * The number of the invoice in which this transaction is included if it has been issued. + */ + invoiceNumber?: string | null; + /** + * Unique identifier for the service. A _serviceId_ is an [ID Permanence](#id-permanence) representation of a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g., [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) + */ + serviceId?: string; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface TelcoAccountDetailAuthorisedContacts { +export interface TelcoBillingOtherTransaction { + /** + * Optional array of adjustments arising for this transaction. + */ + adjustments?: TelcoBillingAccountTransactionAdjustments[] | null; + /** + * The amount of the charge. + */ + amount: string; + /** + * A free text description of the item. + */ + description: string; /** - * For people with single names this field need not be present. The single name should be in the lastName field + * Optional end date for the application of the charge. */ - firstName?: string | null; + endDate?: string | null; /** - * For people with single names the single name should be in this field + * The number of the invoice in which this transaction is included if it has been issued. */ - lastName: string; + invoiceNumber?: string | null; /** - * Field is mandatory but array may be empty + * Unique identifier for the service. A _serviceId_ is an [ID Permanence](#id-permanence) representation of a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g., [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) */ - middleNames?: string[] | null; + serviceId?: string; /** - * Also known as title or salutation. The prefix to the name (e.g. Mr, Mrs, Ms, Miss, Sir, etc) + * Optional start date for the application of the charge. */ - prefix?: string | null; + startDate?: string | null; /** - * Used for a trailing suffix to the name (e.g. Jr) + * Type of charge. Assumed to be `OTHER` if absent. */ - suffix?: string | null; - [k: string]: unknown; + type?: ("SERVICE" | "NETWORK" | "EQUIPMENT" | "METERING" | "OTHER") | null; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface TelcoAccountDetailResponse { - data: { - /** - * The ID of the account. To be created in accordance with [CDR ID permanence](#id-permanence) requirements - */ - accountId?: string | null; - /** - * Masked identifier of the account as defined by the data holder. This must be the value presented on physical statements (required if it exists) and must not be used for the value of the accountId - */ - accountNumber?: string | null; - /** - * The retail name of the brand - */ - brand?: string | null; - /** - * The date that the account was created or opened. Mandatory if openStatus is OPEN - */ - creationDate?: string | null; - /** - * An optional display name for the account if one exists or can be derived. The content of this field is at the discretion of the data holder - */ - displayName?: string | null; - /** - * The date and time which the account was last updated - */ - lastUpdated?: string | null; - /** - * Open or closed status for the account. If not present then OPEN is assumed - */ - openStatus?: ("CLOSED" | "OPEN") | null; - [k: string]: unknown; - } & { - /** - * The array of plans containing service and associated plan details - */ - plans: Array<{ - /** - * The billing type of then plan - */ - billingType: "PRE_PAID" | "POST_PAID" | "UPFRONT_PAID" | "OTHER"; - /** - * Optional display name for the plan provided by the customer to help differentiate multiple plans - */ - nickname?: string | null; - /** - * Mandatory if openStatus is OPEN - */ - planOverview: { - /** - * The name of the plan if one exists - */ - displayName?: string | null; - /** - * The end date of the applicability of this plan - */ - endDate?: string | null; - /** - * The start date of the applicability of this plan - */ - startDate: string; - [k: string]: unknown; - }; - /** - * The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirement - */ - serviceIds: string[]; - /** - * The type of the plan. The type of plan. A [MOBILE](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or BROADBAND fixed internet service - */ - type: "MOBILE" | "BROADBAND"; - [k: string]: unknown; - }>; - [k: string]: unknown; - } & { - /** - * The array of plans containing services and associated plan details - */ - plans: Array< - { - /** - * The billing type of then plan - */ - billingType: "PRE_PAID" | "POST_PAID" | "UPFRONT_PAID" | "OTHER"; - /** - * Optional display name for the plan provided by the customer to help differentiate multiple plans - */ - nickname?: string | null; - /** - * Mandatory if openStatus is OPEN - */ - planOverview: { - /** - * The name of the plan if one exists - */ - displayName?: string | null; - /** - * The end date of the applicability of this plan - */ - endDate?: string | null; - /** - * The start date of the applicability of this plan - */ - startDate: string; - [k: string]: unknown; - }; - /** - * The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirement - */ - serviceIds: string[]; - /** - * The type of the plan. The type of plan. A [MOBILE](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or BROADBAND fixed internet service - */ - type: "MOBILE" | "BROADBAND"; - [k: string]: unknown; - } & { - planDetail: { - /** - * Charges for metering included in the plan - */ - charges: Array<{ - /** - * Description of the charge - */ - description?: string | null; - /** - * Display name of the charge - */ - displayName: string; - /** - * The upper limit of the charge if the charge could occur in a range - */ - maximumValue?: string | null; - /** - * Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified - */ - minimumValue: string; - /** - * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - period?: string | null; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - [k: string]: unknown; - } - >; - [k: string]: unknown; - }; - links: { - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta: { - [k: string]: unknown; - }; - [k: string]: unknown; +export interface TelcoBillingPaymentTransaction { + /** + * The amount paid. + */ + amount: string; + /** + * The method of payment. + */ + method: "DIRECT_DEBIT" | "CARD" | "TRANSFER" | "BPAY" | "CASH" | "CHEQUE" | "VOUCHER" | "OTHER"; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export type TelcoAccountDetailResponseData = { +export interface TelcoBillingTransaction { + account?: TelcoBillingAccountTransaction; /** - * The ID of the account. To be created in accordance with [CDR ID permanence](#id-permanence) requirements + * Unique identifier for the account. */ - accountId?: string | null; + accountId: string; /** - * Masked identifier of the account as defined by the data holder. This must be the value presented on physical statements (required if it exists) and must not be used for the value of the accountId + * The date and time that the transaction occurred. */ - accountNumber?: string | null; + executionDateTime: string; /** - * The retail name of the brand + * The GST incurred in the transaction. Should not be included for credits or payments. If absent then zero is assumed. */ - brand?: string | null; + gst?: string | null; + onceOff?: TelcoBillingOnceOffTransaction; + otherCharges?: TelcoBillingOtherTransaction; + payment?: TelcoBillingPaymentTransaction; /** - * The date that the account was created or opened. Mandatory if openStatus is OPEN + * Indicator of the type of transaction object present in this record. */ - creationDate?: string | null; + transactionUType: "account" | "onceOff" | "otherCharges" | "payment"; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoConcession { /** - * An optional display name for the account if one exists or can be derived. The content of this field is at the discretion of the data holder + * Display text providing more information on the concession. */ - displayName?: string | null; + additionalInfo?: string | null; /** - * The date and time which the account was last updated + * Optional link to additional information regarding the concession. */ - lastUpdated?: string | null; + additionalInfoUri?: string | null; /** - * Open or closed status for the account. If not present then OPEN is assumed + * Conditional attribute for the amount of discount for the concession - required if _type_ is `FIXED_AMOUNT`. */ - openStatus?: ("CLOSED" | "OPEN") | null; - [k: string]: unknown; -} & { + amount?: string | null; /** - * The array of plans containing service and associated plan details + * Array of ENUM's to specify what the concession applies to. Multiple ENUM values can be provided. If absent, `USAGE` is assumed. */ - plans: Array<{ - /** - * The billing type of then plan - */ - billingType: "PRE_PAID" | "POST_PAID" | "UPFRONT_PAID" | "OTHER"; - /** - * Optional display name for the plan provided by the customer to help differentiate multiple plans - */ - nickname?: string | null; - /** - * Mandatory if openStatus is OPEN - */ - planOverview: { - /** - * The name of the plan if one exists - */ - displayName?: string | null; - /** - * The end date of the applicability of this plan - */ - endDate?: string | null; - /** - * The start date of the applicability of this plan - */ - startDate: string; - [k: string]: unknown; - }; - /** - * The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirement - */ - serviceIds: string[]; - /** - * The type of the plan. The type of plan. A [MOBILE](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or BROADBAND fixed internet service - */ - type: "MOBILE" | "BROADBAND"; - [k: string]: unknown; - }>; - [k: string]: unknown; -} & { + appliedTo?: ("INVOICE" | "USAGE")[] | null; /** - * The array of plans containing services and associated plan details + * Conditional attribute for frequency at which a concession is applied. Required if _type_ is `FIXED_AMOUNT` or `FIXED_PERCENTAGE`. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). */ - plans: Array< - { - /** - * The billing type of then plan - */ - billingType: "PRE_PAID" | "POST_PAID" | "UPFRONT_PAID" | "OTHER"; - /** - * Optional display name for the plan provided by the customer to help differentiate multiple plans - */ - nickname?: string | null; - /** - * Mandatory if openStatus is OPEN - */ - planOverview: { - /** - * The name of the plan if one exists - */ - displayName?: string | null; - /** - * The end date of the applicability of this plan - */ - endDate?: string | null; - /** - * The start date of the applicability of this plan - */ - startDate: string; - [k: string]: unknown; - }; - /** - * The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirement - */ - serviceIds: string[]; - /** - * The type of the plan. The type of plan. A [MOBILE](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or BROADBAND fixed internet service - */ - type: "MOBILE" | "BROADBAND"; - [k: string]: unknown; - } & { - planDetail: { - /** - * Charges for metering included in the plan - */ - charges: Array<{ - /** - * Description of the charge - */ - description?: string | null; - /** - * Display name of the charge - */ - displayName: string; - /** - * The upper limit of the charge if the charge could occur in a range - */ - maximumValue?: string | null; - /** - * Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified - */ - minimumValue: string; - /** - * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - period?: string | null; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - [k: string]: unknown; - } - >; - [k: string]: unknown; -}; + discountFrequency?: string | null; + /** + * The display name of the concession. + */ + displayName: string; + /** + * Optional end date for the application of the concession. + */ + endDate?: string | null; + /** + * Conditional attribute for the percentage of discount of concession - required if _type_ is `FIXED_PERCENTAGE`. + */ + percentage?: string | null; + /** + * Optional start date for the application of the concession. + */ + startDate: string; + /** + * The concession type. + */ + type: "CONCESSION" | "REBATE" | "GRANT"; +} /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface TelcoAccountListResponse { +export interface TelcoConcessionsResponse { data: { /** - * Array of accounts - */ - accounts: Array< - { - /** - * The ID of the account. To be created in accordance with [CDR ID permanence](#id-permanence) requirements - */ - accountId?: string | null; - /** - * Masked identifier of the account as defined by the data holder. This must be the value presented on physical statements (required if it exists) and must not be used for the value of the accountId - */ - accountNumber?: string | null; - /** - * The retail name of the brand - */ - brand?: string | null; - /** - * The date that the account was created or opened. Mandatory if openStatus is OPEN - */ - creationDate?: string | null; - /** - * An optional display name for the account if one exists or can be derived. The content of this field is at the discretion of the data holder - */ - displayName?: string | null; - /** - * The date and time which the account was last updated - */ - lastUpdated?: string | null; - /** - * Open or closed status for the account. If not present then OPEN is assumed - */ - openStatus?: ("CLOSED" | "OPEN") | null; - [k: string]: unknown; - } & { - /** - * The array of plans containing service and associated plan details - */ - plans: Array<{ - /** - * The billing type of then plan - */ - billingType: "PRE_PAID" | "POST_PAID" | "UPFRONT_PAID" | "OTHER"; - /** - * Optional display name for the plan provided by the customer to help differentiate multiple plans - */ - nickname?: string | null; - /** - * Mandatory if openStatus is OPEN - */ - planOverview: { - /** - * The name of the plan if one exists - */ - displayName?: string | null; - /** - * The end date of the applicability of this plan - */ - endDate?: string | null; - /** - * The start date of the applicability of this plan - */ - startDate: string; - [k: string]: unknown; - }; - /** - * The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirement - */ - serviceIds: string[]; - /** - * The type of the plan. The type of plan. A [MOBILE](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or BROADBAND fixed internet service - */ - type: "MOBILE" | "BROADBAND"; - [k: string]: unknown; - }>; - [k: string]: unknown; - } - >; - [k: string]: unknown; - }; - links: { - /** - * URI to the first page of this set. Mandatory if this response is not the first page - */ - first?: string | null; - /** - * URI to the last page of this set. Mandatory if this response is not the last page - */ - last?: string | null; - /** - * URI to the next page of this set. Mandatory if this response is not the last page - */ - next?: string | null; - /** - * URI to the previous page of this set. Mandatory if this response is not the first page + * Array may be empty if no concessions exist. */ - prev?: string | null; - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta: { - /** - * The total number of pages in the full set. See [pagination](#pagination). - */ - totalPages: number; - /** - * The total number of records in the full set. See [pagination](#pagination). - */ - totalRecords: number; - [k: string]: unknown; + concessions: TelcoConcession[]; }; - [k: string]: unknown; + links: LinksPaginated; + meta: MetaPaginated; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface TelcoAccountListResponseData { +/** + * Summary of the contract details. Mandatory if the billing type is `POST_PAID` and a contract agreement is required with the service provider for the plan. + */ +export interface TelcoContract { /** - * Array of accounts + * URI of the contract conditions. */ - accounts: Array< - { - /** - * The ID of the account. To be created in accordance with [CDR ID permanence](#id-permanence) requirements - */ - accountId?: string | null; - /** - * Masked identifier of the account as defined by the data holder. This must be the value presented on physical statements (required if it exists) and must not be used for the value of the accountId - */ - accountNumber?: string | null; - /** - * The retail name of the brand - */ - brand?: string | null; - /** - * The date that the account was created or opened. Mandatory if openStatus is OPEN - */ - creationDate?: string | null; - /** - * An optional display name for the account if one exists or can be derived. The content of this field is at the discretion of the data holder - */ - displayName?: string | null; - /** - * The date and time which the account was last updated - */ - lastUpdated?: string | null; - /** - * Open or closed status for the account. If not present then OPEN is assumed - */ - openStatus?: ("CLOSED" | "OPEN") | null; - [k: string]: unknown; - } & { - /** - * The array of plans containing service and associated plan details - */ - plans: Array<{ - /** - * The billing type of then plan - */ - billingType: "PRE_PAID" | "POST_PAID" | "UPFRONT_PAID" | "OTHER"; - /** - * Optional display name for the plan provided by the customer to help differentiate multiple plans - */ - nickname?: string | null; - /** - * Mandatory if openStatus is OPEN - */ - planOverview: { - /** - * The name of the plan if one exists - */ - displayName?: string | null; - /** - * The end date of the applicability of this plan - */ - endDate?: string | null; - /** - * The start date of the applicability of this plan - */ - startDate: string; - [k: string]: unknown; - }; - /** - * The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirement - */ - serviceIds: string[]; - /** - * The type of the plan. The type of plan. A [MOBILE](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or BROADBAND fixed internet service - */ - type: "MOBILE" | "BROADBAND"; - [k: string]: unknown; - }>; - [k: string]: unknown; - } - >; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoAccountPlan { + contractUri?: string | null; /** - * The billing type of then plan + * Description of the contract. */ - billingType: "PRE_PAID" | "POST_PAID" | "UPFRONT_PAID" | "OTHER"; + description?: string | null; /** - * Optional display name for the plan provided by the customer to help differentiate multiple plans + * Minimum contract duration in months. */ - nickname?: string | null; + duration: number; /** - * Mandatory if openStatus is OPEN + * Name of the contract. */ - planOverview: { - /** - * The name of the plan if one exists - */ - displayName?: string | null; - /** - * The end date of the applicability of this plan - */ - endDate?: string | null; - /** - * The start date of the applicability of this plan - */ - startDate: string; - [k: string]: unknown; - }; + name: string; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoInvoice { + accountCharges?: TelcoInvoiceAccountCharges; /** - * The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirement + * Unique identifier for the account. */ - serviceIds: string[]; + accountId: string; + accountUsage?: TelcoUsage; /** - * The type of the plan. The type of plan. A [MOBILE](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or BROADBAND fixed internet service + * The account balance at the time the invoice was issued. */ - type: "MOBILE" | "BROADBAND"; - [k: string]: unknown; + balanceAtIssue: string; + /** + * The date that the invoice is due to be paid. + */ + dueDate?: string | null; + /** + * The total GST amount for this invoice. If absent then zero is assumed. + */ + gstAmount?: string | null; + /** + * The net amount due for this invoice regardless of previous balance. + */ + invoiceAmount?: string | null; + /** + * The number assigned to this invoice by the telco Retailer. + */ + invoiceNumber: string; + /** + * The date that the invoice was actually issued (as opposed to generated or calculated). + */ + issueDate: string; + payOnTimeDiscount?: TelcoInvoicePayOnTimeDiscount; + /** + * Indicator of the payment status for the invoice. + */ + paymentStatus: "PAID" | "PARTIALLY_PAID" | "NOT_PAID"; + period?: TelcoInvoicePeriod; + /** + * An array of _serviceId_ values to which this invoice applies. May be empty if the invoice contains no usage related charges. + */ + services: string[]; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +/** + * Object contain charges and credits related to usage. + */ +export interface TelcoInvoiceAccountCharges { + otherCharges?: TelcoInvoiceAccountChargesOtherCharges; + /** + * The aggregate total of account level discounts or credits for the period covered by the invoice. + */ + totalDiscounts: string; + /** + * The total GST for all account level charges. If absent then zero is assumed. + */ + totalGst?: string | null; + /** + * The aggregate total of any once off charges arising from usage for the period covered by the invoice (exclusive of GST). + */ + totalOnceOffCharges: string; + /** + * The aggregate total of usage charges for the period covered by the invoice (exclusive of GST). + */ + totalUsageCharges: string; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * Detail on the plan applicable to this account. Mandatory if openStatus is OPEN + * Optional array of charges that may be part of the invoice (for example services fees) (exclusive of GST). */ -export interface TelcoAccountPlanDetail { - planDetail: { +export interface TelcoInvoiceAccountChargesOtherCharges { + /** + * The aggregate total of charges for this item (exclusive of GST). + */ + amount: string; + /** + * A free text description of the charge. + */ + description: string; + /** + * Type of charge. + */ + type?: + | ( + | "SERVICE" + | "EQUIPMENT" + | "NETWORK" + | "HANDSET" + | "DEVICE" + | "ENTERTAINMENT" + | "SUBSCRIPTION" + | "SOFTWARE" + | "OTHER" + ) + | null; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoInvoiceListResponse { + data: { /** - * Charges for metering included in the plan + * Array of invoices sorted by issue date in descending order. */ - charges: Array<{ - /** - * Description of the charge - */ - description?: string | null; - /** - * Display name of the charge - */ - displayName: string; - /** - * The upper limit of the charge if the charge could occur in a range - */ - maximumValue?: string | null; - /** - * Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified - */ - minimumValue: string; - /** - * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - period?: string | null; - [k: string]: unknown; - }>; - [k: string]: unknown; + invoices: TelcoInvoice[]; }; - [k: string]: unknown; + links: LinksPaginated; + meta: MetaPaginated; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * Mandatory if openStatus is OPEN + * A discount for on time payment. */ -export interface TelcoAccountPlanOverview { +export interface TelcoInvoicePayOnTimeDiscount { /** - * The name of the plan if one exists + * The date by which the invoice must be paid to receive the pay on time discount. */ - displayName?: string | null; + date: string; /** - * The end date of the applicability of this plan + * The amount that will be discounted if the invoice is paid by the date specified. */ - endDate?: string | null; + discountAmount: string; + /** + * The GST amount that will be discounted if the invoice is paid by the date specified. If absent then zero is assumed. + */ + gstAmount?: string | null; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +/** + * Object containing the start and end date for the period covered by the invoice. Mandatory if any usage based charges are included in the invoice. + */ +export interface TelcoInvoicePeriod { + /** + * The end date of the period covered by this invoice. + */ + endDate: string; /** - * The start date of the applicability of this plan + * The start date of the period covered by this invoice. */ startDate: string; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export type TelcoAccountResponseData = { +export interface TelcoInvoiceResponse { + data: { + /** + * Array of invoices sorted by issue date in descending order. + */ + invoices: TelcoInvoice[]; + }; + links: Links; + meta: Meta; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoPaymentSchedule { /** - * The ID of the account. To be created in accordance with [CDR ID permanence](#id-permanence) requirements + * Optional payment amount indicating that a constant payment amount is scheduled to be paid (used in bill smoothing scenarios). */ - accountId?: string | null; + amount?: string | null; + cardDebit?: TelcoPaymentScheduleCardDebit; + digitalWallet?: TelcoPaymentScheduleDigitalWallet; + directDebit?: TelcoPaymentScheduleDirectDebit; + manualPayment?: TelcoPaymentScheduleManualPayment; /** - * Masked identifier of the account as defined by the data holder. This must be the value presented on physical statements (required if it exists) and must not be used for the value of the accountId + * The type of object present in this response. */ - accountNumber?: string | null; + paymentScheduleUType: "cardDebit" | "directDebit" | "manualPayment" | "digitalWallet"; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +/** + * Represents a regular credit card payment schedule. Mandatory if _paymentScheduleUType_ is set to `cardDebit`. + */ +export interface TelcoPaymentScheduleCardDebit { /** - * The retail name of the brand + * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
*/ - brand?: string | null; + calculationType: "STATIC" | "BALANCE" | "CALCULATED"; /** - * The date that the account was created or opened. Mandatory if openStatus is OPEN + * The type of credit card held on file. */ - creationDate?: string | null; + cardScheme: "VISA" | "MASTERCARD" | "AMEX" | "DINERS" | "OTHER" | "UNKNOWN"; /** - * An optional display name for the account if one exists or can be derived. The content of this field is at the discretion of the data holder + * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). */ - displayName?: string | null; + paymentFrequency: string; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +/** + * Represents a regular payment from a digital wallet. Mandatory if _paymentScheduleUType_ is set to `digitalWallet`. + */ +export interface TelcoPaymentScheduleDigitalWallet { /** - * The date and time which the account was last updated + * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
*/ - lastUpdated?: string | null; + calculationType: "STATIC" | "BALANCE" | "CALCULATED"; /** - * Open or closed status for the account. If not present then OPEN is assumed + * The identifier of the digital wallet (dependent on type). */ - openStatus?: ("CLOSED" | "OPEN") | null; - [k: string]: unknown; -} & { + identifier: string; /** - * The array of plans containing service and associated plan details + * The display name of the wallet as given by the customer, else a default value defined by the data holder. */ - plans: Array<{ - /** - * The billing type of then plan - */ - billingType: "PRE_PAID" | "POST_PAID" | "UPFRONT_PAID" | "OTHER"; - /** - * Optional display name for the plan provided by the customer to help differentiate multiple plans - */ - nickname?: string | null; - /** - * Mandatory if openStatus is OPEN - */ - planOverview: { - /** - * The name of the plan if one exists - */ - displayName?: string | null; - /** - * The end date of the applicability of this plan - */ - endDate?: string | null; - /** - * The start date of the applicability of this plan - */ - startDate: string; - [k: string]: unknown; - }; - /** - * The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirement - */ - serviceIds: string[]; - /** - * The type of the plan. The type of plan. A [MOBILE](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or BROADBAND fixed internet service - */ - type: "MOBILE" | "BROADBAND"; - [k: string]: unknown; - }>; - [k: string]: unknown; -}; -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoAccountUsage { + name: string; /** - * Tokenised ID of the account. In accordance with [CDR ID permanence](#id-permanence) requirements + * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). */ - accountId: string; + paymentFrequency: string; /** - * List of services that are part of the account + * The provider of the digital wallet. */ - services: Array<{ - service: { - /** - * Optional description of the service used for display purposes - */ - displayName?: string | null; - /** - * Date when the usage period ends - */ - endDate?: string | null; - /** - * Required if the service includes a phone number - */ - phoneNumber?: string | null; - /** - * Tokenised ID of the service identifier. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). To be created in accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId: string; - /** - * Date when the usage period started - */ - startDate: string; - /** - * Object containing usage summary - */ - usage?: { - /** - * Summary of data usage - */ - data?: { - /** - * Cost amount of data usage - */ - amount: string; - /** - * Amount of data downloaded in megabytes (MB) - */ - download: number; - /** - * Required if roaming is suipported - */ - roaming?: { - /** - * Amount value of data roaming charges - */ - amount?: string | null; - /** - * Amount of data used while roaming in megabytes (MB) - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Number of data sessions - */ - sessions?: number | null; - /** - * Amount of data uploaded in megabytes (MB) - */ - upload: number; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS usage - */ - mms: { - /** - * Cost amount of MMS messages - */ - amount: string; - /** - * ber of international MMS messages sent - */ - international?: number | null; - /** - * Number of national MMS messages sent - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Summary of SMS usage - */ - sms: { - /** - * Cost amount of SMS messages. Including premium SMS services - */ - amount: string; - /** - * Number of international SMS messages sent. Including premium SMS services - */ - international?: number | null; - /** - * Number of national SMS messages sent. Including premium SMS services - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice calls. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls. Requied if international calling is supported - */ - international: { - /** - * Cost amount of international voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of international voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of international voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national: { - /** - * Cost amount of national calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of national voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * Roaming voice calls, Required if roaming is supported - */ - roaming: { - /** - * Cost amount of roaming voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of roaming voice calls - */ - number: number; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }>; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoAccountUsageServices { - service: { - /** - * Optional description of the service used for display purposes - */ - displayName?: string | null; - /** - * Date when the usage period ends - */ - endDate?: string | null; - /** - * Required if the service includes a phone number - */ - phoneNumber?: string | null; - /** - * Tokenised ID of the service identifier. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). To be created in accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId: string; - /** - * Date when the usage period started - */ - startDate: string; - /** - * Object containing usage summary - */ - usage?: { - /** - * Summary of data usage - */ - data?: { - /** - * Cost amount of data usage - */ - amount: string; - /** - * Amount of data downloaded in megabytes (MB) - */ - download: number; - /** - * Required if roaming is suipported - */ - roaming?: { - /** - * Amount value of data roaming charges - */ - amount?: string | null; - /** - * Amount of data used while roaming in megabytes (MB) - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Number of data sessions - */ - sessions?: number | null; - /** - * Amount of data uploaded in megabytes (MB) - */ - upload: number; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS usage - */ - mms: { - /** - * Cost amount of MMS messages - */ - amount: string; - /** - * ber of international MMS messages sent - */ - international?: number | null; - /** - * Number of national MMS messages sent - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Summary of SMS usage - */ - sms: { - /** - * Cost amount of SMS messages. Including premium SMS services - */ - amount: string; - /** - * Number of international SMS messages sent. Including premium SMS services - */ - international?: number | null; - /** - * Number of national SMS messages sent. Including premium SMS services - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice calls. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls. Requied if international calling is supported - */ - international: { - /** - * Cost amount of international voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of international voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of international voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national: { - /** - * Cost amount of national calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of national voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * Roaming voice calls, Required if roaming is supported - */ - roaming: { - /** - * Cost amount of roaming voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of roaming voice calls - */ - number: number; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; + provider: "PAYPAL_AU" | "OTHER"; + /** + * The type of the digital wallet identifier. + */ + type: "EMAIL" | "CONTACT_NAME" | "TELEPHONE"; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * Object that contains links to additional information on specific topics + * Represents a regular direct debit from a specified bank account. Mandatory if _paymentScheduleUType_ is set to `directDebit`. */ -export interface TelcoAdditionalInformation { +export interface TelcoPaymentScheduleDirectDebit { /** - * A link to detail on bundles that this plan can be a part of + * The unmasked account number for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. Is required if _isTokenised_ is absent or `false`. */ - bundleUri?: string | null; + accountNumber?: string | null; /** - * A link to detail on eligibility criteria for the plan + * The unmasked BSB for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. Is required if _isTokenised_ is absent or `false`. */ - eligibilityUri?: string | null; + bsb?: string | null; /** - * A link to a general overview of the plan + * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
*/ - overviewUri?: string | null; + calculationType: "STATIC" | "BALANCE" | "CALCULATED"; /** - * A link to detail on pricing for the plan + * Flag indicating that the account details are tokenised and cannot be shared. `false` if absent. */ - pricingUri?: string | null; + isTokenised?: boolean | null; /** - * A link to terms and conditions for the plan + * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). */ - termsUri?: string | null; - [k: string]: unknown; + paymentFrequency: string; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * Object containing account service usage summary + * Represents a manual payment schedule where the customer pays in response to a delivered statement. Mandatory if _paymentScheduleUType_ is set to `manualPayment`. */ -export interface TelcoBalance { +export interface TelcoPaymentScheduleManualPayment { /** - * Summary of balances + * The frequency with which a bill will be issued. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). */ - services: Array<{ - /** - * A summary of Service balances - */ - balance?: { - /** - * Summary of data balances - */ - data?: { - /** - * Remaining value amount of data available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Remaining download data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED - */ - download?: number | null; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Balance of data roaming charges. Required unless planType is UNSUPPORTED - */ - roaming?: { - /** - * Amount value of data roaming charges. Required unless planType is UNSUPPORTED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Amount of data used overseas in megabytes (MB). Required unless planType is UNSUPPORTED - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Remaining upload data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED - */ - upload?: number | null; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS Balance. Required if the service plan supports MMS messaging - */ - mms: { - /** - * Amount value of MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType?: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Summary of SMS Balance. Required if the service plan supports SMS messaging - */ - sms: { - /** - * Amount value of SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice balances. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls - */ - international?: { - /** - * Amount value of international calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of international voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of international voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national?: { - /** - * Amount balance of national calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of national voice calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Roaming voice calls - */ - roaming?: { - /** - * Amount value of roaming calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of roaming voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Optional description of the service used for display purposes - */ - displayName?: string | null; - /** - * Date when the balance period ends - */ - endDate?: string | null; - /** - * Required if the service includes a phone number - */ - phoneNumber?: string | null; - /** - * The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId?: string | null; - /** - * Date when the balance period started - */ - startDate?: string | null; - [k: string]: unknown; - }>; - [k: string]: unknown; + billFrequency: string; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface TelcoBalanceListResponse { +export interface TelcoPaymentScheduleResponse { data: { /** - * Array of account balances - */ - balances: Array<{ - /** - * The ID of the account. In accordance with [CDR ID permanence](#id-permanence) requirements - */ - accountId?: string | null; - /** - * Object containing account service usage summary - */ - balance?: { - /** - * Summary of balances - */ - services: Array<{ - /** - * A summary of Service balances - */ - balance?: { - /** - * Summary of data balances - */ - data?: { - /** - * Remaining value amount of data available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Remaining download data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED - */ - download?: number | null; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Balance of data roaming charges. Required unless planType is UNSUPPORTED - */ - roaming?: { - /** - * Amount value of data roaming charges. Required unless planType is UNSUPPORTED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Amount of data used overseas in megabytes (MB). Required unless planType is UNSUPPORTED - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Remaining upload data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED - */ - upload?: number | null; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS Balance. Required if the service plan supports MMS messaging - */ - mms: { - /** - * Amount value of MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType?: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Summary of SMS Balance. Required if the service plan supports SMS messaging - */ - sms: { - /** - * Amount value of SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice balances. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls - */ - international?: { - /** - * Amount value of international calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of international voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of international voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national?: { - /** - * Amount balance of national calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of national voice calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Roaming voice calls - */ - roaming?: { - /** - * Amount value of roaming calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of roaming voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Optional description of the service used for display purposes - */ - displayName?: string | null; - /** - * Date when the balance period ends - */ - endDate?: string | null; - /** - * Required if the service includes a phone number - */ - phoneNumber?: string | null; - /** - * The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId?: string | null; - /** - * Date when the balance period started - */ - startDate?: string | null; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { - /** - * URI to the first page of this set. Mandatory if this response is not the first page - */ - first?: string | null; - /** - * URI to the last page of this set. Mandatory if this response is not the last page - */ - last?: string | null; - /** - * URI to the next page of this set. Mandatory if this response is not the last page - */ - next?: string | null; - /** - * URI to the previous page of this set. Mandatory if this response is not the first page - */ - prev?: string | null; - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta: { - /** - * The total number of pages in the full set. See [pagination](#pagination). + * Array may be empty if no payment schedules exist. */ - totalPages: number; - /** - * The total number of records in the full set. See [pagination](#pagination). - */ - totalRecords: number; - [k: string]: unknown; + paymentSchedules: TelcoPaymentSchedule[]; }; - [k: string]: unknown; + links: LinksPaginated; + meta: MetaPaginated; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface TelcoBalanceListResponseData { - /** - * Array of account balances - */ - balances: Array<{ - /** - * The ID of the account. In accordance with [CDR ID permanence](#id-permanence) requirements - */ - accountId?: string | null; - /** - * Object containing account service usage summary - */ - balance?: { - /** - * Summary of balances - */ - services: Array<{ - /** - * A summary of Service balances - */ - balance?: { - /** - * Summary of data balances - */ - data?: { - /** - * Remaining value amount of data available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Remaining download data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED - */ - download?: number | null; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Balance of data roaming charges. Required unless planType is UNSUPPORTED - */ - roaming?: { - /** - * Amount value of data roaming charges. Required unless planType is UNSUPPORTED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Amount of data used overseas in megabytes (MB). Required unless planType is UNSUPPORTED - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Remaining upload data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED - */ - upload?: number | null; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS Balance. Required if the service plan supports MMS messaging - */ - mms: { - /** - * Amount value of MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType?: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Summary of SMS Balance. Required if the service plan supports SMS messaging - */ - sms: { - /** - * Amount value of SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice balances. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls - */ - international?: { - /** - * Amount value of international calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of international voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of international voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national?: { - /** - * Amount balance of national calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of national voice calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Roaming voice calls - */ - roaming?: { - /** - * Amount value of roaming calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of roaming voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Optional description of the service used for display purposes - */ - displayName?: string | null; - /** - * Date when the balance period ends - */ - endDate?: string | null; - /** - * Required if the service includes a phone number - */ - phoneNumber?: string | null; - /** - * The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId?: string | null; - /** - * Date when the balance period started - */ - startDate?: string | null; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - [k: string]: unknown; - }>; - [k: string]: unknown; -} +/** + * Plan type for this feature. + */ +export type TelcoPlanType = "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface TelcoBalanceResponse { +export interface TelcoProduct { + additionalInformation?: TelcoAdditionalInformation; /** - * Object containing account service usage summary + * A link to an application web page where this plan can be applied for. */ - data: { - /** - * Summary of balances - */ - services: Array<{ - /** - * A summary of Service balances - */ - balance?: { - /** - * Summary of data balances - */ - data?: { - /** - * Remaining value amount of data available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Remaining download data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED - */ - download?: number | null; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Balance of data roaming charges. Required unless planType is UNSUPPORTED - */ - roaming?: { - /** - * Amount value of data roaming charges. Required unless planType is UNSUPPORTED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Amount of data used overseas in megabytes (MB). Required unless planType is UNSUPPORTED - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Remaining upload data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED - */ - upload?: number | null; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS Balance. Required if the service plan supports MMS messaging - */ - mms: { - /** - * Amount value of MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType?: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Summary of SMS Balance. Required if the service plan supports SMS messaging - */ - sms: { - /** - * Amount value of SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice balances. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls - */ - international?: { - /** - * Amount value of international calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of international voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of international voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national?: { - /** - * Amount balance of national calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of national voice calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Roaming voice calls - */ - roaming?: { - /** - * Amount value of roaming calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of roaming voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Optional description of the service used for display purposes - */ - displayName?: string | null; - /** - * Date when the balance period ends - */ - endDate?: string | null; - /** - * Required if the service includes a phone number - */ - phoneNumber?: string | null; - /** - * The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId?: string | null; - /** - * Date when the balance period started - */ - startDate?: string | null; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta: { - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoBalanceResponseData { + applicationUri?: string | null; /** - * The ID of the account. In accordance with [CDR ID permanence](#id-permanence) requirements + * The type of product. */ - accountId?: string | null; + billingType: "PRE_PAID" | "POST_PAID" | "UPFRONT_PAID" | "OTHER"; /** - * Object containing account service usage summary + * The ID of the brand under which this product is offered. */ - balance?: { - /** - * Summary of balances - */ - services: Array<{ - /** - * A summary of Service balances - */ - balance?: { - /** - * Summary of data balances - */ - data?: { - /** - * Remaining value amount of data available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Remaining download data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED - */ - download?: number | null; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Balance of data roaming charges. Required unless planType is UNSUPPORTED - */ - roaming?: { - /** - * Amount value of data roaming charges. Required unless planType is UNSUPPORTED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Amount of data used overseas in megabytes (MB). Required unless planType is UNSUPPORTED - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Remaining upload data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED - */ - upload?: number | null; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS Balance. Required if the service plan supports MMS messaging - */ - mms: { - /** - * Amount value of MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType?: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Summary of SMS Balance. Required if the service plan supports SMS messaging - */ - sms: { - /** - * Amount value of SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice balances. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls - */ - international?: { - /** - * Amount value of international calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of international voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of international voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national?: { - /** - * Amount balance of national calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of national voice calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Roaming voice calls - */ - roaming?: { - /** - * Amount value of roaming calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of roaming voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Optional description of the service used for display purposes - */ - displayName?: string | null; - /** - * Date when the balance period ends - */ - endDate?: string | null; - /** - * Required if the service includes a phone number - */ - phoneNumber?: string | null; - /** - * The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId?: string | null; - /** - * Date when the balance period started - */ - startDate?: string | null; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoBillingAccountTransaction { + brand: string; /** - * Optional array of adjustments arising for this transaction + * The display name of the brand under which this product is offered. */ - adjustments?: - | Array<{ - /** - * The amount of the adjustment - */ - amount: string; - /** - * A free text description of the adjustment - */ - description: string; - [k: string]: unknown; - }> - | null; + brandName: string; /** - * The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit + * Required if part of a bundle. If not present `false` is assumed. */ - amount: string; + bundle?: boolean | null; + contract?: TelcoContract; /** - * Optional description of the transaction that can be used for display purposes + * A description of the product. */ description?: string | null; /** - * Date and time when the usage period ends + * The display name of the product. */ - endDate: string; + displayName?: string | null; /** - * The number of the invoice in which this transaction is included if it has been issued + * The date and time from which this product is effective (i.e. is available for origination). Used to enable the articulation of products to the regime before they are available for customers to originate. */ - invoiceNumber?: string | null; + effectiveFrom?: string | null; /** - * Array list of services identifiers to which this transaction applies if any. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements + * The date and time at which this product will be retired and will no longer be offered. Used to enable the managed deprecation of plans. */ - serviceIds?: string | null; + effectiveTo?: string | null; /** - * Date and time when the usage period starts + * The last date and time that the information for this plan was changed (or the creation date for the plan if it has never been altered). */ - startDate: string; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoBillingAccountTransactionAdjustments { + lastUpdated?: string | null; /** - * The amount of the adjustment + * List of pricing details for the product plan. */ - amount: string; + pricing: TelcoProductPricing[]; /** - * A free text description of the adjustment + * A data holder-specific unique identifier for a Telco product. This identifier must be unique to a product but does not otherwise need to adhere to ID permanence guidelines. */ - description: string; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoBillingOnceOffTransaction { + productId: string; /** - * The amount of the charge or credit. A positive value indicates a charge and a negative value indicates a credit + * The purpose type of the product. If absent, then the value `PERSONAL` is assumed. */ - amount: string; + purpose?: ("PERSONAL" | "BUSINESS" | "ALL") | null; /** - * A free text description of the item + * The ID of the Third-Party through which this product may be originated. */ - description: string; + thirdPartyAgentId?: string | null; /** - * The number of the invoice in which this transaction is included if it has been issued + * The display name of the Third-Party through which this product may be originated. */ - invoiceNumber?: string | null; + thirdPartyAgentName?: string | null; /** - * The ID of the service identifier to which this transaction applies if any. E.g a [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements + * The type of product. [`MOBILE`](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or `BROADBAND` fixed internet service. */ - serviceId?: string | null; - [k: string]: unknown; + type: "MOBILE" | "BROADBAND"; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface TelcoBillingOtherTransaction { +export type TelcoProductDetail = TelcoProduct & { /** - * Optional array of adjustments arising for this transaction + * Charges for metering included in the plan. */ - adjustments?: - | Array<{ - /** - * The amount of the adjustment - */ - amount: string; - /** - * A free text description of the adjustment - */ - description: string; - [k: string]: unknown; - }> - | null; + meteringCharges?: TelcoProductDetailMeteringCharges[]; /** - * The amount of the charge + * Bundles the product can be part of. */ - amount: string; + bundles?: TelcoProductDetailBundles[]; /** - * A free text description of the item + * Plans associated to the product. */ - description: string; + plans?: TelcoProductDetailPlan[]; /** - * Optional end date for the application of the charge + * Discounts associated to the product. */ - endDate?: string | null; + discounts?: TelcoProductDetailDiscounts[]; /** - * The number of the invoice in which this transaction is included if it has been issued + * Incentives associated to the product. */ - invoiceNumber?: string | null; + incentives?: TelcoProductDetailIncentives[]; +}; +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoProductDetailBundles { /** - * The service identifier to which this transaction applies if any. E.g a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements + * The URI of the product bundle. */ - serviceId?: string | null; + bundleUri?: string | null; /** - * Optional start date for the application of the charge + * The description of the product bundle. */ - startDate?: string | null; + description?: string | null; /** - * Type of charge. Assumed to be OTHER if absent + * The display name of the product bundle. */ - type?: ("SERVICE" | "NETWORK" | "EQUIPMENT" | "METERING" | "OTHER") | null; - [k: string]: unknown; + displayName: string; + /** + * Optional list of features of the bundle. + */ + features?: TelcoProductDetailFeature[] | null; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface TelcoBillingPaymentTransaction { +export interface TelcoProductDetailDiscountFeature { /** - * The amount paid + * The description of the discount feature. */ - amount: string; + description?: string | null; /** - * The method of payment + * The display name of the discount feature. */ - method: "DIRECT_DEBIT" | "CARD" | "TRANSFER" | "BPAY" | "CASH" | "CHEQUE" | "VOUCHER" | "OTHER"; - [k: string]: unknown; + displayName: string; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface TelcoBillingTransaction { - account?: { - /** - * Optional array of adjustments arising for this transaction - */ - adjustments?: - | Array<{ - /** - * The amount of the adjustment - */ - amount: string; - /** - * A free text description of the adjustment - */ - description: string; - [k: string]: unknown; - }> - | null; - /** - * The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit - */ - amount: string; - /** - * Optional description of the transaction that can be used for display purposes - */ - description?: string | null; - /** - * Date and time when the usage period ends - */ - endDate: string; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * Array list of services identifiers to which this transaction applies if any. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceIds?: string | null; - /** - * Date and time when the usage period starts - */ - startDate: string; - [k: string]: unknown; - }; +export interface TelcoProductDetailDiscounts { /** - * The ID of the account for which the transaction occurred. accountId must comply in accordance with [CDR ID permanence](#id-permanence) + * The description name of the product plan. */ - accountId: string; + description?: string | null; /** - * The date and time that the transaction occurred + * The URI of the discount. */ - executionDateTime: string; + discountUri?: string | null; /** - * The GST incurred in the transaction. Should not be included for credits or payments. If absent zero is assumed + * The display name of the product plan. */ - gst?: string | null; - onceOff?: { - /** - * The amount of the charge or credit. A positive value indicates a charge and a negative value indicates a credit - */ - amount: string; - /** - * A free text description of the item - */ - description: string; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * The ID of the service identifier to which this transaction applies if any. E.g a [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId?: string | null; - [k: string]: unknown; - }; - otherCharges?: { - /** - * Optional array of adjustments arising for this transaction - */ - adjustments?: - | Array<{ - /** - * The amount of the adjustment - */ - amount: string; - /** - * A free text description of the adjustment - */ - description: string; - [k: string]: unknown; - }> - | null; - /** - * The amount of the charge - */ - amount: string; - /** - * A free text description of the item - */ - description: string; - /** - * Optional end date for the application of the charge - */ - endDate?: string | null; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * The service identifier to which this transaction applies if any. E.g a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId?: string | null; - /** - * Optional start date for the application of the charge - */ - startDate?: string | null; - /** - * Type of charge. Assumed to be OTHER if absent - */ - type?: ("SERVICE" | "NETWORK" | "EQUIPMENT" | "METERING" | "OTHER") | null; - [k: string]: unknown; - }; - payment?: { - /** - * The amount paid - */ - amount: string; - /** - * The method of payment - */ - method: "DIRECT_DEBIT" | "CARD" | "TRANSFER" | "BPAY" | "CASH" | "CHEQUE" | "VOUCHER" | "OTHER"; - [k: string]: unknown; - }; + displayName: string; /** - * Indicator of the type of transaction object present in this record + * Optional list of features of the discount. */ - transactionUType: "account" | "onceOff" | "otherCharges" | "payment"; - [k: string]: unknown; + features?: TelcoProductDetailDiscountFeature[] | null; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface TelcoConcession { +export interface TelcoProductDetailFeature { /** - * Display text providing more information on the concession + * The type of the feature. */ - additionalInfo?: string | null; + category?: + | ( + | "DATA" + | "VOICE" + | "MESSAGING" + | "HANDSET" + | "DEVICE" + | "NETWORK" + | "ENTERTAINMENT" + | "SUBSCRIPTION" + | "SOFTWARE" + | "OTHER" + ) + | null; /** - * Optional link to additional information regarding the concession + * The description of the feature. */ - additionalInfoUri?: string | null; + description?: string | null; /** - * Conditional attribute for the amount of discount for the concession- required if type is FIXED_AMOUNT + * The display name of the feature. */ - amount?: string | null; + displayName: string; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoProductDetailIncentiveFeature { /** - * Array of ENUM's to specify what the concession applies to. Multiple ENUM values can be provided. If absent, USAGE is assumed + * The description of the incentive feature. */ - appliedTo?: Array<"INVOICE" | "USAGE"> | null; + description?: string | null; /** - * Conditional attribute for frequency at which a concession is applied. Required if type is FIXED_AMOUNT or FIXED_PERCENTAGE. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) + * The display name of the incentive feature. */ - discountFrequency?: string | null; + displayName: string; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoProductDetailIncentives { + /** + * The description of the incentive. + */ + description?: string | null; /** - * The display name of the concession + * The display name of the incentive. */ displayName: string; /** - * Optional end date for the application of the concession + * Optional list of features of the incentive. */ - endDate?: string | null; + features?: TelcoProductDetailIncentiveFeature[] | null; /** - * Conditional attribute for the percentage of discount of concession - required if type is FIXED_PERCENTAGE + * The URI of the incentive. */ - percentage?: string | null; + incentiveUri?: string | null; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoProductDetailMeteringCharges { /** - * Optional start date for the application of the concession + * Description of the charge. */ - startDate: string; + description?: string | null; /** - * The concession type + * Display name of the charge. */ - type: "CONCESSION" | "REBATE" | "GRANT"; - [k: string]: unknown; + displayName: string; + /** + * The upper limit of the charge if the charge could occur in a range. + */ + maximumValue?: string | null; + /** + * Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified. + */ + minimumValue: string; + /** + * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). + */ + period?: string | null; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface TelcoConcessionsResponse { +export interface TelcoProductDetailPlan { + /** + * The display name of the product plan. + */ + description?: string | null; + /** + * The display name of the product plan. + */ + displayName: string; + /** + * Optional list of features of the plan. + */ + features?: TelcoProductDetailPlanFeature[] | null; + /** + * The URI of the product plan. + */ + planUri?: string | null; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoProductDetailPlanFeature { + /** + * The description of the feature. + */ + description?: string | null; + /** + * The display name of the feature. + */ + displayName: string; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +/** + * A data holder-specific unique identifier for a Telco product. This identifier must be unique to a product but does not otherwise need to adhere to ID permanence guidelines. + */ +export type TelcoProductId = string; +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoProductListResponse { data: { /** - * Array may be empty if no concessions exist + * Array of Products. */ - concessions: Array<{ - /** - * Display text providing more information on the concession - */ - additionalInfo?: string | null; - /** - * Optional link to additional information regarding the concession - */ - additionalInfoUri?: string | null; - /** - * Conditional attribute for the amount of discount for the concession- required if type is FIXED_AMOUNT - */ - amount?: string | null; - /** - * Array of ENUM's to specify what the concession applies to. Multiple ENUM values can be provided. If absent, USAGE is assumed - */ - appliedTo?: Array<"INVOICE" | "USAGE"> | null; - /** - * Conditional attribute for frequency at which a concession is applied. Required if type is FIXED_AMOUNT or FIXED_PERCENTAGE. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - discountFrequency?: string | null; - /** - * The display name of the concession - */ - displayName: string; - /** - * Optional end date for the application of the concession - */ - endDate?: string | null; - /** - * Conditional attribute for the percentage of discount of concession - required if type is FIXED_PERCENTAGE - */ - percentage?: string | null; - /** - * Optional start date for the application of the concession - */ - startDate: string; - /** - * The concession type - */ - type: "CONCESSION" | "REBATE" | "GRANT"; - [k: string]: unknown; - }>; - [k: string]: unknown; + plans: TelcoProduct[]; }; - links: { - /** - * URI to the first page of this set. Mandatory if this response is not the first page - */ - first?: string | null; - /** - * URI to the last page of this set. Mandatory if this response is not the last page - */ - last?: string | null; + links: LinksPaginated; + meta: MetaPaginated; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoProductPricing { + /** + * The amount charged for the duration period. + */ + amount: string; + /** + * The description of the pricing. + */ + description: string; + /** + * The display name of the pricing. + */ + name: string; + /** + * The duration that occurs on a pricing schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax). + */ + period?: string | null; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoProductResponse { + data: TelcoProduct & { /** - * URI to the next page of this set. Mandatory if this response is not the last page + * Charges for metering included in the plan. */ - next?: string | null; + meteringCharges?: TelcoProductDetailMeteringCharges[]; /** - * URI to the previous page of this set. Mandatory if this response is not the first page + * Bundles the product can be part of. */ - prev?: string | null; + bundles?: TelcoProductDetailBundles[]; /** - * Fully qualified link that generated the current response document + * Plans associated to the product. */ - self: string; - [k: string]: unknown; - }; - meta: { + plans?: TelcoProductDetailPlan[]; /** - * The total number of pages in the full set. See [pagination](#pagination). + * Discounts associated to the product. */ - totalPages: number; + discounts?: TelcoProductDetailDiscounts[]; /** - * The total number of records in the full set. See [pagination](#pagination). + * Incentives associated to the product. */ - totalRecords: number; - [k: string]: unknown; + incentives?: TelcoProductDetailIncentives[]; }; - [k: string]: unknown; + links: Links; + meta?: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface TelcoConcessionsResponseData { +export interface TelcoServiceBalance { + balance: TelcoServiceBalances; /** - * Array may be empty if no concessions exist + * Optional description of the service used for display purposes. */ - concessions: Array<{ - /** - * Display text providing more information on the concession - */ - additionalInfo?: string | null; - /** - * Optional link to additional information regarding the concession - */ - additionalInfoUri?: string | null; - /** - * Conditional attribute for the amount of discount for the concession- required if type is FIXED_AMOUNT - */ - amount?: string | null; - /** - * Array of ENUM's to specify what the concession applies to. Multiple ENUM values can be provided. If absent, USAGE is assumed - */ - appliedTo?: Array<"INVOICE" | "USAGE"> | null; - /** - * Conditional attribute for frequency at which a concession is applied. Required if type is FIXED_AMOUNT or FIXED_PERCENTAGE. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - discountFrequency?: string | null; - /** - * The display name of the concession - */ - displayName: string; - /** - * Optional end date for the application of the concession - */ - endDate?: string | null; - /** - * Conditional attribute for the percentage of discount of concession - required if type is FIXED_PERCENTAGE - */ - percentage?: string | null; - /** - * Optional start date for the application of the concession - */ - startDate: string; - /** - * The concession type - */ - type: "CONCESSION" | "REBATE" | "GRANT"; - [k: string]: unknown; - }>; - [k: string]: unknown; + displayName?: string | null; + /** + * Date when the balance period ends. + */ + endDate?: string | null; + /** + * Required if the service includes a phone number. + */ + phoneNumber?: string | null; + /** + * Unique identifier for the service. A _serviceId_ is an [ID Permanence](#id-permanence) representation of a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g., [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) + */ + serviceId: string; + /** + * Date when the balance period started. + */ + startDate: string; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * Summary of the contract details. Mandatory if the billing type is POST_PAID and a contract agreement is required with the service provider for the plan + * Summary of data balances. */ -export interface TelcoContract { +export interface TelcoServiceBalanceData { /** - * URI of the contract conditions + * Remaining value amount of data available. Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. */ - contractUri?: string | null; + amount?: string | null; /** - * Description of the contract + * An overview of plan limits. Required unless _planType_ is `UNSUPPORTED`. */ description?: string | null; /** - * Minimum contract duration in months + * Remaining download data in megabytes (MB). Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. */ - duration: number; + download?: number | null; /** - * Name of the contract + * Plan type for this feature. */ - name: string; - [k: string]: unknown; + planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; + roaming?: TelcoServiceBalanceDataRoaming; + /** + * Remaining upload data in megabytes (MB). Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. + */ + upload?: number | null; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface TelcoInvoice { +/** + * Balance of data roaming charges. Required unless _planType_ is `UNSUPPORTED`. + */ +export interface TelcoServiceBalanceDataRoaming { /** - * Object contain charges and credits related to usage + * Amount value of data roaming charges. Required unless _planType_ is `UNSUPPORTED`. */ - accountCharges?: { - /** - * Optional array of charges that may be part of the invoice (for example services fees) (exclusive of GST) - */ - otherCharges?: { - /** - * The aggregate total of charges for this item (exclusive of GST) - */ - amount: string; - /** - * A free text description of the charge - */ - description: string; - /** - * A free text description of the charge - */ - type?: - | ( - | "SERVICE" - | "EQUIPMENT" - | "NETWORK" - | "HANDSET" - | "DEVICE" - | "ENTERTAINMENT" - | "SUBSCRIPTION" - | "SOFTWARE" - | "OTHER" - ) - | null; - [k: string]: unknown; - }; - /** - * The aggregate total of account level discounts or credits for the period covered by the invoice - */ - totalDiscounts: string; - /** - * The total GST for all account level charges. If absent then zero is assumed - */ - totalGst?: string | null; - /** - * The aggregate total of any once off charges arising from usage for the period covered by the invoice (exclusive of GST) - */ - totalOnceOffCharges: string; - /** - * The aggregate total of usage charges for the period covered by the invoice (exclusive of GST) - */ - totalUsageCharges: string; - [k: string]: unknown; - }; + amount?: string | null; /** - * The ID of the account for which the invoice was issued. accountId must comply in accordance with [CDR ID permanence](#id-permanence) + * An overview of plan limits. Required unless _planType_ is `UNSUPPORTED`. */ - accountId: string; + description?: string | null; /** - * Object containing usage summary + * Amount of data used overseas in megabytes (MB). Required unless _planType_ is `UNSUPPORTED`. */ - accountUsage?: { - /** - * Summary of data usage - */ - data?: { - /** - * Cost amount of data usage - */ - amount: string; - /** - * Amount of data downloaded in megabytes (MB) - */ - download: number; - /** - * Required if roaming is suipported - */ - roaming?: { - /** - * Amount value of data roaming charges - */ - amount?: string | null; - /** - * Amount of data used while roaming in megabytes (MB) - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Number of data sessions - */ - sessions?: number | null; - /** - * Amount of data uploaded in megabytes (MB) - */ - upload: number; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS usage - */ - mms: { - /** - * Cost amount of MMS messages - */ - amount: string; - /** - * ber of international MMS messages sent - */ - international?: number | null; - /** - * Number of national MMS messages sent - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Summary of SMS usage - */ - sms: { - /** - * Cost amount of SMS messages. Including premium SMS services - */ - amount: string; - /** - * Number of international SMS messages sent. Including premium SMS services - */ - international?: number | null; - /** - * Number of national SMS messages sent. Including premium SMS services - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice calls. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls. Requied if international calling is supported - */ - international: { - /** - * Cost amount of international voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of international voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of international voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national: { - /** - * Cost amount of national calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of national voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * Roaming voice calls, Required if roaming is supported - */ - roaming: { - /** - * Cost amount of roaming voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of roaming voice calls - */ - number: number; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * The account balance at the time the invoice was issued - */ - balanceAtIssue: string; - /** - * The date that the invoice is due to be paid - */ - dueDate?: string | null; - /** - * The total GST amount for this invoice. If absent then zero is assumed - */ - gstAmount?: string | null; - /** - * The net amount due for this invoice regardless of previous balance - */ - invoiceAmount?: string | null; + download?: number | null; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +/** + * Summary of messaging. Required if messaging services are included in the product plan. + */ +export interface TelcoServiceBalanceMessaging { + mms?: TelcoServiceBalanceMessagingMms; /** - * The number assigned to this invoice by the telco Retailer + * Plan type for this feature. */ - invoiceNumber: string; + planType?: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; + sms?: TelcoServiceBalanceMessagingSms; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +/** + * Summary of MMS Balance. Required if the service plan supports MMS messaging. + */ +export interface TelcoServiceBalanceMessagingMms { /** - * The date that the invoice was actually issued (as opposed to generated or calculated) + * Amount value of MMS messages remaining. Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. */ - issueDate: string; + amount?: string | null; /** - * A discount for on time payment + * An overview of plan limits. Required unless _planType_ is `UNSUPPORTED`. */ - payOnTimeDiscount?: { - /** - * The date by which the invoice must be paid to receive the pay on time discount - */ - date: string; - /** - * The amount that will be discounted if the invoice is paid by the date specified - */ - discountAmount: string; - /** - * The GST amount that will be discounted if the invoice is paid by the date specified. If absent then zero is assumed - */ - gstAmount?: string | null; - [k: string]: unknown; - }; + description?: string | null; /** - * Indicator of the payment status for the invoice + * Number of international MMS messages remaining. Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. */ - paymentStatus: "PAID" | "PARTIALLY_PAID" | "NOT_PAID"; + international?: number | null; /** - * Object containing the start and end date for the period covered by the invoice. Mandatory if any usage based charges are included in the invoice + * Number of national MMS messages remaining. Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. */ - period?: { - /** - * The end date of the period covered by this invoice - */ - endDate: string; - /** - * The start date of the period covered by this invoice - */ - startDate: string; - [k: string]: unknown; - }; + national?: number | null; /** - * An array of service IDs to which this invoice applies. May be empty if the invoice contains no usage related charges + * Number of roaming MMS messages remaining. Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. */ - services: string[]; - [k: string]: unknown; + roaming?: number | null; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * Object contain charges and credits related to usage + * Summary of SMS Balance. Required if the service plan supports SMS messaging. */ -export interface TelcoInvoiceAccountCharges { +export interface TelcoServiceBalanceMessagingSms { /** - * Optional array of charges that may be part of the invoice (for example services fees) (exclusive of GST) + * Amount value of SMS messages remaining. Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. */ - otherCharges?: { - /** - * The aggregate total of charges for this item (exclusive of GST) - */ - amount: string; - /** - * A free text description of the charge - */ - description: string; - /** - * A free text description of the charge - */ - type?: - | ( - | "SERVICE" - | "EQUIPMENT" - | "NETWORK" - | "HANDSET" - | "DEVICE" - | "ENTERTAINMENT" - | "SUBSCRIPTION" - | "SOFTWARE" - | "OTHER" - ) - | null; - [k: string]: unknown; - }; + amount?: string | null; /** - * The aggregate total of account level discounts or credits for the period covered by the invoice + * An overview of plan limits. Required unless _planType_ is `UNSUPPORTED`. */ - totalDiscounts: string; + description?: string | null; /** - * The total GST for all account level charges. If absent then zero is assumed + * Number of international SMS messages remaining. Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. */ - totalGst?: string | null; + international?: number | null; /** - * The aggregate total of any once off charges arising from usage for the period covered by the invoice (exclusive of GST) + * Number of national SMS messages remaining. Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. */ - totalOnceOffCharges: string; + national?: number | null; /** - * The aggregate total of usage charges for the period covered by the invoice (exclusive of GST) + * Number of roaming SMS messages remaining. Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. */ - totalUsageCharges: string; - [k: string]: unknown; + roaming?: number | null; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * Optional array of charges that may be part of the invoice (for example services fees) (exclusive of GST) + * A summary of Service balances. */ -export interface TelcoInvoiceAccountChargesOtherCharges { - /** - * The aggregate total of charges for this item (exclusive of GST) - */ - amount: string; - /** - * A free text description of the charge - */ - description: string; - /** - * A free text description of the charge - */ - type?: - | ( - | "SERVICE" - | "EQUIPMENT" - | "NETWORK" - | "HANDSET" - | "DEVICE" - | "ENTERTAINMENT" - | "SUBSCRIPTION" - | "SOFTWARE" - | "OTHER" - ) - | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoInvoiceListResponse { - data: { - /** - * Array of invoices sorted by issue date in descending order - */ - invoices: Array<{ - /** - * Object contain charges and credits related to usage - */ - accountCharges?: { - /** - * Optional array of charges that may be part of the invoice (for example services fees) (exclusive of GST) - */ - otherCharges?: { - /** - * The aggregate total of charges for this item (exclusive of GST) - */ - amount: string; - /** - * A free text description of the charge - */ - description: string; - /** - * A free text description of the charge - */ - type?: - | ( - | "SERVICE" - | "EQUIPMENT" - | "NETWORK" - | "HANDSET" - | "DEVICE" - | "ENTERTAINMENT" - | "SUBSCRIPTION" - | "SOFTWARE" - | "OTHER" - ) - | null; - [k: string]: unknown; - }; - /** - * The aggregate total of account level discounts or credits for the period covered by the invoice - */ - totalDiscounts: string; - /** - * The total GST for all account level charges. If absent then zero is assumed - */ - totalGst?: string | null; - /** - * The aggregate total of any once off charges arising from usage for the period covered by the invoice (exclusive of GST) - */ - totalOnceOffCharges: string; - /** - * The aggregate total of usage charges for the period covered by the invoice (exclusive of GST) - */ - totalUsageCharges: string; - [k: string]: unknown; - }; - /** - * The ID of the account for which the invoice was issued. accountId must comply in accordance with [CDR ID permanence](#id-permanence) - */ - accountId: string; - /** - * Object containing usage summary - */ - accountUsage?: { - /** - * Summary of data usage - */ - data?: { - /** - * Cost amount of data usage - */ - amount: string; - /** - * Amount of data downloaded in megabytes (MB) - */ - download: number; - /** - * Required if roaming is suipported - */ - roaming?: { - /** - * Amount value of data roaming charges - */ - amount?: string | null; - /** - * Amount of data used while roaming in megabytes (MB) - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Number of data sessions - */ - sessions?: number | null; - /** - * Amount of data uploaded in megabytes (MB) - */ - upload: number; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS usage - */ - mms: { - /** - * Cost amount of MMS messages - */ - amount: string; - /** - * ber of international MMS messages sent - */ - international?: number | null; - /** - * Number of national MMS messages sent - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Summary of SMS usage - */ - sms: { - /** - * Cost amount of SMS messages. Including premium SMS services - */ - amount: string; - /** - * Number of international SMS messages sent. Including premium SMS services - */ - international?: number | null; - /** - * Number of national SMS messages sent. Including premium SMS services - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice calls. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls. Requied if international calling is supported - */ - international: { - /** - * Cost amount of international voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of international voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of international voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national: { - /** - * Cost amount of national calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of national voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * Roaming voice calls, Required if roaming is supported - */ - roaming: { - /** - * Cost amount of roaming voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of roaming voice calls - */ - number: number; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * The account balance at the time the invoice was issued - */ - balanceAtIssue: string; - /** - * The date that the invoice is due to be paid - */ - dueDate?: string | null; - /** - * The total GST amount for this invoice. If absent then zero is assumed - */ - gstAmount?: string | null; - /** - * The net amount due for this invoice regardless of previous balance - */ - invoiceAmount?: string | null; - /** - * The number assigned to this invoice by the telco Retailer - */ - invoiceNumber: string; - /** - * The date that the invoice was actually issued (as opposed to generated or calculated) - */ - issueDate: string; - /** - * A discount for on time payment - */ - payOnTimeDiscount?: { - /** - * The date by which the invoice must be paid to receive the pay on time discount - */ - date: string; - /** - * The amount that will be discounted if the invoice is paid by the date specified - */ - discountAmount: string; - /** - * The GST amount that will be discounted if the invoice is paid by the date specified. If absent then zero is assumed - */ - gstAmount?: string | null; - [k: string]: unknown; - }; - /** - * Indicator of the payment status for the invoice - */ - paymentStatus: "PAID" | "PARTIALLY_PAID" | "NOT_PAID"; - /** - * Object containing the start and end date for the period covered by the invoice. Mandatory if any usage based charges are included in the invoice - */ - period?: { - /** - * The end date of the period covered by this invoice - */ - endDate: string; - /** - * The start date of the period covered by this invoice - */ - startDate: string; - [k: string]: unknown; - }; - /** - * An array of service IDs to which this invoice applies. May be empty if the invoice contains no usage related charges - */ - services: string[]; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { - /** - * URI to the first page of this set. Mandatory if this response is not the first page - */ - first?: string | null; - /** - * URI to the last page of this set. Mandatory if this response is not the last page - */ - last?: string | null; - /** - * URI to the next page of this set. Mandatory if this response is not the last page - */ - next?: string | null; - /** - * URI to the previous page of this set. Mandatory if this response is not the first page - */ - prev?: string | null; - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta: { - /** - * The total number of pages in the full set. See [pagination](#pagination). - */ - totalPages: number; - /** - * The total number of records in the full set. See [pagination](#pagination). - */ - totalRecords: number; - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoInvoiceListResponseData { - /** - * Array of invoices sorted by issue date in descending order - */ - invoices: Array<{ - /** - * Object contain charges and credits related to usage - */ - accountCharges?: { - /** - * Optional array of charges that may be part of the invoice (for example services fees) (exclusive of GST) - */ - otherCharges?: { - /** - * The aggregate total of charges for this item (exclusive of GST) - */ - amount: string; - /** - * A free text description of the charge - */ - description: string; - /** - * A free text description of the charge - */ - type?: - | ( - | "SERVICE" - | "EQUIPMENT" - | "NETWORK" - | "HANDSET" - | "DEVICE" - | "ENTERTAINMENT" - | "SUBSCRIPTION" - | "SOFTWARE" - | "OTHER" - ) - | null; - [k: string]: unknown; - }; - /** - * The aggregate total of account level discounts or credits for the period covered by the invoice - */ - totalDiscounts: string; - /** - * The total GST for all account level charges. If absent then zero is assumed - */ - totalGst?: string | null; - /** - * The aggregate total of any once off charges arising from usage for the period covered by the invoice (exclusive of GST) - */ - totalOnceOffCharges: string; - /** - * The aggregate total of usage charges for the period covered by the invoice (exclusive of GST) - */ - totalUsageCharges: string; - [k: string]: unknown; - }; - /** - * The ID of the account for which the invoice was issued. accountId must comply in accordance with [CDR ID permanence](#id-permanence) - */ - accountId: string; - /** - * Object containing usage summary - */ - accountUsage?: { - /** - * Summary of data usage - */ - data?: { - /** - * Cost amount of data usage - */ - amount: string; - /** - * Amount of data downloaded in megabytes (MB) - */ - download: number; - /** - * Required if roaming is suipported - */ - roaming?: { - /** - * Amount value of data roaming charges - */ - amount?: string | null; - /** - * Amount of data used while roaming in megabytes (MB) - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Number of data sessions - */ - sessions?: number | null; - /** - * Amount of data uploaded in megabytes (MB) - */ - upload: number; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS usage - */ - mms: { - /** - * Cost amount of MMS messages - */ - amount: string; - /** - * ber of international MMS messages sent - */ - international?: number | null; - /** - * Number of national MMS messages sent - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Summary of SMS usage - */ - sms: { - /** - * Cost amount of SMS messages. Including premium SMS services - */ - amount: string; - /** - * Number of international SMS messages sent. Including premium SMS services - */ - international?: number | null; - /** - * Number of national SMS messages sent. Including premium SMS services - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice calls. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls. Requied if international calling is supported - */ - international: { - /** - * Cost amount of international voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of international voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of international voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national: { - /** - * Cost amount of national calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of national voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * Roaming voice calls, Required if roaming is supported - */ - roaming: { - /** - * Cost amount of roaming voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of roaming voice calls - */ - number: number; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * The account balance at the time the invoice was issued - */ - balanceAtIssue: string; - /** - * The date that the invoice is due to be paid - */ - dueDate?: string | null; - /** - * The total GST amount for this invoice. If absent then zero is assumed - */ - gstAmount?: string | null; - /** - * The net amount due for this invoice regardless of previous balance - */ - invoiceAmount?: string | null; - /** - * The number assigned to this invoice by the telco Retailer - */ - invoiceNumber: string; - /** - * The date that the invoice was actually issued (as opposed to generated or calculated) - */ - issueDate: string; - /** - * A discount for on time payment - */ - payOnTimeDiscount?: { - /** - * The date by which the invoice must be paid to receive the pay on time discount - */ - date: string; - /** - * The amount that will be discounted if the invoice is paid by the date specified - */ - discountAmount: string; - /** - * The GST amount that will be discounted if the invoice is paid by the date specified. If absent then zero is assumed - */ - gstAmount?: string | null; - [k: string]: unknown; - }; - /** - * Indicator of the payment status for the invoice - */ - paymentStatus: "PAID" | "PARTIALLY_PAID" | "NOT_PAID"; - /** - * Object containing the start and end date for the period covered by the invoice. Mandatory if any usage based charges are included in the invoice - */ - period?: { - /** - * The end date of the period covered by this invoice - */ - endDate: string; - /** - * The start date of the period covered by this invoice - */ - startDate: string; - [k: string]: unknown; - }; - /** - * An array of service IDs to which this invoice applies. May be empty if the invoice contains no usage related charges - */ - services: string[]; - [k: string]: unknown; - }>; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -/** - * A discount for on time payment - */ -export interface TelcoInvoicePayOnTimeDiscount { - /** - * The date by which the invoice must be paid to receive the pay on time discount - */ - date: string; - /** - * The amount that will be discounted if the invoice is paid by the date specified - */ - discountAmount: string; - /** - * The GST amount that will be discounted if the invoice is paid by the date specified. If absent then zero is assumed - */ - gstAmount?: string | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -/** - * Object containing the start and end date for the period covered by the invoice. Mandatory if any usage based charges are included in the invoice - */ -export interface TelcoInvoicePeriod { - /** - * The end date of the period covered by this invoice - */ - endDate: string; - /** - * The start date of the period covered by this invoice - */ - startDate: string; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoInvoiceResponse { - data: { - /** - * Array of invoices sorted by issue date in descending order - */ - invoices: Array<{ - /** - * Object contain charges and credits related to usage - */ - accountCharges?: { - /** - * Optional array of charges that may be part of the invoice (for example services fees) (exclusive of GST) - */ - otherCharges?: { - /** - * The aggregate total of charges for this item (exclusive of GST) - */ - amount: string; - /** - * A free text description of the charge - */ - description: string; - /** - * A free text description of the charge - */ - type?: - | ( - | "SERVICE" - | "EQUIPMENT" - | "NETWORK" - | "HANDSET" - | "DEVICE" - | "ENTERTAINMENT" - | "SUBSCRIPTION" - | "SOFTWARE" - | "OTHER" - ) - | null; - [k: string]: unknown; - }; - /** - * The aggregate total of account level discounts or credits for the period covered by the invoice - */ - totalDiscounts: string; - /** - * The total GST for all account level charges. If absent then zero is assumed - */ - totalGst?: string | null; - /** - * The aggregate total of any once off charges arising from usage for the period covered by the invoice (exclusive of GST) - */ - totalOnceOffCharges: string; - /** - * The aggregate total of usage charges for the period covered by the invoice (exclusive of GST) - */ - totalUsageCharges: string; - [k: string]: unknown; - }; - /** - * The ID of the account for which the invoice was issued. accountId must comply in accordance with [CDR ID permanence](#id-permanence) - */ - accountId: string; - /** - * Object containing usage summary - */ - accountUsage?: { - /** - * Summary of data usage - */ - data?: { - /** - * Cost amount of data usage - */ - amount: string; - /** - * Amount of data downloaded in megabytes (MB) - */ - download: number; - /** - * Required if roaming is suipported - */ - roaming?: { - /** - * Amount value of data roaming charges - */ - amount?: string | null; - /** - * Amount of data used while roaming in megabytes (MB) - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Number of data sessions - */ - sessions?: number | null; - /** - * Amount of data uploaded in megabytes (MB) - */ - upload: number; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS usage - */ - mms: { - /** - * Cost amount of MMS messages - */ - amount: string; - /** - * ber of international MMS messages sent - */ - international?: number | null; - /** - * Number of national MMS messages sent - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Summary of SMS usage - */ - sms: { - /** - * Cost amount of SMS messages. Including premium SMS services - */ - amount: string; - /** - * Number of international SMS messages sent. Including premium SMS services - */ - international?: number | null; - /** - * Number of national SMS messages sent. Including premium SMS services - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice calls. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls. Requied if international calling is supported - */ - international: { - /** - * Cost amount of international voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of international voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of international voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national: { - /** - * Cost amount of national calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of national voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * Roaming voice calls, Required if roaming is supported - */ - roaming: { - /** - * Cost amount of roaming voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of roaming voice calls - */ - number: number; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * The account balance at the time the invoice was issued - */ - balanceAtIssue: string; - /** - * The date that the invoice is due to be paid - */ - dueDate?: string | null; - /** - * The total GST amount for this invoice. If absent then zero is assumed - */ - gstAmount?: string | null; - /** - * The net amount due for this invoice regardless of previous balance - */ - invoiceAmount?: string | null; - /** - * The number assigned to this invoice by the telco Retailer - */ - invoiceNumber: string; - /** - * The date that the invoice was actually issued (as opposed to generated or calculated) - */ - issueDate: string; - /** - * A discount for on time payment - */ - payOnTimeDiscount?: { - /** - * The date by which the invoice must be paid to receive the pay on time discount - */ - date: string; - /** - * The amount that will be discounted if the invoice is paid by the date specified - */ - discountAmount: string; - /** - * The GST amount that will be discounted if the invoice is paid by the date specified. If absent then zero is assumed - */ - gstAmount?: string | null; - [k: string]: unknown; - }; - /** - * Indicator of the payment status for the invoice - */ - paymentStatus: "PAID" | "PARTIALLY_PAID" | "NOT_PAID"; - /** - * Object containing the start and end date for the period covered by the invoice. Mandatory if any usage based charges are included in the invoice - */ - period?: { - /** - * The end date of the period covered by this invoice - */ - endDate: string; - /** - * The start date of the period covered by this invoice - */ - startDate: string; - [k: string]: unknown; - }; - /** - * An array of service IDs to which this invoice applies. May be empty if the invoice contains no usage related charges - */ - services: string[]; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta: { - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoPaymentSchedule { - /** - * Optional payment amount indicating that a constant payment amount is scheduled to be paid (used in bill smooting scenarios) - */ - amount?: string | null; - /** - * Represents a regular credit card payment schedule. Mandatory if paymentScheduleUType is set to cardDebit - */ - cardDebit?: { - /** - * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
- */ - calculationType: "STATIC" | "BALANCE" | "CALCULATED"; - /** - * The type of credit card held on file - */ - cardScheme: "VISA" | "MASTERCARD" | "AMEX" | "DINERS" | "OTHER" | "UNKNOWN"; - /** - * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - paymentFrequency: string; - [k: string]: unknown; - }; - /** - * Represents a regular payment from a digital wallet. Mandatory if paymentScheduleUType is set to digitalWallet - */ - digitalWallet?: { - /** - * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
- */ - calculationType: "STATIC" | "BALANCE" | "CALCULATED"; - /** - * The identifier of the digital wallet (dependent on type) - */ - identifier: string; - /** - * The name assigned to the digital wallet by the owner of the wallet, else the display name provided by the digital wallet provider - */ - name: string; - /** - * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - paymentFrequency: string; - /** - * The provider of the digital wallet - */ - provider: "PAYPAL_AU" | "OTHER"; - /** - * The type of the digital wallet identifier - */ - type: "EMAIL" | "CONTACT_NAME" | "TELEPHONE"; - [k: string]: unknown; - }; - /** - * Represents a regular direct debit from a specified bank account. Mandatory if paymentScheduleUType is set to directDebit - */ - directDebit?: { - /** - * The unmasked account number for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. Is required if isTokenised is absent or false - */ - accountNumber?: string | null; - /** - * The unmasked BSB for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. Is required if isTokenised is absent or false - */ - bsb?: string | null; - /** - * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
- */ - calculationType: "STATIC" | "BALANCE" | "CALCULATED"; - /** - * Flag indicating that the account details are tokenised and cannot be shared. False if absent - */ - isTokenised?: boolean | null; - /** - * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - paymentFrequency: string; - [k: string]: unknown; - }; - /** - * Represents a manual payment schedule where the customer pays in response to a delivered statement. Mandatory if paymentScheduleUType is set to manualPayment - */ - manualPayment?: { - /** - * The frequency with which a bill will be issued. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - billFrequency: string; - [k: string]: unknown; - }; - /** - * The type of object present in this response - */ - paymentScheduleUType: "cardDebit" | "directDebit" | "manualPayment" | "digitalWallet"; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -/** - * Represents a regular credit card payment schedule. Mandatory if paymentScheduleUType is set to cardDebit - */ -export interface TelcoPaymentScheduleCardDebit { - /** - * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
- */ - calculationType: "STATIC" | "BALANCE" | "CALCULATED"; - /** - * The type of credit card held on file - */ - cardScheme: "VISA" | "MASTERCARD" | "AMEX" | "DINERS" | "OTHER" | "UNKNOWN"; - /** - * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - paymentFrequency: string; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -/** - * Represents a regular payment from a digital wallet. Mandatory if paymentScheduleUType is set to digitalWallet - */ -export interface TelcoPaymentScheduleDigitalWallet { - /** - * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
- */ - calculationType: "STATIC" | "BALANCE" | "CALCULATED"; - /** - * The identifier of the digital wallet (dependent on type) - */ - identifier: string; - /** - * The display name of the wallet as given by the customer, else a default value defined by the data holder - */ - name: string; - /** - * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - paymentFrequency: string; - /** - * The provider of the digital wallet - */ - provider: "PAYPAL_AU" | "OTHER"; - /** - * The type of the digital wallet identifier - */ - type: "EMAIL" | "CONTACT_NAME" | "TELEPHONE"; - [k: string]: unknown; +export interface TelcoServiceBalances { + data?: TelcoServiceBalanceData; + messaging?: TelcoServiceBalanceMessaging; + voice?: TelcoServiceBalanceVoice; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * Represents a regular direct debit from a specified bank account. Mandatory if paymentScheduleUType is set to directDebit - */ -export interface TelcoPaymentScheduleDirectDebit { - /** - * The unmasked account number for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. Is required if isTokenised is absent or false - */ - accountNumber?: string | null; - /** - * The unmasked BSB for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. Is required if isTokenised is absent or false - */ - bsb?: string | null; - /** - * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
- */ - calculationType: "STATIC" | "BALANCE" | "CALCULATED"; - /** - * Flag indicating that the account details are tokenised and cannot be shared. False if absent - */ - isTokenised?: boolean | null; - /** - * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - paymentFrequency: string; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -/** - * Represents a manual payment schedule where the customer pays in response to a delivered statement. Mandatory if paymentScheduleUType is set to manualPayment - */ -export interface TelcoPaymentScheduleManualPayment { - /** - * The frequency with which a bill will be issued. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - billFrequency: string; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoPaymentScheduleResponse { - data: { - /** - * Array may be empty if no payment schedule exist - */ - paymentSchedules: Array<{ - /** - * Optional payment amount indicating that a constant payment amount is scheduled to be paid (used in bill smooting scenarios) - */ - amount?: string | null; - /** - * Represents a regular credit card payment schedule. Mandatory if paymentScheduleUType is set to cardDebit - */ - cardDebit?: { - /** - * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
- */ - calculationType: "STATIC" | "BALANCE" | "CALCULATED"; - /** - * The type of credit card held on file - */ - cardScheme: "VISA" | "MASTERCARD" | "AMEX" | "DINERS" | "OTHER" | "UNKNOWN"; - /** - * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - paymentFrequency: string; - [k: string]: unknown; - }; - /** - * Represents a regular payment from a digital wallet. Mandatory if paymentScheduleUType is set to digitalWallet - */ - digitalWallet?: { - /** - * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
- */ - calculationType: "STATIC" | "BALANCE" | "CALCULATED"; - /** - * The identifier of the digital wallet (dependent on type) - */ - identifier: string; - /** - * The name assigned to the digital wallet by the owner of the wallet, else the display name provided by the digital wallet provider - */ - name: string; - /** - * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - paymentFrequency: string; - /** - * The provider of the digital wallet - */ - provider: "PAYPAL_AU" | "OTHER"; - /** - * The type of the digital wallet identifier - */ - type: "EMAIL" | "CONTACT_NAME" | "TELEPHONE"; - [k: string]: unknown; - }; - /** - * Represents a regular direct debit from a specified bank account. Mandatory if paymentScheduleUType is set to directDebit - */ - directDebit?: { - /** - * The unmasked account number for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. Is required if isTokenised is absent or false - */ - accountNumber?: string | null; - /** - * The unmasked BSB for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. Is required if isTokenised is absent or false - */ - bsb?: string | null; - /** - * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
- */ - calculationType: "STATIC" | "BALANCE" | "CALCULATED"; - /** - * Flag indicating that the account details are tokenised and cannot be shared. False if absent - */ - isTokenised?: boolean | null; - /** - * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - paymentFrequency: string; - [k: string]: unknown; - }; - /** - * Represents a manual payment schedule where the customer pays in response to a delivered statement. Mandatory if paymentScheduleUType is set to manualPayment - */ - manualPayment?: { - /** - * The frequency with which a bill will be issued. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - billFrequency: string; - [k: string]: unknown; - }; - /** - * The type of object present in this response - */ - paymentScheduleUType: "cardDebit" | "directDebit" | "manualPayment" | "digitalWallet"; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { - /** - * URI to the first page of this set. Mandatory if this response is not the first page - */ - first?: string | null; - /** - * URI to the last page of this set. Mandatory if this response is not the last page - */ - last?: string | null; - /** - * URI to the next page of this set. Mandatory if this response is not the last page - */ - next?: string | null; - /** - * URI to the previous page of this set. Mandatory if this response is not the first page - */ - prev?: string | null; - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta: { - /** - * The total number of pages in the full set. See [pagination](#pagination). - */ - totalPages: number; - /** - * The total number of records in the full set. See [pagination](#pagination). - */ - totalRecords: number; - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoPaymentScheduleResponseData { - /** - * Array may be empty if no payment schedule exist - */ - paymentSchedules: Array<{ - /** - * Optional payment amount indicating that a constant payment amount is scheduled to be paid (used in bill smooting scenarios) - */ - amount?: string | null; - /** - * Represents a regular credit card payment schedule. Mandatory if paymentScheduleUType is set to cardDebit - */ - cardDebit?: { - /** - * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
- */ - calculationType: "STATIC" | "BALANCE" | "CALCULATED"; - /** - * The type of credit card held on file - */ - cardScheme: "VISA" | "MASTERCARD" | "AMEX" | "DINERS" | "OTHER" | "UNKNOWN"; - /** - * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - paymentFrequency: string; - [k: string]: unknown; - }; - /** - * Represents a regular payment from a digital wallet. Mandatory if paymentScheduleUType is set to digitalWallet - */ - digitalWallet?: { - /** - * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
- */ - calculationType: "STATIC" | "BALANCE" | "CALCULATED"; - /** - * The identifier of the digital wallet (dependent on type) - */ - identifier: string; - /** - * The name assigned to the digital wallet by the owner of the wallet, else the display name provided by the digital wallet provider - */ - name: string; - /** - * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - paymentFrequency: string; - /** - * The provider of the digital wallet - */ - provider: "PAYPAL_AU" | "OTHER"; - /** - * The type of the digital wallet identifier - */ - type: "EMAIL" | "CONTACT_NAME" | "TELEPHONE"; - [k: string]: unknown; - }; - /** - * Represents a regular direct debit from a specified bank account. Mandatory if paymentScheduleUType is set to directDebit - */ - directDebit?: { - /** - * The unmasked account number for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. Is required if isTokenised is absent or false - */ - accountNumber?: string | null; - /** - * The unmasked BSB for the account to be debited. Is expected to be formatted as digits only with leading zeros included and no punctuation or spaces. Is required if isTokenised is absent or false - */ - bsb?: string | null; - /** - * The mechanism by which the payment amount is calculated. Explanation of values are as follows:
- */ - calculationType: "STATIC" | "BALANCE" | "CALCULATED"; - /** - * Flag indicating that the account details are tokenised and cannot be shared. False if absent - */ - isTokenised?: boolean | null; - /** - * The frequency that payments will occur. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - paymentFrequency: string; - [k: string]: unknown; - }; - /** - * Represents a manual payment schedule where the customer pays in response to a delivered statement. Mandatory if paymentScheduleUType is set to manualPayment - */ - manualPayment?: { - /** - * The frequency with which a bill will be issued. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - billFrequency: string; - [k: string]: unknown; - }; - /** - * The type of object present in this response - */ - paymentScheduleUType: "cardDebit" | "directDebit" | "manualPayment" | "digitalWallet"; - [k: string]: unknown; - }>; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -/** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ -export type TelcoPlanType = "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoProduct { - /** - * Object that contains links to additional information on specific topics - */ - additionalInformation?: { - /** - * A link to detail on bundles that this plan can be a part of - */ - bundleUri?: string | null; - /** - * A link to detail on eligibility criteria for the plan - */ - eligibilityUri?: string | null; - /** - * A link to a general overview of the plan - */ - overviewUri?: string | null; - /** - * A link to detail on pricing for the plan - */ - pricingUri?: string | null; - /** - * A link to terms and conditions for the plan - */ - termsUri?: string | null; - [k: string]: unknown; - }; - /** - * A link to an application web page where this plan can be applied for - */ - applicationUri?: string | null; - /** - * The type of product - */ - billingType: "PRE_PAID" | "POST_PAID" | "UPFRONT_PAID" | "OTHER"; - /** - * The ID of the brand under which this product is offered - */ - brand: string; - /** - * The display name of the brand under which this product is offered - */ - brandName: string; - /** - * Required if part of a bundle. If not present FALSE is assumed - */ - bundle?: boolean | null; - /** - * Summary of the contract details. Mandatory if the billing type is POST_PAID and a contract agreement is required with the service provider for the plan - */ - contract?: { - /** - * URI of the contract conditions - */ - contractUri?: string | null; - /** - * Description of the contract - */ - description?: string | null; - /** - * Minimum contract duration in months - */ - duration: number; - /** - * Name of the contract - */ - name: string; - [k: string]: unknown; - }; - /** - * A description of the product - */ - description?: string | null; - /** - * The display name of the product - */ - displayName?: string | null; - /** - * The date and time from which this product is effective (ie. is available for origination). Used to enable the articulation of products to the regime before they are available for customers to originate - */ - effectiveFrom?: string | null; - /** - * The date and time at which this product will be retired and will no longer be offered. Used to enable the managed deprecation of plans - */ - effectiveTo?: string | null; - /** - * The last date and time that the information for this plan was changed (or the creation date for the plan if it has never been altered) - */ - lastUpdated?: string | null; - /** - * List of pricing details for the product plan - */ - pricing: Array<{ - /** - * The amount charged for the duration period - */ - amount: string; - /** - * The description of the pricing - */ - description: string; - /** - * The display name of the pricing - */ - name: string; - /** - * The duration that occurs on a pricing schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - period?: string | null; - [k: string]: unknown; - }>; - /** - * The ID of the specific product - */ - productId: string; - /** - * The purpose type of the product. If absent, then the value PERSONAL is assumed - */ - purpose?: ("PERSONAL" | "BUSINESS" | "ALL") | null; - /** - * The ID of the Third Party through which this product may be originated - */ - thirdPartyAgentId?: string | null; - /** - * The display name of the Third Party through which this product may be originated - */ - thirdPartyAgentName?: string | null; - /** - * The type of product. [MOBILE](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or BROADBAND fixed internet service - */ - type: "MOBILE" | "BROADBAND"; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoProductDetail { - /** - * Bundles the product can be part of - */ - bundles?: - | Array<{ - /** - * The URI of the product bundle - */ - bundleUri?: string | null; - /** - * The description of the product bundle - */ - description?: string | null; - /** - * The display name of the product bundle - */ - displayName: string; - /** - * Optional list of features of the bundle - */ - features?: - | Array<{ - /** - * The type of the feature - */ - category?: - | ( - | "DATA" - | "VOICE" - | "MESSAGING" - | "HANDSET" - | "DEVICE" - | "NETWORK" - | "ENTERTAINMENT" - | "SUBSCRIPTION" - | "SOFTWARE" - | "OTHER" - ) - | null; - /** - * The description of the feature - */ - description?: string | null; - /** - * The display name of the feature - */ - displayName: string; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }> - | null; - /** - * Discounts associated to the product - */ - discounts?: - | Array<{ - /** - * The description name of the product plan - */ - description?: string | null; - /** - * The URI of the discount - */ - discountUri?: string | null; - /** - * The display name of the product plan - */ - displayName: string; - /** - * Optional list of features of the discount - */ - features?: - | Array<{ - /** - * The description of the discount feature - */ - description?: string | null; - /** - * The display name of the discount feature - */ - displayName: string; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }> - | null; - /** - * Incentives associated to the product - */ - incentives?: - | Array<{ - /** - * The description of the incentive - */ - description?: string | null; - /** - * The display name of the incentive - */ - displayName: string; - /** - * Optional list of features of the incentive - */ - features?: - | Array<{ - /** - * The description of the incentive feature - */ - description?: string | null; - /** - * The display name of the incentive feature - */ - displayName: string; - [k: string]: unknown; - }> - | null; - /** - * The URI of the incentive - */ - incentiveUri?: string | null; - [k: string]: unknown; - }> - | null; - /** - * Charges for metering included in the plan - */ - meteringCharges?: - | Array<{ - /** - * Description of the charge - */ - description?: string | null; - /** - * Display name of the charge - */ - displayName: string; - /** - * The upper limit of the charge if the charge could occur in a range - */ - maximumValue?: string | null; - /** - * Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified - */ - minimumValue: string; - /** - * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - period?: string | null; - [k: string]: unknown; - }> - | null; - /** - * Plans associated to the product - */ - plans?: - | Array<{ - /** - * The display name of the product plan - */ - description?: string | null; - /** - * The display name of the product plan - */ - displayName: string; - /** - * Optional list of features of the plan - */ - features?: - | Array<{ - /** - * The description of the feature - */ - description?: string | null; - /** - * The display name of the feature - */ - displayName: string; - [k: string]: unknown; - }> - | null; - /** - * The URI of the product plan - */ - planUri?: string | null; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoProductDetailBundles { - /** - * The URI of the product bundle - */ - bundleUri?: string | null; - /** - * The description of the product bundle - */ - description?: string | null; - /** - * The display name of the product bundle - */ - displayName: string; - /** - * Optional list of features of the bundle - */ - features?: - | Array<{ - /** - * The type of the feature - */ - category?: - | ( - | "DATA" - | "VOICE" - | "MESSAGING" - | "HANDSET" - | "DEVICE" - | "NETWORK" - | "ENTERTAINMENT" - | "SUBSCRIPTION" - | "SOFTWARE" - | "OTHER" - ) - | null; - /** - * The description of the feature - */ - description?: string | null; - /** - * The display name of the feature - */ - displayName: string; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoProductDetailDiscountFeature { - /** - * The description of the discount feature - */ - description?: string | null; - /** - * The display name of the discount feature - */ - displayName: string; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoProductDetailDiscounts { - /** - * The description name of the product plan - */ - description?: string | null; - /** - * The URI of the discount - */ - discountUri?: string | null; - /** - * The display name of the product plan - */ - displayName: string; - /** - * Optional list of features of the discount - */ - features?: - | Array<{ - /** - * The description of the discount feature - */ - description?: string | null; - /** - * The display name of the discount feature - */ - displayName: string; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoProductDetailFeature { - /** - * The type of the feature - */ - category?: - | ( - | "DATA" - | "VOICE" - | "MESSAGING" - | "HANDSET" - | "DEVICE" - | "NETWORK" - | "ENTERTAINMENT" - | "SUBSCRIPTION" - | "SOFTWARE" - | "OTHER" - ) - | null; - /** - * The description of the feature - */ - description?: string | null; - /** - * The display name of the feature - */ - displayName: string; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoProductDetailIncentiveFeature { - /** - * The description of the incentive feature - */ - description?: string | null; - /** - * The display name of the incentive feature - */ - displayName: string; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoProductDetailIncentives { - /** - * The description of the incentive - */ - description?: string | null; - /** - * The display name of the incentive - */ - displayName: string; - /** - * Optional list of features of the incentive - */ - features?: - | Array<{ - /** - * The description of the incentive feature - */ - description?: string | null; - /** - * The display name of the incentive feature - */ - displayName: string; - [k: string]: unknown; - }> - | null; - /** - * The URI of the incentive - */ - incentiveUri?: string | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoProductDetailMeteringCharges { - /** - * Description of the charge - */ - description?: string | null; - /** - * Display name of the charge - */ - displayName: string; - /** - * The upper limit of the charge if the charge could occur in a range - */ - maximumValue?: string | null; - /** - * Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified - */ - minimumValue: string; - /** - * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - period?: string | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoProductDetailPlan { - /** - * The display name of the product plan - */ - description?: string | null; - /** - * The display name of the product plan - */ - displayName: string; - /** - * Optional list of features of the plan - */ - features?: - | Array<{ - /** - * The description of the feature - */ - description?: string | null; - /** - * The display name of the feature - */ - displayName: string; - [k: string]: unknown; - }> - | null; - /** - * The URI of the product plan - */ - planUri?: string | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoProductDetailPlanFeature { - /** - * The description of the feature - */ - description?: string | null; - /** - * The display name of the feature - */ - displayName: string; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoProductListResponse { - data: { - /** - * Array of Products - */ - plans: Array<{ - /** - * Object that contains links to additional information on specific topics - */ - additionalInformation?: { - /** - * A link to detail on bundles that this plan can be a part of - */ - bundleUri?: string | null; - /** - * A link to detail on eligibility criteria for the plan - */ - eligibilityUri?: string | null; - /** - * A link to a general overview of the plan - */ - overviewUri?: string | null; - /** - * A link to detail on pricing for the plan - */ - pricingUri?: string | null; - /** - * A link to terms and conditions for the plan - */ - termsUri?: string | null; - [k: string]: unknown; - }; - /** - * A link to an application web page where this plan can be applied for - */ - applicationUri?: string | null; - /** - * The type of product - */ - billingType: "PRE_PAID" | "POST_PAID" | "UPFRONT_PAID" | "OTHER"; - /** - * The ID of the brand under which this product is offered - */ - brand: string; - /** - * The display name of the brand under which this product is offered - */ - brandName: string; - /** - * Required if part of a bundle. If not present FALSE is assumed - */ - bundle?: boolean | null; - /** - * Summary of the contract details. Mandatory if the billing type is POST_PAID and a contract agreement is required with the service provider for the plan - */ - contract?: { - /** - * URI of the contract conditions - */ - contractUri?: string | null; - /** - * Description of the contract - */ - description?: string | null; - /** - * Minimum contract duration in months - */ - duration: number; - /** - * Name of the contract - */ - name: string; - [k: string]: unknown; - }; - /** - * A description of the product - */ - description?: string | null; - /** - * The display name of the product - */ - displayName?: string | null; - /** - * The date and time from which this product is effective (ie. is available for origination). Used to enable the articulation of products to the regime before they are available for customers to originate - */ - effectiveFrom?: string | null; - /** - * The date and time at which this product will be retired and will no longer be offered. Used to enable the managed deprecation of plans - */ - effectiveTo?: string | null; - /** - * The last date and time that the information for this plan was changed (or the creation date for the plan if it has never been altered) - */ - lastUpdated?: string | null; - /** - * List of pricing details for the product plan - */ - pricing: Array<{ - /** - * The amount charged for the duration period - */ - amount: string; - /** - * The description of the pricing - */ - description: string; - /** - * The display name of the pricing - */ - name: string; - /** - * The duration that occurs on a pricing schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - period?: string | null; - [k: string]: unknown; - }>; - /** - * The ID of the specific product - */ - productId: string; - /** - * The purpose type of the product. If absent, then the value PERSONAL is assumed - */ - purpose?: ("PERSONAL" | "BUSINESS" | "ALL") | null; - /** - * The ID of the Third Party through which this product may be originated - */ - thirdPartyAgentId?: string | null; - /** - * The display name of the Third Party through which this product may be originated - */ - thirdPartyAgentName?: string | null; - /** - * The type of product. [MOBILE](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or BROADBAND fixed internet service - */ - type: "MOBILE" | "BROADBAND"; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { - /** - * URI to the first page of this set. Mandatory if this response is not the first page - */ - first?: string | null; - /** - * URI to the last page of this set. Mandatory if this response is not the last page - */ - last?: string | null; - /** - * URI to the next page of this set. Mandatory if this response is not the last page - */ - next?: string | null; - /** - * URI to the previous page of this set. Mandatory if this response is not the first page - */ - prev?: string | null; - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta: { - /** - * The total number of pages in the full set. See [pagination](#pagination). - */ - totalPages: number; - /** - * The total number of records in the full set. See [pagination](#pagination). - */ - totalRecords: number; - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoProductListResponseData { - /** - * Array of Products - */ - plans: Array<{ - /** - * Object that contains links to additional information on specific topics - */ - additionalInformation?: { - /** - * A link to detail on bundles that this plan can be a part of - */ - bundleUri?: string | null; - /** - * A link to detail on eligibility criteria for the plan - */ - eligibilityUri?: string | null; - /** - * A link to a general overview of the plan - */ - overviewUri?: string | null; - /** - * A link to detail on pricing for the plan - */ - pricingUri?: string | null; - /** - * A link to terms and conditions for the plan - */ - termsUri?: string | null; - [k: string]: unknown; - }; - /** - * A link to an application web page where this plan can be applied for - */ - applicationUri?: string | null; - /** - * The type of product - */ - billingType: "PRE_PAID" | "POST_PAID" | "UPFRONT_PAID" | "OTHER"; - /** - * The ID of the brand under which this product is offered - */ - brand: string; - /** - * The display name of the brand under which this product is offered - */ - brandName: string; - /** - * Required if part of a bundle. If not present FALSE is assumed - */ - bundle?: boolean | null; - /** - * Summary of the contract details. Mandatory if the billing type is POST_PAID and a contract agreement is required with the service provider for the plan - */ - contract?: { - /** - * URI of the contract conditions - */ - contractUri?: string | null; - /** - * Description of the contract - */ - description?: string | null; - /** - * Minimum contract duration in months - */ - duration: number; - /** - * Name of the contract - */ - name: string; - [k: string]: unknown; - }; - /** - * A description of the product - */ - description?: string | null; - /** - * The display name of the product - */ - displayName?: string | null; - /** - * The date and time from which this product is effective (ie. is available for origination). Used to enable the articulation of products to the regime before they are available for customers to originate - */ - effectiveFrom?: string | null; - /** - * The date and time at which this product will be retired and will no longer be offered. Used to enable the managed deprecation of plans - */ - effectiveTo?: string | null; - /** - * The last date and time that the information for this plan was changed (or the creation date for the plan if it has never been altered) - */ - lastUpdated?: string | null; - /** - * List of pricing details for the product plan - */ - pricing: Array<{ - /** - * The amount charged for the duration period - */ - amount: string; - /** - * The description of the pricing - */ - description: string; - /** - * The display name of the pricing - */ - name: string; - /** - * The duration that occurs on a pricing schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - period?: string | null; - [k: string]: unknown; - }>; - /** - * The ID of the specific product - */ - productId: string; - /** - * The purpose type of the product. If absent, then the value PERSONAL is assumed - */ - purpose?: ("PERSONAL" | "BUSINESS" | "ALL") | null; - /** - * The ID of the Third Party through which this product may be originated - */ - thirdPartyAgentId?: string | null; - /** - * The display name of the Third Party through which this product may be originated - */ - thirdPartyAgentName?: string | null; - /** - * The type of product. [MOBILE](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or BROADBAND fixed internet service - */ - type: "MOBILE" | "BROADBAND"; - [k: string]: unknown; - }>; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoProductPricing { - /** - * The amount charged for the duration period - */ - amount: string; - /** - * The description of the pricing - */ - description: string; - /** - * The display name of the pricing - */ - name: string; - /** - * The duration that occurs on a pricing schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - period?: string | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoProductResponse { - data: { - /** - * Object that contains links to additional information on specific topics - */ - additionalInformation?: { - /** - * A link to detail on bundles that this plan can be a part of - */ - bundleUri?: string | null; - /** - * A link to detail on eligibility criteria for the plan - */ - eligibilityUri?: string | null; - /** - * A link to a general overview of the plan - */ - overviewUri?: string | null; - /** - * A link to detail on pricing for the plan - */ - pricingUri?: string | null; - /** - * A link to terms and conditions for the plan - */ - termsUri?: string | null; - [k: string]: unknown; - }; - /** - * A link to an application web page where this plan can be applied for - */ - applicationUri?: string | null; - /** - * The type of product - */ - billingType: "PRE_PAID" | "POST_PAID" | "UPFRONT_PAID" | "OTHER"; - /** - * The ID of the brand under which this product is offered - */ - brand: string; - /** - * The display name of the brand under which this product is offered - */ - brandName: string; - /** - * Required if part of a bundle. If not present FALSE is assumed - */ - bundle?: boolean | null; - /** - * Summary of the contract details. Mandatory if the billing type is POST_PAID and a contract agreement is required with the service provider for the plan - */ - contract?: { - /** - * URI of the contract conditions - */ - contractUri?: string | null; - /** - * Description of the contract - */ - description?: string | null; - /** - * Minimum contract duration in months - */ - duration: number; - /** - * Name of the contract - */ - name: string; - [k: string]: unknown; - }; - /** - * A description of the product - */ - description?: string | null; - /** - * The display name of the product - */ - displayName?: string | null; - /** - * The date and time from which this product is effective (ie. is available for origination). Used to enable the articulation of products to the regime before they are available for customers to originate - */ - effectiveFrom?: string | null; - /** - * The date and time at which this product will be retired and will no longer be offered. Used to enable the managed deprecation of plans - */ - effectiveTo?: string | null; - /** - * The last date and time that the information for this plan was changed (or the creation date for the plan if it has never been altered) - */ - lastUpdated?: string | null; - /** - * List of pricing details for the product plan - */ - pricing: Array<{ - /** - * The amount charged for the duration period - */ - amount: string; - /** - * The description of the pricing - */ - description: string; - /** - * The display name of the pricing - */ - name: string; - /** - * The duration that occurs on a pricing schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - period?: string | null; - [k: string]: unknown; - }>; - /** - * The ID of the specific product - */ - productId: string; - /** - * The purpose type of the product. If absent, then the value PERSONAL is assumed - */ - purpose?: ("PERSONAL" | "BUSINESS" | "ALL") | null; - /** - * The ID of the Third Party through which this product may be originated - */ - thirdPartyAgentId?: string | null; - /** - * The display name of the Third Party through which this product may be originated - */ - thirdPartyAgentName?: string | null; - /** - * The type of product. [MOBILE](https://www.legislation.gov.au/Details/C2022C00170/Html/Volume_1#_Toc95898745) service or BROADBAND fixed internet service - */ - type: "MOBILE" | "BROADBAND"; - [k: string]: unknown; - } & { - /** - * Bundles the product can be part of - */ - bundles?: - | Array<{ - /** - * The URI of the product bundle - */ - bundleUri?: string | null; - /** - * The description of the product bundle - */ - description?: string | null; - /** - * The display name of the product bundle - */ - displayName: string; - /** - * Optional list of features of the bundle - */ - features?: - | Array<{ - /** - * The type of the feature - */ - category?: - | ( - | "DATA" - | "VOICE" - | "MESSAGING" - | "HANDSET" - | "DEVICE" - | "NETWORK" - | "ENTERTAINMENT" - | "SUBSCRIPTION" - | "SOFTWARE" - | "OTHER" - ) - | null; - /** - * The description of the feature - */ - description?: string | null; - /** - * The display name of the feature - */ - displayName: string; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }> - | null; - /** - * Discounts associated to the product - */ - discounts?: - | Array<{ - /** - * The description name of the product plan - */ - description?: string | null; - /** - * The URI of the discount - */ - discountUri?: string | null; - /** - * The display name of the product plan - */ - displayName: string; - /** - * Optional list of features of the discount - */ - features?: - | Array<{ - /** - * The description of the discount feature - */ - description?: string | null; - /** - * The display name of the discount feature - */ - displayName: string; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }> - | null; - /** - * Incentives associated to the product - */ - incentives?: - | Array<{ - /** - * The description of the incentive - */ - description?: string | null; - /** - * The display name of the incentive - */ - displayName: string; - /** - * Optional list of features of the incentive - */ - features?: - | Array<{ - /** - * The description of the incentive feature - */ - description?: string | null; - /** - * The display name of the incentive feature - */ - displayName: string; - [k: string]: unknown; - }> - | null; - /** - * The URI of the incentive - */ - incentiveUri?: string | null; - [k: string]: unknown; - }> - | null; - /** - * Charges for metering included in the plan - */ - meteringCharges?: - | Array<{ - /** - * Description of the charge - */ - description?: string | null; - /** - * Display name of the charge - */ - displayName: string; - /** - * The upper limit of the charge if the charge could occur in a range - */ - maximumValue?: string | null; - /** - * Minimum value of the charge if the charge is a range or the absolute value of the charge if no range is specified - */ - minimumValue: string; - /** - * The charges that occur on a schedule indicates the frequency. Formatted according to [ISO 8601 Durations](https://en.wikipedia.org/wiki/ISO_8601#Durations) (excludes recurrence syntax) - */ - period?: string | null; - [k: string]: unknown; - }> - | null; - /** - * Plans associated to the product - */ - plans?: - | Array<{ - /** - * The display name of the product plan - */ - description?: string | null; - /** - * The display name of the product plan - */ - displayName: string; - /** - * Optional list of features of the plan - */ - features?: - | Array<{ - /** - * The description of the feature - */ - description?: string | null; - /** - * The display name of the feature - */ - displayName: string; - [k: string]: unknown; - }> - | null; - /** - * The URI of the product plan - */ - planUri?: string | null; - [k: string]: unknown; - }> - | null; - [k: string]: unknown; - }; - links: { - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta?: { - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -/** - * Telco balances for a service - */ -export interface TelcoServiceBalance { - /** - * A summary of Service balances - */ - balance?: { - /** - * Summary of data balances - */ - data?: { - /** - * Remaining value amount of data available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Remaining download data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED - */ - download?: number | null; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Balance of data roaming charges. Required unless planType is UNSUPPORTED - */ - roaming?: { - /** - * Amount value of data roaming charges. Required unless planType is UNSUPPORTED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Amount of data used overseas in megabytes (MB). Required unless planType is UNSUPPORTED - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Remaining upload data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED - */ - upload?: number | null; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS Balance. Required if the service plan supports MMS messaging - */ - mms: { - /** - * Amount value of MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType?: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Summary of SMS Balance. Required if the service plan supports SMS messaging - */ - sms: { - /** - * Amount value of SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice balances. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls - */ - international?: { - /** - * Amount value of international calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of international voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of international voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national?: { - /** - * Amount balance of national calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of national voice calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Roaming voice calls - */ - roaming?: { - /** - * Amount value of roaming calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of roaming voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Optional description of the service used for display purposes - */ - displayName?: string | null; - /** - * Date when the balance period ends - */ - endDate?: string | null; - /** - * Required if the service includes a phone number - */ - phoneNumber?: string | null; - /** - * The serviceId representing a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId?: string | null; - /** - * Date when the balance period started - */ - startDate?: string | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -/** - * Summary of data balances - */ -export interface TelcoServiceBalanceData { - /** - * Remaining value amount of data available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Remaining download data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED - */ - download?: number | null; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Balance of data roaming charges. Required unless planType is UNSUPPORTED - */ - roaming?: { - /** - * Amount value of data roaming charges. Required unless planType is UNSUPPORTED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Amount of data used overseas in megabytes (MB). Required unless planType is UNSUPPORTED - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Remaining upload data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED - */ - upload?: number | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -/** - * Balance of data roaming charges. Required unless planType is UNSUPPORTED - */ -export interface TelcoServiceBalanceDataRoaming { - /** - * Amount value of data roaming charges. Required unless planType is UNSUPPORTED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Amount of data used overseas in megabytes (MB). Required unless planType is UNSUPPORTED - */ - download?: number | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -/** - * Summary of messaging. Required if messaging services is included in the product plan - */ -export interface TelcoServiceBalanceMessaging { - /** - * Summary of MMS Balance. Required if the service plan supports MMS messaging - */ - mms: { - /** - * Amount value of MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType?: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Summary of SMS Balance. Required if the service plan supports SMS messaging - */ - sms: { - /** - * Amount value of SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -/** - * Summary of MMS Balance. Required if the service plan supports MMS messaging - */ -export interface TelcoServiceBalanceMessagingMms { - /** - * Amount value of MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -/** - * Summary of SMS Balance. Required if the service plan supports SMS messaging - */ -export interface TelcoServiceBalanceMessagingSms { - /** - * Amount value of SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -/** - * Summary of voice balances. Required if voice calls are included in product plan - */ -export interface TelcoServiceBalanceVoice { - /** - * International voice calls - */ - international?: { - /** - * Amount value of international calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of international voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of international voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national?: { - /** - * Amount balance of national calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of national voice calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Roaming voice calls - */ - roaming?: { - /** - * Amount value of roaming calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of roaming voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -/** - * International voice calls - */ -export interface TelcoServiceBalanceVoiceInternational { - /** - * Amount value of international calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of international voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of international voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -/** - * National voice calls - */ -export interface TelcoServiceBalanceVoiceNational { - /** - * Amount balance of national calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of national voice calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -/** - * Roaming voice calls - */ -export interface TelcoServiceBalanceVoiceRoaming { - /** - * Amount value of roaming calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of roaming voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -/** - * A summary of Service balances - */ -export interface TelcoServiceBalances { - /** - * Summary of data balances - */ - data?: { - /** - * Remaining value amount of data available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Remaining download data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED - */ - download?: number | null; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Balance of data roaming charges. Required unless planType is UNSUPPORTED - */ - roaming?: { - /** - * Amount value of data roaming charges. Required unless planType is UNSUPPORTED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Amount of data used overseas in megabytes (MB). Required unless planType is UNSUPPORTED - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Remaining upload data in megabytes (MB). Required unless planType is UNSUPPORTED or UNMETERED - */ - upload?: number | null; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS Balance. Required if the service plan supports MMS messaging - */ - mms: { - /** - * Amount value of MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming MMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType?: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Summary of SMS Balance. Required if the service plan supports SMS messaging - */ - sms: { - /** - * Amount value of SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Number of international SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - international?: number | null; - /** - * Number of national SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - national?: number | null; - /** - * Number of roaming SMS messages remaining. Required unless planType is UNSUPPORTED or UNMETERED - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice balances. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls - */ - international?: { - /** - * Amount value of international calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of international voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of international voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national?: { - /** - * Amount balance of national calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of national voice calls. Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - /** - * Plan type for this feature. METERED: A plan is charged by usage for the feature. UNMETERED: A plan with no limits for a feature. LIMITED: Where plan limit inclusions apply. UNSUPPORTED: Feature is not supported - */ - planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; - /** - * Roaming voice calls - */ - roaming?: { - /** - * Amount value of roaming calls available. Required unless planType is UNSUPPORTED or UNMETERED - */ - amount?: string | null; - /** - * An overview of plan limits. Required unless planType is UNSUPPORTED - */ - description?: string | null; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls available. Not limited to 24hrs. Required unless planType is UNSUPPORTED or UNMETERED - */ - duration?: string | null; - /** - * Number of roaming voice calls available Required unless planType is UNSUPPORTED or UNMETERED - */ - number?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoServiceDetail { - /** - * The tokenised ID of the service identifier for use in the CDR APIs. E.g a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). Created according to the CDR rules for [CDR ID permanence](#id-permanence) - */ - serviceId: string; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoServiceUsage { - /** - * Optional description of the service used for display purposes - */ - displayName?: string | null; - /** - * Date when the usage period ends - */ - endDate?: string | null; - /** - * Required if the service includes a phone number - */ - phoneNumber?: string | null; - /** - * Tokenised ID of the service identifier. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). To be created in accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId: string; - /** - * Date when the usage period started - */ - startDate: string; - /** - * Object containing usage summary - */ - usage?: { - /** - * Summary of data usage - */ - data?: { - /** - * Cost amount of data usage - */ - amount: string; - /** - * Amount of data downloaded in megabytes (MB) - */ - download: number; - /** - * Required if roaming is suipported - */ - roaming?: { - /** - * Amount value of data roaming charges - */ - amount?: string | null; - /** - * Amount of data used while roaming in megabytes (MB) - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Number of data sessions - */ - sessions?: number | null; - /** - * Amount of data uploaded in megabytes (MB) - */ - upload: number; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS usage - */ - mms: { - /** - * Cost amount of MMS messages - */ - amount: string; - /** - * ber of international MMS messages sent - */ - international?: number | null; - /** - * Number of national MMS messages sent - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Summary of SMS usage - */ - sms: { - /** - * Cost amount of SMS messages. Including premium SMS services - */ - amount: string; - /** - * Number of international SMS messages sent. Including premium SMS services - */ - international?: number | null; - /** - * Number of national SMS messages sent. Including premium SMS services - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice calls. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls. Requied if international calling is supported - */ - international: { - /** - * Cost amount of international voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of international voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of international voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national: { - /** - * Cost amount of national calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of national voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * Roaming voice calls, Required if roaming is supported - */ - roaming: { - /** - * Cost amount of roaming voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of roaming voice calls - */ - number: number; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoServiceUsageListResponse { - data: Array<{ - /** - * Optional description of the service used for display purposes - */ - displayName?: string | null; - /** - * Date when the usage period ends - */ - endDate?: string | null; - /** - * Required if the service includes a phone number - */ - phoneNumber?: string | null; - /** - * Tokenised ID of the service identifier. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). To be created in accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId: string; - /** - * Date when the usage period started - */ - startDate: string; - /** - * Object containing usage summary - */ - usage?: { - /** - * Summary of data usage - */ - data?: { - /** - * Cost amount of data usage - */ - amount: string; - /** - * Amount of data downloaded in megabytes (MB) - */ - download: number; - /** - * Required if roaming is suipported - */ - roaming?: { - /** - * Amount value of data roaming charges - */ - amount?: string | null; - /** - * Amount of data used while roaming in megabytes (MB) - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Number of data sessions - */ - sessions?: number | null; - /** - * Amount of data uploaded in megabytes (MB) - */ - upload: number; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS usage - */ - mms: { - /** - * Cost amount of MMS messages - */ - amount: string; - /** - * ber of international MMS messages sent - */ - international?: number | null; - /** - * Number of national MMS messages sent - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Summary of SMS usage - */ - sms: { - /** - * Cost amount of SMS messages. Including premium SMS services - */ - amount: string; - /** - * Number of international SMS messages sent. Including premium SMS services - */ - international?: number | null; - /** - * Number of national SMS messages sent. Including premium SMS services - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice calls. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls. Requied if international calling is supported - */ - international: { - /** - * Cost amount of international voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of international voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of international voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national: { - /** - * Cost amount of national calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of national voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * Roaming voice calls, Required if roaming is supported - */ - roaming: { - /** - * Cost amount of roaming voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of roaming voice calls - */ - number: number; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }>; - links: { - /** - * URI to the first page of this set. Mandatory if this response is not the first page - */ - first?: string | null; - /** - * URI to the last page of this set. Mandatory if this response is not the last page - */ - last?: string | null; - /** - * URI to the next page of this set. Mandatory if this response is not the last page - */ - next?: string | null; - /** - * URI to the previous page of this set. Mandatory if this response is not the first page - */ - prev?: string | null; - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta: { - /** - * The total number of pages in the full set. See [pagination](#pagination). - */ - totalPages: number; - /** - * The total number of records in the full set. See [pagination](#pagination). - */ - totalRecords: number; - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoServiceUsageResponse { - data: { - /** - * Optional description of the service used for display purposes - */ - displayName?: string | null; - /** - * Date when the usage period ends - */ - endDate?: string | null; - /** - * Required if the service includes a phone number - */ - phoneNumber?: string | null; - /** - * Tokenised ID of the service identifier. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). To be created in accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId: string; - /** - * Date when the usage period started - */ - startDate: string; - /** - * Object containing usage summary - */ - usage?: { - /** - * Summary of data usage - */ - data?: { - /** - * Cost amount of data usage - */ - amount: string; - /** - * Amount of data downloaded in megabytes (MB) - */ - download: number; - /** - * Required if roaming is suipported - */ - roaming?: { - /** - * Amount value of data roaming charges - */ - amount?: string | null; - /** - * Amount of data used while roaming in megabytes (MB) - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Number of data sessions - */ - sessions?: number | null; - /** - * Amount of data uploaded in megabytes (MB) - */ - upload: number; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS usage - */ - mms: { - /** - * Cost amount of MMS messages - */ - amount: string; - /** - * ber of international MMS messages sent - */ - international?: number | null; - /** - * Number of national MMS messages sent - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Summary of SMS usage - */ - sms: { - /** - * Cost amount of SMS messages. Including premium SMS services - */ - amount: string; - /** - * Number of international SMS messages sent. Including premium SMS services - */ - international?: number | null; - /** - * Number of national SMS messages sent. Including premium SMS services - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice calls. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls. Requied if international calling is supported - */ - international: { - /** - * Cost amount of international voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of international voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of international voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national: { - /** - * Cost amount of national calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of national voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * Roaming voice calls, Required if roaming is supported - */ - roaming: { - /** - * Cost amount of roaming voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of roaming voice calls - */ - number: number; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - links: { - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta: { - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoTransactionListResponse { - data: { - /** - * Array of transactions sorted by date and time in descending order - */ - transactions: Array<{ - account?: { - /** - * Optional array of adjustments arising for this transaction - */ - adjustments?: - | Array<{ - /** - * The amount of the adjustment - */ - amount: string; - /** - * A free text description of the adjustment - */ - description: string; - [k: string]: unknown; - }> - | null; - /** - * The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit - */ - amount: string; - /** - * Optional description of the transaction that can be used for display purposes - */ - description?: string | null; - /** - * Date and time when the usage period ends - */ - endDate: string; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * Array list of services identifiers to which this transaction applies if any. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceIds?: string | null; - /** - * Date and time when the usage period starts - */ - startDate: string; - [k: string]: unknown; - }; - /** - * The ID of the account for which the transaction occurred. accountId must comply in accordance with [CDR ID permanence](#id-permanence) - */ - accountId: string; - /** - * The date and time that the transaction occurred - */ - executionDateTime: string; - /** - * The GST incurred in the transaction. Should not be included for credits or payments. If absent zero is assumed - */ - gst?: string | null; - onceOff?: { - /** - * The amount of the charge or credit. A positive value indicates a charge and a negative value indicates a credit - */ - amount: string; - /** - * A free text description of the item - */ - description: string; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * The ID of the service identifier to which this transaction applies if any. E.g a [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId?: string | null; - [k: string]: unknown; - }; - otherCharges?: { - /** - * Optional array of adjustments arising for this transaction - */ - adjustments?: - | Array<{ - /** - * The amount of the adjustment - */ - amount: string; - /** - * A free text description of the adjustment - */ - description: string; - [k: string]: unknown; - }> - | null; - /** - * The amount of the charge - */ - amount: string; - /** - * A free text description of the item - */ - description: string; - /** - * Optional end date for the application of the charge - */ - endDate?: string | null; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * The service identifier to which this transaction applies if any. E.g a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId?: string | null; - /** - * Optional start date for the application of the charge - */ - startDate?: string | null; - /** - * Type of charge. Assumed to be OTHER if absent - */ - type?: ("SERVICE" | "NETWORK" | "EQUIPMENT" | "METERING" | "OTHER") | null; - [k: string]: unknown; - }; - payment?: { - /** - * The amount paid - */ - amount: string; - /** - * The method of payment - */ - method: "DIRECT_DEBIT" | "CARD" | "TRANSFER" | "BPAY" | "CASH" | "CHEQUE" | "VOUCHER" | "OTHER"; - [k: string]: unknown; - }; - /** - * Indicator of the type of transaction object present in this record - */ - transactionUType: "account" | "onceOff" | "otherCharges" | "payment"; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { - /** - * URI to the first page of this set. Mandatory if this response is not the first page - */ - first?: string | null; - /** - * URI to the last page of this set. Mandatory if this response is not the last page - */ - last?: string | null; - /** - * URI to the next page of this set. Mandatory if this response is not the last page - */ - next?: string | null; - /** - * URI to the previous page of this set. Mandatory if this response is not the first page - */ - prev?: string | null; - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta: { - /** - * The total number of pages in the full set. See [pagination](#pagination). - */ - totalPages: number; - /** - * The total number of records in the full set. See [pagination](#pagination). - */ - totalRecords: number; - [k: string]: unknown; - }; - [k: string]: unknown; -} -/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ - -export interface TelcoTransactionListResponseData { - /** - * Array of transactions sorted by date and time in descending order - */ - transactions: Array<{ - account?: { - /** - * Optional array of adjustments arising for this transaction - */ - adjustments?: - | Array<{ - /** - * The amount of the adjustment - */ - amount: string; - /** - * A free text description of the adjustment - */ - description: string; - [k: string]: unknown; - }> - | null; - /** - * The amount charged or credited for this transaction prior to any adjustments being applied. A negative value indicates a credit - */ - amount: string; - /** - * Optional description of the transaction that can be used for display purposes - */ - description?: string | null; - /** - * Date and time when the usage period ends - */ - endDate: string; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * Array list of services identifiers to which this transaction applies if any. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceIds?: string | null; - /** - * Date and time when the usage period starts - */ - startDate: string; - [k: string]: unknown; - }; - /** - * The ID of the account for which the transaction occurred. accountId must comply in accordance with [CDR ID permanence](#id-permanence) - */ - accountId: string; - /** - * The date and time that the transaction occurred - */ - executionDateTime: string; - /** - * The GST incurred in the transaction. Should not be included for credits or payments. If absent zero is assumed - */ - gst?: string | null; - onceOff?: { - /** - * The amount of the charge or credit. A positive value indicates a charge and a negative value indicates a credit - */ - amount: string; - /** - * A free text description of the item - */ - description: string; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * The ID of the service identifier to which this transaction applies if any. E.g a [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId?: string | null; - [k: string]: unknown; - }; - otherCharges?: { - /** - * Optional array of adjustments arising for this transaction - */ - adjustments?: - | Array<{ - /** - * The amount of the adjustment - */ - amount: string; - /** - * A free text description of the adjustment - */ - description: string; - [k: string]: unknown; - }> - | null; - /** - * The amount of the charge - */ - amount: string; - /** - * A free text description of the item - */ - description: string; - /** - * Optional end date for the application of the charge - */ - endDate?: string | null; - /** - * The number of the invoice in which this transaction is included if it has been issued - */ - invoiceNumber?: string | null; - /** - * The service identifier to which this transaction applies if any. E.g a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). In accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId?: string | null; - /** - * Optional start date for the application of the charge - */ - startDate?: string | null; - /** - * Type of charge. Assumed to be OTHER if absent - */ - type?: ("SERVICE" | "NETWORK" | "EQUIPMENT" | "METERING" | "OTHER") | null; - [k: string]: unknown; - }; - payment?: { - /** - * The amount paid - */ - amount: string; - /** - * The method of payment - */ - method: "DIRECT_DEBIT" | "CARD" | "TRANSFER" | "BPAY" | "CASH" | "CHEQUE" | "VOUCHER" | "OTHER"; - [k: string]: unknown; - }; - /** - * Indicator of the type of transaction object present in this record - */ - transactionUType: "account" | "onceOff" | "otherCharges" | "payment"; - [k: string]: unknown; - }>; - [k: string]: unknown; + * Summary of voice balances. Required if voice calls are included in product plan. + */ +export interface TelcoServiceBalanceVoice { + international?: TelcoServiceBalanceVoiceInternational; + national?: TelcoServiceBalanceVoiceNational; + /** + * Plan type for this feature. + */ + planType: "METERED" | "UNMETERED" | "LIMITED" | "UNSUPPORTED"; + roaming?: TelcoServiceBalanceVoiceRoaming; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * Object containing usage summary + * International voice calls. */ -export interface TelcoUsage { +export interface TelcoServiceBalanceVoiceInternational { /** - * Summary of data usage + * Amount value of international calls available. Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. */ - data?: { - /** - * Cost amount of data usage - */ - amount: string; - /** - * Amount of data downloaded in megabytes (MB) - */ - download: number; - /** - * Required if roaming is suipported - */ - roaming?: { - /** - * Amount value of data roaming charges - */ - amount?: string | null; - /** - * Amount of data used while roaming in megabytes (MB) - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Number of data sessions - */ - sessions?: number | null; - /** - * Amount of data uploaded in megabytes (MB) - */ - upload: number; - [k: string]: unknown; - }; + amount?: string | null; /** - * Summary of messaging. Required if messaging services is included in the product plan + * An overview of plan limits. Required unless _planType_ is `UNSUPPORTED`. */ - messaging?: { - /** - * Summary of MMS usage - */ - mms: { - /** - * Cost amount of MMS messages - */ - amount: string; - /** - * ber of international MMS messages sent - */ - international?: number | null; - /** - * Number of national MMS messages sent - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Summary of SMS usage - */ - sms: { - /** - * Cost amount of SMS messages. Including premium SMS services - */ - amount: string; - /** - * Number of international SMS messages sent. Including premium SMS services - */ - international?: number | null; - /** - * Number of national SMS messages sent. Including premium SMS services - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; + description?: string | null; /** - * Summary of voice calls. Required if voice calls are included in product plan + * Total duration (hours, minutes, and seconds) of international voice calls available. Not limited to 24hrs. Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. */ - voice?: { - /** - * International voice calls. Requied if international calling is supported - */ - international: { - /** - * Cost amount of international voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of international voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of international voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national: { - /** - * Cost amount of national calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of national voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * Roaming voice calls, Required if roaming is supported - */ - roaming: { - /** - * Cost amount of roaming voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of roaming voice calls - */ - number: number; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; + duration?: string | null; + /** + * Number of international voice calls available Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. + */ + number?: number | null; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * Roaming Data Usage + * National voice calls. */ -export interface TelcoUsageDatRoaming { +export interface TelcoServiceBalanceVoiceNational { /** - * Amount value of data roaming charges + * Amount balance of national calls. Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. */ amount?: string | null; /** - * Amount of data used while roaming in megabytes (MB) + * An overview of plan limits. Required unless _planType_ is `UNSUPPORTED`. */ - download?: number | null; - [k: string]: unknown; + description?: string | null; + /** + * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs. Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. + */ + duration?: string | null; + /** + * Number of national voice calls. Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. + */ + number?: number | null; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * Summary of data usage + * Roaming voice calls. */ -export interface TelcoUsageData { +export interface TelcoServiceBalanceVoiceRoaming { /** - * Cost amount of data usage + * Amount value of roaming calls available. Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. */ - amount: string; + amount?: string | null; /** - * Amount of data downloaded in megabytes (MB) + * An overview of plan limits. Required unless _planType_ is `UNSUPPORTED`. */ - download: number; + description?: string | null; /** - * Required if roaming is suipported + * Total duration (hours, minutes, and seconds) of roaming voice calls available. Not limited to 24hrs. Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. */ - roaming?: { - /** - * Amount value of data roaming charges - */ - amount?: string | null; - /** - * Amount of data used while roaming in megabytes (MB) - */ - download?: number | null; - [k: string]: unknown; - }; + duration?: string | null; /** - * Number of data sessions + * Number of roaming voice calls available Required unless _planType_ is `UNSUPPORTED` or `UNMETERED`. */ - sessions?: number | null; + number?: number | null; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +/** + * A unique identifier for a Telco service, generated according to [CDR ID Permanence](#id-permanence) requirements. + */ +export type TelcoServiceId = string; +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoServiceUsage { /** - * Amount of data uploaded in megabytes (MB) + * Optional description of the service used for display purposes. */ - upload: number; - [k: string]: unknown; + displayName?: string | null; + /** + * Date when the usage period ends. + */ + endDate?: string | null; + /** + * Required if the service includes a phone number. + */ + phoneNumber?: string | null; + /** + * Unique identifier for the service. A _serviceId_ is an [ID Permanence](#id-permanence) representation of a unique service identifier such as a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g., [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) + */ + serviceId: string; + /** + * Date when the usage period started. + */ + startDate: string; + usage?: TelcoUsage; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface TelcoUsageListResponse { +export interface TelcoServiceUsageResponse { + data: TelcoServiceUsage; + links: Links; + meta: Meta; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoTransactionListResponse { data: { /** - * Array of usage on accounts - */ - accounts: Array<{ - /** - * Tokenised ID of the account. In accordance with [CDR ID permanence](#id-permanence) requirements - */ - accountId: string; - /** - * List of services that are part of the account - */ - services: Array<{ - service: { - /** - * Optional description of the service used for display purposes - */ - displayName?: string | null; - /** - * Date when the usage period ends - */ - endDate?: string | null; - /** - * Required if the service includes a phone number - */ - phoneNumber?: string | null; - /** - * Tokenised ID of the service identifier. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). To be created in accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId: string; - /** - * Date when the usage period started - */ - startDate: string; - /** - * Object containing usage summary - */ - usage?: { - /** - * Summary of data usage - */ - data?: { - /** - * Cost amount of data usage - */ - amount: string; - /** - * Amount of data downloaded in megabytes (MB) - */ - download: number; - /** - * Required if roaming is suipported - */ - roaming?: { - /** - * Amount value of data roaming charges - */ - amount?: string | null; - /** - * Amount of data used while roaming in megabytes (MB) - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Number of data sessions - */ - sessions?: number | null; - /** - * Amount of data uploaded in megabytes (MB) - */ - upload: number; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS usage - */ - mms: { - /** - * Cost amount of MMS messages - */ - amount: string; - /** - * ber of international MMS messages sent - */ - international?: number | null; - /** - * Number of national MMS messages sent - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Summary of SMS usage - */ - sms: { - /** - * Cost amount of SMS messages. Including premium SMS services - */ - amount: string; - /** - * Number of international SMS messages sent. Including premium SMS services - */ - international?: number | null; - /** - * Number of national SMS messages sent. Including premium SMS services - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice calls. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls. Requied if international calling is supported - */ - international: { - /** - * Cost amount of international voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of international voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of international voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national: { - /** - * Cost amount of national calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of national voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * Roaming voice calls, Required if roaming is supported - */ - roaming: { - /** - * Cost amount of roaming voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of roaming voice calls - */ - number: number; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }>; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { - /** - * Fully qualified link that generated the current response document + * Array of transactions sorted by date and time in descending order. */ - self: string; - [k: string]: unknown; + transactions: TelcoBillingTransaction[]; }; - meta: { - [k: string]: unknown; - }; - [k: string]: unknown; + links: LinksPaginated; + meta: MetaPaginated; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +/** + * Object containing usage summary. + */ +export interface TelcoUsage { + data?: TelcoUsageData; + messaging?: TelcoUsageMessaging; + voice?: TelcoUsageVoice; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ -export interface TelcoUsageListResponseData { +/** + * Summary of data usage. + */ +export interface TelcoUsageData { /** - * Array of usage on accounts + * Cost amount of data usage. */ - accounts: Array<{ - /** - * Tokenised ID of the account. In accordance with [CDR ID permanence](#id-permanence) requirements - */ - accountId: string; - /** - * List of services that are part of the account - */ - services: Array<{ - service: { - /** - * Optional description of the service used for display purposes - */ - displayName?: string | null; - /** - * Date when the usage period ends - */ - endDate?: string | null; - /** - * Required if the service includes a phone number - */ - phoneNumber?: string | null; - /** - * Tokenised ID of the service identifier. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). To be created in accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId: string; - /** - * Date when the usage period started - */ - startDate: string; - /** - * Object containing usage summary - */ - usage?: { - /** - * Summary of data usage - */ - data?: { - /** - * Cost amount of data usage - */ - amount: string; - /** - * Amount of data downloaded in megabytes (MB) - */ - download: number; - /** - * Required if roaming is suipported - */ - roaming?: { - /** - * Amount value of data roaming charges - */ - amount?: string | null; - /** - * Amount of data used while roaming in megabytes (MB) - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Number of data sessions - */ - sessions?: number | null; - /** - * Amount of data uploaded in megabytes (MB) - */ - upload: number; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS usage - */ - mms: { - /** - * Cost amount of MMS messages - */ - amount: string; - /** - * ber of international MMS messages sent - */ - international?: number | null; - /** - * Number of national MMS messages sent - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Summary of SMS usage - */ - sms: { - /** - * Cost amount of SMS messages. Including premium SMS services - */ - amount: string; - /** - * Number of international SMS messages sent. Including premium SMS services - */ - international?: number | null; - /** - * Number of national SMS messages sent. Including premium SMS services - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice calls. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls. Requied if international calling is supported - */ - international: { - /** - * Cost amount of international voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of international voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of international voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national: { - /** - * Cost amount of national calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of national voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * Roaming voice calls, Required if roaming is supported - */ - roaming: { - /** - * Cost amount of roaming voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of roaming voice calls - */ - number: number; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }>; - [k: string]: unknown; - }>; - [k: string]: unknown; + amount: string; + /** + * Amount of data downloaded in megabytes (MB). + */ + download: number; + /** + * Required if roaming is supported. + */ + roaming?: TelcoUsageDataRoaming; + /** + * Number of data sessions. + */ + sessions?: number | null; + /** + * Amount of data uploaded in megabytes (MB). + */ + upload: number; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * Summary of messaging. Required if messaging services is included in the product plan + * Roaming Data Usage. */ -export interface TelcoUsageMessaging { +export interface TelcoUsageDataRoaming { /** - * Summary of MMS usage + * Amount value of data roaming charges. */ - mms: { - /** - * Cost amount of MMS messages - */ - amount: string; - /** - * ber of international MMS messages sent - */ - international?: number | null; - /** - * Number of national MMS messages sent - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; + amount?: string | null; /** - * Summary of SMS usage + * Amount of data used while roaming in megabytes (MB). */ - sms: { - /** - * Cost amount of SMS messages. Including premium SMS services - */ - amount: string; - /** - * Number of international SMS messages sent. Including premium SMS services - */ - international?: number | null; - /** - * Number of national SMS messages sent. Including premium SMS services - */ - national: number; + download?: number | null; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +export interface TelcoUsageListResponse { + data: { /** - * Number of roaming SMS messages sent. Including premium SMS services + * Array of usage on accounts. */ - roaming?: number | null; - [k: string]: unknown; + accounts: TelcoAccountUsage[]; }; - [k: string]: unknown; + links: Links; + meta: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * Summary of MMS usage + * Summary of messaging. Required if messaging services is included in the product plan. + */ +export interface TelcoUsageMessaging { + mms: TelcoUsageMessagingMms; + sms: TelcoUsageMessagingSms; +} +/* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ + +/** + * Summary of MMS usage. */ export interface TelcoUsageMessagingMms { /** - * Cost amount of MMS messages + * Cost amount of MMS messages. */ amount: string; /** - * ber of international MMS messages sent + * Number of international MMS messages sent. */ international?: number | null; /** - * Number of national MMS messages sent + * Number of national MMS messages sent. */ national: number; /** - * Number of roaming SMS messages sent. Including premium SMS services + * Number of roaming SMS messages sent. Including premium SMS services. */ roaming?: number | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * Summary of SMS usage + * Summary of SMS usage. */ export interface TelcoUsageMessagingSms { /** - * Cost amount of SMS messages. Including premium SMS services + * Cost amount of SMS messages. Including premium SMS services. */ amount: string; /** - * Number of international SMS messages sent. Including premium SMS services + * Number of international SMS messages sent. Including premium SMS services. */ international?: number | null; /** - * Number of national SMS messages sent. Including premium SMS services + * Number of national SMS messages sent. Including premium SMS services. */ national: number; /** - * Number of roaming SMS messages sent. Including premium SMS services + * Number of roaming SMS messages sent. Including premium SMS services. */ roaming?: number | null; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ export interface TelcoUsageResponse { - data: { - /** - * Tokenised ID of the account. In accordance with [CDR ID permanence](#id-permanence) requirements - */ - accountId: string; - /** - * List of services that are part of the account - */ - services: Array<{ - service: { - /** - * Optional description of the service used for display purposes - */ - displayName?: string | null; - /** - * Date when the usage period ends - */ - endDate?: string | null; - /** - * Required if the service includes a phone number - */ - phoneNumber?: string | null; - /** - * Tokenised ID of the service identifier. E.g. a mobile [MSISDN](https://www.etsi.org/deliver/etsi_gts/03/0303/05.00.00_60/gsmts_0303v050000p.pdf), [FNN](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf) or internet service e.g [NBN AVC Service ID](https://www.nbnco.com.au/content/dam/nbnco2/documents/sfaa-wba2-dictionary_FTTN-launch.pdf). To be created in accordance with [CDR ID permanence](#id-permanence) requirements - */ - serviceId: string; - /** - * Date when the usage period started - */ - startDate: string; - /** - * Object containing usage summary - */ - usage?: { - /** - * Summary of data usage - */ - data?: { - /** - * Cost amount of data usage - */ - amount: string; - /** - * Amount of data downloaded in megabytes (MB) - */ - download: number; - /** - * Required if roaming is suipported - */ - roaming?: { - /** - * Amount value of data roaming charges - */ - amount?: string | null; - /** - * Amount of data used while roaming in megabytes (MB) - */ - download?: number | null; - [k: string]: unknown; - }; - /** - * Number of data sessions - */ - sessions?: number | null; - /** - * Amount of data uploaded in megabytes (MB) - */ - upload: number; - [k: string]: unknown; - }; - /** - * Summary of messaging. Required if messaging services is included in the product plan - */ - messaging?: { - /** - * Summary of MMS usage - */ - mms: { - /** - * Cost amount of MMS messages - */ - amount: string; - /** - * ber of international MMS messages sent - */ - international?: number | null; - /** - * Number of national MMS messages sent - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - /** - * Summary of SMS usage - */ - sms: { - /** - * Cost amount of SMS messages. Including premium SMS services - */ - amount: string; - /** - * Number of international SMS messages sent. Including premium SMS services - */ - international?: number | null; - /** - * Number of national SMS messages sent. Including premium SMS services - */ - national: number; - /** - * Number of roaming SMS messages sent. Including premium SMS services - */ - roaming?: number | null; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - /** - * Summary of voice calls. Required if voice calls are included in product plan - */ - voice?: { - /** - * International voice calls. Requied if international calling is supported - */ - international: { - /** - * Cost amount of international voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of international voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of international voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national: { - /** - * Cost amount of national calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of national voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * Roaming voice calls, Required if roaming is supported - */ - roaming: { - /** - * Cost amount of roaming voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of roaming voice calls - */ - number: number; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }; - [k: string]: unknown; - }>; - [k: string]: unknown; - }; - links: { - /** - * Fully qualified link that generated the current response document - */ - self: string; - [k: string]: unknown; - }; - meta: { - [k: string]: unknown; - }; - [k: string]: unknown; + data: TelcoAccountUsage; + links: Links; + meta: Meta; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * Summary of voice calls. Required if voice calls are included in product plan + * Summary of voice calls. Required if voice calls are included in product plan. */ export interface TelcoUsageVoice { - /** - * International voice calls. Requied if international calling is supported - */ - international: { - /** - * Cost amount of international voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of international voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of international voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * National voice calls - */ - national: { - /** - * Cost amount of national calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of national voice calls - */ - number: number; - [k: string]: unknown; - }; - /** - * Roaming voice calls, Required if roaming is supported - */ - roaming: { - /** - * Cost amount of roaming voice calls - */ - amount: string; - /** - * Total duration (hours, minutes, and seconds) of roaming voice calls. Not limited to 24hrs - */ - duration: string; - /** - * Number of roaming voice calls - */ - number: number; - [k: string]: unknown; - }; - [k: string]: unknown; + international: TelcoUsageVoiceInternational; + national: TelcoUsageVoiceNational; + roaming: TelcoUsageVoiceRoaming; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * International voice calls. Requied if international calling is supported + * International voice calls. Required if international calling is supported. */ export interface TelcoUsageVoiceInternational { /** - * Cost amount of international voice calls + * Cost amount of international voice calls. */ amount: string; /** - * Total duration (hours, minutes, and seconds) of international voice calls. Not limited to 24hrs + * Total duration (hours, minutes, and seconds) of international voice calls. Not limited to 24hrs. */ duration: string; /** - * Number of international voice calls + * Number of international voice calls. */ number: number; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * National voice calls + * National voice calls. */ export interface TelcoUsageVoiceNational { /** - * Cost amount of national calls + * Cost amount of national calls. */ amount: string; /** - * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs + * Total duration (hours, minutes, and seconds) of national voice calls. Not limited to 24hrs. */ duration: string; /** - * Number of national voice calls + * Number of national voice calls. */ number: number; - [k: string]: unknown; } /* These are the schema definitions stipulated by the Data Standards Body for the telco api. */ /** - * Roaming voice calls, Required if roaming is supported + * Roaming voice calls, Required if roaming is supported. */ export interface TelcoUsageVoiceRoaming { /** - * Cost amount of roaming voice calls + * Cost amount of roaming voice calls. */ amount: string; /** - * Total duration (hours, minutes, and seconds) of roaming voice calls. Not limited to 24hrs + * Total duration (hours, minutes, and seconds) of roaming voice calls. Not limited to 24hrs. */ duration: string; /** - * Number of roaming voice calls + * Number of roaming voice calls. */ number: number; - [k: string]: unknown; } diff --git a/types/office-js-preview/index.d.ts b/types/office-js-preview/index.d.ts index 70446f93fe8c56..540e3c45a6cbbd 100644 --- a/types/office-js-preview/index.d.ts +++ b/types/office-js-preview/index.d.ts @@ -25874,8 +25874,6 @@ declare namespace Excel { tooManyCells = "TooManyCells", /** * An error caused by a cell's formula evaluating to a lambda value. Displays as error type #CALC! in Excel. - * - * Warning: `lambdaInCell` was deprecated in ExcelApi 1.19. * * @deprecated Deprecated since ExcelApi 1.19. * @@ -25985,7 +25983,15 @@ declare namespace Excel { * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - functionInCell = "FunctionInCell" + functionInCell = "FunctionInCell", + /** + * An error caused by a formula generating a request containing images that's too large for an external code service. Displays as error type #CALC! in Excel. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + imageExceedsSizeLimit = "ImageExceedsSizeLimit" } /** * Represents the value of a cell containing a #CALC! error. @@ -26030,7 +26036,7 @@ declare namespace Excel { * @remarks * [Api set: ExcelApi 1.16] */ - errorSubType?: CalcErrorCellValueSubType | "Unknown" | "ArrayOfArrays" | "ArrayOfRanges" | "EmptyArray" | "UnsupportedLifting" | "DataTableReferencedPendingFormula" | "TooManyCells" | "LambdaInCell" | "TooDeeplyNested" | "TextOverflow" | "RequestTooLarge" | "PythonGridQuery" | "PythonPowerQueryDataUploadEtagChanged" | "PythonPowerQueryDataUploadSizeLimitExceeded" | "InvalidPythonObject" | "QueryInCell" | "UninitializedPythonObject" | "ExternalQueryRef" | "ERegexReplaceCharLimit" | "UnexpectedReturnValue" | "FunctionInCell"; + errorSubType?: CalcErrorCellValueSubType | "Unknown" | "ArrayOfArrays" | "ArrayOfRanges" | "EmptyArray" | "UnsupportedLifting" | "DataTableReferencedPendingFormula" | "TooManyCells" | "LambdaInCell" | "TooDeeplyNested" | "TextOverflow" | "RequestTooLarge" | "PythonGridQuery" | "PythonPowerQueryDataUploadEtagChanged" | "PythonPowerQueryDataUploadSizeLimitExceeded" | "InvalidPythonObject" | "QueryInCell" | "UninitializedPythonObject" | "ExternalQueryRef" | "ERegexReplaceCharLimit" | "UnexpectedReturnValue" | "FunctionInCell" | "ImageExceedsSizeLimit"; /** * Represents the name of the function causing the error. * @@ -34244,7 +34250,14 @@ declare namespace Excel { * The RequestContext object facilitates requests to the Excel application. Since the Office add-in and the Excel application run in two different processes, the request context is required to get access to the Excel object model from the add-in. */ class RequestContext extends OfficeCore.RequestContext { - constructor(url?: string | Session); + constructor(url?: string | Session, invocation?: { + invocationId: number; + isInCFSyncScenario: boolean; + }); + setInvocation(invocation: { + invocationId: number; + isInCFSyncScenario: boolean; + }): void; readonly workbook: Workbook; readonly application: Application; /** @@ -35545,7 +35558,7 @@ declare namespace Excel { */ priority: number; /** - * Gets or sets the date and time the task should start and is due. + * Specifies the date and time the task should start and is due. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] @@ -37808,7 +37821,7 @@ declare namespace Excel { */ interface ChangedEventDetail { /** - * Represents the value after the change. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the value after the change. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. * * @remarks * [Api set: ExcelApi 1.9] @@ -37831,7 +37844,7 @@ declare namespace Excel { */ valueAsJsonBefore: CellValue; /** - * Represents the value before the change. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the value before the change. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. * * @remarks * [Api set: ExcelApi 1.9] @@ -39052,6 +39065,14 @@ declare namespace Excel { class Application extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; + /** + * Returns a `window` object that represents the active window (the window on top). Read-only. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + readonly activeWindow: Excel.Window; /** * Provides information based on current system culture settings. This includes the culture names, number formatting, and other culturally dependent settings. * @@ -39068,6 +39089,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.9] */ readonly iterativeCalculation: Excel.IterativeCalculation; + /** + * Returns all the Excel windows. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + readonly windows: Excel.WindowCollection; /** * Returns the Excel calculation engine version used for the last full recalculation. * @@ -39146,6 +39175,26 @@ declare namespace Excel { * @param calculationType Specifies the calculation type to use. See `Excel.CalculationType` for details. */ calculate(calculationType: "Recalculate" | "Full" | "FullRebuild"): void; + /** + * Checks the spelling of a single word. Returns `true` if the word is spelled correctly, otherwise returns `false`. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + * + * @param word The word that you want to check. + * @param options Optional. The options for checking spelling. + */ + checkSpelling(word: string, options?: Excel.CheckSpellingOptions): OfficeExtension.ClientResult; + /** + * Enters editing mode for the selected range in the active worksheet. + This method is equivalent to using "F2" when selecting a cell or range in the Excel UI. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + enterEditingMode(): void; /** * Suspends calculation until the next `context.sync()` is called. Once set, it is the developer's responsibility to re-calc the workbook, to ensure that any dependencies are propagated. * @@ -39162,6 +39211,20 @@ declare namespace Excel { * [Api set: ExcelApi 1.9] */ suspendScreenUpdatingUntilNextSync(): void; + /** + * Returns a `RangeAreas` object that represents the union of two or more `Range` or `RangeAreas` objects. + The input `Range` or `RangeAreas` objects must be from the same worksheet. + The maximum number of parameters is 30, including the first two. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + * + * @param firstRange The first `Range` or `RangeAreas` object. + * @param secondRange The second `Range` or `RangeAreas` object. + * @param additionalRanges Optional. Additional `Range` or `RangeAreas` objects to include in the union, up to 28 more. + */ + union(firstRange: Range | RangeAreas, secondRange: Range | RangeAreas, ...additionalRanges: (Range | RangeAreas)[]): Excel.RangeAreas; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * @@ -39306,14 +39369,6 @@ declare namespace Excel { * [Api set: ExcelApi 1.2] */ readonly functions: Excel.Functions; - /** - * Returns a collection of linked data types that are part of the workbook. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - readonly linkedDataTypes: Excel.LinkedDataTypeCollection; /** * Returns a collection of linked entity data domains that are available in the workbook. * @@ -39577,6 +39632,15 @@ declare namespace Excel { * @param applyChanges A Boolean value that specifies whether the user wants to apply the changes proposed by Copilot shown in Preview Mode (`true`), or discard the changes shown in Preview Mode (`false`). The default value is `false`, as accepting changes should be an active and explicit choice by the user. */ exitPreviewMode(applyChanges: boolean): void; + /** + * Sets focus on the workbook. This causes the Excel grid or the currently active object + to receive keyboard events. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + focus(): void; /** * Gets the currently active cell from the workbook. * @@ -39602,7 +39666,7 @@ declare namespace Excel { getActiveChartOrNullObject(): Excel.Chart; /** * Gets the active shape in the workbook. - Throws an `ItemNotFound` if there is no active shape. + Throws an `ItemNotFound` error if there is no active shape. * * @remarks * [Api set: ExcelApi 1.19] @@ -40083,6 +40147,24 @@ declare namespace Excel { * @param markAllDirty True, to mark all as dirty. */ calculate(markAllDirty: boolean): void; + /** + * Checks the spelling of words in this worksheet. This method opens the Spelling dialog box in the Excel UI. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + * + * @param options Optional. The options for checking spelling. + */ + checkSpelling(options?: Excel.CheckSpellingOptions): void; + /** + * Clears the tracer arrows from the worksheet. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + clearArrows(): void; /** * Copies a worksheet and places it at the specified position. * @@ -40112,6 +40194,16 @@ declare namespace Excel { * [Api set: ExcelApi 1.1] */ delete(): void; + /** + * Returns the evaluation result of a formula string. Only formula input is supported. If the formula name is invalid, the `InvalidArgument` error is thrown. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + * + * @param name The name of the formula to run. + */ + evaluate(name: string): OfficeExtension.ClientResult; /** * Finds all occurrences of the given string based on the criteria specified and returns them as a `RangeAreas` object, comprising one or more rectangular ranges. * @@ -40429,6 +40521,31 @@ declare namespace Excel { */ toJSON(): Excel.Interfaces.WorksheetData; } + /** + * Represents the options for checking spelling. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + interface CheckSpellingOptions { + /** + * Optional. A string that indicates the file name of the custom dictionary to be examined if the word isn't found in the main dictionary. If this argument is omitted, Excel's currently specified dictionary is used. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + customDictionary?: string; + /** + * Optional. Set to `true` to ignore words that are all uppercase. Set to `false` to check words that are all uppercase. If this argument is omitted, Excel's current setting is used. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + ignoreUppercase?: boolean; + } /** * Represents a collection of worksheet objects that are part of the workbook. * @@ -41184,6 +41301,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.18] */ control: CellControl; + /** + * Specifies the array formula of a range. If the specified range doesn't contain an array formula, this property returns `null`. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + formulaArray: string; /** * Represents the formula in A1-style notation. If a cell has no formula, its value is returned instead. * @@ -41347,7 +41472,7 @@ declare namespace Excel { */ readonly valueTypes: Excel.RangeValueType[][]; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -41356,7 +41481,7 @@ declare namespace Excel { values: any[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `Range.valuesAsJsonLocal`. * * @remarks @@ -41365,7 +41490,7 @@ declare namespace Excel { valuesAsJson: CellValue[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `Range.valuesAsJson`. * * @remarks @@ -41422,6 +41547,16 @@ declare namespace Excel { * [Api set: ExcelApi 1.6] */ calculate(): void; + /** + * Checks the spelling of words in this range. This method opens the Spelling dialog box in the Excel UI. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + * + * @param options Optional. The options for checking spelling. + */ + checkSpelling(options?: Excel.CheckSpellingOptions): void; /** * Clear range values and formatting, such as fill and border. * @@ -42111,6 +42246,16 @@ declare namespace Excel { * [Api set: ExcelApi 1.7] */ showCard(): void; + /** + * Draws tracer arrows to the direct dependents of the range. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + * + * @param remove Optional. Set to `true` to remove one level of tracer arrows to direct dependents. Set to `false` to expand one level of tracer arrows. The default value is `false`. + */ + showDependents(remove?: boolean): void; /** * Shows the details of the row or column group. * @@ -42129,6 +42274,16 @@ declare namespace Excel { * @param groupOption Specifies whether to show the details of grouped rows or grouped columns. */ showGroupDetails(groupOption: "ByRows" | "ByColumns"): void; + /** + * Draws tracer arrows to the direct precedents of the range. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + * + * @param remove Optional. Set to `true` to remove one level of tracer arrows to direct precedents. Set to `false` to expand one level of tracer arrows. The default value is `false`. + */ + showPrecedents(remove?: boolean): void; /** * Sets the marshaling mode of the Python in Excel formula =PY. * @@ -43281,7 +43436,7 @@ declare namespace Excel { */ readonly valueTypes: Excel.RangeValueType[][]; /** - * Represents the raw values of the specified range view. The data returned could be of type string, number, or a boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range view. The data returned could be of type string, number, or a Boolean. Cells that contain an error will return the error string. * * @remarks * [Api set: ExcelApi 1.3] @@ -43289,7 +43444,7 @@ declare namespace Excel { values: any[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `RangeView.valuesAsJsonLocal`. * * @remarks @@ -43298,7 +43453,7 @@ declare namespace Excel { valuesAsJson: CellValue[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `RangeView.valuesAsJson`. * * @remarks @@ -43707,7 +43862,7 @@ declare namespace Excel { readonly value: any; /** * A JSON representation of the values in this named item. - Unlike `NamedItem.value`, `NamedItem.valueAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItem.value`, `NamedItem.valueAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `NamedItem.valueAsJsonLocal`. * * @remarks @@ -43716,7 +43871,7 @@ declare namespace Excel { readonly valueAsJson: CellValue | string; /** * A JSON representation of the values in this named item. - Unlike `NamedItem.value`, `NamedItem.valueAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItem.value`, `NamedItem.valueAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `NamedItem.valueAsJson`. * * @remarks @@ -43813,7 +43968,7 @@ declare namespace Excel { readonly values: any[][]; /** * A JSON representation of the values in this named item array. - Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `NamedItemArrayValues.valuesAsJsonLocal`. * * @remarks @@ -43822,7 +43977,7 @@ declare namespace Excel { readonly valuesAsJson: CellValue[][]; /** * A JSON representation of the values in this named item array. - Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `NamedItemArrayValues.valuesAsJson`. * * @remarks @@ -44125,7 +44280,7 @@ declare namespace Excel { * [Api set: ExcelApi 1.1] * * @param address A `Range` object, or a string address or name of the range representing the data source. If the address does not contain a sheet name, the currently-active sheet is used. [Api set: ExcelApi 1.1 / 1.3. Prior to ExcelApi 1.3, this parameter must be a string. Starting with Excel Api 1.3, this parameter may be a Range object or a string.] - * @param hasHeaders A boolean value that indicates whether the data being imported has column labels. If the source does not contain headers (i.e., when this property set to `false`), Excel will automatically generate a header and shift the data down by one row. + * @param hasHeaders A Boolean value that indicates whether the data being imported has column labels. If the source does not contain headers (i.e., when this property set to `false`), Excel will automatically generate a header and shift the data down by one row. */ add(address: Range | string, hasHeaders: boolean): Excel.Table; /** @@ -44347,6 +44502,30 @@ declare namespace Excel { * [Api set: ExcelApi 1.2] */ readonly worksheet: Excel.Worksheet; + /** + * Specifies the alternative text for accessibility. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + altTextDescription: string; + /** + * Specifies a summary for the table, such as one used by screen readers. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + altTextTitle: string; + /** + * Specifies a comment associated with the table. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + comment: string; /** * Specifies if the first column contains special formatting. * @@ -44368,6 +44547,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.1] */ readonly id: string; + /** + * Retrieves whether the table is currently active. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + readonly isActive: boolean; /** * Returns a numeric ID. * @@ -44419,6 +44606,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.1] */ showTotals: boolean; + /** + * Retrieves the data source type from which the table originates. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + readonly source: Excel.TableSource | "External" | "Range" | "Xml" | "Query" | "Model"; /** * Constant value that represents the table style. Possible values are: "TableStyleLight1" through "TableStyleLight21", "TableStyleMedium1" through "TableStyleMedium28", "TableStyleDark1" through "TableStyleDark11". A custom user-defined style present in the workbook can also be specified. * @@ -44572,6 +44767,44 @@ declare namespace Excel { */ toJSON(): Excel.Interfaces.TableData; } + /** + * Specifies the data source type for a table. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + enum TableSource { + /** + * An external data source. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + */ + external = "External", + /** + * An Excel range object. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + */ + range = "Range", + /** + * An XML file. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + */ + xml = "Xml", + /** + * A Power Query query. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + */ + query = "Query", + /** + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + */ + model = "Model" + } /** * Represents a collection of all the columns that are part of the table. * @@ -44711,7 +44944,7 @@ declare namespace Excel { */ name: string; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -44720,7 +44953,7 @@ declare namespace Excel { values: any[][]; /** * A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableColumn.valuesAsJsonLocal`. * * @remarks @@ -44729,7 +44962,7 @@ declare namespace Excel { valuesAsJson: CellValue[][]; /** * A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableColumn.valuesAsJson`. * * @remarks @@ -44951,7 +45184,7 @@ declare namespace Excel { */ readonly index: number; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -44960,7 +45193,7 @@ declare namespace Excel { values: any[][]; /** * A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableRow.valuesAsJsonLocal`. * * @remarks @@ -44969,7 +45202,7 @@ declare namespace Excel { valuesAsJson: CellValue[][]; /** * A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableRow.valuesAsJson`. * * @remarks @@ -45325,7 +45558,7 @@ declare namespace Excel { inCellDropDown: boolean; /** * Source of the list for data validation - When setting the value, it can be passed in as a `Range` object, or a string that contains a comma-separated number, boolean, or date. + When setting the value, it can be passed in as a `Range` object, or a string that contains a comma-separated number, Boolean, or date. * * @remarks * [Api set: ExcelApi 1.8] @@ -49471,7 +49704,7 @@ declare namespace Excel { */ position: Excel.ChartTitlePosition | "Automatic" | "Top" | "Bottom" | "Left" | "Right"; /** - * Represents a boolean value that determines if the chart title has a shadow. + * Represents a Boolean value that determines if the chart title has a shadow. * * @remarks * [Api set: ExcelApi 1.7] @@ -53904,7 +54137,7 @@ declare namespace Excel { */ readonly key: string; /** - * Gets or sets the value of the custom property. + * Specifies the value of the custom property. * * @remarks * [Api set: ExcelApi 1.12] @@ -55590,6 +55823,9 @@ declare namespace Excel { * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * + * @remarks + * [Api set: ExcelApi 1.20] */ load(propertyNamesAndPaths?: { select?: string; @@ -55699,6 +55935,9 @@ declare namespace Excel { * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * + * @remarks + * [Api set: ExcelApi 1.20] */ load(propertyNamesAndPaths?: { select?: string; @@ -55785,6 +56024,9 @@ declare namespace Excel { * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * + * @remarks + * [Api set: ExcelApi 1.20] */ load(propertyNamesAndPaths?: { select?: string; @@ -55843,6 +56085,9 @@ declare namespace Excel { * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * + * @remarks + * [Api set: ExcelApi 1.20] */ load(propertyNamesAndPaths?: { select?: string; @@ -55908,6 +56153,9 @@ declare namespace Excel { * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * + * @remarks + * [Api set: ExcelApi 1.20] */ load(propertyNamesAndPaths?: { select?: string; @@ -57054,6 +57302,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.9] */ readonly headersFooters: Excel.HeaderFooterGroup; + /** + * Specifies whether Excel aligns the header and the footer with the margins set in the page setup options. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + alignMarginsHeaderFooter: boolean; /** * The worksheet's black and white print option. * @@ -57166,6 +57422,16 @@ declare namespace Excel { * [Api set: ExcelApi 1.9] */ printOrder: Excel.PrintOrder | "DownThenOver" | "OverThenDown"; + /** + * Specifies a two-element array that contains both horizontal and vertical print quality values. + The first element is the horizontal print quality, and the second element is the vertical print quality. + Some printers may not support vertical print quality and the supported values may vary by printer. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + printQuality: number[]; /** * The worksheet's right margin, in points, for use when printing. * @@ -57404,6 +57670,54 @@ declare namespace Excel { class HeaderFooter extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the center section of the footer. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + readonly centerFooterPicture: Excel.HeaderFooterPicture; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the center section of the header. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + readonly centerHeaderPicture: Excel.HeaderFooterPicture; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the left section of the footer. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + readonly leftFooterPicture: Excel.HeaderFooterPicture; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the left section of the header. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + readonly leftHeaderPicture: Excel.HeaderFooterPicture; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the right section of the footer. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + readonly rightFooterPicture: Excel.HeaderFooterPicture; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the right section of the header. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + readonly rightHeaderPicture: Excel.HeaderFooterPicture; /** * The center footer of the worksheet. To apply font formatting or insert a variable value, use format codes specified here: https://msdn.microsoft.com/library/bb225426.aspx. @@ -57530,14 +57844,14 @@ declare namespace Excel { */ state: Excel.HeaderFooterState | "Default" | "FirstAndDefault" | "OddAndEven" | "FirstOddAndEven"; /** - * Gets or sets a flag indicating if headers/footers are aligned with the page margins set in the page layout options for the worksheet. + * Specifies a flag indicating if headers/footers are aligned with the page margins set in the page layout options for the worksheet. * * @remarks * [Api set: ExcelApi 1.9] */ useSheetMargins: boolean; /** - * Gets or sets a flag indicating if headers/footers should be scaled by the page percentage scale set in the page layout options for the worksheet. + * Specifies a flag indicating if headers/footers should be scaled by the page percentage scale set in the page layout options for the worksheet. * * @remarks * [Api set: ExcelApi 1.9] @@ -57578,6 +57892,183 @@ declare namespace Excel { */ toJSON(): Excel.Interfaces.HeaderFooterGroupData; } + /** + * Represents a picture in the header or footer of a worksheet. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + class HeaderFooterPicture extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** + * Specifies the brightness of the picture. The value for this property must be a number from 0.0 (dimmest) to 1.0 (brightest). + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + brightness: number; + /** + * Specifies the type of color transformation of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + colorType: Excel.PictureColorType | "Mixed" | "Automatic" | "GrayScale" | "BlackAndWhite" | "Watermark"; + /** + * Specifies the contrast of the picture. The value for this property must be a number from 0.0 (least contrast) to 1.0 (most contrast). + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + contrast: number; + /** + * Specifies the number of points that are cropped off the bottom of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropBottom: number; + /** + * Specifies the number of points that are cropped off the left side of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropLeft: number; + /** + * Specifies the number of points that are cropped off the right side of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropRight: number; + /** + * Specifies the number of points that are cropped off the top of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropTop: number; + /** + * Specifies the URL (on the intranet or the web) or path (local or network) to the location where the source object is saved. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + filename: string; + /** + * Specifies the height of the picture in points. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + height: number; + /** + * Specifies a value that indicates whether the picture retains its original proportions when resized. `true` if it retains its proportions; otherwise, `false`. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + lockAspectRatio: boolean; + /** + * Specifies the width of the picture in points. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + width: number; + /** + * Sets multiple properties of an object at the same time. You can pass either a plain object with the appropriate properties, or another API object of the same type. + * @param properties A JavaScript object with properties that are structured isomorphically to the properties of the object on which the method is called. + * @param options Provides an option to suppress errors if the properties object tries to set any read-only properties. + */ + set(properties: Interfaces.HeaderFooterPictureUpdateData, options?: OfficeExtension.UpdateOptions): void; + /** Sets multiple properties on the object at the same time, based on an existing loaded object. */ + set(properties: Excel.HeaderFooterPicture): void; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: Excel.Interfaces.HeaderFooterPictureLoadOptions): Excel.HeaderFooterPicture; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): Excel.HeaderFooterPicture; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): Excel.HeaderFooterPicture; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `Excel.HeaderFooterPicture` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `Excel.Interfaces.HeaderFooterPictureData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): Excel.Interfaces.HeaderFooterPictureData; + } + /** + * Specifies the color transformation of a picture in the header or footer of a worksheet. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + enum PictureColorType { + /** + * Mixed transformation. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + mixed = "Mixed", + /** + * Default color transformation. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + automatic = "Automatic", + /** + * Grayscale transformation. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + grayScale = "GrayScale", + /** + * Black-and-white transformation. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + blackAndWhite = "BlackAndWhite", + /** + * Watermark transformation. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + watermark = "Watermark" + } /** * @remarks * [Api set: ExcelApi 1.9] @@ -59045,6 +59536,62 @@ declare namespace Excel { * [Api set: ExcelApi 1.9] */ readonly shape: Excel.Shape; + /** + * Specifies the brightness of the image. The value for this property must be a number from 0.0 (dimmest) to 1.0 (brightest). + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + brightness: number; + /** + * Specifies the type of color transformation applied to the image. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + colorType: Excel.PictureColorType | "Mixed" | "Automatic" | "GrayScale" | "BlackAndWhite" | "Watermark"; + /** + * Specifies the contrast of the image. The value for this property must be a number from 0.0 (the least contrast) to 1.0 (the greatest contrast). + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + contrast: number; + /** + * Specifies the number of points that are cropped off the bottom of the image. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropBottom: number; + /** + * Specifies the number of points that are cropped off the left side of the image. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropLeft: number; + /** + * Specifies the number of points that are cropped off the right side of the image. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropRight: number; + /** + * Specifies the number of points that are cropped off the top of the image. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropTop: number; /** * Specifies the shape identifier for the image object. * @@ -59059,6 +59606,34 @@ declare namespace Excel { * [Api set: ExcelApi 1.9] */ readonly format: Excel.PictureFormat | "UNKNOWN" | "BMP" | "JPEG" | "GIF" | "PNG" | "SVG"; + /** + * Sets multiple properties of an object at the same time. You can pass either a plain object with the appropriate properties, or another API object of the same type. + * @param properties A JavaScript object with properties that are structured isomorphically to the properties of the object on which the method is called. + * @param options Provides an option to suppress errors if the properties object tries to set any read-only properties. + */ + set(properties: Interfaces.ImageUpdateData, options?: OfficeExtension.UpdateOptions): void; + /** Sets multiple properties on the object at the same time, based on an existing loaded object. */ + set(properties: Excel.Image): void; + /** + * Increments the brightness of the image by a specified amount. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + * + * @param increment Specifies how much to change the value of the Brightness property for the picture. A positive value makes the picture brighter; a negative value makes the picture darker. + */ + incrementBrightness(increment: number): void; + /** + * Increments the contrast of the image by a specified amount. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + * + * @param increment Specifies how much to change the value of the Contrast property for the picture. A positive value increases the contrast; a negative value decreases the contrast. + */ + incrementContrast(increment: number): void; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * @@ -59825,6 +60400,45 @@ declare namespace Excel { * [Api set: ExcelApi 1.9] */ size: number; + /** + * Specifies the strikethrough status of font. A `null` value indicates that the entire range doesn't have a uniform strikethrough setting. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + strikethrough: boolean; + /** + * Specifies the subscript status of font. + Returns `true` if all the fonts of the range are subscript. + Returns `false` if all the fonts of the range are superscript or normal (neither superscript, nor subscript). + Returns `null` otherwise. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + subscript: boolean; + /** + * Specifies the superscript status of font. + Returns `true` if all the fonts of the range are superscript. + Returns `false` if all the fonts of the range are subscript or normal (neither superscript, nor subscript). + Returns `null` otherwise. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + superscript: boolean; + /** + * Specifies a double that lightens or darkens a color for the range font. The value is between -1 (darkest) and 1 (brightest), with 0 for the original color. + A `null` value indicates that the entire range doesn't have a uniform font `tintAndShade` setting. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + tintAndShade: number; /** * Type of underline applied to the font. Returns `null` if the `TextRange` includes text fragments with different underline styles. See `Excel.ShapeFontUnderlineStyle` for details. * @@ -60286,379 +60900,6 @@ declare namespace Excel { */ toJSON(): Excel.Interfaces.SlicerItemCollectionData; } - /** - * Represents a linked data type. - A linked data type is a data type connected to an online data source. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - class LinkedDataType extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; - /** - * The name of the data provider for the linked data type. This may change when information is retrieved from the service. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - readonly dataProvider: string; - /** - * The local time-zone date and time since the workbook was opened when the linked data type was last refreshed. - Returns `undefined` if the linked data type has not been refreshed. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - readonly lastRefreshed: Date; - /** - * The name of the linked data type. This may change when information is retrieved from the service. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - readonly name: string; - /** - * The frequency, in seconds, at which the linked data type is refreshed if `refreshMode` is set to "Periodic". - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - readonly periodicRefreshInterval: number; - /** - * The mechanism by which the data for the linked data type is retrieved. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - readonly refreshMode: Excel.LinkedDataTypeRefreshMode | "Unknown" | "Manual" | "OnLoad" | "Periodic"; - /** - * The unique ID of the linked data type. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - readonly serviceId: number; - /** - * Returns an array with all the refresh modes supported by the linked data type. The contents of the array may change when information is retrieved from the service. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - readonly supportedRefreshModes: Excel.LinkedDataTypeRefreshMode[]; - /** - * Makes a request to refresh the linked data type. If the service is busy or otherwise temporarily inaccessible, the request will not be fulfilled. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - requestRefresh(): void; - /** - * Makes a request to change the refresh mode for this linked data type. - If the given refresh mode is not supported by this linked data type the mode is left unchanged. - If set to "Periodic", the refresh interval is set to a predetermined value based on the particular linked data type. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - * - * @param refreshMode The intended mode to which this linked data type is requested to change. - */ - requestSetRefreshMode(refreshMode: Excel.LinkedDataTypeRefreshMode): void; - /** - * Makes a request to change the refresh mode for this linked data type. - If the given refresh mode is not supported by this linked data type the mode is left unchanged. - If set to "Periodic", the refresh interval is set to a predetermined value based on the particular linked data type. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - * - * @param refreshMode The intended mode to which this linked data type is requested to change. - */ - requestSetRefreshMode(refreshMode: "Unknown" | "Manual" | "OnLoad" | "Periodic"): void; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. - */ - load(options?: Excel.Interfaces.LinkedDataTypeLoadOptions): Excel.LinkedDataType; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. - */ - load(propertyNames?: string | string[]): Excel.LinkedDataType; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. - */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): Excel.LinkedDataType; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `Excel.LinkedDataType` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `Excel.Interfaces.LinkedDataTypeData`) that contains shallow copies of any loaded child properties from the original object. - */ - toJSON(): Excel.Interfaces.LinkedDataTypeData; - } - /** - * Represents a collection of linked data types. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - class LinkedDataTypeCollection extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; - /** Gets the loaded child items in this collection. */ - readonly items: Excel.LinkedDataType[]; - /** - * Gets the number of linked data types in the collection. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - getCount(): OfficeExtension.ClientResult; - /** - * Gets a linked data type by service ID. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - * - * @param key The ID of the linked data type. - */ - getItem(key: number): Excel.LinkedDataType; - /** - * Gets a linked data type by its index in the collection. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - * - * @param index The index of the linked data type object in the collection. - * @returns The linked data type at the given index. - */ - getItemAt(index: number): Excel.LinkedDataType; - /** - * Gets a linked data type by ID. - If the linked data type doesn't exist, then this method returns an object with its `isNullObject` property set to `true`. - For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - * - * @param key The service ID of the linked data type. - */ - getItemOrNullObject(key: number): Excel.LinkedDataType; - /** - * Makes a request to refresh all the linked data types in the collection. - If the service is busy or otherwise temporarily inaccessible, the request will not be fulfilled. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - requestRefreshAll(): void; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. - */ - load(options?: Excel.Interfaces.LinkedDataTypeCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.LinkedDataTypeCollection; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. - */ - load(propertyNames?: string | string[]): Excel.LinkedDataTypeCollection; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. - */ - load(propertyNamesAndPaths?: OfficeExtension.LoadOption): Excel.LinkedDataTypeCollection; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `Excel.LinkedDataTypeCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `Excel.Interfaces.LinkedDataTypeCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ - toJSON(): Excel.Interfaces.LinkedDataTypeCollectionData; - } - /** - * Representation of a refresh mode. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - enum LinkedDataTypeRefreshMode { - /** - * Refresh mode is unknown or unsupported. - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - unknown = "Unknown", - /** - * Manual refresh. Refresh does not get triggered automatically. - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - manual = "Manual", - /** - * Refresh on workbook load only. - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - onLoad = "OnLoad", - /** - * Refresh periodically based on an interval. It will also trigger a refresh on workbook load. - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - periodic = "Periodic" - } - /** - * The argument that is passed to the event handler upon completion of refresh request to an external service or link. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - interface RefreshRequestCompletedEventArgs { - /** - * Indicates if the request to refresh was successful. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - refreshed: boolean; - /** - * The unique ID of the object whose refresh request was completed. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - serviceId: number; - /** - * Gets the source of the event. See `Excel.EventSource` for details. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - source: Excel.EventSource | "Local" | "Remote"; - /** - * Gets the type of the event. See `Excel.EventType` for details. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - type: "LinkedDataTypeRefreshRequestCompleted"; - /** - * An array that contains any warnings generated from the refresh request. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - warnings?: string[]; - } - /** - * Represents information about a newly added linked data type, such as source and ID. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - interface RefreshModeChangedEventArgs { - /** - * The linked data type refresh mode. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - refreshMode: Excel.LinkedDataTypeRefreshMode | "Unknown" | "Manual" | "OnLoad" | "Periodic"; - /** - * The unique ID of the object whose refresh mode was changed. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - serviceId: number; - /** - * Gets the source of the event. See `Excel.EventSource` for details. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - source: Excel.EventSource | "Local" | "Remote"; - /** - * Gets the type of the event. See `Excel.EventType` for details. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - type: "LinkedDataTypeRefreshModeChanged"; - } - /** - * The argument that is passed to the event handler after a new linked data type is added to the workbook. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - interface LinkedDataTypeAddedEventArgs { - /** - * The unique ID of the new linked data type. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - serviceId: number; - /** - * Gets the source of the event. See `Excel.EventSource` for details. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - source: Excel.EventSource | "Local" | "Remote"; - /** - * Gets the type of the event. See `Excel.EventType` for details. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - type: "LinkedDataTypeLinkedDataTypeAdded"; - } /** * Represents a specific category or field of information that shares some common characteristics or attributes. A data domain is linked to a data provider, that acts as the data source for `LinkedEntityCellValue` objects in the workbook. @@ -65521,24 +65762,6 @@ declare namespace Excel { * [Api set: ExcelApi 1.7] */ commentChanged = "CommentChanged", - /** - * `RefreshRequestCompleted` represents the type of event registered on a `LinkedDataType` and occurs when a request to refresh a data source is completed. - * @remarks - * [Api set: ExcelApi 1.7] - */ - linkedDataTypeRefreshRequestCompleted = "LinkedDataTypeRefreshRequestCompleted", - /** - * `RefreshModeChanged` represents the type of event registered on a `LinkedDataType` and occurs when the linked data type refresh mode is changed. - * @remarks - * [Api set: ExcelApi 1.7] - */ - linkedDataTypeRefreshModeChanged = "LinkedDataTypeRefreshModeChanged", - /** - * `LinkedDataTypeAdded` represents the type of event registered on a `LinkedDataType` and occurs when a new linked data type is added to the workbook. - * @remarks - * [Api set: ExcelApi 1.7] - */ - linkedDataTypeLinkedDataTypeAdded = "LinkedDataTypeLinkedDataTypeAdded", /** * `WorksheetFormulaChanged` represents the type of event registered on a worksheet and occurs when a formula is changed. * @remarks @@ -67642,7 +67865,7 @@ declare namespace Excel { */ enum SpecialCellValueType { /** - * Cells that have errors, boolean, numeric, or string values. + * Cells that have errors, Boolean, numeric, or string values. * @remarks * [Api set: ExcelApi 1.9] */ @@ -67654,7 +67877,7 @@ declare namespace Excel { */ errors = "Errors", /** - * Cells that have errors or boolean values. + * Cells that have errors or Boolean values. * @remarks * [Api set: ExcelApi 1.9] */ @@ -67672,13 +67895,13 @@ declare namespace Excel { */ errorsText = "ErrorsText", /** - * Cells that have errors, boolean, or numeric values. + * Cells that have errors, Boolean, or numeric values. * @remarks * [Api set: ExcelApi 1.9] */ errorsLogicalNumber = "ErrorsLogicalNumber", /** - * Cells that have errors, boolean, or string values. + * Cells that have errors, Boolean, or string values. * @remarks * [Api set: ExcelApi 1.9] */ @@ -67690,25 +67913,25 @@ declare namespace Excel { */ errorsNumberText = "ErrorsNumberText", /** - * Cells that have a boolean value. + * Cells that have a Boolean value. * @remarks * [Api set: ExcelApi 1.9] */ logical = "Logical", /** - * Cells that have a boolean or numeric value. + * Cells that have a Boolean or numeric value. * @remarks * [Api set: ExcelApi 1.9] */ logicalNumbers = "LogicalNumbers", /** - * Cells that have a boolean or string value. + * Cells that have a Boolean or string value. * @remarks * [Api set: ExcelApi 1.9] */ logicalText = "LogicalText", /** - * Cells that have a boolean, numeric, or string value. + * Cells that have a Boolean, numeric, or string value. * @remarks * [Api set: ExcelApi 1.9] */ @@ -68307,7 +68530,7 @@ declare namespace Excel { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; /** - * Gets or sets the name of the sheet view. + * Specifies the name of the sheet view. The temporary sheet view name is the empty string (""). Naming the view by using the name property causes the sheet view to be saved. * * @remarks @@ -68655,591 +68878,1361 @@ declare namespace Excel { toJSON(): Excel.Interfaces.NoteData; } /** - * An object containing the result of a function-evaluation operation + * Represents a window in the workbook. * * @remarks - * [Api set: ExcelApi 1.2] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - class FunctionResult extends OfficeExtension.ClientObject { + class Window extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; /** - * Error value (such as "#DIV/0") representing the error. If the error string is not set, then the function succeeded, and its result is written to the Value field. The error is always in the English locale. + * Specifies the active cell in the window. * * @remarks - * [Api set: ExcelApi 1.2] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - readonly error: string; + readonly activeCell: Excel.Range; /** - * The value of function evaluation. The value field will be populated only if no error has occurred (i.e., the Error property is not set). + * Specifies the active pane in the window. * * @remarks - * [Api set: ExcelApi 1.2] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - readonly value: T; + readonly activePane: Excel.Pane; /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * Specifies the active sheet in the window. * - * @param options Provides options for which properties of the object to load. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - load(options?: Excel.Interfaces.FunctionResultLoadOptions): FunctionResult; + readonly activeWorksheet: Excel.Worksheet; /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * Gets the panes associated with the window. * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - load(propertyNames?: string | string[]): FunctionResult; + readonly panes: Excel.PaneCollection; /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * Gets the range selection in the window. * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - load(propertyNamesAndPaths?: { - select?: string; - expand?: string; - }): FunctionResult; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) - * Whereas the original `FunctionResult` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `Interfaces.FunctionResultData`) that contains shallow copies of any loaded child properties from the original object. - */ - toJSON(): Interfaces.FunctionResultData; - } - /** - * An object for evaluating Excel functions. - * - * @remarks - * [Api set: ExcelApi 1.2] - */ - class Functions extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; + readonly rangeSelection: Excel.RangeAreas; /** - * Returns the absolute value of a number, a number without its sign. + * Gets the visible range of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is the real number for which you want the absolute value. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - abs(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + readonly visibleRange: Excel.Range; /** - * Returns the accrued interest for a security that pays periodic interest. + * Specifies whether AutoFilter date grouping is enabled in the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param issue Is the security's issue date, expressed as a serial date number. - * @param firstInterest Is the security's first interest date, expressed as a serial date number. - * @param settlement Is the security's settlement date, expressed as a serial date number. - * @param rate Is the security's annual coupon rate. - * @param par Is the security's par value. - * @param frequency Is the number of coupon payments per year. - * @param basis Is the type of day count basis to use. - * @param calcMethod Is a logical value: to accrued interest from issue date = TRUE or omitted; to calculate from last coupon payment date = FALSE. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - accrInt(issue: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, firstInterest: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, settlement: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, rate: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, par: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, frequency: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, basis?: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, calcMethod?: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + autoFilterDateGroupingEnabled: boolean; /** - * Returns the accrued interest for a security that pays interest at maturity. + * Specifies a value indicating whether resizing is enabled for the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param issue Is the security's issue date, expressed as a serial date number. - * @param settlement Is the security's maturity date, expressed as a serial date number. - * @param rate Is the security's annual coupon rate. - * @param par Is the security's par value. - * @param basis Is the type of day count basis to use. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - accrIntM(issue: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, settlement: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, rate: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, par: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, basis?: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + readonly enableResize: boolean; /** - * Returns the arccosine of a number, in radians in the range 0 to Pi. The arccosine is the angle whose cosine is Number. + * Specifies a value indicating whether panes are frozen in the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is the cosine of the angle you want and must be from -1 to 1. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - acos(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + freezePanes: boolean; /** - * Returns the inverse hyperbolic cosine of a number. + * Specifies the height of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is any real number equal to or greater than 1. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - acosh(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + height: number; /** - * Returns the arccotangent of a number, in radians in the range 0 to Pi. + * Gets the index of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is the cotangent of the angle you want. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - acot(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + readonly index: number; /** - * Returns the inverse hyperbolic cotangent of a number. + * Specifies the visibility of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is the hyperbolic cotangent of the angle that you want. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - acoth(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + isVisible: boolean; /** - * Returns the prorated linear depreciation of an asset for each accounting period. + * Specifies the left position of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param cost Is the cost of the asset. - * @param datePurchased Is the date the asset is purchased. - * @param firstPeriod Is the date of the end of the first period. - * @param salvage Is the salvage value at the end of life of the asset. - * @param period Is the period. - * @param rate Is the rate of depreciation. - * @param basis Year_basis : 0 for year of 360 days, 1 for actual, 3 for year of 365 days. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - amorDegrc(cost: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, datePurchased: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, firstPeriod: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, salvage: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, period: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, rate: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, basis?: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + left: number; /** - * Returns the prorated linear depreciation of an asset for each accounting period. + * Specifies the name of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param cost Is the cost of the asset. - * @param datePurchased Is the date the asset is purchased. - * @param firstPeriod Is the date of the end of the first period. - * @param salvage Is the salvage value at the end of life of the asset. - * @param period Is the period. - * @param rate Is the rate of depreciation. - * @param basis Year_basis : 0 for year of 360 days, 1 for actual, 3 for year of 365 days. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - amorLinc(cost: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, datePurchased: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, firstPeriod: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, salvage: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, period: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, rate: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, basis?: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + name: string; /** - * Checks whether all arguments are TRUE, and returns TRUE if all arguments are TRUE. + * Specifies the scroll column of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param values List of parameters, whose elements are 1 to 255 conditions you want to test that can be either TRUE or FALSE and can be logical values, arrays, or references. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - and(...values: Array>): FunctionResult; + scrollColumn: number; /** - * Converts a Roman numeral to Arabic. + * Specifies the scroll row of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param text Is the Roman numeral you want to convert. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - arabic(text: string | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + scrollRow: number; /** - * Returns the number of areas in a reference. An area is a range of contiguous cells or a single cell. + * Specifies the display of formulas in the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param reference Is a reference to a cell or range of cells and can refer to multiple areas. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - areas(reference: Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + showFormulas: boolean; /** - * Changes full-width (double-byte) characters to half-width (single-byte) characters. Use with double-byte character sets (DBCS). + * Specifies the display of gridlines in the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param text Is a text, or a reference to a cell containing a text. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - asc(text: string | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + showGridlines: boolean; /** - * Returns the arcsine of a number in radians, in the range -Pi/2 to Pi/2. + * Specifies the display of headings in the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is the sine of the angle you want and must be from -1 to 1. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - asin(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + showHeadings: boolean; /** - * Returns the inverse hyperbolic sine of a number. + * Specifies the display of the horizontal scroll bar in the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is any real number equal to or greater than 1. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - asinh(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + showHorizontalScrollBar: boolean; /** - * Returns the arctangent of a number in radians, in the range -Pi/2 to Pi/2. + * Specifies the display of the outline in the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is the tangent of the angle you want. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - atan(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + showOutline: boolean; /** - * Returns the arctangent of the specified x- and y- coordinates, in radians between -Pi and Pi, excluding -Pi. + * Specifies the display of the right-to-left layout in the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param xNum Is the x-coordinate of the point. - * @param yNum Is the y-coordinate of the point. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - atan2(xNum: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, yNum: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + readonly showRightToLeft: boolean; /** - * Returns the inverse hyperbolic tangent of a number. + * Specifies the display of the ruler in the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is any real number between -1 and 1 excluding -1 and 1. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - atanh(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + showRuler: boolean; /** - * Returns the average of the absolute deviations of data points from their mean. Arguments can be numbers or names, arrays, or references that contain numbers. + * Specifies the display of the vertical scroll bar in the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param values List of parameters, whose elements are 1 to 255 arguments for which you want the average of the absolute deviations. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - aveDev(...values: Array>): FunctionResult; + showVerticalScrollBar: boolean; /** - * Returns the average (arithmetic mean) of its arguments, which can be numbers or names, arrays, or references that contain numbers. + * Specifies the display of whitespace in the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param values List of parameters, whose elements are 1 to 255 numeric arguments for which you want the average. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - average(...values: Array>): FunctionResult; + showWhitespace: boolean; /** - * Returns the average (arithmetic mean) of its arguments, evaluating text and FALSE in arguments as 0; TRUE evaluates as 1. Arguments can be numbers, names, arrays, or references. + * Specifies the display of workbook tabs in the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param values List of parameters, whose elements are 1 to 255 arguments for which you want the average. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - averageA(...values: Array>): FunctionResult; + showWorkbookTabs: boolean; /** - * Finds average(arithmetic mean) for the cells specified by a given condition or criteria. + * Specifies the display of zeros in the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param range Is the range of cells you want evaluated. - * @param criteria Is the condition or criteria in the form of a number, expression, or text that defines which cells will be used to find the average. - * @param averageRange Are the actual cells to be used to find the average. If omitted, the cells in range are used. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - averageIf(range: Excel.Range | Excel.RangeReference | Excel.FunctionResult, criteria: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, averageRange?: Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + showZeros: boolean; /** - * Finds average(arithmetic mean) for the cells specified by a given set of conditions or criteria. + * Specifies the split state of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param averageRange Are the actual cells to be used to find the average. - * @param values List of parameters, where the first element of each pair is the Is the range of cells you want evaluated for the particular condition , and the second element is is the condition or criteria in the form of a number, expression, or text that defines which cells will be used to find the average. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - averageIfs(averageRange: Excel.Range | Excel.RangeReference | Excel.FunctionResult, ...values: Array | number | string | boolean>): FunctionResult; + split: boolean; /** - * Converts a number to text (baht). + * Specifies the split column of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is a number that you want to convert. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - bahtText(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + splitColumn: number; /** - * Converts a number into a text representation with the given radix (base). + * Specifies the horizontal split of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is the number that you want to convert. - * @param radix Is the base Radix that you want to convert the number into. - * @param minLength Is the minimum length of the returned string. If omitted leading zeros are not added. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - base(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, radix: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, minLength?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + splitHorizontal: number; /** - * Returns the modified Bessel function In(x). + * Specifies the split row of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param x Is the value at which to evaluate the function. - * @param n Is the order of the Bessel function. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - besselI(x: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, n: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + splitRow: number; /** - * Returns the Bessel function Jn(x). + * Specifies the vertical split of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param x Is the value at which to evaluate the function. - * @param n Is the order of the Bessel function. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - besselJ(x: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, n: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + splitVertical: number; /** - * Returns the modified Bessel function Kn(x). + * Specifies the tab ratio of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param x Is the value at which to evaluate the function. - * @param n Is the order of the function. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - besselK(x: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, n: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + tabRatio: number; /** - * Returns the Bessel function Yn(x). + * Specifies the top position of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param x Is the value at which to evaluate the function. - * @param n Is the order of the function. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - besselY(x: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, n: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + top: number; /** - * Returns the beta probability distribution function. + * Specifies the type of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param x Is the value between A and B at which to evaluate the function. - * @param alpha Is a parameter to the distribution and must be greater than 0. - * @param beta Is a parameter to the distribution and must be greater than 0. - * @param cumulative Is a logical value: for the cumulative distribution function, use TRUE; for the probability density function, use FALSE. - * @param A Is an optional lower bound to the interval of x. If omitted, A = 0. - * @param B Is an optional upper bound to the interval of x. If omitted, B = 1. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - beta_Dist(x: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, alpha: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, beta: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, cumulative: boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, A?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, B?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + readonly type: Excel.WindowType | "chartAsWindow" | "chartInPlace" | "clipboard" | "workbook"; /** - * Returns the inverse of the cumulative beta probability density function (BETA.DIST). + * Specifies the usable height of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param probability Is a probability associated with the beta distribution. - * @param alpha Is a parameter to the distribution and must be greater than 0. - * @param beta Is a parameter to the distribution and must be greater than 0. - * @param A Is an optional lower bound to the interval of x. If omitted, A = 0. - * @param B Is an optional upper bound to the interval of x. If omitted, B = 1. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - beta_Inv(probability: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, alpha: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, beta: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, A?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, B?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + readonly usableHeight: number; /** - * Converts a binary number to decimal. + * Specifies the usable width of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is the binary number you want to convert. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - bin2Dec(number: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + readonly usableWidth: number; /** - * Converts a binary number to hexadecimal. + * Specifies the view of the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is the binary number you want to convert. - * @param places Is the number of characters to use. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - bin2Hex(number: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, places?: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + view: Excel.WindowView | "normalView" | "pageBreakPreview" | "pageLayoutView"; /** - * Converts a binary number to octal. + * Returns or sets an integer value that represents the display size of the window. It can be set to a percentage between 10 and 400. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is the binary number you want to convert. - * @param places Is the number of characters to use. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - bin2Oct(number: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, places?: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + width: number; /** - * Returns the individual term binomial distribution probability. + * Specifies the window number. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param numberS Is the number of successes in trials. - * @param trials Is the number of independent trials. - * @param probabilityS Is the probability of success on each trial. - * @param cumulative Is a logical value: for the cumulative distribution function, use TRUE; for the probability mass function, use FALSE. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - binom_Dist(numberS: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, trials: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, probabilityS: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, cumulative: boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + readonly windowNumber: number; /** - * Returns the probability of a trial result using a binomial distribution. + * Returns or sets an integer value that represents the display size of the window. It can be set to a percentage between 10 and 400. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param trials Is the number of independent trials. - * @param probabilityS Is the probability of success on each trial. - * @param numberS Is the number of successes in trials. - * @param numberS2 If provided this function returns the probability that the number of successful trials shall lie between numberS and numberS2. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - binom_Dist_Range(trials: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, probabilityS: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, numberS: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, numberS2?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + windowState: Excel.WindowState | "maximized" | "minimized" | "normal"; /** - * Returns the smallest value for which the cumulative binomial distribution is greater than or equal to a criterion value. + * Specifies an integer value that represents the display size of the window. It can be set to a percentage between 10 and 400. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param trials Is the number of Bernoulli trials. - * @param probabilityS Is the probability of success on each trial, a number between 0 and 1 inclusive. - * @param alpha Is the criterion value, a number between 0 and 1 inclusive. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - binom_Inv(trials: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, probabilityS: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, alpha: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + zoom: number; /** - * Returns a bitwise 'And' of two numbers. - * - * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number1 Is the decimal representation of the binary number you want to evaluate. - * @param number2 Is the decimal representation of the binary number you want to evaluate. + * Sets multiple properties of an object at the same time. You can pass either a plain object with the appropriate properties, or another API object of the same type. + * @param properties A JavaScript object with properties that are structured isomorphically to the properties of the object on which the method is called. + * @param options Provides an option to suppress errors if the properties object tries to set any read-only properties. */ - bitand(number1: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, number2: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + set(properties: Interfaces.WindowUpdateData, options?: OfficeExtension.UpdateOptions): void; + /** Sets multiple properties on the object at the same time, based on an existing loaded object. */ + set(properties: Excel.Window): void; /** - * Returns a number shifted left by shift_amount bits. + * Activates the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is the decimal representation of the binary number you want to evaluate. - * @param shiftAmount Is the number of bits that you want to shift Number left by. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - bitlshift(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, shiftAmount: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + activate(): void; /** - * Returns a bitwise 'Or' of two numbers. + * Activates the next window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number1 Is the decimal representation of the binary number you want to evaluate. - * @param number2 Is the decimal representation of the binary number you want to evaluate. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - bitor(number1: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, number2: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + activateNext(): void; /** - * Returns a number shifted right by shift_amount bits. + * Activates the previous window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is the decimal representation of the binary number you want to evaluate. - * @param shiftAmount Is the number of bits that you want to shift Number right by. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - bitrshift(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, shiftAmount: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + activatePrevious(): void; /** - * Returns a bitwise 'Exclusive Or' of two numbers. + * Closes the window. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number1 Is the decimal representation of the binary number you want to evaluate. - * @param number2 Is the decimal representation of the binary number you want to evaluate. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - bitxor(number1: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, number2: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + close(): OfficeExtension.ClientResult; /** - * Rounds a number up, to the nearest integer or to the nearest multiple of significance. + * Scrolls the window by a large amount. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is the value you want to round. - * @param significance Is the multiple to which you want to round. - * @param mode When given and nonzero this function will round away from zero. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - ceiling_Math(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, significance?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, mode?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + largeScroll(Down: number, Up: number, ToRight: number, ToLeft: number): void; /** - * Rounds a number up, to the nearest integer or to the nearest multiple of significance. + * Open a new window * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is the value you want to round. - * @param significance Is the multiple to which you want to round. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - ceiling_Precise(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, significance?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + newWindow(): Excel.Window; /** - * Returns the character specified by the code number from the character set for your computer. + * Converts horizontal points to screen pixels. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param number Is a number between 1 and 255 specifying which character you want. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - char(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + pointsToScreenPixelsX(Points: number): OfficeExtension.ClientResult; /** - * Returns the left-tailed probability of the chi-squared distribution. + * Converts vertical points to screen pixels. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param x Is the value at which you want to evaluate the distribution, a nonnegative number. - * @param degFreedom Is the number of degrees of freedom, a number between 1 and 10^10, excluding 10^10. - * @param cumulative Is a logical value for the function to return: the cumulative distribution function = TRUE; the probability density function = FALSE. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - chiSq_Dist(x: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, degFreedom: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, cumulative: boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + pointsToScreenPixelsY(Points: number): OfficeExtension.ClientResult; /** - * Returns the right-tailed probability of the chi-squared distribution. + * Scrolls the window to bring the specified range into view. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param x Is the value at which you want to evaluate the distribution, a nonnegative number. - * @param degFreedom Is the number of degrees of freedom, a number between 1 and 10^10, excluding 10^10. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - chiSq_Dist_RT(x: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, degFreedom: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + scrollIntoView(Left: number, Top: number, Width: number, Height: number, Start?: boolean): void; /** - * Returns the inverse of the left-tailed probability of the chi-squared distribution. + * Scrolls the workbook tabs. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param probability Is a probability associated with the chi-squared distribution, a value between 0 and 1 inclusive. - * @param degFreedom Is the number of degrees of freedom, a number between 1 and 10^10, excluding 10^10. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - chiSq_Inv(probability: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, degFreedom: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + scrollWorkbookTabs(Sheets?: number, Position?: Excel.ScrollWorkbookTabPosition): void; /** - * Returns the inverse of the right-tailed probability of the chi-squared distribution. + * Scrolls the workbook tabs. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param probability Is a probability associated with the chi-squared distribution, a value between 0 and 1 inclusive. - * @param degFreedom Is the number of degrees of freedom, a number between 1 and 10^10, excluding 10^10. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - chiSq_Inv_RT(probability: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, degFreedom: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + scrollWorkbookTabs(Sheets?: number, Position?: "First" | "Last"): void; /** - * Chooses a value or action to perform from a list of values, based on an index number. + * Scrolls the window by a small amount. * * @remarks - * [Api set: ExcelApi 1.2] - * - * @param indexNum Specifies which value argument is selected. indexNum must be between 1 and 254, or a formula or a reference to a number between 1 and 254. - * @param values List of parameters, whose elements are 1 to 254 numbers, cell references, defined names, formulas, functions, or text arguments from which CHOOSE selects. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - choose(indexNum: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, ...values: Array>): FunctionResult; + smallScroll(Down: number, Up: number, ToRight: number, ToLeft: number): void; /** - * Removes all nonprintable characters from text. - * - * @remarks - * [Api set: ExcelApi 1.2] + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * - * @param text Is any worksheet information from which you want to remove nonprintable characters. + * @param options Provides options for which properties of the object to load. */ - clean(text: string | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + load(options?: Excel.Interfaces.WindowLoadOptions): Excel.Window; /** - * Returns a numeric code for the first character in a text string, in the character set used by your computer. + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): Excel.Window; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): Excel.Window; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `Excel.Window` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `Excel.Interfaces.WindowData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): Excel.Interfaces.WindowData; + } + /** + * Specifies the display state of a window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + enum WindowState { + /** + * The window is maximized to fill the entire screen. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + maximized = "maximized", + /** + * The window is minimized and collapsed to the taskbar. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + minimized = "minimized", + /** + * The window is displayed in normal size and can be moved or resized. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + normal = "normal" + } + /** + * Specifies the view mode of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + enum WindowView { + /** + * The window displays the worksheet in normal view for general data entry and editing. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + normalView = "normalView", + /** + * The window displays the worksheet in Page Break Preview mode to show where pages will break when printed. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + pageBreakPreview = "pageBreakPreview", + /** + * The window displays the worksheet in Page Layout view to show how the worksheet will look when printed. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + pageLayoutView = "pageLayoutView" + } + /** + * Specifies the type of window being displayed. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + enum WindowType { + /** + * The window displays a chart in its own separate window. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + chartAsWindow = "chartAsWindow", + /** + * The window displays a chart embedded within a worksheet. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + chartInPlace = "chartInPlace", + /** + * The window displays the Office clipboard contents. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + clipboard = "clipboard", + /** + * The window displays a standard Excel workbook. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + workbook = "workbook" + } + /** + * Enum representing the scroll position for workbook tab navigation. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + enum ScrollWorkbookTabPosition { + /** + * Scrolls the tab menu to show the first worksheet tab. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + first = "First", + /** + * Scrolls the tab menu to show the last worksheet tab. + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + last = "Last" + } + /** + * Represents the collection of all Window objects. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + class WindowCollection extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: Excel.Window[]; + /** + * Breaks the side-by-side view of windows. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + breakSideBySide(): void; + /** + * Compares the current window side by side with the specified window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + compareCurrentSideBySideWith(windowName: string): void; + /** + * Gets the number of windows in the collection. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + getCount(): OfficeExtension.ClientResult; + /** + * Gets the Window in the collection by index. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + getItemAt(index: number): Excel.Window; + /** + * Resets the positions of windows in side-by-side view. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + resetPositionsSideBySide(): void; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: Excel.Interfaces.WindowCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.WindowCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): Excel.WindowCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): Excel.WindowCollection; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `Excel.WindowCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `Excel.Interfaces.WindowCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ + toJSON(): Excel.Interfaces.WindowCollectionData; + } + /** + * Represents a pane, such as a frozen or split pane, in an Excel window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + class Pane extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** + * Returns index of the pane. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + readonly index: number; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: Excel.Interfaces.PaneLoadOptions): Excel.Pane; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): Excel.Pane; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): Excel.Pane; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `Excel.Pane` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `Excel.Interfaces.PaneData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): Excel.Interfaces.PaneData; + } + /** + * Represents the collection of all Pane objects that are part of the workbook. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + class PaneCollection extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: Excel.Pane[]; + /** + * Returns the number of bindings in the collection. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + getCount(): OfficeExtension.ClientResult; + /** + * Gets the Pane in the collection by index. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + getItemAt(index: number): Excel.Pane; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: Excel.Interfaces.PaneCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.PaneCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): Excel.PaneCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): Excel.PaneCollection; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `Excel.PaneCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `Excel.Interfaces.PaneCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ + toJSON(): Excel.Interfaces.PaneCollectionData; + } + /** + * An object containing the result of a function-evaluation operation + * + * @remarks + * [Api set: ExcelApi 1.2] + */ + class FunctionResult extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** + * Error value (such as "#DIV/0") representing the error. If the error string is not set, then the function succeeded, and its result is written to the Value field. The error is always in the English locale. + * + * @remarks + * [Api set: ExcelApi 1.2] + */ + readonly error: string; + /** + * The value of function evaluation. The value field will be populated only if no error has occurred (i.e., the Error property is not set). + * + * @remarks + * [Api set: ExcelApi 1.2] + */ + readonly value: T; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: Excel.Interfaces.FunctionResultLoadOptions): FunctionResult; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): FunctionResult; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): FunctionResult; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `FunctionResult` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `Interfaces.FunctionResultData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): Interfaces.FunctionResultData; + } + /** + * An object for evaluating Excel functions. + * + * @remarks + * [Api set: ExcelApi 1.2] + */ + class Functions extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** + * Returns the absolute value of a number, a number without its sign. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is the real number for which you want the absolute value. + */ + abs(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the accrued interest for a security that pays periodic interest. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param issue Is the security's issue date, expressed as a serial date number. + * @param firstInterest Is the security's first interest date, expressed as a serial date number. + * @param settlement Is the security's settlement date, expressed as a serial date number. + * @param rate Is the security's annual coupon rate. + * @param par Is the security's par value. + * @param frequency Is the number of coupon payments per year. + * @param basis Is the type of day count basis to use. + * @param calcMethod Is a logical value: to accrued interest from issue date = TRUE or omitted; to calculate from last coupon payment date = FALSE. + */ + accrInt(issue: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, firstInterest: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, settlement: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, rate: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, par: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, frequency: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, basis?: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, calcMethod?: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the accrued interest for a security that pays interest at maturity. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param issue Is the security's issue date, expressed as a serial date number. + * @param settlement Is the security's maturity date, expressed as a serial date number. + * @param rate Is the security's annual coupon rate. + * @param par Is the security's par value. + * @param basis Is the type of day count basis to use. + */ + accrIntM(issue: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, settlement: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, rate: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, par: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, basis?: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the arccosine of a number, in radians in the range 0 to Pi. The arccosine is the angle whose cosine is Number. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is the cosine of the angle you want and must be from -1 to 1. + */ + acos(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the inverse hyperbolic cosine of a number. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is any real number equal to or greater than 1. + */ + acosh(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the arccotangent of a number, in radians in the range 0 to Pi. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is the cotangent of the angle you want. + */ + acot(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the inverse hyperbolic cotangent of a number. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is the hyperbolic cotangent of the angle that you want. + */ + acoth(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the prorated linear depreciation of an asset for each accounting period. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param cost Is the cost of the asset. + * @param datePurchased Is the date the asset is purchased. + * @param firstPeriod Is the date of the end of the first period. + * @param salvage Is the salvage value at the end of life of the asset. + * @param period Is the period. + * @param rate Is the rate of depreciation. + * @param basis Year_basis : 0 for year of 360 days, 1 for actual, 3 for year of 365 days. + */ + amorDegrc(cost: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, datePurchased: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, firstPeriod: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, salvage: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, period: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, rate: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, basis?: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the prorated linear depreciation of an asset for each accounting period. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param cost Is the cost of the asset. + * @param datePurchased Is the date the asset is purchased. + * @param firstPeriod Is the date of the end of the first period. + * @param salvage Is the salvage value at the end of life of the asset. + * @param period Is the period. + * @param rate Is the rate of depreciation. + * @param basis Year_basis : 0 for year of 360 days, 1 for actual, 3 for year of 365 days. + */ + amorLinc(cost: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, datePurchased: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, firstPeriod: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, salvage: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, period: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, rate: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, basis?: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Checks whether all arguments are TRUE, and returns TRUE if all arguments are TRUE. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param values List of parameters, whose elements are 1 to 255 conditions you want to test that can be either TRUE or FALSE and can be logical values, arrays, or references. + */ + and(...values: Array>): FunctionResult; + /** + * Converts a Roman numeral to Arabic. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param text Is the Roman numeral you want to convert. + */ + arabic(text: string | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the number of areas in a reference. An area is a range of contiguous cells or a single cell. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param reference Is a reference to a cell or range of cells and can refer to multiple areas. + */ + areas(reference: Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Changes full-width (double-byte) characters to half-width (single-byte) characters. Use with double-byte character sets (DBCS). + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param text Is a text, or a reference to a cell containing a text. + */ + asc(text: string | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the arcsine of a number in radians, in the range -Pi/2 to Pi/2. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is the sine of the angle you want and must be from -1 to 1. + */ + asin(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the inverse hyperbolic sine of a number. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is any real number equal to or greater than 1. + */ + asinh(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the arctangent of a number in radians, in the range -Pi/2 to Pi/2. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is the tangent of the angle you want. + */ + atan(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the arctangent of the specified x- and y- coordinates, in radians between -Pi and Pi, excluding -Pi. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param xNum Is the x-coordinate of the point. + * @param yNum Is the y-coordinate of the point. + */ + atan2(xNum: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, yNum: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the inverse hyperbolic tangent of a number. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is any real number between -1 and 1 excluding -1 and 1. + */ + atanh(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the average of the absolute deviations of data points from their mean. Arguments can be numbers or names, arrays, or references that contain numbers. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param values List of parameters, whose elements are 1 to 255 arguments for which you want the average of the absolute deviations. + */ + aveDev(...values: Array>): FunctionResult; + /** + * Returns the average (arithmetic mean) of its arguments, which can be numbers or names, arrays, or references that contain numbers. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param values List of parameters, whose elements are 1 to 255 numeric arguments for which you want the average. + */ + average(...values: Array>): FunctionResult; + /** + * Returns the average (arithmetic mean) of its arguments, evaluating text and FALSE in arguments as 0; TRUE evaluates as 1. Arguments can be numbers, names, arrays, or references. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param values List of parameters, whose elements are 1 to 255 arguments for which you want the average. + */ + averageA(...values: Array>): FunctionResult; + /** + * Finds average(arithmetic mean) for the cells specified by a given condition or criteria. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param range Is the range of cells you want evaluated. + * @param criteria Is the condition or criteria in the form of a number, expression, or text that defines which cells will be used to find the average. + * @param averageRange Are the actual cells to be used to find the average. If omitted, the cells in range are used. + */ + averageIf(range: Excel.Range | Excel.RangeReference | Excel.FunctionResult, criteria: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, averageRange?: Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Finds average(arithmetic mean) for the cells specified by a given set of conditions or criteria. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param averageRange Are the actual cells to be used to find the average. + * @param values List of parameters, where the first element of each pair is the Is the range of cells you want evaluated for the particular condition , and the second element is is the condition or criteria in the form of a number, expression, or text that defines which cells will be used to find the average. + */ + averageIfs(averageRange: Excel.Range | Excel.RangeReference | Excel.FunctionResult, ...values: Array | number | string | boolean>): FunctionResult; + /** + * Converts a number to text (baht). + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is a number that you want to convert. + */ + bahtText(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Converts a number into a text representation with the given radix (base). + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is the number that you want to convert. + * @param radix Is the base Radix that you want to convert the number into. + * @param minLength Is the minimum length of the returned string. If omitted leading zeros are not added. + */ + base(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, radix: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, minLength?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the modified Bessel function In(x). + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param x Is the value at which to evaluate the function. + * @param n Is the order of the Bessel function. + */ + besselI(x: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, n: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the Bessel function Jn(x). + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param x Is the value at which to evaluate the function. + * @param n Is the order of the Bessel function. + */ + besselJ(x: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, n: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the modified Bessel function Kn(x). + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param x Is the value at which to evaluate the function. + * @param n Is the order of the function. + */ + besselK(x: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, n: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the Bessel function Yn(x). + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param x Is the value at which to evaluate the function. + * @param n Is the order of the function. + */ + besselY(x: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, n: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the beta probability distribution function. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param x Is the value between A and B at which to evaluate the function. + * @param alpha Is a parameter to the distribution and must be greater than 0. + * @param beta Is a parameter to the distribution and must be greater than 0. + * @param cumulative Is a logical value: for the cumulative distribution function, use TRUE; for the probability density function, use FALSE. + * @param A Is an optional lower bound to the interval of x. If omitted, A = 0. + * @param B Is an optional upper bound to the interval of x. If omitted, B = 1. + */ + beta_Dist(x: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, alpha: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, beta: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, cumulative: boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, A?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, B?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the inverse of the cumulative beta probability density function (BETA.DIST). + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param probability Is a probability associated with the beta distribution. + * @param alpha Is a parameter to the distribution and must be greater than 0. + * @param beta Is a parameter to the distribution and must be greater than 0. + * @param A Is an optional lower bound to the interval of x. If omitted, A = 0. + * @param B Is an optional upper bound to the interval of x. If omitted, B = 1. + */ + beta_Inv(probability: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, alpha: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, beta: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, A?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, B?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Converts a binary number to decimal. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is the binary number you want to convert. + */ + bin2Dec(number: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Converts a binary number to hexadecimal. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is the binary number you want to convert. + * @param places Is the number of characters to use. + */ + bin2Hex(number: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, places?: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Converts a binary number to octal. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is the binary number you want to convert. + * @param places Is the number of characters to use. + */ + bin2Oct(number: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult, places?: number | string | boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the individual term binomial distribution probability. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param numberS Is the number of successes in trials. + * @param trials Is the number of independent trials. + * @param probabilityS Is the probability of success on each trial. + * @param cumulative Is a logical value: for the cumulative distribution function, use TRUE; for the probability mass function, use FALSE. + */ + binom_Dist(numberS: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, trials: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, probabilityS: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, cumulative: boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the probability of a trial result using a binomial distribution. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param trials Is the number of independent trials. + * @param probabilityS Is the probability of success on each trial. + * @param numberS Is the number of successes in trials. + * @param numberS2 If provided this function returns the probability that the number of successful trials shall lie between numberS and numberS2. + */ + binom_Dist_Range(trials: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, probabilityS: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, numberS: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, numberS2?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the smallest value for which the cumulative binomial distribution is greater than or equal to a criterion value. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param trials Is the number of Bernoulli trials. + * @param probabilityS Is the probability of success on each trial, a number between 0 and 1 inclusive. + * @param alpha Is the criterion value, a number between 0 and 1 inclusive. + */ + binom_Inv(trials: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, probabilityS: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, alpha: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns a bitwise 'And' of two numbers. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number1 Is the decimal representation of the binary number you want to evaluate. + * @param number2 Is the decimal representation of the binary number you want to evaluate. + */ + bitand(number1: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, number2: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns a number shifted left by shift_amount bits. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is the decimal representation of the binary number you want to evaluate. + * @param shiftAmount Is the number of bits that you want to shift Number left by. + */ + bitlshift(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, shiftAmount: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns a bitwise 'Or' of two numbers. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number1 Is the decimal representation of the binary number you want to evaluate. + * @param number2 Is the decimal representation of the binary number you want to evaluate. + */ + bitor(number1: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, number2: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns a number shifted right by shift_amount bits. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is the decimal representation of the binary number you want to evaluate. + * @param shiftAmount Is the number of bits that you want to shift Number right by. + */ + bitrshift(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, shiftAmount: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns a bitwise 'Exclusive Or' of two numbers. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number1 Is the decimal representation of the binary number you want to evaluate. + * @param number2 Is the decimal representation of the binary number you want to evaluate. + */ + bitxor(number1: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, number2: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Rounds a number up, to the nearest integer or to the nearest multiple of significance. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is the value you want to round. + * @param significance Is the multiple to which you want to round. + * @param mode When given and nonzero this function will round away from zero. + */ + ceiling_Math(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, significance?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, mode?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Rounds a number up, to the nearest integer or to the nearest multiple of significance. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is the value you want to round. + * @param significance Is the multiple to which you want to round. + */ + ceiling_Precise(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, significance?: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the character specified by the code number from the character set for your computer. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param number Is a number between 1 and 255 specifying which character you want. + */ + char(number: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the left-tailed probability of the chi-squared distribution. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param x Is the value at which you want to evaluate the distribution, a nonnegative number. + * @param degFreedom Is the number of degrees of freedom, a number between 1 and 10^10, excluding 10^10. + * @param cumulative Is a logical value for the function to return: the cumulative distribution function = TRUE; the probability density function = FALSE. + */ + chiSq_Dist(x: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, degFreedom: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, cumulative: boolean | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the right-tailed probability of the chi-squared distribution. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param x Is the value at which you want to evaluate the distribution, a nonnegative number. + * @param degFreedom Is the number of degrees of freedom, a number between 1 and 10^10, excluding 10^10. + */ + chiSq_Dist_RT(x: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, degFreedom: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the inverse of the left-tailed probability of the chi-squared distribution. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param probability Is a probability associated with the chi-squared distribution, a value between 0 and 1 inclusive. + * @param degFreedom Is the number of degrees of freedom, a number between 1 and 10^10, excluding 10^10. + */ + chiSq_Inv(probability: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, degFreedom: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns the inverse of the right-tailed probability of the chi-squared distribution. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param probability Is a probability associated with the chi-squared distribution, a value between 0 and 1 inclusive. + * @param degFreedom Is the number of degrees of freedom, a number between 1 and 10^10, excluding 10^10. + */ + chiSq_Inv_RT(probability: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, degFreedom: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Chooses a value or action to perform from a list of values, based on an index number. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param indexNum Specifies which value argument is selected. indexNum must be between 1 and 254, or a formula or a reference to a number between 1 and 254. + * @param values List of parameters, whose elements are 1 to 254 numbers, cell references, defined names, formulas, functions, or text arguments from which CHOOSE selects. + */ + choose(indexNum: number | Excel.Range | Excel.RangeReference | Excel.FunctionResult, ...values: Array>): FunctionResult; + /** + * Removes all nonprintable characters from text. + * + * @remarks + * [Api set: ExcelApi 1.2] + * + * @param text Is any worksheet information from which you want to remove nonprintable characters. + */ + clean(text: string | Excel.Range | Excel.RangeReference | Excel.FunctionResult): FunctionResult; + /** + * Returns a numeric code for the first character in a text string, in the character set used by your computer. * * @remarks * [Api set: ExcelApi 1.2] @@ -72573,7 +73566,7 @@ declare namespace Excel { */ priority?: number; /** - * Gets or sets the date and time the task should start and is due. + * Specifies the date and time the task should start and is due. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] @@ -72605,6 +73598,14 @@ declare namespace Excel { } /** An interface for updating data on the `Application` object, for use in `application.set({ ... })`. */ interface ApplicationUpdateData { + /** + * Returns a `window` object that represents the active window (the window on top). + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + activeWindow?: Excel.Interfaces.WindowUpdateData; /** * Returns the iterative calculation settings. In Excel on Windows and Mac, the settings will apply to the Excel Application. @@ -72826,6 +73827,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.18] */ control?: CellControl; + /** + * Specifies the array formula of a range. If the specified range doesn't contain an array formula, this property returns `null`. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + formulaArray?: string; /** * Represents the formula in A1-style notation. If a cell has no formula, its value is returned instead. * @@ -72887,7 +73896,7 @@ declare namespace Excel { */ style?: string; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -72896,7 +73905,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `Range.valuesAsJsonLocal`. * * @remarks @@ -72905,7 +73914,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `Range.valuesAsJson`. * * @remarks @@ -72970,7 +73979,7 @@ declare namespace Excel { */ numberFormat?: any[][]; /** - * Represents the raw values of the specified range view. The data returned could be of type string, number, or a boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range view. The data returned could be of type string, number, or a Boolean. Cells that contain an error will return the error string. * * @remarks * [Api set: ExcelApi 1.3] @@ -72978,7 +73987,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `RangeView.valuesAsJsonLocal`. * * @remarks @@ -72987,7 +73996,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `RangeView.valuesAsJson`. * * @remarks @@ -73063,6 +74072,30 @@ declare namespace Excel { * @beta */ tableStyle?: Excel.Interfaces.TableStyleUpdateData; + /** + * Specifies the alternative text for accessibility. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + altTextDescription?: string; + /** + * Specifies a summary for the table, such as one used by screen readers. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + altTextTitle?: string; + /** + * Specifies a comment associated with the table. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + comment?: string; /** * Specifies if the first column contains special formatting. * @@ -73143,7 +74176,7 @@ declare namespace Excel { */ name?: string; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -73152,7 +74185,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableColumn.valuesAsJsonLocal`. * * @remarks @@ -73161,7 +74194,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableColumn.valuesAsJson`. * * @remarks @@ -73176,7 +74209,7 @@ declare namespace Excel { /** An interface for updating data on the `TableRow` object, for use in `tableRow.set({ ... })`. */ interface TableRowUpdateData { /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -73185,7 +74218,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableRow.valuesAsJsonLocal`. * * @remarks @@ -73194,7 +74227,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableRow.valuesAsJson`. * * @remarks @@ -75076,7 +76109,7 @@ declare namespace Excel { */ position?: Excel.ChartTitlePosition | "Automatic" | "Top" | "Bottom" | "Left" | "Right"; /** - * Represents a boolean value that determines if the chart title has a shadow. + * Represents a Boolean value that determines if the chart title has a shadow. * * @remarks * [Api set: ExcelApi 1.7] @@ -75965,7 +76998,7 @@ declare namespace Excel { /** An interface for updating data on the `WorksheetCustomProperty` object, for use in `worksheetCustomProperty.set({ ... })`. */ interface WorksheetCustomPropertyUpdateData { /** - * Gets or sets the value of the custom property. + * Specifies the value of the custom property. * * @remarks * [Api set: ExcelApi 1.12] @@ -76815,6 +77848,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.9] */ headersFooters?: Excel.Interfaces.HeaderFooterGroupUpdateData; + /** + * Specifies whether Excel aligns the header and the footer with the margins set in the page setup options. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + alignMarginsHeaderFooter?: boolean; /** * The worksheet's black and white print option. * @@ -76927,6 +77968,16 @@ declare namespace Excel { * [Api set: ExcelApi 1.9] */ printOrder?: Excel.PrintOrder | "DownThenOver" | "OverThenDown"; + /** + * Specifies a two-element array that contains both horizontal and vertical print quality values. + The first element is the horizontal print quality, and the second element is the vertical print quality. + Some printers may not support vertical print quality and the supported values may vary by printer. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + printQuality?: number[]; /** * The worksheet's right margin, in points, for use when printing. * @@ -76952,6 +78003,54 @@ declare namespace Excel { } /** An interface for updating data on the `HeaderFooter` object, for use in `headerFooter.set({ ... })`. */ interface HeaderFooterUpdateData { + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the center section of the footer. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + centerFooterPicture?: Excel.Interfaces.HeaderFooterPictureUpdateData; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the center section of the header. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + centerHeaderPicture?: Excel.Interfaces.HeaderFooterPictureUpdateData; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the left section of the footer. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + leftFooterPicture?: Excel.Interfaces.HeaderFooterPictureUpdateData; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the left section of the header. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + leftHeaderPicture?: Excel.Interfaces.HeaderFooterPictureUpdateData; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the right section of the footer. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + rightFooterPicture?: Excel.Interfaces.HeaderFooterPictureUpdateData; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the right section of the header. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + rightHeaderPicture?: Excel.Interfaces.HeaderFooterPictureUpdateData; /** * The center footer of the worksheet. To apply font formatting or insert a variable value, use format codes specified here: https://msdn.microsoft.com/library/bb225426.aspx. @@ -77039,20 +78138,111 @@ declare namespace Excel { */ state?: Excel.HeaderFooterState | "Default" | "FirstAndDefault" | "OddAndEven" | "FirstOddAndEven"; /** - * Gets or sets a flag indicating if headers/footers are aligned with the page margins set in the page layout options for the worksheet. + * Specifies a flag indicating if headers/footers are aligned with the page margins set in the page layout options for the worksheet. * * @remarks * [Api set: ExcelApi 1.9] */ useSheetMargins?: boolean; /** - * Gets or sets a flag indicating if headers/footers should be scaled by the page percentage scale set in the page layout options for the worksheet. + * Specifies a flag indicating if headers/footers should be scaled by the page percentage scale set in the page layout options for the worksheet. * * @remarks * [Api set: ExcelApi 1.9] */ useSheetScale?: boolean; } + /** An interface for updating data on the `HeaderFooterPicture` object, for use in `headerFooterPicture.set({ ... })`. */ + interface HeaderFooterPictureUpdateData { + /** + * Specifies the brightness of the picture. The value for this property must be a number from 0.0 (dimmest) to 1.0 (brightest). + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + brightness?: number; + /** + * Specifies the type of color transformation of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + colorType?: Excel.PictureColorType | "Mixed" | "Automatic" | "GrayScale" | "BlackAndWhite" | "Watermark"; + /** + * Specifies the contrast of the picture. The value for this property must be a number from 0.0 (least contrast) to 1.0 (most contrast). + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + contrast?: number; + /** + * Specifies the number of points that are cropped off the bottom of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropBottom?: number; + /** + * Specifies the number of points that are cropped off the left side of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropLeft?: number; + /** + * Specifies the number of points that are cropped off the right side of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropRight?: number; + /** + * Specifies the number of points that are cropped off the top of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropTop?: number; + /** + * Specifies the URL (on the intranet or the web) or path (local or network) to the location where the source object is saved. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + filename?: string; + /** + * Specifies the height of the picture in points. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + height?: number; + /** + * Specifies a value that indicates whether the picture retains its original proportions when resized. `true` if it retains its proportions; otherwise, `false`. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + lockAspectRatio?: boolean; + /** + * Specifies the width of the picture in points. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + width?: number; + } /** An interface for updating data on the `PageBreakCollection` object, for use in `pageBreakCollection.set({ ... })`. */ interface PageBreakCollectionUpdateData { items?: Excel.Interfaces.PageBreakData[]; @@ -77209,6 +78399,65 @@ declare namespace Excel { */ width?: number; } + /** An interface for updating data on the `Image` object, for use in `image.set({ ... })`. */ + interface ImageUpdateData { + /** + * Specifies the brightness of the image. The value for this property must be a number from 0.0 (dimmest) to 1.0 (brightest). + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + brightness?: number; + /** + * Specifies the type of color transformation applied to the image. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + colorType?: Excel.PictureColorType | "Mixed" | "Automatic" | "GrayScale" | "BlackAndWhite" | "Watermark"; + /** + * Specifies the contrast of the image. The value for this property must be a number from 0.0 (the least contrast) to 1.0 (the greatest contrast). + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + contrast?: number; + /** + * Specifies the number of points that are cropped off the bottom of the image. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropBottom?: number; + /** + * Specifies the number of points that are cropped off the left side of the image. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropLeft?: number; + /** + * Specifies the number of points that are cropped off the right side of the image. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropRight?: number; + /** + * Specifies the number of points that are cropped off the top of the image. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropTop?: number; + } /** An interface for updating data on the `GroupShapeCollection` object, for use in `groupShapeCollection.set({ ... })`. */ interface GroupShapeCollectionUpdateData { items?: Excel.Interfaces.ShapeData[]; @@ -77461,6 +78710,45 @@ declare namespace Excel { * [Api set: ExcelApi 1.9] */ size?: number; + /** + * Specifies the strikethrough status of font. A `null` value indicates that the entire range doesn't have a uniform strikethrough setting. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + strikethrough?: boolean; + /** + * Specifies the subscript status of font. + Returns `true` if all the fonts of the range are subscript. + Returns `false` if all the fonts of the range are superscript or normal (neither superscript, nor subscript). + Returns `null` otherwise. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + subscript?: boolean; + /** + * Specifies the superscript status of font. + Returns `true` if all the fonts of the range are superscript. + Returns `false` if all the fonts of the range are subscript or normal (neither superscript, nor subscript). + Returns `null` otherwise. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + superscript?: boolean; + /** + * Specifies a double that lightens or darkens a color for the range font. The value is between -1 (darkest) and 1 (brightest), with 0 for the original color. + A `null` value indicates that the entire range doesn't have a uniform font `tintAndShade` setting. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + tintAndShade?: number; /** * Type of underline applied to the font. Returns `null` if the `TextRange` includes text fragments with different underline styles. See `Excel.ShapeFontUnderlineStyle` for details. * @@ -77577,10 +78865,6 @@ declare namespace Excel { interface SlicerItemCollectionUpdateData { items?: Excel.Interfaces.SlicerItemData[]; } - /** An interface for updating data on the `LinkedDataTypeCollection` object, for use in `linkedDataTypeCollection.set({ ... })`. */ - interface LinkedDataTypeCollectionUpdateData { - items?: Excel.Interfaces.LinkedDataTypeData[]; - } /** An interface for updating data on the `LinkedEntityDataDomain` object, for use in `linkedEntityDataDomain.set({ ... })`. */ interface LinkedEntityDataDomainUpdateData { /** @@ -77602,7 +78886,7 @@ declare namespace Excel { /** An interface for updating data on the `NamedSheetView` object, for use in `namedSheetView.set({ ... })`. */ interface NamedSheetViewUpdateData { /** - * Gets or sets the name of the sheet view. + * Specifies the name of the sheet view. The temporary sheet view name is the empty string (""). Naming the view by using the name property causes the sheet view to be saved. * * @remarks @@ -77649,6 +78933,281 @@ declare namespace Excel { */ width?: number; } + /** An interface for updating data on the `Window` object, for use in `window.set({ ... })`. */ + interface WindowUpdateData { + /** + * Specifies the active cell in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + activeCell?: Excel.Interfaces.RangeUpdateData; + /** + * Specifies the active sheet in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + activeWorksheet?: Excel.Interfaces.WorksheetUpdateData; + /** + * Gets the range selection in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + rangeSelection?: Excel.Interfaces.RangeAreasUpdateData; + /** + * Gets the visible range of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + visibleRange?: Excel.Interfaces.RangeUpdateData; + /** + * Specifies whether AutoFilter date grouping is enabled in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + autoFilterDateGroupingEnabled?: boolean; + /** + * Specifies a value indicating whether panes are frozen in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + freezePanes?: boolean; + /** + * Specifies the height of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + height?: number; + /** + * Specifies the visibility of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + isVisible?: boolean; + /** + * Specifies the left position of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + left?: number; + /** + * Specifies the name of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + name?: string; + /** + * Specifies the scroll column of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + scrollColumn?: number; + /** + * Specifies the scroll row of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + scrollRow?: number; + /** + * Specifies the display of formulas in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showFormulas?: boolean; + /** + * Specifies the display of gridlines in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showGridlines?: boolean; + /** + * Specifies the display of headings in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showHeadings?: boolean; + /** + * Specifies the display of the horizontal scroll bar in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showHorizontalScrollBar?: boolean; + /** + * Specifies the display of the outline in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showOutline?: boolean; + /** + * Specifies the display of the ruler in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showRuler?: boolean; + /** + * Specifies the display of the vertical scroll bar in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showVerticalScrollBar?: boolean; + /** + * Specifies the display of whitespace in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showWhitespace?: boolean; + /** + * Specifies the display of workbook tabs in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showWorkbookTabs?: boolean; + /** + * Specifies the display of zeros in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showZeros?: boolean; + /** + * Specifies the split state of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + split?: boolean; + /** + * Specifies the split column of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + splitColumn?: number; + /** + * Specifies the horizontal split of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + splitHorizontal?: number; + /** + * Specifies the split row of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + splitRow?: number; + /** + * Specifies the vertical split of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + splitVertical?: number; + /** + * Specifies the tab ratio of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + tabRatio?: number; + /** + * Specifies the top position of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + top?: number; + /** + * Specifies the view of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + view?: Excel.WindowView | "normalView" | "pageBreakPreview" | "pageLayoutView"; + /** + * Returns or sets an integer value that represents the display size of the window. It can be set to a percentage between 10 and 400. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + width?: number; + /** + * Returns or sets an integer value that represents the display size of the window. It can be set to a percentage between 10 and 400. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + windowState?: Excel.WindowState | "maximized" | "minimized" | "normal"; + /** + * Specifies an integer value that represents the display size of the window. It can be set to a percentage between 10 and 400. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + zoom?: number; + } + /** An interface for updating data on the `WindowCollection` object, for use in `windowCollection.set({ ... })`. */ + interface WindowCollectionUpdateData { + items?: Excel.Interfaces.WindowData[]; + } + /** An interface for updating data on the `PaneCollection` object, for use in `paneCollection.set({ ... })`. */ + interface PaneCollectionUpdateData { + items?: Excel.Interfaces.PaneData[]; + } /** An interface describing the data returned by calling `allowEditRange.toJSON()`. */ interface AllowEditRangeData { /** @@ -77921,7 +79480,7 @@ declare namespace Excel { */ priority?: number; /** - * Gets or sets the date and time the task should start and is due. + * Specifies the date and time the task should start and is due. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] @@ -77953,6 +79512,14 @@ declare namespace Excel { } /** An interface describing the data returned by calling `application.toJSON()`. */ interface ApplicationData { + /** + * Returns a `window` object that represents the active window (the window on top). Read-only. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + activeWindow?: Excel.Interfaces.WindowData; /** * Provides information based on current system culture settings. This includes the culture names, number formatting, and other culturally dependent settings. * @@ -77969,6 +79536,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.9] */ iterativeCalculation?: Excel.Interfaces.IterativeCalculationData; + /** + * Returns the all windows of Excel application. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + windows?: Excel.Interfaces.WindowData[]; /** * Returns the Excel calculation engine version used for the last full recalculation. * @@ -78585,6 +80160,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.18] */ control?: CellControl; + /** + * Specifies the array formula of a range. If the specified range doesn't contain an array formula, this property returns `null`. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + formulaArray?: string; /** * Represents the formula in A1-style notation. If a cell has no formula, its value is returned instead. * @@ -78748,7 +80331,7 @@ declare namespace Excel { */ valueTypes?: Excel.RangeValueType[][]; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -78757,7 +80340,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `Range.valuesAsJsonLocal`. * * @remarks @@ -78766,7 +80349,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `Range.valuesAsJson`. * * @remarks @@ -78967,7 +80550,7 @@ declare namespace Excel { */ valueTypes?: Excel.RangeValueType[][]; /** - * Represents the raw values of the specified range view. The data returned could be of type string, number, or a boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range view. The data returned could be of type string, number, or a Boolean. Cells that contain an error will return the error string. * * @remarks * [Api set: ExcelApi 1.3] @@ -78975,7 +80558,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `RangeView.valuesAsJsonLocal`. * * @remarks @@ -78984,7 +80567,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `RangeView.valuesAsJson`. * * @remarks @@ -79075,7 +80658,7 @@ declare namespace Excel { value?: any; /** * A JSON representation of the values in this named item. - Unlike `NamedItem.value`, `NamedItem.valueAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItem.value`, `NamedItem.valueAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `NamedItem.valueAsJsonLocal`. * * @remarks @@ -79084,7 +80667,7 @@ declare namespace Excel { valueAsJson?: CellValue | string; /** * A JSON representation of the values in this named item. - Unlike `NamedItem.value`, `NamedItem.valueAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItem.value`, `NamedItem.valueAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `NamedItem.valueAsJson`. * * @remarks @@ -79117,7 +80700,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in this named item array. - Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `NamedItemArrayValues.valuesAsJsonLocal`. * * @remarks @@ -79126,7 +80709,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in this named item array. - Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `NamedItemArrayValues.valuesAsJson`. * * @remarks @@ -79201,6 +80784,30 @@ declare namespace Excel { * @beta */ tableStyle?: Excel.Interfaces.TableStyleData; + /** + * Specifies the alternative text for accessibility. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + altTextDescription?: string; + /** + * Specifies a summary for the table, such as one used by screen readers. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + altTextTitle?: string; + /** + * Specifies a comment associated with the table. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + comment?: string; /** * Specifies if the first column contains special formatting. * @@ -79222,6 +80829,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.1] */ id?: string; + /** + * Retrieves whether the table is currently active. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + isActive?: boolean; /** * Returns a numeric ID. * @@ -79273,6 +80888,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.1] */ showTotals?: boolean; + /** + * Retrieves the data source type from which the table originates. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + source?: Excel.TableSource | "External" | "Range" | "Xml" | "Query" | "Model"; /** * Constant value that represents the table style. Possible values are: "TableStyleLight1" through "TableStyleLight21", "TableStyleMedium1" through "TableStyleMedium28", "TableStyleDark1" through "TableStyleDark11". A custom user-defined style present in the workbook can also be specified. * @@ -79316,7 +80939,7 @@ declare namespace Excel { */ name?: string; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -79325,7 +80948,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableColumn.valuesAsJsonLocal`. * * @remarks @@ -79334,7 +80957,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableColumn.valuesAsJson`. * * @remarks @@ -79356,7 +80979,7 @@ declare namespace Excel { */ index?: number; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -79365,7 +80988,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableRow.valuesAsJsonLocal`. * * @remarks @@ -79374,7 +80997,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableRow.valuesAsJson`. * * @remarks @@ -81462,7 +83085,7 @@ declare namespace Excel { */ position?: Excel.ChartTitlePosition | "Automatic" | "Top" | "Bottom" | "Left" | "Right"; /** - * Represents a boolean value that determines if the chart title has a shadow. + * Represents a Boolean value that determines if the chart title has a shadow. * * @remarks * [Api set: ExcelApi 1.7] @@ -82660,7 +84283,7 @@ declare namespace Excel { */ key?: string; /** - * Gets or sets the value of the custom property. + * Specifies the value of the custom property. * * @remarks * [Api set: ExcelApi 1.12] @@ -83590,6 +85213,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.9] */ headersFooters?: Excel.Interfaces.HeaderFooterGroupData; + /** + * Specifies whether Excel aligns the header and the footer with the margins set in the page setup options. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + alignMarginsHeaderFooter?: boolean; /** * The worksheet's black and white print option. * @@ -83702,6 +85333,16 @@ declare namespace Excel { * [Api set: ExcelApi 1.9] */ printOrder?: Excel.PrintOrder | "DownThenOver" | "OverThenDown"; + /** + * Specifies a two-element array that contains both horizontal and vertical print quality values. + The first element is the horizontal print quality, and the second element is the vertical print quality. + Some printers may not support vertical print quality and the supported values may vary by printer. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + printQuality?: number[]; /** * The worksheet's right margin, in points, for use when printing. * @@ -83727,6 +85368,54 @@ declare namespace Excel { } /** An interface describing the data returned by calling `headerFooter.toJSON()`. */ interface HeaderFooterData { + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the center section of the footer. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + centerFooterPicture?: Excel.Interfaces.HeaderFooterPictureData; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the center section of the header. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + centerHeaderPicture?: Excel.Interfaces.HeaderFooterPictureData; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the left section of the footer. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + leftFooterPicture?: Excel.Interfaces.HeaderFooterPictureData; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the left section of the header. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + leftHeaderPicture?: Excel.Interfaces.HeaderFooterPictureData; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the right section of the footer. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + rightFooterPicture?: Excel.Interfaces.HeaderFooterPictureData; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the right section of the header. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + rightHeaderPicture?: Excel.Interfaces.HeaderFooterPictureData; /** * The center footer of the worksheet. To apply font formatting or insert a variable value, use format codes specified here: https://msdn.microsoft.com/library/bb225426.aspx. @@ -83814,20 +85503,111 @@ declare namespace Excel { */ state?: Excel.HeaderFooterState | "Default" | "FirstAndDefault" | "OddAndEven" | "FirstOddAndEven"; /** - * Gets or sets a flag indicating if headers/footers are aligned with the page margins set in the page layout options for the worksheet. + * Specifies a flag indicating if headers/footers are aligned with the page margins set in the page layout options for the worksheet. * * @remarks * [Api set: ExcelApi 1.9] */ useSheetMargins?: boolean; /** - * Gets or sets a flag indicating if headers/footers should be scaled by the page percentage scale set in the page layout options for the worksheet. + * Specifies a flag indicating if headers/footers should be scaled by the page percentage scale set in the page layout options for the worksheet. * * @remarks * [Api set: ExcelApi 1.9] */ useSheetScale?: boolean; } + /** An interface describing the data returned by calling `headerFooterPicture.toJSON()`. */ + interface HeaderFooterPictureData { + /** + * Specifies the brightness of the picture. The value for this property must be a number from 0.0 (dimmest) to 1.0 (brightest). + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + brightness?: number; + /** + * Specifies the type of color transformation of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + colorType?: Excel.PictureColorType | "Mixed" | "Automatic" | "GrayScale" | "BlackAndWhite" | "Watermark"; + /** + * Specifies the contrast of the picture. The value for this property must be a number from 0.0 (least contrast) to 1.0 (most contrast). + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + contrast?: number; + /** + * Specifies the number of points that are cropped off the bottom of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropBottom?: number; + /** + * Specifies the number of points that are cropped off the left side of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropLeft?: number; + /** + * Specifies the number of points that are cropped off the right side of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropRight?: number; + /** + * Specifies the number of points that are cropped off the top of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropTop?: number; + /** + * Specifies the URL (on the intranet or the web) or path (local or network) to the location where the source object is saved. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + filename?: string; + /** + * Specifies the height of the picture in points. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + height?: number; + /** + * Specifies a value that indicates whether the picture retains its original proportions when resized. `true` if it retains its proportions; otherwise, `false`. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + lockAspectRatio?: boolean; + /** + * Specifies the width of the picture in points. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + width?: number; + } /** An interface describing the data returned by calling `pageBreak.toJSON()`. */ interface PageBreakData { /** @@ -84169,6 +85949,62 @@ declare namespace Excel { } /** An interface describing the data returned by calling `image.toJSON()`. */ interface ImageData { + /** + * Specifies the brightness of the image. The value for this property must be a number from 0.0 (dimmest) to 1.0 (brightest). + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + brightness?: number; + /** + * Specifies the type of color transformation applied to the image. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + colorType?: Excel.PictureColorType | "Mixed" | "Automatic" | "GrayScale" | "BlackAndWhite" | "Watermark"; + /** + * Specifies the contrast of the image. The value for this property must be a number from 0.0 (the least contrast) to 1.0 (the greatest contrast). + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + contrast?: number; + /** + * Specifies the number of points that are cropped off the bottom of the image. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropBottom?: number; + /** + * Specifies the number of points that are cropped off the left side of the image. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropLeft?: number; + /** + * Specifies the number of points that are cropped off the right side of the image. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropRight?: number; + /** + * Specifies the number of points that are cropped off the top of the image. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropTop?: number; /** * Specifies the shape identifier for the image object. * @@ -84502,6 +86338,45 @@ declare namespace Excel { * [Api set: ExcelApi 1.9] */ size?: number; + /** + * Specifies the strikethrough status of font. A `null` value indicates that the entire range doesn't have a uniform strikethrough setting. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + strikethrough?: boolean; + /** + * Specifies the subscript status of font. + Returns `true` if all the fonts of the range are subscript. + Returns `false` if all the fonts of the range are superscript or normal (neither superscript, nor subscript). + Returns `null` otherwise. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + subscript?: boolean; + /** + * Specifies the superscript status of font. + Returns `true` if all the fonts of the range are superscript. + Returns `false` if all the fonts of the range are subscript or normal (neither superscript, nor subscript). + Returns `null` otherwise. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + superscript?: boolean; + /** + * Specifies a double that lightens or darkens a color for the range font. The value is between -1 (darkest) and 1 (brightest), with 0 for the original color. + A `null` value indicates that the entire range doesn't have a uniform font `tintAndShade` setting. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + tintAndShade?: number; /** * Type of underline applied to the font. Returns `null` if the `TextRange` includes text fragments with different underline styles. See `Excel.ShapeFontUnderlineStyle` for details. * @@ -84660,70 +86535,6 @@ declare namespace Excel { interface SlicerItemCollectionData { items?: Excel.Interfaces.SlicerItemData[]; } - /** An interface describing the data returned by calling `linkedDataType.toJSON()`. */ - interface LinkedDataTypeData { - /** - * The name of the data provider for the linked data type. This may change when information is retrieved from the service. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - dataProvider?: string; - /** - * The local time-zone date and time since the workbook was opened when the linked data type was last refreshed. - Returns `undefined` if the linked data type has not been refreshed. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - lastRefreshed?: Date; - /** - * The name of the linked data type. This may change when information is retrieved from the service. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - name?: string; - /** - * The frequency, in seconds, at which the linked data type is refreshed if `refreshMode` is set to "Periodic". - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - periodicRefreshInterval?: number; - /** - * The mechanism by which the data for the linked data type is retrieved. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - refreshMode?: Excel.LinkedDataTypeRefreshMode | "Unknown" | "Manual" | "OnLoad" | "Periodic"; - /** - * The unique ID of the linked data type. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - serviceId?: number; - /** - * Returns an array with all the refresh modes supported by the linked data type. The contents of the array may change when information is retrieved from the service. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - supportedRefreshModes?: Excel.LinkedDataTypeRefreshMode[]; - } - /** An interface describing the data returned by calling `linkedDataTypeCollection.toJSON()`. */ - interface LinkedDataTypeCollectionData { - items?: Excel.Interfaces.LinkedDataTypeData[]; - } /** An interface describing the data returned by calling `linkedEntityDataDomain.toJSON()`. */ interface LinkedEntityDataDomainData { /** @@ -84827,7 +86638,7 @@ declare namespace Excel { /** An interface describing the data returned by calling `namedSheetView.toJSON()`. */ interface NamedSheetViewData { /** - * Gets or sets the name of the sheet view. + * Specifies the name of the sheet view. The temporary sheet view name is the empty string (""). Naming the view by using the name property causes the sheet view to be saved. * * @remarks @@ -84881,6 +86692,364 @@ declare namespace Excel { */ width?: number; } + /** An interface describing the data returned by calling `window.toJSON()`. */ + interface WindowData { + /** + * Specifies the active cell in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + activeCell?: Excel.Interfaces.RangeData; + /** + * Specifies the active pane in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + activePane?: Excel.Interfaces.PaneData; + /** + * Specifies the active sheet in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + activeWorksheet?: Excel.Interfaces.WorksheetData; + /** + * Gets the panes associated with the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + panes?: Excel.Interfaces.PaneData[]; + /** + * Gets the range selection in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + rangeSelection?: Excel.Interfaces.RangeAreasData; + /** + * Gets the visible range of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + visibleRange?: Excel.Interfaces.RangeData; + /** + * Specifies whether AutoFilter date grouping is enabled in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + autoFilterDateGroupingEnabled?: boolean; + /** + * Specifies a value indicating whether resizing is enabled for the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + enableResize?: boolean; + /** + * Specifies a value indicating whether panes are frozen in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + freezePanes?: boolean; + /** + * Specifies the height of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + height?: number; + /** + * Gets the index of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + index?: number; + /** + * Specifies the visibility of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + isVisible?: boolean; + /** + * Specifies the left position of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + left?: number; + /** + * Specifies the name of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + name?: string; + /** + * Specifies the scroll column of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + scrollColumn?: number; + /** + * Specifies the scroll row of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + scrollRow?: number; + /** + * Specifies the display of formulas in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showFormulas?: boolean; + /** + * Specifies the display of gridlines in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showGridlines?: boolean; + /** + * Specifies the display of headings in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showHeadings?: boolean; + /** + * Specifies the display of the horizontal scroll bar in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showHorizontalScrollBar?: boolean; + /** + * Specifies the display of the outline in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showOutline?: boolean; + /** + * Specifies the display of the right-to-left layout in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showRightToLeft?: boolean; + /** + * Specifies the display of the ruler in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showRuler?: boolean; + /** + * Specifies the display of the vertical scroll bar in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showVerticalScrollBar?: boolean; + /** + * Specifies the display of whitespace in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showWhitespace?: boolean; + /** + * Specifies the display of workbook tabs in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showWorkbookTabs?: boolean; + /** + * Specifies the display of zeros in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + showZeros?: boolean; + /** + * Specifies the split state of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + split?: boolean; + /** + * Specifies the split column of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + splitColumn?: number; + /** + * Specifies the horizontal split of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + splitHorizontal?: number; + /** + * Specifies the split row of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + splitRow?: number; + /** + * Specifies the vertical split of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + splitVertical?: number; + /** + * Specifies the tab ratio of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + tabRatio?: number; + /** + * Specifies the top position of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + top?: number; + /** + * Specifies the type of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + type?: Excel.WindowType | "chartAsWindow" | "chartInPlace" | "clipboard" | "workbook"; + /** + * Specifies the usable height of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + usableHeight?: number; + /** + * Specifies the usable width of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + usableWidth?: number; + /** + * Specifies the view of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + view?: Excel.WindowView | "normalView" | "pageBreakPreview" | "pageLayoutView"; + /** + * Returns or sets an integer value that represents the display size of the window. It can be set to a percentage between 10 and 400. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + width?: number; + /** + * Specifies the window number. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + windowNumber?: number; + /** + * Returns or sets an integer value that represents the display size of the window. It can be set to a percentage between 10 and 400. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + windowState?: Excel.WindowState | "maximized" | "minimized" | "normal"; + /** + * Specifies an integer value that represents the display size of the window. It can be set to a percentage between 10 and 400. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + zoom?: number; + } + /** An interface describing the data returned by calling `windowCollection.toJSON()`. */ + interface WindowCollectionData { + items?: Excel.Interfaces.WindowData[]; + } + /** An interface describing the data returned by calling `pane.toJSON()`. */ + interface PaneData { + /** + * Returns index of the pane. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + index?: number; + } + /** An interface describing the data returned by calling `paneCollection.toJSON()`. */ + interface PaneCollectionData { + items?: Excel.Interfaces.PaneData[]; + } /** An interface describing the data returned by calling `functionResult.toJSON()`. */ interface FunctionResultData { /** @@ -85439,7 +87608,7 @@ declare namespace Excel { */ priority?: boolean; /** - * Gets or sets the date and time the task should start and is due. + * Specifies the date and time the task should start and is due. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] @@ -85540,7 +87709,7 @@ declare namespace Excel { */ priority?: boolean; /** - * For EACH ITEM in the collection: Gets or sets the date and time the task should start and is due. + * For EACH ITEM in the collection: Specifies the date and time the task should start and is due. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] @@ -85587,6 +87756,14 @@ declare namespace Excel { */ $all?: boolean; /** + * Returns a `window` object that represents the active window (the window on top). + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + activeWindow?: Excel.Interfaces.WindowLoadOptions; + /** * Provides information based on current system culture settings. This includes the culture names, number formatting, and other culturally dependent settings. * * @remarks @@ -86255,6 +88432,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.18] */ control?: boolean; + /** + * Specifies the array formula of a range. If the specified range doesn't contain an array formula, this property returns `null`. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + formulaArray?: boolean; /** * Represents the formula in A1-style notation. If a cell has no formula, its value is returned instead. * @@ -86418,7 +88603,7 @@ declare namespace Excel { */ valueTypes?: boolean; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -86427,7 +88612,7 @@ declare namespace Excel { values?: boolean; /** * A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `Range.valuesAsJsonLocal`. * * @remarks @@ -86436,7 +88621,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `Range.valuesAsJson`. * * @remarks @@ -86637,7 +88822,7 @@ declare namespace Excel { */ valueTypes?: boolean; /** - * Represents the raw values of the specified range view. The data returned could be of type string, number, or a boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range view. The data returned could be of type string, number, or a Boolean. Cells that contain an error will return the error string. * * @remarks * [Api set: ExcelApi 1.3] @@ -86645,7 +88830,7 @@ declare namespace Excel { values?: boolean; /** * A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `RangeView.valuesAsJsonLocal`. * * @remarks @@ -86654,7 +88839,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `RangeView.valuesAsJson`. * * @remarks @@ -86744,7 +88929,7 @@ declare namespace Excel { */ valueTypes?: boolean; /** - * For EACH ITEM in the collection: Represents the raw values of the specified range view. The data returned could be of type string, number, or a boolean. Cells that contain an error will return the error string. + * For EACH ITEM in the collection: Represents the raw values of the specified range view. The data returned could be of type string, number, or a Boolean. Cells that contain an error will return the error string. * * @remarks * [Api set: ExcelApi 1.3] @@ -86752,7 +88937,7 @@ declare namespace Excel { values?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `RangeView.valuesAsJsonLocal`. * * @remarks @@ -86761,7 +88946,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `RangeView.valuesAsJson`. * * @remarks @@ -86900,7 +89085,7 @@ declare namespace Excel { value?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in this named item. - Unlike `NamedItem.value`, `NamedItem.valueAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItem.value`, `NamedItem.valueAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `NamedItem.valueAsJsonLocal`. * * @remarks @@ -86909,7 +89094,7 @@ declare namespace Excel { valueAsJson?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in this named item. - Unlike `NamedItem.value`, `NamedItem.valueAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItem.value`, `NamedItem.valueAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `NamedItem.valueAsJson`. * * @remarks @@ -87003,7 +89188,7 @@ declare namespace Excel { value?: boolean; /** * A JSON representation of the values in this named item. - Unlike `NamedItem.value`, `NamedItem.valueAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItem.value`, `NamedItem.valueAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `NamedItem.valueAsJsonLocal`. * * @remarks @@ -87012,7 +89197,7 @@ declare namespace Excel { valueAsJson?: boolean; /** * A JSON representation of the values in this named item. - Unlike `NamedItem.value`, `NamedItem.valueAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItem.value`, `NamedItem.valueAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `NamedItem.valueAsJson`. * * @remarks @@ -87054,7 +89239,7 @@ declare namespace Excel { values?: boolean; /** * A JSON representation of the values in this named item array. - Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `NamedItemArrayValues.valuesAsJsonLocal`. * * @remarks @@ -87063,7 +89248,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * A JSON representation of the values in this named item array. - Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `NamedItemArrayValues.valuesAsJson`. * * @remarks @@ -87177,6 +89362,30 @@ declare namespace Excel { * [Api set: ExcelApi 1.2] */ worksheet?: Excel.Interfaces.WorksheetLoadOptions; + /** + * For EACH ITEM in the collection: Specifies the alternative text for accessibility. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + altTextDescription?: boolean; + /** + * For EACH ITEM in the collection: Specifies a summary for the table, such as one used by screen readers. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + altTextTitle?: boolean; + /** + * For EACH ITEM in the collection: Specifies a comment associated with the table. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + comment?: boolean; /** * For EACH ITEM in the collection: Specifies if the first column contains special formatting. * @@ -87198,6 +89407,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.1] */ id?: boolean; + /** + * For EACH ITEM in the collection: Retrieves whether the table is currently active. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + isActive?: boolean; /** * For EACH ITEM in the collection: Returns a numeric ID. * @@ -87249,6 +89466,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.1] */ showTotals?: boolean; + /** + * For EACH ITEM in the collection: Retrieves the data source type from which the table originates. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + source?: boolean; /** * For EACH ITEM in the collection: Constant value that represents the table style. Possible values are: "TableStyleLight1" through "TableStyleLight21", "TableStyleMedium1" through "TableStyleMedium28", "TableStyleDark1" through "TableStyleDark11". A custom user-defined style present in the workbook can also be specified. * @@ -87311,6 +89536,30 @@ declare namespace Excel { * [Api set: ExcelApi 1.9] */ worksheet?: Excel.Interfaces.WorksheetLoadOptions; + /** + * For EACH ITEM in the collection: Specifies the alternative text for accessibility. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + altTextDescription?: boolean; + /** + * For EACH ITEM in the collection: Specifies a summary for the table, such as one used by screen readers. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + altTextTitle?: boolean; + /** + * For EACH ITEM in the collection: Specifies a comment associated with the table. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + comment?: boolean; /** * For EACH ITEM in the collection: Specifies if the first column contains special formatting. * @@ -87332,6 +89581,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.1] */ id?: boolean; + /** + * For EACH ITEM in the collection: Retrieves whether the table is currently active. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + isActive?: boolean; /** * For EACH ITEM in the collection: Returns a numeric ID. * @@ -87383,6 +89640,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.1] */ showTotals?: boolean; + /** + * For EACH ITEM in the collection: Retrieves the data source type from which the table originates. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + source?: boolean; /** * For EACH ITEM in the collection: Constant value that represents the table style. Possible values are: "TableStyleLight1" through "TableStyleLight21", "TableStyleMedium1" through "TableStyleMedium28", "TableStyleDark1" through "TableStyleDark11". A custom user-defined style present in the workbook can also be specified. * @@ -87446,6 +89711,30 @@ declare namespace Excel { * [Api set: ExcelApi 1.2] */ worksheet?: Excel.Interfaces.WorksheetLoadOptions; + /** + * Specifies the alternative text for accessibility. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + altTextDescription?: boolean; + /** + * Specifies a summary for the table, such as one used by screen readers. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + altTextTitle?: boolean; + /** + * Specifies a comment associated with the table. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + comment?: boolean; /** * Specifies if the first column contains special formatting. * @@ -87467,6 +89756,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.1] */ id?: boolean; + /** + * Retrieves whether the table is currently active. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + isActive?: boolean; /** * Returns a numeric ID. * @@ -87518,6 +89815,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.1] */ showTotals?: boolean; + /** + * Retrieves the data source type from which the table originates. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + source?: boolean; /** * Constant value that represents the table style. Possible values are: "TableStyleLight1" through "TableStyleLight21", "TableStyleMedium1" through "TableStyleMedium28", "TableStyleDark1" through "TableStyleDark11". A custom user-defined style present in the workbook can also be specified. * @@ -87566,7 +89871,7 @@ declare namespace Excel { */ name?: boolean; /** - * For EACH ITEM in the collection: Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * For EACH ITEM in the collection: Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -87575,7 +89880,7 @@ declare namespace Excel { values?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableColumn.valuesAsJsonLocal`. * * @remarks @@ -87584,7 +89889,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableColumn.valuesAsJson`. * * @remarks @@ -87632,7 +89937,7 @@ declare namespace Excel { */ name?: boolean; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -87641,7 +89946,7 @@ declare namespace Excel { values?: boolean; /** * A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableColumn.valuesAsJsonLocal`. * * @remarks @@ -87650,7 +89955,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableColumn.valuesAsJson`. * * @remarks @@ -87682,7 +89987,7 @@ declare namespace Excel { */ index?: boolean; /** - * For EACH ITEM in the collection: Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * For EACH ITEM in the collection: Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -87691,7 +89996,7 @@ declare namespace Excel { values?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableRow.valuesAsJsonLocal`. * * @remarks @@ -87700,7 +90005,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableRow.valuesAsJson`. * * @remarks @@ -87732,7 +90037,7 @@ declare namespace Excel { */ index?: boolean; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -87741,7 +90046,7 @@ declare namespace Excel { values?: boolean; /** * A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableRow.valuesAsJsonLocal`. * * @remarks @@ -87750,7 +90055,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableRow.valuesAsJson`. * * @remarks @@ -90802,7 +93107,7 @@ declare namespace Excel { */ position?: boolean; /** - * Represents a boolean value that determines if the chart title has a shadow. + * Represents a Boolean value that determines if the chart title has a shadow. * * @remarks * [Api set: ExcelApi 1.7] @@ -92723,7 +95028,7 @@ declare namespace Excel { */ key?: boolean; /** - * Gets or sets the value of the custom property. + * Specifies the value of the custom property. * * @remarks * [Api set: ExcelApi 1.12] @@ -92749,7 +95054,7 @@ declare namespace Excel { */ key?: boolean; /** - * For EACH ITEM in the collection: Gets or sets the value of the custom property. + * For EACH ITEM in the collection: Specifies the value of the custom property. * * @remarks * [Api set: ExcelApi 1.12] @@ -94354,6 +96659,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.9] */ headersFooters?: Excel.Interfaces.HeaderFooterGroupLoadOptions; + /** + * Specifies whether Excel aligns the header and the footer with the margins set in the page setup options. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + alignMarginsHeaderFooter?: boolean; /** * The worksheet's black and white print option. * @@ -94466,6 +96779,16 @@ declare namespace Excel { * [Api set: ExcelApi 1.9] */ printOrder?: boolean; + /** + * Specifies a two-element array that contains both horizontal and vertical print quality values. + The first element is the horizontal print quality, and the second element is the vertical print quality. + Some printers may not support vertical print quality and the supported values may vary by printer. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + printQuality?: boolean; /** * The worksheet's right margin, in points, for use when printing. * @@ -94495,9 +96818,57 @@ declare namespace Excel { */ interface HeaderFooterLoadOptions { /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). - */ - $all?: boolean; + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the center section of the footer. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + centerFooterPicture?: Excel.Interfaces.HeaderFooterPictureLoadOptions; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the center section of the header. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + centerHeaderPicture?: Excel.Interfaces.HeaderFooterPictureLoadOptions; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the left section of the footer. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + leftFooterPicture?: Excel.Interfaces.HeaderFooterPictureLoadOptions; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the left section of the header. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + leftHeaderPicture?: Excel.Interfaces.HeaderFooterPictureLoadOptions; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the right section of the footer. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + rightFooterPicture?: Excel.Interfaces.HeaderFooterPictureLoadOptions; + /** + * Gets a `HeaderFooterPicture` object that represents the picture for the right section of the header. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + rightHeaderPicture?: Excel.Interfaces.HeaderFooterPictureLoadOptions; /** * The center footer of the worksheet. To apply font formatting or insert a variable value, use format codes specified here: https://msdn.microsoft.com/library/bb225426.aspx. @@ -94592,20 +96963,121 @@ declare namespace Excel { */ state?: boolean; /** - * Gets or sets a flag indicating if headers/footers are aligned with the page margins set in the page layout options for the worksheet. + * Specifies a flag indicating if headers/footers are aligned with the page margins set in the page layout options for the worksheet. * * @remarks * [Api set: ExcelApi 1.9] */ useSheetMargins?: boolean; /** - * Gets or sets a flag indicating if headers/footers should be scaled by the page percentage scale set in the page layout options for the worksheet. + * Specifies a flag indicating if headers/footers should be scaled by the page percentage scale set in the page layout options for the worksheet. * * @remarks * [Api set: ExcelApi 1.9] */ useSheetScale?: boolean; } + /** + * Represents a picture in the header or footer of a worksheet. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + interface HeaderFooterPictureLoadOptions { + /** + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * Specifies the brightness of the picture. The value for this property must be a number from 0.0 (dimmest) to 1.0 (brightest). + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + brightness?: boolean; + /** + * Specifies the type of color transformation of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + colorType?: boolean; + /** + * Specifies the contrast of the picture. The value for this property must be a number from 0.0 (least contrast) to 1.0 (most contrast). + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + contrast?: boolean; + /** + * Specifies the number of points that are cropped off the bottom of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropBottom?: boolean; + /** + * Specifies the number of points that are cropped off the left side of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropLeft?: boolean; + /** + * Specifies the number of points that are cropped off the right side of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropRight?: boolean; + /** + * Specifies the number of points that are cropped off the top of the picture. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + cropTop?: boolean; + /** + * Specifies the URL (on the intranet or the web) or path (local or network) to the location where the source object is saved. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + filename?: boolean; + /** + * Specifies the height of the picture in points. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + height?: boolean; + /** + * Specifies a value that indicates whether the picture retains its original proportions when resized. `true` if it retains its proportions; otherwise, `false`. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + lockAspectRatio?: boolean; + /** + * Specifies the width of the picture in points. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + width?: boolean; + } /** * @remarks * [Api set: ExcelApi 1.9] @@ -94734,6 +97206,14 @@ declare namespace Excel { * [Api set: ExcelApi 1.18] */ control?: boolean; + /** + * For EACH ITEM in the collection: Specifies the array formula of a range. If the specified range doesn't contain an array formula, this property returns `null`. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + formulaArray?: boolean; /** * For EACH ITEM in the collection: Represents the formula in A1-style notation. If a cell has no formula, its value is returned instead. * @@ -94897,7 +97377,7 @@ declare namespace Excel { */ valueTypes?: boolean; /** - * For EACH ITEM in the collection: Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * For EACH ITEM in the collection: Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -94906,7 +97386,7 @@ declare namespace Excel { values?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `Range.valuesAsJsonLocal`. * * @remarks @@ -94915,7 +97395,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `Range.valuesAsJson`. * * @remarks @@ -94942,385 +97422,927 @@ declare namespace Excel { */ $all?: boolean; /** - * For EACH ITEM in the collection: Returns a data validation object for all ranges in the `RangeAreas`. + * For EACH ITEM in the collection: Returns a data validation object for all ranges in the `RangeAreas`. + * + * @remarks + * [Api set: ExcelApi 1.12] + */ + dataValidation?: Excel.Interfaces.DataValidationLoadOptions; + /** + * For EACH ITEM in the collection: Returns a `RangeFormat` object, encapsulating the font, fill, borders, alignment, and other properties for all ranges in the `RangeAreas` object. + * + * @remarks + * [Api set: ExcelApi 1.12] + */ + format?: Excel.Interfaces.RangeFormatLoadOptions; + /** + * For EACH ITEM in the collection: Returns the worksheet for the current `RangeAreas`. + * + * @remarks + * [Api set: ExcelApi 1.12] + */ + worksheet?: Excel.Interfaces.WorksheetLoadOptions; + /** + * For EACH ITEM in the collection: Returns the `RangeAreas` reference in A1-style. Address value will contain the worksheet name for each rectangular block of cells (e.g., "Sheet1!A1:B4, Sheet1!D1:D4"). + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + address?: boolean; + /** + * For EACH ITEM in the collection: Returns the `RangeAreas` reference in the user locale. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + addressLocal?: boolean; + /** + * For EACH ITEM in the collection: Returns the number of rectangular ranges that comprise this `RangeAreas` object. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + areaCount?: boolean; + /** + * For EACH ITEM in the collection: Returns the number of cells in the `RangeAreas` object, summing up the cell counts of all of the individual rectangular ranges. Returns -1 if the cell count exceeds 2^31-1 (2,147,483,647). + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + cellCount?: boolean; + /** + * For EACH ITEM in the collection: Specifies if all the ranges on this `RangeAreas` object represent entire columns (e.g., "A:C, Q:Z"). + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + isEntireColumn?: boolean; + /** + * For EACH ITEM in the collection: Specifies if all the ranges on this `RangeAreas` object represent entire rows (e.g., "1:3, 5:7"). + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + isEntireRow?: boolean; + /** + * For EACH ITEM in the collection: Represents the style for all ranges in this `RangeAreas` object. + If the styles of the cells are inconsistent, `null` will be returned. + For custom styles, the style name will be returned. For built-in styles, a string representing a value in the `BuiltInStyle` enum will be returned. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + style?: boolean; + } + /** + * Represents a collection of comment objects that are part of the workbook. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + interface CommentCollectionLoadOptions { + /** + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * For EACH ITEM in the collection: Gets the email of the comment's author. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + authorEmail?: boolean; + /** + * For EACH ITEM in the collection: Gets the name of the comment's author. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + authorName?: boolean; + /** + * For EACH ITEM in the collection: The comment's content. The string is plain text. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + content?: boolean; + /** + * For EACH ITEM in the collection: Gets the content type of the comment. + * + * @remarks + * [Api set: ExcelApi 1.12] + */ + contentType?: boolean; + /** + * For EACH ITEM in the collection: Gets the creation time of the comment. Returns `null` if the comment was converted from a note, since the comment does not have a creation date. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + creationDate?: boolean; + /** + * For EACH ITEM in the collection: Specifies the comment identifier. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + id?: boolean; + /** + * For EACH ITEM in the collection: Gets the entities (e.g., people) that are mentioned in comments. + * + * @remarks + * [Api set: ExcelApi 1.11] + */ + mentions?: boolean; + /** + * For EACH ITEM in the collection: The comment thread status. A value of `true` means that the comment thread is resolved. + * + * @remarks + * [Api set: ExcelApi 1.11] + */ + resolved?: boolean; + /** + * For EACH ITEM in the collection: Gets the rich comment content (e.g., mentions in comments). This string is not meant to be displayed to end-users. Your add-in should only use this to parse rich comment content. + * + * @remarks + * [Api set: ExcelApi 1.11] + */ + richContent?: boolean; + } + /** + * Represents a comment in the workbook. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + interface CommentLoadOptions { + /** + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * Gets the email of the comment's author. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + authorEmail?: boolean; + /** + * Gets the name of the comment's author. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + authorName?: boolean; + /** + * The comment's content. The string is plain text. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + content?: boolean; + /** + * Gets the content type of the comment. + * + * @remarks + * [Api set: ExcelApi 1.12] + */ + contentType?: boolean; + /** + * Gets the creation time of the comment. Returns `null` if the comment was converted from a note, since the comment does not have a creation date. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + creationDate?: boolean; + /** + * Specifies the comment identifier. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + id?: boolean; + /** + * Gets the entities (e.g., people) that are mentioned in comments. + * + * @remarks + * [Api set: ExcelApi 1.11] + */ + mentions?: boolean; + /** + * The comment thread status. A value of `true` means that the comment thread is resolved. + * + * @remarks + * [Api set: ExcelApi 1.11] + */ + resolved?: boolean; + /** + * Gets the rich comment content (e.g., mentions in comments). This string is not meant to be displayed to end-users. Your add-in should only use this to parse rich comment content. + * + * @remarks + * [Api set: ExcelApi 1.11] + */ + richContent?: boolean; + } + /** + * Represents a collection of comment reply objects that are part of the comment. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + interface CommentReplyCollectionLoadOptions { + /** + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * For EACH ITEM in the collection: Gets the email of the comment reply's author. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + authorEmail?: boolean; + /** + * For EACH ITEM in the collection: Gets the name of the comment reply's author. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + authorName?: boolean; + /** + * For EACH ITEM in the collection: The comment reply's content. The string is plain text. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + content?: boolean; + /** + * For EACH ITEM in the collection: The content type of the reply. + * + * @remarks + * [Api set: ExcelApi 1.12] + */ + contentType?: boolean; + /** + * For EACH ITEM in the collection: Gets the creation time of the comment reply. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + creationDate?: boolean; + /** + * For EACH ITEM in the collection: Specifies the comment reply identifier. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + id?: boolean; + /** + * For EACH ITEM in the collection: The entities (e.g., people) that are mentioned in comments. + * + * @remarks + * [Api set: ExcelApi 1.11] + */ + mentions?: boolean; + /** + * For EACH ITEM in the collection: The comment reply status. A value of `true` means the reply is in the resolved state. + * + * @remarks + * [Api set: ExcelApi 1.11] + */ + resolved?: boolean; + /** + * For EACH ITEM in the collection: The rich comment content (e.g., mentions in comments). This string is not meant to be displayed to end-users. Your add-in should only use this to parse rich comment content. + * + * @remarks + * [Api set: ExcelApi 1.11] + */ + richContent?: boolean; + } + /** + * Represents a comment reply in the workbook. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + interface CommentReplyLoadOptions { + /** + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * Gets the email of the comment reply's author. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + authorEmail?: boolean; + /** + * Gets the name of the comment reply's author. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + authorName?: boolean; + /** + * The comment reply's content. The string is plain text. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + content?: boolean; + /** + * The content type of the reply. + * + * @remarks + * [Api set: ExcelApi 1.12] + */ + contentType?: boolean; + /** + * Gets the creation time of the comment reply. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + creationDate?: boolean; + /** + * Specifies the comment reply identifier. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + id?: boolean; + /** + * The entities (e.g., people) that are mentioned in comments. + * + * @remarks + * [Api set: ExcelApi 1.11] + */ + mentions?: boolean; + /** + * The comment reply status. A value of `true` means the reply is in the resolved state. + * + * @remarks + * [Api set: ExcelApi 1.11] + */ + resolved?: boolean; + /** + * The rich comment content (e.g., mentions in comments). This string is not meant to be displayed to end-users. Your add-in should only use this to parse rich comment content. + * + * @remarks + * [Api set: ExcelApi 1.11] + */ + richContent?: boolean; + } + /** + * Represents a collection of all the shapes in the worksheet. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + interface ShapeCollectionLoadOptions { + /** + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * For EACH ITEM in the collection: Returns the fill formatting of this shape. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + fill?: Excel.Interfaces.ShapeFillLoadOptions; + /** + * For EACH ITEM in the collection: Returns the geometric shape associated with the shape. An error will be thrown if the shape type is not "GeometricShape". + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + geometricShape?: Excel.Interfaces.GeometricShapeLoadOptions; + /** + * For EACH ITEM in the collection: Returns the shape group associated with the shape. An error will be thrown if the shape type is not "GroupShape". + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + group?: Excel.Interfaces.ShapeGroupLoadOptions; + /** + * For EACH ITEM in the collection: Returns the image associated with the shape. An error will be thrown if the shape type is not "Image". + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + image?: Excel.Interfaces.ImageLoadOptions; + /** + * For EACH ITEM in the collection: Returns the line associated with the shape. An error will be thrown if the shape type is not "Line". * * @remarks - * [Api set: ExcelApi 1.12] + * [Api set: ExcelApi 1.9] */ - dataValidation?: Excel.Interfaces.DataValidationLoadOptions; + line?: Excel.Interfaces.LineLoadOptions; /** - * For EACH ITEM in the collection: Returns a `RangeFormat` object, encapsulating the font, fill, borders, alignment, and other properties for all ranges in the `RangeAreas` object. + * For EACH ITEM in the collection: Returns the line formatting of this shape. * * @remarks - * [Api set: ExcelApi 1.12] + * [Api set: ExcelApi 1.9] */ - format?: Excel.Interfaces.RangeFormatLoadOptions; + lineFormat?: Excel.Interfaces.ShapeLineFormatLoadOptions; /** - * For EACH ITEM in the collection: Returns the worksheet for the current `RangeAreas`. + * For EACH ITEM in the collection: Specifies the parent group of this shape. * * @remarks - * [Api set: ExcelApi 1.12] + * [Api set: ExcelApi 1.9] */ - worksheet?: Excel.Interfaces.WorksheetLoadOptions; + parentGroup?: Excel.Interfaces.ShapeLoadOptions; /** - * For EACH ITEM in the collection: Returns the `RangeAreas` reference in A1-style. Address value will contain the worksheet name for each rectangular block of cells (e.g., "Sheet1!A1:B4, Sheet1!D1:D4"). + * For EACH ITEM in the collection: Returns the text frame object of this shape. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + textFrame?: Excel.Interfaces.TextFrameLoadOptions; + /** + * For EACH ITEM in the collection: Specifies the alternative description text for a `Shape` object. * * @remarks * [Api set: ExcelApi 1.9] */ - address?: boolean; + altTextDescription?: boolean; /** - * For EACH ITEM in the collection: Returns the `RangeAreas` reference in the user locale. + * For EACH ITEM in the collection: Specifies the alternative title text for a `Shape` object. * * @remarks * [Api set: ExcelApi 1.9] */ - addressLocal?: boolean; + altTextTitle?: boolean; /** - * For EACH ITEM in the collection: Returns the number of rectangular ranges that comprise this `RangeAreas` object. + * For EACH ITEM in the collection: Returns the number of connection sites on this shape. * * @remarks * [Api set: ExcelApi 1.9] */ - areaCount?: boolean; + connectionSiteCount?: boolean; /** - * For EACH ITEM in the collection: Returns the number of cells in the `RangeAreas` object, summing up the cell counts of all of the individual rectangular ranges. Returns -1 if the cell count exceeds 2^31-1 (2,147,483,647). + * For EACH ITEM in the collection: Gets the display name of the shape. + A newly created shape has a generated name that is localized and may not match its `name`. + In this scenario, you can use this API to get the name that is displayed in the UI. + * + * @remarks + * [Api set: ExcelApi 1.15] + */ + displayName?: boolean; + /** + * For EACH ITEM in the collection: Specifies the geometric shape type of this geometric shape. See `Excel.GeometricShapeType` for details. Returns `null` if the shape type is not "GeometricShape". * * @remarks * [Api set: ExcelApi 1.9] */ - cellCount?: boolean; + geometricShapeType?: boolean; /** - * For EACH ITEM in the collection: Specifies if all the ranges on this `RangeAreas` object represent entire columns (e.g., "A:C, Q:Z"). + * For EACH ITEM in the collection: Specifies the height, in points, of the shape. + Throws an `InvalidArgument` exception when set with a negative value or zero as an input. * * @remarks * [Api set: ExcelApi 1.9] */ - isEntireColumn?: boolean; + height?: boolean; /** - * For EACH ITEM in the collection: Specifies if all the ranges on this `RangeAreas` object represent entire rows (e.g., "1:3, 5:7"). + * For EACH ITEM in the collection: Specifies the shape identifier. * * @remarks * [Api set: ExcelApi 1.9] */ - isEntireRow?: boolean; + id?: boolean; /** - * For EACH ITEM in the collection: Represents the style for all ranges in this `RangeAreas` object. - If the styles of the cells are inconsistent, `null` will be returned. - For custom styles, the style name will be returned. For built-in styles, a string representing a value in the `BuiltInStyle` enum will be returned. + * For EACH ITEM in the collection: The distance, in points, from the left side of the shape to the left side of the worksheet. + Throws an `InvalidArgument` exception when set with a negative value as an input. * * @remarks * [Api set: ExcelApi 1.9] */ - style?: boolean; - } - /** - * Represents a collection of comment objects that are part of the workbook. - * - * @remarks - * [Api set: ExcelApi 1.10] - */ - interface CommentCollectionLoadOptions { + left?: boolean; /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + * For EACH ITEM in the collection: Specifies the level of the specified shape. For example, a level of 0 means that the shape is not part of any groups, a level of 1 means the shape is part of a top-level group, and a level of 2 means the shape is part of a sub-group of the top level. + * + * @remarks + * [Api set: ExcelApi 1.9] */ - $all?: boolean; + level?: boolean; /** - * For EACH ITEM in the collection: Gets the email of the comment's author. + * For EACH ITEM in the collection: Specifies if the aspect ratio of this shape is locked. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.9] */ - authorEmail?: boolean; + lockAspectRatio?: boolean; /** - * For EACH ITEM in the collection: Gets the name of the comment's author. + * For EACH ITEM in the collection: Specifies the name of the shape. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.9] */ - authorName?: boolean; + name?: boolean; /** - * For EACH ITEM in the collection: The comment's content. The string is plain text. + * For EACH ITEM in the collection: Represents how the object is attached to the cells below it. * * @remarks * [Api set: ExcelApi 1.10] */ - content?: boolean; + placement?: boolean; /** - * For EACH ITEM in the collection: Gets the content type of the comment. + * For EACH ITEM in the collection: Specifies the rotation, in degrees, of the shape. * * @remarks - * [Api set: ExcelApi 1.12] + * [Api set: ExcelApi 1.9] */ - contentType?: boolean; + rotation?: boolean; /** - * For EACH ITEM in the collection: Gets the creation time of the comment. Returns `null` if the comment was converted from a note, since the comment does not have a creation date. + * For EACH ITEM in the collection: The distance, in points, from the top edge of the shape to the top edge of the worksheet. + Throws an `InvalidArgument` exception when set with a negative value as an input. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.9] */ - creationDate?: boolean; + top?: boolean; /** - * For EACH ITEM in the collection: Specifies the comment identifier. + * For EACH ITEM in the collection: Returns the type of this shape. See `Excel.ShapeType` for details. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.9] */ - id?: boolean; + type?: boolean; /** - * For EACH ITEM in the collection: Gets the entities (e.g., people) that are mentioned in comments. + * For EACH ITEM in the collection: Specifies if the shape is visible. * * @remarks - * [Api set: ExcelApi 1.11] + * [Api set: ExcelApi 1.9] */ - mentions?: boolean; + visible?: boolean; /** - * For EACH ITEM in the collection: The comment thread status. A value of `true` means that the comment thread is resolved. + * For EACH ITEM in the collection: Specifies the width, in points, of the shape. + Throws an `InvalidArgument` exception when set with a negative value or zero as an input. * * @remarks - * [Api set: ExcelApi 1.11] + * [Api set: ExcelApi 1.9] */ - resolved?: boolean; + width?: boolean; /** - * For EACH ITEM in the collection: Gets the rich comment content (e.g., mentions in comments). This string is not meant to be displayed to end-users. Your add-in should only use this to parse rich comment content. + * For EACH ITEM in the collection: Returns the position of the specified shape in the z-order, with 0 representing the bottom of the order stack. * * @remarks - * [Api set: ExcelApi 1.11] + * [Api set: ExcelApi 1.9] */ - richContent?: boolean; + zOrderPosition?: boolean; } /** - * Represents a comment in the workbook. + * Represents a generic shape object in the worksheet. A shape could be a geometric shape, a line, a group of shapes, etc. + To learn more about the shape object model, read {@link https://learn.microsoft.com/office/dev/add-ins/excel/excel-add-ins-shapes | Work with shapes using the Excel JavaScript API}. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.9] */ - interface CommentLoadOptions { + interface ShapeLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * Gets the email of the comment's author. + * Returns the fill formatting of this shape. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + fill?: Excel.Interfaces.ShapeFillLoadOptions; + /** + * Returns the geometric shape associated with the shape. An error will be thrown if the shape type is not "GeometricShape". + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + geometricShape?: Excel.Interfaces.GeometricShapeLoadOptions; + /** + * Returns the shape group associated with the shape. An error will be thrown if the shape type is not "GroupShape". + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + group?: Excel.Interfaces.ShapeGroupLoadOptions; + /** + * Returns the image associated with the shape. An error will be thrown if the shape type is not "Image". + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + image?: Excel.Interfaces.ImageLoadOptions; + /** + * Returns the line associated with the shape. An error will be thrown if the shape type is not "Line". + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + line?: Excel.Interfaces.LineLoadOptions; + /** + * Returns the line formatting of this shape. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + lineFormat?: Excel.Interfaces.ShapeLineFormatLoadOptions; + /** + * Specifies the parent group of this shape. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + parentGroup?: Excel.Interfaces.ShapeLoadOptions; + /** + * Returns the text frame object of this shape. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + textFrame?: Excel.Interfaces.TextFrameLoadOptions; + /** + * Specifies the alternative description text for a `Shape` object. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.9] */ - authorEmail?: boolean; + altTextDescription?: boolean; /** - * Gets the name of the comment's author. + * Specifies the alternative title text for a `Shape` object. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.9] */ - authorName?: boolean; + altTextTitle?: boolean; /** - * The comment's content. The string is plain text. + * Returns the number of connection sites on this shape. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.9] */ - content?: boolean; + connectionSiteCount?: boolean; /** - * Gets the content type of the comment. + * Gets the display name of the shape. + A newly created shape has a generated name that is localized and may not match its `name`. + In this scenario, you can use this API to get the name that is displayed in the UI. * * @remarks - * [Api set: ExcelApi 1.12] + * [Api set: ExcelApi 1.15] */ - contentType?: boolean; + displayName?: boolean; /** - * Gets the creation time of the comment. Returns `null` if the comment was converted from a note, since the comment does not have a creation date. + * Specifies the geometric shape type of this geometric shape. See `Excel.GeometricShapeType` for details. Returns `null` if the shape type is not "GeometricShape". * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.9] */ - creationDate?: boolean; + geometricShapeType?: boolean; /** - * Specifies the comment identifier. + * Specifies the height, in points, of the shape. + Throws an `InvalidArgument` exception when set with a negative value or zero as an input. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.9] */ - id?: boolean; + height?: boolean; /** - * Gets the entities (e.g., people) that are mentioned in comments. + * Specifies the shape identifier. * * @remarks - * [Api set: ExcelApi 1.11] + * [Api set: ExcelApi 1.9] */ - mentions?: boolean; + id?: boolean; /** - * The comment thread status. A value of `true` means that the comment thread is resolved. + * The distance, in points, from the left side of the shape to the left side of the worksheet. + Throws an `InvalidArgument` exception when set with a negative value as an input. * * @remarks - * [Api set: ExcelApi 1.11] + * [Api set: ExcelApi 1.9] */ - resolved?: boolean; + left?: boolean; /** - * Gets the rich comment content (e.g., mentions in comments). This string is not meant to be displayed to end-users. Your add-in should only use this to parse rich comment content. + * Specifies the level of the specified shape. For example, a level of 0 means that the shape is not part of any groups, a level of 1 means the shape is part of a top-level group, and a level of 2 means the shape is part of a sub-group of the top level. * * @remarks - * [Api set: ExcelApi 1.11] + * [Api set: ExcelApi 1.9] */ - richContent?: boolean; - } - /** - * Represents a collection of comment reply objects that are part of the comment. - * - * @remarks - * [Api set: ExcelApi 1.10] - */ - interface CommentReplyCollectionLoadOptions { + level?: boolean; /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + * Specifies if the aspect ratio of this shape is locked. + * + * @remarks + * [Api set: ExcelApi 1.9] */ - $all?: boolean; + lockAspectRatio?: boolean; /** - * For EACH ITEM in the collection: Gets the email of the comment reply's author. + * Specifies the name of the shape. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.9] */ - authorEmail?: boolean; + name?: boolean; /** - * For EACH ITEM in the collection: Gets the name of the comment reply's author. + * Represents how the object is attached to the cells below it. * * @remarks * [Api set: ExcelApi 1.10] */ - authorName?: boolean; + placement?: boolean; /** - * For EACH ITEM in the collection: The comment reply's content. The string is plain text. + * Specifies the rotation, in degrees, of the shape. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.9] */ - content?: boolean; + rotation?: boolean; /** - * For EACH ITEM in the collection: The content type of the reply. + * The distance, in points, from the top edge of the shape to the top edge of the worksheet. + Throws an `InvalidArgument` exception when set with a negative value as an input. * * @remarks - * [Api set: ExcelApi 1.12] + * [Api set: ExcelApi 1.9] */ - contentType?: boolean; + top?: boolean; /** - * For EACH ITEM in the collection: Gets the creation time of the comment reply. + * Returns the type of this shape. See `Excel.ShapeType` for details. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.9] */ - creationDate?: boolean; + type?: boolean; /** - * For EACH ITEM in the collection: Specifies the comment reply identifier. + * Specifies if the shape is visible. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.9] */ - id?: boolean; + visible?: boolean; /** - * For EACH ITEM in the collection: The entities (e.g., people) that are mentioned in comments. + * Specifies the width, in points, of the shape. + Throws an `InvalidArgument` exception when set with a negative value or zero as an input. * * @remarks - * [Api set: ExcelApi 1.11] + * [Api set: ExcelApi 1.9] */ - mentions?: boolean; + width?: boolean; /** - * For EACH ITEM in the collection: The comment reply status. A value of `true` means the reply is in the resolved state. + * Returns the position of the specified shape in the z-order, with 0 representing the bottom of the order stack. * * @remarks - * [Api set: ExcelApi 1.11] + * [Api set: ExcelApi 1.9] */ - resolved?: boolean; + zOrderPosition?: boolean; + } + /** + * Represents a geometric shape inside a worksheet. A geometric shape can be a rectangle, block arrow, equation symbol, flowchart item, star, banner, callout, or any other basic shape in Excel. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + interface GeometricShapeLoadOptions { /** - * For EACH ITEM in the collection: The rich comment content (e.g., mentions in comments). This string is not meant to be displayed to end-users. Your add-in should only use this to parse rich comment content. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * Returns the `Shape` object for the geometric shape. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + shape?: Excel.Interfaces.ShapeLoadOptions; + /** + * Returns the shape identifier. * * @remarks - * [Api set: ExcelApi 1.11] + * [Api set: ExcelApi 1.9] */ - richContent?: boolean; + id?: boolean; } /** - * Represents a comment reply in the workbook. + * Represents an image in the worksheet. To get the corresponding `Shape` object, use `Image.shape`. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.9] */ - interface CommentReplyLoadOptions { + interface ImageLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * Gets the email of the comment reply's author. + * Returns the `Shape` object associated with the image. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + shape?: Excel.Interfaces.ShapeLoadOptions; + /** + * Specifies the brightness of the image. The value for this property must be a number from 0.0 (dimmest) to 1.0 (brightest). * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - authorEmail?: boolean; + brightness?: boolean; /** - * Gets the name of the comment reply's author. + * Specifies the type of color transformation applied to the image. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - authorName?: boolean; + colorType?: boolean; /** - * The comment reply's content. The string is plain text. + * Specifies the contrast of the image. The value for this property must be a number from 0.0 (the least contrast) to 1.0 (the greatest contrast). * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - content?: boolean; + contrast?: boolean; /** - * The content type of the reply. + * Specifies the number of points that are cropped off the bottom of the image. * * @remarks - * [Api set: ExcelApi 1.12] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - contentType?: boolean; + cropBottom?: boolean; /** - * Gets the creation time of the comment reply. + * Specifies the number of points that are cropped off the left side of the image. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - creationDate?: boolean; + cropLeft?: boolean; /** - * Specifies the comment reply identifier. + * Specifies the number of points that are cropped off the right side of the image. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - id?: boolean; + cropRight?: boolean; /** - * The entities (e.g., people) that are mentioned in comments. + * Specifies the number of points that are cropped off the top of the image. * * @remarks - * [Api set: ExcelApi 1.11] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - mentions?: boolean; + cropTop?: boolean; /** - * The comment reply status. A value of `true` means the reply is in the resolved state. + * Specifies the shape identifier for the image object. * * @remarks - * [Api set: ExcelApi 1.11] + * [Api set: ExcelApi 1.9] */ - resolved?: boolean; + id?: boolean; /** - * The rich comment content (e.g., mentions in comments). This string is not meant to be displayed to end-users. Your add-in should only use this to parse rich comment content. + * Returns the format of the image. * * @remarks - * [Api set: ExcelApi 1.11] + * [Api set: ExcelApi 1.9] */ - richContent?: boolean; + format?: boolean; } /** - * Represents a collection of all the shapes in the worksheet. + * Represents a shape group inside a worksheet. To get the corresponding `Shape` object, use `ShapeGroup.shape`. * * @remarks * [Api set: ExcelApi 1.9] */ - interface ShapeCollectionLoadOptions { + interface ShapeGroupLoadOptions { + /** + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * Returns the `Shape` object associated with the group. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + shape?: Excel.Interfaces.ShapeLoadOptions; + /** + * Specifies the shape identifier. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + id?: boolean; + } + /** + * Represents the shape collection inside a shape group. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + interface GroupShapeCollectionLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ @@ -95515,1676 +98537,1772 @@ declare namespace Excel { zOrderPosition?: boolean; } /** - * Represents a generic shape object in the worksheet. A shape could be a geometric shape, a line, a group of shapes, etc. - To learn more about the shape object model, read {@link https://learn.microsoft.com/office/dev/add-ins/excel/excel-add-ins-shapes | Work with shapes using the Excel JavaScript API}. + * Represents a line inside a worksheet. To get the corresponding `Shape` object, use `Line.shape`. * * @remarks * [Api set: ExcelApi 1.9] */ - interface ShapeLoadOptions { + interface LineLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * Returns the fill formatting of this shape. - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - fill?: Excel.Interfaces.ShapeFillLoadOptions; - /** - * Returns the geometric shape associated with the shape. An error will be thrown if the shape type is not "GeometricShape". + * Represents the shape to which the beginning of the specified line is attached. * * @remarks * [Api set: ExcelApi 1.9] */ - geometricShape?: Excel.Interfaces.GeometricShapeLoadOptions; + beginConnectedShape?: Excel.Interfaces.ShapeLoadOptions; /** - * Returns the shape group associated with the shape. An error will be thrown if the shape type is not "GroupShape". + * Represents the shape to which the end of the specified line is attached. * * @remarks * [Api set: ExcelApi 1.9] */ - group?: Excel.Interfaces.ShapeGroupLoadOptions; + endConnectedShape?: Excel.Interfaces.ShapeLoadOptions; /** - * Returns the image associated with the shape. An error will be thrown if the shape type is not "Image". + * Returns the `Shape` object associated with the line. * * @remarks * [Api set: ExcelApi 1.9] */ - image?: Excel.Interfaces.ImageLoadOptions; + shape?: Excel.Interfaces.ShapeLoadOptions; /** - * Returns the line associated with the shape. An error will be thrown if the shape type is not "Line". - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - line?: Excel.Interfaces.LineLoadOptions; + * Represents the length of the arrowhead at the beginning of the specified line. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + beginArrowheadLength?: boolean; /** - * Returns the line formatting of this shape. - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - lineFormat?: Excel.Interfaces.ShapeLineFormatLoadOptions; + * Represents the style of the arrowhead at the beginning of the specified line. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + beginArrowheadStyle?: boolean; /** - * Specifies the parent group of this shape. - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - parentGroup?: Excel.Interfaces.ShapeLoadOptions; + * Represents the width of the arrowhead at the beginning of the specified line. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + beginArrowheadWidth?: boolean; /** - * Returns the text frame object of this shape. - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - textFrame?: Excel.Interfaces.TextFrameLoadOptions; + * Represents the connection site to which the beginning of a connector is connected. Returns `null` when the beginning of the line is not attached to any shape. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + beginConnectedSite?: boolean; /** - * Specifies the alternative description text for a `Shape` object. + * Represents the length of the arrowhead at the end of the specified line. * * @remarks * [Api set: ExcelApi 1.9] */ - altTextDescription?: boolean; + endArrowheadLength?: boolean; /** - * Specifies the alternative title text for a `Shape` object. + * Represents the style of the arrowhead at the end of the specified line. * * @remarks * [Api set: ExcelApi 1.9] */ - altTextTitle?: boolean; + endArrowheadStyle?: boolean; /** - * Returns the number of connection sites on this shape. + * Represents the width of the arrowhead at the end of the specified line. * * @remarks * [Api set: ExcelApi 1.9] */ - connectionSiteCount?: boolean; + endArrowheadWidth?: boolean; /** - * Gets the display name of the shape. - A newly created shape has a generated name that is localized and may not match its `name`. - In this scenario, you can use this API to get the name that is displayed in the UI. + * Represents the connection site to which the end of a connector is connected. Returns `null` when the end of the line is not attached to any shape. * * @remarks - * [Api set: ExcelApi 1.15] + * [Api set: ExcelApi 1.9] */ - displayName?: boolean; + endConnectedSite?: boolean; /** - * Specifies the geometric shape type of this geometric shape. See `Excel.GeometricShapeType` for details. Returns `null` if the shape type is not "GeometricShape". + * Specifies the shape identifier. * * @remarks * [Api set: ExcelApi 1.9] */ - geometricShapeType?: boolean; + id?: boolean; /** - * Specifies the height, in points, of the shape. - Throws an `InvalidArgument` exception when set with a negative value or zero as an input. + * Specifies if the beginning of the specified line is connected to a shape. * * @remarks * [Api set: ExcelApi 1.9] */ - height?: boolean; + isBeginConnected?: boolean; /** - * Specifies the shape identifier. + * Specifies if the end of the specified line is connected to a shape. * * @remarks * [Api set: ExcelApi 1.9] */ - id?: boolean; + isEndConnected?: boolean; /** - * The distance, in points, from the left side of the shape to the left side of the worksheet. - Throws an `InvalidArgument` exception when set with a negative value as an input. + * Represents the connector type for the line. * * @remarks * [Api set: ExcelApi 1.9] */ - left?: boolean; + connectorType?: boolean; + } + /** + * Represents the fill formatting of a shape object. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + interface ShapeFillLoadOptions { /** - * Specifies the level of the specified shape. For example, a level of 0 means that the shape is not part of any groups, a level of 1 means the shape is part of a top-level group, and a level of 2 means the shape is part of a sub-group of the top level. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * Represents the shape fill foreground color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange") * * @remarks * [Api set: ExcelApi 1.9] */ - level?: boolean; + foregroundColor?: boolean; /** - * Specifies if the aspect ratio of this shape is locked. + * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` if the shape type does not support transparency or the shape fill has inconsistent transparency, such as with a gradient fill type. * * @remarks * [Api set: ExcelApi 1.9] */ - lockAspectRatio?: boolean; + transparency?: boolean; /** - * Specifies the name of the shape. + * Returns the fill type of the shape. See `Excel.ShapeFillType` for details. * * @remarks * [Api set: ExcelApi 1.9] */ - name?: boolean; + type?: boolean; + } + /** + * Represents the line formatting for the shape object. For images and geometric shapes, line formatting represents the border of the shape. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + interface ShapeLineFormatLoadOptions { /** - * Represents how the object is attached to the cells below it. - * - * @remarks - * [Api set: ExcelApi 1.10] + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ - placement?: boolean; + $all?: boolean; /** - * Specifies the rotation, in degrees, of the shape. + * Represents the line color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). * * @remarks * [Api set: ExcelApi 1.9] */ - rotation?: boolean; + color?: boolean; /** - * The distance, in points, from the top edge of the shape to the top edge of the worksheet. - Throws an `InvalidArgument` exception when set with a negative value as an input. + * Represents the line style of the shape. Returns `null` when the line is not visible or there are inconsistent dash styles. See `Excel.ShapeLineDashStyle` for details. * * @remarks * [Api set: ExcelApi 1.9] */ - top?: boolean; + dashStyle?: boolean; /** - * Returns the type of this shape. See `Excel.ShapeType` for details. + * Represents the line style of the shape. Returns `null` when the line is not visible or there are inconsistent styles. See `Excel.ShapeLineStyle` for details. * * @remarks * [Api set: ExcelApi 1.9] */ - type?: boolean; + style?: boolean; /** - * Specifies if the shape is visible. + * Represents the degree of transparency of the specified line as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` when the shape has inconsistent transparencies. * * @remarks * [Api set: ExcelApi 1.9] */ - visible?: boolean; + transparency?: boolean; /** - * Specifies the width, in points, of the shape. - Throws an `InvalidArgument` exception when set with a negative value or zero as an input. + * Specifies if the line formatting of a shape element is visible. Returns `null` when the shape has inconsistent visibilities. * * @remarks * [Api set: ExcelApi 1.9] */ - width?: boolean; + visible?: boolean; /** - * Returns the position of the specified shape in the z-order, with 0 representing the bottom of the order stack. + * Represents the weight of the line, in points. Returns `null` when the line is not visible or there are inconsistent line weights. * * @remarks * [Api set: ExcelApi 1.9] */ - zOrderPosition?: boolean; + weight?: boolean; } /** - * Represents a geometric shape inside a worksheet. A geometric shape can be a rectangle, block arrow, equation symbol, flowchart item, star, banner, callout, or any other basic shape in Excel. + * Represents the text frame of a shape object. * * @remarks * [Api set: ExcelApi 1.9] */ - interface GeometricShapeLoadOptions { + interface TextFrameLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * Returns the `Shape` object for the geometric shape. + * Represents the text that is attached to a shape in the text frame, and properties and methods for manipulating the text. See `Excel.TextRange` for details. * * @remarks * [Api set: ExcelApi 1.9] */ - shape?: Excel.Interfaces.ShapeLoadOptions; + textRange?: Excel.Interfaces.TextRangeLoadOptions; /** - * Returns the shape identifier. + * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. * * @remarks * [Api set: ExcelApi 1.9] */ - id?: boolean; - } - /** - * Represents an image in the worksheet. To get the corresponding `Shape` object, use `Image.shape`. - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - interface ImageLoadOptions { + autoSizeSetting?: boolean; /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + * Represents the bottom margin, in points, of the text frame. + * + * @remarks + * [Api set: ExcelApi 1.9] */ - $all?: boolean; + bottomMargin?: boolean; /** - * Returns the `Shape` object associated with the image. - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - shape?: Excel.Interfaces.ShapeLoadOptions; + * Specifies if the text frame contains text. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + hasText?: boolean; /** - * Specifies the shape identifier for the image object. + * Represents the horizontal alignment of the text frame. See `Excel.ShapeTextHorizontalAlignment` for details. * * @remarks * [Api set: ExcelApi 1.9] */ - id?: boolean; + horizontalAlignment?: boolean; /** - * Returns the format of the image. + * Represents the horizontal overflow behavior of the text frame. See `Excel.ShapeTextHorizontalOverflow` for details. * * @remarks * [Api set: ExcelApi 1.9] */ - format?: boolean; + horizontalOverflow?: boolean; + /** + * Represents the left margin, in points, of the text frame. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + leftMargin?: boolean; + /** + * Represents the angle to which the text is oriented for the text frame. See `Excel.ShapeTextOrientation` for details. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + orientation?: boolean; + /** + * Represents the reading order of the text frame, either left-to-right or right-to-left. See `Excel.ShapeTextReadingOrder` for details. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + readingOrder?: boolean; + /** + * Represents the right margin, in points, of the text frame. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + rightMargin?: boolean; + /** + * Represents the top margin, in points, of the text frame. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + topMargin?: boolean; + /** + * Represents the vertical alignment of the text frame. See `Excel.ShapeTextVerticalAlignment` for details. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + verticalAlignment?: boolean; + /** + * Represents the vertical overflow behavior of the text frame. See `Excel.ShapeTextVerticalOverflow` for details. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + verticalOverflow?: boolean; } /** - * Represents a shape group inside a worksheet. To get the corresponding `Shape` object, use `ShapeGroup.shape`. + * Contains the text that is attached to a shape, in addition to properties and methods for manipulating the text. * * @remarks * [Api set: ExcelApi 1.9] */ - interface ShapeGroupLoadOptions { + interface TextRangeLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * Returns the `Shape` object associated with the group. + * Returns a `ShapeFont` object that represents the font attributes for the text range. * * @remarks * [Api set: ExcelApi 1.9] */ - shape?: Excel.Interfaces.ShapeLoadOptions; + font?: Excel.Interfaces.ShapeFontLoadOptions; /** - * Specifies the shape identifier. + * Represents the plain text content of the text range. * * @remarks * [Api set: ExcelApi 1.9] */ - id?: boolean; + text?: boolean; } /** - * Represents the shape collection inside a shape group. + * Represents the font attributes, such as font name, font size, and color, for a shape's `TextRange` object. * * @remarks * [Api set: ExcelApi 1.9] */ - interface GroupShapeCollectionLoadOptions { + interface ShapeFontLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * For EACH ITEM in the collection: Returns the fill formatting of this shape. - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - fill?: Excel.Interfaces.ShapeFillLoadOptions; - /** - * For EACH ITEM in the collection: Returns the geometric shape associated with the shape. An error will be thrown if the shape type is not "GeometricShape". - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - geometricShape?: Excel.Interfaces.GeometricShapeLoadOptions; - /** - * For EACH ITEM in the collection: Returns the shape group associated with the shape. An error will be thrown if the shape type is not "GroupShape". - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - group?: Excel.Interfaces.ShapeGroupLoadOptions; - /** - * For EACH ITEM in the collection: Returns the image associated with the shape. An error will be thrown if the shape type is not "Image". - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - image?: Excel.Interfaces.ImageLoadOptions; - /** - * For EACH ITEM in the collection: Returns the line associated with the shape. An error will be thrown if the shape type is not "Line". - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - line?: Excel.Interfaces.LineLoadOptions; - /** - * For EACH ITEM in the collection: Returns the line formatting of this shape. - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - lineFormat?: Excel.Interfaces.ShapeLineFormatLoadOptions; - /** - * For EACH ITEM in the collection: Specifies the parent group of this shape. - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - parentGroup?: Excel.Interfaces.ShapeLoadOptions; + * Represents the bold status of font. Returns `null` if the `TextRange` includes both bold and non-bold text fragments. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + bold?: boolean; /** - * For EACH ITEM in the collection: Returns the text frame object of this shape. - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - textFrame?: Excel.Interfaces.TextFrameLoadOptions; + * HTML color code representation of the text color (e.g., "#FF0000" represents red). Returns `null` if the `TextRange` includes text fragments with different colors. + * + * @remarks + * [Api set: ExcelApi 1.9] + */ + color?: boolean; /** - * For EACH ITEM in the collection: Specifies the alternative description text for a `Shape` object. + * Represents the italic status of font. Returns `null` if the `TextRange` includes both italic and non-italic text fragments. * * @remarks * [Api set: ExcelApi 1.9] */ - altTextDescription?: boolean; + italic?: boolean; /** - * For EACH ITEM in the collection: Specifies the alternative title text for a `Shape` object. + * Represents font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it is the Latin font name. * * @remarks * [Api set: ExcelApi 1.9] */ - altTextTitle?: boolean; + name?: boolean; /** - * For EACH ITEM in the collection: Returns the number of connection sites on this shape. + * Represents font size in points (e.g., 11). Returns `null` if the `TextRange` includes text fragments with different font sizes. * * @remarks * [Api set: ExcelApi 1.9] */ - connectionSiteCount?: boolean; + size?: boolean; /** - * For EACH ITEM in the collection: Gets the display name of the shape. - A newly created shape has a generated name that is localized and may not match its `name`. - In this scenario, you can use this API to get the name that is displayed in the UI. + * Specifies the strikethrough status of font. A `null` value indicates that the entire range doesn't have a uniform strikethrough setting. * * @remarks - * [Api set: ExcelApi 1.15] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - displayName?: boolean; + strikethrough?: boolean; /** - * For EACH ITEM in the collection: Specifies the geometric shape type of this geometric shape. See `Excel.GeometricShapeType` for details. Returns `null` if the shape type is not "GeometricShape". + * Specifies the subscript status of font. + Returns `true` if all the fonts of the range are subscript. + Returns `false` if all the fonts of the range are superscript or normal (neither superscript, nor subscript). + Returns `null` otherwise. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - geometricShapeType?: boolean; + subscript?: boolean; /** - * For EACH ITEM in the collection: Specifies the height, in points, of the shape. - Throws an `InvalidArgument` exception when set with a negative value or zero as an input. + * Specifies the superscript status of font. + Returns `true` if all the fonts of the range are superscript. + Returns `false` if all the fonts of the range are subscript or normal (neither superscript, nor subscript). + Returns `null` otherwise. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - height?: boolean; + superscript?: boolean; /** - * For EACH ITEM in the collection: Specifies the shape identifier. + * Specifies a double that lightens or darkens a color for the range font. The value is between -1 (darkest) and 1 (brightest), with 0 for the original color. + A `null` value indicates that the entire range doesn't have a uniform font `tintAndShade` setting. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - id?: boolean; + tintAndShade?: boolean; /** - * For EACH ITEM in the collection: The distance, in points, from the left side of the shape to the left side of the worksheet. - Throws an `InvalidArgument` exception when set with a negative value as an input. + * Type of underline applied to the font. Returns `null` if the `TextRange` includes text fragments with different underline styles. See `Excel.ShapeFontUnderlineStyle` for details. * * @remarks * [Api set: ExcelApi 1.9] */ - left?: boolean; + underline?: boolean; + } + /** + * Represents a `Slicer` object in the workbook. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + interface SlicerLoadOptions { /** - * For EACH ITEM in the collection: Specifies the level of the specified shape. For example, a level of 0 means that the shape is not part of any groups, a level of 1 means the shape is part of a top-level group, and a level of 2 means the shape is part of a sub-group of the top level. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * The style applied to the slicer. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + slicerStyle?: Excel.Interfaces.SlicerStyleLoadOptions; + /** + * Represents the worksheet containing the slicer. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + worksheet?: Excel.Interfaces.WorksheetLoadOptions; + /** + * Represents the caption of the slicer. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - level?: boolean; + caption?: boolean; /** - * For EACH ITEM in the collection: Specifies if the aspect ratio of this shape is locked. + * Specifies the height, in points, of the slicer. + Throws an `InvalidArgument` exception when set with a negative value or zero as an input. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - lockAspectRatio?: boolean; + height?: boolean; /** - * For EACH ITEM in the collection: Specifies the name of the shape. + * Represents the unique ID of the slicer. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - name?: boolean; + id?: boolean; /** - * For EACH ITEM in the collection: Represents how the object is attached to the cells below it. + * Value is `true` if all filters currently applied on the slicer are cleared. * * @remarks * [Api set: ExcelApi 1.10] */ - placement?: boolean; + isFilterCleared?: boolean; /** - * For EACH ITEM in the collection: Specifies the rotation, in degrees, of the shape. + * Represents the distance, in points, from the left side of the slicer to the left of the worksheet. + Throws an `InvalidArgument` error when set with a negative value as an input. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - rotation?: boolean; + left?: boolean; /** - * For EACH ITEM in the collection: The distance, in points, from the top edge of the shape to the top edge of the worksheet. - Throws an `InvalidArgument` exception when set with a negative value as an input. + * Represents the name of the slicer. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - top?: boolean; + name?: boolean; /** - * For EACH ITEM in the collection: Returns the type of this shape. See `Excel.ShapeType` for details. + * Specifies the slicer name used in the formula. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - type?: boolean; + nameInFormula?: boolean; /** - * For EACH ITEM in the collection: Specifies if the shape is visible. + * Specifies the sort order of the items in the slicer. + Possible values are: "DataSourceOrder", "Ascending", "Descending". * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - visible?: boolean; + sortBy?: boolean; /** - * For EACH ITEM in the collection: Specifies the width, in points, of the shape. - Throws an `InvalidArgument` exception when set with a negative value or zero as an input. + * Constant value that represents the slicer style. + Possible values are: "SlicerStyleLight1" through "SlicerStyleLight6", "TableStyleOther1" through "TableStyleOther2", "SlicerStyleDark1" through "SlicerStyleDark6". A custom user-defined style present in the workbook can also be specified. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - width?: boolean; + style?: boolean; /** - * For EACH ITEM in the collection: Returns the position of the specified shape in the z-order, with 0 representing the bottom of the order stack. + * Represents the distance, in points, from the top edge of the slicer to the top of the worksheet. + Throws an `InvalidArgument` error when set with a negative value as an input. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - zOrderPosition?: boolean; + top?: boolean; + /** + * Represents the width, in points, of the slicer. + Throws an `InvalidArgument` error when set with a negative value or zero as an input. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + width?: boolean; } /** - * Represents a line inside a worksheet. To get the corresponding `Shape` object, use `Line.shape`. + * Represents a collection of all the slicer objects in the workbook or a worksheet. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - interface LineLoadOptions { + interface SlicerCollectionLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * Represents the shape to which the beginning of the specified line is attached. + * For EACH ITEM in the collection: The style applied to the slicer. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - beginConnectedShape?: Excel.Interfaces.ShapeLoadOptions; + slicerStyle?: Excel.Interfaces.SlicerStyleLoadOptions; /** - * Represents the shape to which the end of the specified line is attached. + * For EACH ITEM in the collection: Represents the worksheet containing the slicer. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - endConnectedShape?: Excel.Interfaces.ShapeLoadOptions; + worksheet?: Excel.Interfaces.WorksheetLoadOptions; /** - * Returns the `Shape` object associated with the line. - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - shape?: Excel.Interfaces.ShapeLoadOptions; + * For EACH ITEM in the collection: Represents the caption of the slicer. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + caption?: boolean; /** - * Represents the length of the arrowhead at the beginning of the specified line. + * For EACH ITEM in the collection: Specifies the height, in points, of the slicer. + Throws an `InvalidArgument` exception when set with a negative value or zero as an input. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - beginArrowheadLength?: boolean; + height?: boolean; /** - * Represents the style of the arrowhead at the beginning of the specified line. + * For EACH ITEM in the collection: Represents the unique ID of the slicer. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - beginArrowheadStyle?: boolean; + id?: boolean; /** - * Represents the width of the arrowhead at the beginning of the specified line. + * For EACH ITEM in the collection: Value is `true` if all filters currently applied on the slicer are cleared. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - beginArrowheadWidth?: boolean; + isFilterCleared?: boolean; /** - * Represents the connection site to which the beginning of a connector is connected. Returns `null` when the beginning of the line is not attached to any shape. + * For EACH ITEM in the collection: Represents the distance, in points, from the left side of the slicer to the left of the worksheet. + Throws an `InvalidArgument` error when set with a negative value as an input. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - beginConnectedSite?: boolean; + left?: boolean; + /** + * For EACH ITEM in the collection: Represents the name of the slicer. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + name?: boolean; + /** + * For EACH ITEM in the collection: Specifies the slicer name used in the formula. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + nameInFormula?: boolean; + /** + * For EACH ITEM in the collection: Specifies the sort order of the items in the slicer. + Possible values are: "DataSourceOrder", "Ascending", "Descending". + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + sortBy?: boolean; /** - * Represents the length of the arrowhead at the end of the specified line. + * For EACH ITEM in the collection: Constant value that represents the slicer style. + Possible values are: "SlicerStyleLight1" through "SlicerStyleLight6", "TableStyleOther1" through "TableStyleOther2", "SlicerStyleDark1" through "SlicerStyleDark6". A custom user-defined style present in the workbook can also be specified. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - endArrowheadLength?: boolean; + style?: boolean; /** - * Represents the style of the arrowhead at the end of the specified line. + * For EACH ITEM in the collection: Represents the distance, in points, from the top edge of the slicer to the top of the worksheet. + Throws an `InvalidArgument` error when set with a negative value as an input. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - endArrowheadStyle?: boolean; + top?: boolean; /** - * Represents the width of the arrowhead at the end of the specified line. + * For EACH ITEM in the collection: Represents the width, in points, of the slicer. + Throws an `InvalidArgument` error when set with a negative value or zero as an input. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - endArrowheadWidth?: boolean; + width?: boolean; + } + /** + * Represents a slicer item in a slicer. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + interface SlicerItemLoadOptions { /** - * Represents the connection site to which the end of a connector is connected. Returns `null` when the end of the line is not attached to any shape. - * - * @remarks - * [Api set: ExcelApi 1.9] + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ - endConnectedSite?: boolean; + $all?: boolean; /** - * Specifies the shape identifier. + * Value is `true` if the slicer item has data. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - id?: boolean; + hasData?: boolean; /** - * Specifies if the beginning of the specified line is connected to a shape. + * Value is `true` if the slicer item is selected. + Setting this value will not clear the selected state of other slicer items. + By default, if the slicer item is the only one selected, when it is deselected, all items will be selected. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - isBeginConnected?: boolean; + isSelected?: boolean; /** - * Specifies if the end of the specified line is connected to a shape. + * Represents the unique value representing the slicer item. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - isEndConnected?: boolean; + key?: boolean; /** - * Represents the connector type for the line. + * Represents the title displayed in the Excel UI. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - connectorType?: boolean; + name?: boolean; } /** - * Represents the fill formatting of a shape object. + * Represents a collection of all the slicer item objects in the slicer. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - interface ShapeFillLoadOptions { + interface SlicerItemCollectionLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * Represents the shape fill foreground color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange") + * For EACH ITEM in the collection: Value is `true` if the slicer item has data. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - foregroundColor?: boolean; + hasData?: boolean; /** - * Specifies the transparency percentage of the fill as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` if the shape type does not support transparency or the shape fill has inconsistent transparency, such as with a gradient fill type. + * For EACH ITEM in the collection: Value is `true` if the slicer item is selected. + Setting this value will not clear the selected state of other slicer items. + By default, if the slicer item is the only one selected, when it is deselected, all items will be selected. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - transparency?: boolean; + isSelected?: boolean; /** - * Returns the fill type of the shape. See `Excel.ShapeFillType` for details. + * For EACH ITEM in the collection: Represents the unique value representing the slicer item. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.10] */ - type?: boolean; + key?: boolean; + /** + * For EACH ITEM in the collection: Represents the title displayed in the Excel UI. + * + * @remarks + * [Api set: ExcelApi 1.10] + */ + name?: boolean; } /** - * Represents the line formatting for the shape object. For images and geometric shapes, line formatting represents the border of the shape. + * Represents a specific category or field of information that shares some common characteristics or attributes. + A data domain is linked to a data provider, that acts as the data source for `LinkedEntityCellValue` objects in the workbook. + A data domain is a category of data, such as stocks, geography, or currencies. A data provider is a service, such as Bing, Power BI, or an Office Add-in. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - interface ShapeLineFormatLoadOptions { + interface LinkedEntityDataDomainLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * Represents the line color in HTML color format, in the form #RRGGBB (e.g., "FFA500") or as a named HTML color (e.g., "orange"). + * Gets the name of the data provider for the linked entity data domain. + This name can change based on the information provided by the data provider. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - color?: boolean; + dataProvider?: boolean; /** - * Represents the line style of the shape. Returns `null` when the line is not visible or there are inconsistent dash styles. See `Excel.ShapeLineDashStyle` for details. + * Gets the ID of the linked entity data domain defined by Office Add-ins. + This ID is not applicable to linked entity data domains defined by service data providers, such as Bing or Power BI. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - dashStyle?: boolean; + id?: boolean; /** - * Represents the line style of the shape. Returns `null` when the line is not visible or there are inconsistent styles. See `Excel.ShapeLineStyle` for details. + * Gets the date and time (in the local time zone) since the workbook was opened and the `LinkedEntityCellValue` objects of this linked entity data domain were last refreshed. + Returns `undefined` if `LinkedEntityCellValue` objects have not been refreshed since the workbook was opened. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - style?: boolean; + lastRefreshed?: boolean; /** - * Represents the degree of transparency of the specified line as a value from 0.0 (opaque) through 1.0 (clear). Returns `null` when the shape has inconsistent transparencies. + * Gets the ID of the custom function that is called on demand to resolve or refresh the `LinkedEntityCellValue` objects of the linked entity data domain defined by Office Add-ins. + For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/excel/custom-functions-json-autogeneration#id | Autogenerate JSON metadata for custom functions: ID}. + This ID is not applicable to linked entity data domains defined by service data providers, such as Bing or Power BI. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - transparency?: boolean; + loadFunctionId?: boolean; /** - * Specifies if the line formatting of a shape element is visible. Returns `null` when the shape has inconsistent visibilities. + * Gets the name of the linked entity data domain. + This name can change based on the information provided by the data provider. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - visible?: boolean; + name?: boolean; /** - * Represents the weight of the line, in points. Returns `null` when the line is not visible or there are inconsistent line weights. + * Gets the frequency, in seconds, at which `LinkedEntityCellValue` objects of this linked entity data domain are refreshed automatically. + The refresh interval only applies if the `refreshMode` is set to "Periodic". * * @remarks - * [Api set: ExcelApi 1.9] - */ - weight?: boolean; - } - /** - * Represents the text frame of a shape object. - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - interface TextFrameLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + * [Api set: ExcelApi 1.19] */ - $all?: boolean; - /** - * Represents the text that is attached to a shape in the text frame, and properties and methods for manipulating the text. See `Excel.TextRange` for details. - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - textRange?: Excel.Interfaces.TextRangeLoadOptions; + periodicRefreshInterval?: boolean; /** - * The automatic sizing settings for the text frame. A text frame can be set to automatically fit the text to the text frame, to automatically fit the text frame to the text, or not perform any automatic sizing. + * Specifies the refresh mode that defines how and when the `LinkedEntityCellValue` objects of this linked entity data domain are refreshed. + If the refresh mode being set is not supported by this linked entity data domain, then the current refresh mode is not changed. + If the refresh mode is set to "Periodic", the refresh interval is set to the `periodicRefreshInterval` of this linked entity data domain. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - autoSizeSetting?: boolean; + refreshMode?: boolean; /** - * Represents the bottom margin, in points, of the text frame. + * Gets the service ID of the linked entity data domain. + This ID is a permanently reserved value for all linked entity data domains which are defined by service data providers, such as Bing or Power BI, or defined by Office Add-ins. + This ID never changes across user sessions. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - bottomMargin?: boolean; + serviceId?: boolean; /** - * Specifies if the text frame contains text. + * Gets all the refresh modes supported by the linked entity data domain. + This array can change based on the information provided by the data provider. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - hasText?: boolean; + supportedRefreshModes?: boolean; + } + /** + * Represents a collection of `LinkedEntityDataDomain` objects. + The collection can contain linked entity data domains such as stocks, geography, or currencies defined by service data providers, such as Bing or Power BI, or linked entity data domains defined by Office Add-ins. + * + * @remarks + * [Api set: ExcelApi 1.19] + */ + interface LinkedEntityDataDomainCollectionLoadOptions { /** - * Represents the horizontal alignment of the text frame. See `Excel.ShapeTextHorizontalAlignment` for details. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * For EACH ITEM in the collection: Gets the name of the data provider for the linked entity data domain. + This name can change based on the information provided by the data provider. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - horizontalAlignment?: boolean; + dataProvider?: boolean; /** - * Represents the horizontal overflow behavior of the text frame. See `Excel.ShapeTextHorizontalOverflow` for details. + * For EACH ITEM in the collection: Gets the ID of the linked entity data domain defined by Office Add-ins. + This ID is not applicable to linked entity data domains defined by service data providers, such as Bing or Power BI. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - horizontalOverflow?: boolean; + id?: boolean; /** - * Represents the left margin, in points, of the text frame. + * For EACH ITEM in the collection: Gets the date and time (in the local time zone) since the workbook was opened and the `LinkedEntityCellValue` objects of this linked entity data domain were last refreshed. + Returns `undefined` if `LinkedEntityCellValue` objects have not been refreshed since the workbook was opened. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - leftMargin?: boolean; + lastRefreshed?: boolean; /** - * Represents the angle to which the text is oriented for the text frame. See `Excel.ShapeTextOrientation` for details. + * For EACH ITEM in the collection: Gets the ID of the custom function that is called on demand to resolve or refresh the `LinkedEntityCellValue` objects of the linked entity data domain defined by Office Add-ins. + For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/excel/custom-functions-json-autogeneration#id | Autogenerate JSON metadata for custom functions: ID}. + This ID is not applicable to linked entity data domains defined by service data providers, such as Bing or Power BI. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - orientation?: boolean; + loadFunctionId?: boolean; /** - * Represents the reading order of the text frame, either left-to-right or right-to-left. See `Excel.ShapeTextReadingOrder` for details. + * For EACH ITEM in the collection: Gets the name of the linked entity data domain. + This name can change based on the information provided by the data provider. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - readingOrder?: boolean; + name?: boolean; /** - * Represents the right margin, in points, of the text frame. + * For EACH ITEM in the collection: Gets the frequency, in seconds, at which `LinkedEntityCellValue` objects of this linked entity data domain are refreshed automatically. + The refresh interval only applies if the `refreshMode` is set to "Periodic". * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - rightMargin?: boolean; + periodicRefreshInterval?: boolean; /** - * Represents the top margin, in points, of the text frame. + * For EACH ITEM in the collection: Specifies the refresh mode that defines how and when the `LinkedEntityCellValue` objects of this linked entity data domain are refreshed. + If the refresh mode being set is not supported by this linked entity data domain, then the current refresh mode is not changed. + If the refresh mode is set to "Periodic", the refresh interval is set to the `periodicRefreshInterval` of this linked entity data domain. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - topMargin?: boolean; + refreshMode?: boolean; /** - * Represents the vertical alignment of the text frame. See `Excel.ShapeTextVerticalAlignment` for details. + * For EACH ITEM in the collection: Gets the service ID of the linked entity data domain. + This ID is a permanently reserved value for all linked entity data domains which are defined by service data providers, such as Bing or Power BI, or defined by Office Add-ins. + This ID never changes across user sessions. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - verticalAlignment?: boolean; + serviceId?: boolean; /** - * Represents the vertical overflow behavior of the text frame. See `Excel.ShapeTextVerticalOverflow` for details. + * For EACH ITEM in the collection: Gets all the refresh modes supported by the linked entity data domain. + This array can change based on the information provided by the data provider. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.19] */ - verticalOverflow?: boolean; + supportedRefreshModes?: boolean; } /** - * Contains the text that is attached to a shape, in addition to properties and methods for manipulating the text. + * Represents a named sheet view of a worksheet. A sheet view stores the sort and filter rules for a particular worksheet. + Every sheet view (even a temporary sheet view) has a unique, worksheet-scoped name that is used to access the view. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApiOnline 1.1] */ - interface TextRangeLoadOptions { + interface NamedSheetViewLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * Returns a `ShapeFont` object that represents the font attributes for the text range. - * - * @remarks - * [Api set: ExcelApi 1.9] - */ - font?: Excel.Interfaces.ShapeFontLoadOptions; - /** - * Represents the plain text content of the text range. + * Specifies the name of the sheet view. + The temporary sheet view name is the empty string (""). Naming the view by using the name property causes the sheet view to be saved. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApiOnline 1.1] */ - text?: boolean; + name?: boolean; } /** - * Represents the font attributes, such as font name, font size, and color, for a shape's `TextRange` object. + * Represents the collection of sheet views in the worksheet. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApiOnline 1.1] */ - interface ShapeFontLoadOptions { + interface NamedSheetViewCollectionLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * Represents the bold status of font. Returns `null` if the `TextRange` includes both bold and non-bold text fragments. + * For EACH ITEM in the collection: Specifies the name of the sheet view. + The temporary sheet view name is the empty string (""). Naming the view by using the name property causes the sheet view to be saved. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApiOnline 1.1] */ - bold?: boolean; + name?: boolean; + } + /** + * Represents a collection of note objects that are part of the workbook. + * + * @remarks + * [Api set: ExcelApi 1.18] + */ + interface NoteCollectionLoadOptions { /** - * HTML color code representation of the text color (e.g., "#FF0000" represents red). Returns `null` if the `TextRange` includes text fragments with different colors. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * For EACH ITEM in the collection: Gets the author of the note. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.18] */ - color?: boolean; + authorName?: boolean; /** - * Represents the italic status of font. Returns `null` if the `TextRange` includes both italic and non-italic text fragments. + * For EACH ITEM in the collection: Specifies the text of the note. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.18] */ - italic?: boolean; + content?: boolean; /** - * Represents font name (e.g., "Calibri"). If the text is a Complex Script or East Asian language, this is the corresponding font name; otherwise it is the Latin font name. + * For EACH ITEM in the collection: Specifies the height of the note. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.18] */ - name?: boolean; + height?: boolean; /** - * Represents font size in points (e.g., 11). Returns `null` if the `TextRange` includes text fragments with different font sizes. + * For EACH ITEM in the collection: Specifies the visibility of the note. A value of `true` means the note is shown. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.18] */ - size?: boolean; + visible?: boolean; /** - * Type of underline applied to the font. Returns `null` if the `TextRange` includes text fragments with different underline styles. See `Excel.ShapeFontUnderlineStyle` for details. + * For EACH ITEM in the collection: Specifies the width of the note. * * @remarks - * [Api set: ExcelApi 1.9] + * [Api set: ExcelApi 1.18] */ - underline?: boolean; + width?: boolean; } /** - * Represents a `Slicer` object in the workbook. + * Represents a note in the workbook or worksheet. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.18] */ - interface SlicerLoadOptions { + interface NoteLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * The style applied to the slicer. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - slicerStyle?: Excel.Interfaces.SlicerStyleLoadOptions; - /** - * Represents the worksheet containing the slicer. - * - * @remarks - * [Api set: ExcelApi 1.10] - */ - worksheet?: Excel.Interfaces.WorksheetLoadOptions; - /** - * Represents the caption of the slicer. + * Gets the author of the note. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.18] */ - caption?: boolean; + authorName?: boolean; /** - * Specifies the height, in points, of the slicer. - Throws an `InvalidArgument` exception when set with a negative value or zero as an input. + * Specifies the text of the note. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.18] */ - height?: boolean; + content?: boolean; /** - * Represents the unique ID of the slicer. + * Specifies the height of the note. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.18] */ - id?: boolean; + height?: boolean; /** - * Value is `true` if all filters currently applied on the slicer are cleared. + * Specifies the visibility of the note. A value of `true` means the note is shown. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.18] */ - isFilterCleared?: boolean; + visible?: boolean; /** - * Represents the distance, in points, from the left side of the slicer to the left of the worksheet. - Throws an `InvalidArgument` error when set with a negative value as an input. + * Specifies the width of the note. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi 1.18] */ - left?: boolean; + width?: boolean; + } + /** + * Represents a window in the workbook. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + interface WindowLoadOptions { /** - * Represents the name of the slicer. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * Specifies the active cell in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + activeCell?: Excel.Interfaces.RangeLoadOptions; + /** + * Specifies the active pane in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + activePane?: Excel.Interfaces.PaneLoadOptions; + /** + * Specifies the active sheet in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + activeWorksheet?: Excel.Interfaces.WorksheetLoadOptions; + /** + * Gets the range selection in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + rangeSelection?: Excel.Interfaces.RangeAreasLoadOptions; + /** + * Gets the visible range of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + visibleRange?: Excel.Interfaces.RangeLoadOptions; + /** + * Specifies whether AutoFilter date grouping is enabled in the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - name?: boolean; + autoFilterDateGroupingEnabled?: boolean; /** - * Specifies the slicer name used in the formula. + * Specifies a value indicating whether resizing is enabled for the window. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - nameInFormula?: boolean; + enableResize?: boolean; /** - * Specifies the sort order of the items in the slicer. - Possible values are: "DataSourceOrder", "Ascending", "Descending". + * Specifies a value indicating whether panes are frozen in the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - sortBy?: boolean; + freezePanes?: boolean; /** - * Constant value that represents the slicer style. - Possible values are: "SlicerStyleLight1" through "SlicerStyleLight6", "TableStyleOther1" through "TableStyleOther2", "SlicerStyleDark1" through "SlicerStyleDark6". A custom user-defined style present in the workbook can also be specified. + * Specifies the height of the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - style?: boolean; + height?: boolean; /** - * Represents the distance, in points, from the top edge of the slicer to the top of the worksheet. - Throws an `InvalidArgument` error when set with a negative value as an input. + * Gets the index of the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - top?: boolean; + index?: boolean; /** - * Represents the width, in points, of the slicer. - Throws an `InvalidArgument` error when set with a negative value or zero as an input. + * Specifies the visibility of the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - width?: boolean; - } - /** - * Represents a collection of all the slicer objects in the workbook or a worksheet. - * - * @remarks - * [Api set: ExcelApi 1.10] - */ - interface SlicerCollectionLoadOptions { + isVisible?: boolean; /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + * Specifies the left position of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - $all?: boolean; - /** - * For EACH ITEM in the collection: The style applied to the slicer. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - slicerStyle?: Excel.Interfaces.SlicerStyleLoadOptions; - /** - * For EACH ITEM in the collection: Represents the worksheet containing the slicer. - * - * @remarks - * [Api set: ExcelApi 1.10] - */ - worksheet?: Excel.Interfaces.WorksheetLoadOptions; + left?: boolean; /** - * For EACH ITEM in the collection: Represents the caption of the slicer. + * Specifies the name of the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - caption?: boolean; + name?: boolean; /** - * For EACH ITEM in the collection: Specifies the height, in points, of the slicer. - Throws an `InvalidArgument` exception when set with a negative value or zero as an input. + * Specifies the scroll column of the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - height?: boolean; + scrollColumn?: boolean; /** - * For EACH ITEM in the collection: Represents the unique ID of the slicer. + * Specifies the scroll row of the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - id?: boolean; + scrollRow?: boolean; /** - * For EACH ITEM in the collection: Value is `true` if all filters currently applied on the slicer are cleared. + * Specifies the display of formulas in the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - isFilterCleared?: boolean; + showFormulas?: boolean; /** - * For EACH ITEM in the collection: Represents the distance, in points, from the left side of the slicer to the left of the worksheet. - Throws an `InvalidArgument` error when set with a negative value as an input. + * Specifies the display of gridlines in the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - left?: boolean; + showGridlines?: boolean; /** - * For EACH ITEM in the collection: Represents the name of the slicer. + * Specifies the display of headings in the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - name?: boolean; + showHeadings?: boolean; /** - * For EACH ITEM in the collection: Specifies the slicer name used in the formula. + * Specifies the display of the horizontal scroll bar in the window. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - nameInFormula?: boolean; + showHorizontalScrollBar?: boolean; /** - * For EACH ITEM in the collection: Specifies the sort order of the items in the slicer. - Possible values are: "DataSourceOrder", "Ascending", "Descending". + * Specifies the display of the outline in the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - sortBy?: boolean; + showOutline?: boolean; /** - * For EACH ITEM in the collection: Constant value that represents the slicer style. - Possible values are: "SlicerStyleLight1" through "SlicerStyleLight6", "TableStyleOther1" through "TableStyleOther2", "SlicerStyleDark1" through "SlicerStyleDark6". A custom user-defined style present in the workbook can also be specified. + * Specifies the display of the right-to-left layout in the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - style?: boolean; + showRightToLeft?: boolean; /** - * For EACH ITEM in the collection: Represents the distance, in points, from the top edge of the slicer to the top of the worksheet. - Throws an `InvalidArgument` error when set with a negative value as an input. + * Specifies the display of the ruler in the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - top?: boolean; + showRuler?: boolean; /** - * For EACH ITEM in the collection: Represents the width, in points, of the slicer. - Throws an `InvalidArgument` error when set with a negative value or zero as an input. + * Specifies the display of the vertical scroll bar in the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - width?: boolean; - } - /** - * Represents a slicer item in a slicer. - * - * @remarks - * [Api set: ExcelApi 1.10] - */ - interface SlicerItemLoadOptions { + showVerticalScrollBar?: boolean; /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + * Specifies the display of whitespace in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - $all?: boolean; + showWhitespace?: boolean; /** - * Value is `true` if the slicer item has data. + * Specifies the display of workbook tabs in the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - hasData?: boolean; + showWorkbookTabs?: boolean; /** - * Value is `true` if the slicer item is selected. - Setting this value will not clear the selected state of other slicer items. - By default, if the slicer item is the only one selected, when it is deselected, all items will be selected. + * Specifies the display of zeros in the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - isSelected?: boolean; + showZeros?: boolean; /** - * Represents the unique value representing the slicer item. + * Specifies the split state of the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - key?: boolean; + split?: boolean; /** - * Represents the title displayed in the Excel UI. + * Specifies the split column of the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - name?: boolean; - } - /** - * Represents a collection of all the slicer item objects in the slicer. - * - * @remarks - * [Api set: ExcelApi 1.10] - */ - interface SlicerItemCollectionLoadOptions { + splitColumn?: boolean; /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + * Specifies the horizontal split of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - $all?: boolean; + splitHorizontal?: boolean; /** - * For EACH ITEM in the collection: Value is `true` if the slicer item has data. + * Specifies the split row of the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - hasData?: boolean; + splitRow?: boolean; /** - * For EACH ITEM in the collection: Value is `true` if the slicer item is selected. - Setting this value will not clear the selected state of other slicer items. - By default, if the slicer item is the only one selected, when it is deselected, all items will be selected. + * Specifies the vertical split of the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - isSelected?: boolean; + splitVertical?: boolean; /** - * For EACH ITEM in the collection: Represents the unique value representing the slicer item. + * Specifies the tab ratio of the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - key?: boolean; + tabRatio?: boolean; /** - * For EACH ITEM in the collection: Represents the title displayed in the Excel UI. + * Specifies the top position of the window. * * @remarks - * [Api set: ExcelApi 1.10] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - name?: boolean; - } - /** - * Represents a linked data type. - A linked data type is a data type connected to an online data source. - * - * @remarks - * [Api set: ExcelApi BETA (PREVIEW ONLY)] - * @beta - */ - interface LinkedDataTypeLoadOptions { + top?: boolean; /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + * Specifies the type of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - $all?: boolean; + type?: boolean; /** - * The name of the data provider for the linked data type. This may change when information is retrieved from the service. + * Specifies the usable height of the window. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - dataProvider?: boolean; + usableHeight?: boolean; /** - * The local time-zone date and time since the workbook was opened when the linked data type was last refreshed. - Returns `undefined` if the linked data type has not been refreshed. + * Specifies the usable width of the window. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - lastRefreshed?: boolean; + usableWidth?: boolean; /** - * The name of the linked data type. This may change when information is retrieved from the service. + * Specifies the view of the window. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - name?: boolean; + view?: boolean; /** - * The frequency, in seconds, at which the linked data type is refreshed if `refreshMode` is set to "Periodic". + * Returns or sets an integer value that represents the display size of the window. It can be set to a percentage between 10 and 400. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - periodicRefreshInterval?: boolean; + width?: boolean; /** - * The mechanism by which the data for the linked data type is retrieved. + * Specifies the window number. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - refreshMode?: boolean; + windowNumber?: boolean; /** - * The unique ID of the linked data type. + * Returns or sets an integer value that represents the display size of the window. It can be set to a percentage between 10 and 400. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - serviceId?: boolean; + windowState?: boolean; /** - * Returns an array with all the refresh modes supported by the linked data type. The contents of the array may change when information is retrieved from the service. + * Specifies an integer value that represents the display size of the window. It can be set to a percentage between 10 and 400. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - supportedRefreshModes?: boolean; + zoom?: boolean; } /** - * Represents a collection of linked data types. + * Represents the collection of all Window objects. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - interface LinkedDataTypeCollectionLoadOptions { + interface WindowCollectionLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * For EACH ITEM in the collection: The name of the data provider for the linked data type. This may change when information is retrieved from the service. + * For EACH ITEM in the collection: Specifies the active cell in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + activeCell?: Excel.Interfaces.RangeLoadOptions; + /** + * For EACH ITEM in the collection: Specifies the active pane in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + activePane?: Excel.Interfaces.PaneLoadOptions; + /** + * For EACH ITEM in the collection: Specifies the active sheet in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + activeWorksheet?: Excel.Interfaces.WorksheetLoadOptions; + /** + * For EACH ITEM in the collection: Gets the range selection in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + rangeSelection?: Excel.Interfaces.RangeAreasLoadOptions; + /** + * For EACH ITEM in the collection: Gets the visible range of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + visibleRange?: Excel.Interfaces.RangeLoadOptions; + /** + * For EACH ITEM in the collection: Specifies whether AutoFilter date grouping is enabled in the window. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - dataProvider?: boolean; + autoFilterDateGroupingEnabled?: boolean; /** - * For EACH ITEM in the collection: The local time-zone date and time since the workbook was opened when the linked data type was last refreshed. - Returns `undefined` if the linked data type has not been refreshed. + * For EACH ITEM in the collection: Specifies a value indicating whether resizing is enabled for the window. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - lastRefreshed?: boolean; + enableResize?: boolean; /** - * For EACH ITEM in the collection: The name of the linked data type. This may change when information is retrieved from the service. + * For EACH ITEM in the collection: Specifies a value indicating whether panes are frozen in the window. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - name?: boolean; + freezePanes?: boolean; /** - * For EACH ITEM in the collection: The frequency, in seconds, at which the linked data type is refreshed if `refreshMode` is set to "Periodic". + * For EACH ITEM in the collection: Specifies the height of the window. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - periodicRefreshInterval?: boolean; + height?: boolean; /** - * For EACH ITEM in the collection: The mechanism by which the data for the linked data type is retrieved. + * For EACH ITEM in the collection: Gets the index of the window. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - refreshMode?: boolean; + index?: boolean; /** - * For EACH ITEM in the collection: The unique ID of the linked data type. + * For EACH ITEM in the collection: Specifies the visibility of the window. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - serviceId?: boolean; + isVisible?: boolean; /** - * For EACH ITEM in the collection: Returns an array with all the refresh modes supported by the linked data type. The contents of the array may change when information is retrieved from the service. + * For EACH ITEM in the collection: Specifies the left position of the window. * * @remarks * [Api set: ExcelApi BETA (PREVIEW ONLY)] * @beta */ - supportedRefreshModes?: boolean; - } - /** - * Represents a specific category or field of information that shares some common characteristics or attributes. - A data domain is linked to a data provider, that acts as the data source for `LinkedEntityCellValue` objects in the workbook. - A data domain is a category of data, such as stocks, geography, or currencies. A data provider is a service, such as Bing, Power BI, or an Office Add-in. - * - * @remarks - * [Api set: ExcelApi 1.19] - * - * This interface isn't supported in Excel on the web. - */ - interface LinkedEntityDataDomainLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). - */ - $all?: boolean; + left?: boolean; /** - * Gets the name of the data provider for the linked entity data domain. - This name can change based on the information provided by the data provider. + * For EACH ITEM in the collection: Specifies the name of the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - dataProvider?: boolean; + name?: boolean; /** - * Gets the ID of the linked entity data domain defined by Office Add-ins. - This ID is not applicable to linked entity data domains defined by service data providers, such as Bing or Power BI. + * For EACH ITEM in the collection: Specifies the scroll column of the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - id?: boolean; + scrollColumn?: boolean; /** - * Gets the date and time (in the local time zone) since the workbook was opened and the `LinkedEntityCellValue` objects of this linked entity data domain were last refreshed. - Returns `undefined` if `LinkedEntityCellValue` objects have not been refreshed since the workbook was opened. + * For EACH ITEM in the collection: Specifies the scroll row of the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - lastRefreshed?: boolean; + scrollRow?: boolean; /** - * Gets the ID of the custom function that is called on demand to resolve or refresh the `LinkedEntityCellValue` objects of the linked entity data domain defined by Office Add-ins. - For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/excel/custom-functions-json-autogeneration#id | Autogenerate JSON metadata for custom functions: ID}. - This ID is not applicable to linked entity data domains defined by service data providers, such as Bing or Power BI. + * For EACH ITEM in the collection: Specifies the display of formulas in the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - loadFunctionId?: boolean; + showFormulas?: boolean; /** - * Gets the name of the linked entity data domain. - This name can change based on the information provided by the data provider. + * For EACH ITEM in the collection: Specifies the display of gridlines in the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - name?: boolean; + showGridlines?: boolean; /** - * Gets the frequency, in seconds, at which `LinkedEntityCellValue` objects of this linked entity data domain are refreshed automatically. - The refresh interval only applies if the `refreshMode` is set to "Periodic". + * For EACH ITEM in the collection: Specifies the display of headings in the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - periodicRefreshInterval?: boolean; + showHeadings?: boolean; /** - * Specifies the refresh mode that defines how and when the `LinkedEntityCellValue` objects of this linked entity data domain are refreshed. - If the refresh mode being set is not supported by this linked entity data domain, then the current refresh mode is not changed. - If the refresh mode is set to "Periodic", the refresh interval is set to the `periodicRefreshInterval` of this linked entity data domain. + * For EACH ITEM in the collection: Specifies the display of the horizontal scroll bar in the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - refreshMode?: boolean; + showHorizontalScrollBar?: boolean; /** - * Gets the service ID of the linked entity data domain. - This ID is a permanently reserved value for all linked entity data domains which are defined by service data providers, such as Bing or Power BI, or defined by Office Add-ins. - This ID never changes across user sessions. + * For EACH ITEM in the collection: Specifies the display of the outline in the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - serviceId?: boolean; + showOutline?: boolean; /** - * Gets all the refresh modes supported by the linked entity data domain. - This array can change based on the information provided by the data provider. + * For EACH ITEM in the collection: Specifies the display of the right-to-left layout in the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - supportedRefreshModes?: boolean; - } - /** - * Represents a collection of `LinkedEntityDataDomain` objects. - The collection can contain linked entity data domains such as stocks, geography, or currencies defined by service data providers, such as Bing or Power BI, or linked entity data domains defined by Office Add-ins. - * - * @remarks - * [Api set: ExcelApi 1.19] - * - * This interface isn't supported in Excel on the web. - */ - interface LinkedEntityDataDomainCollectionLoadOptions { + showRightToLeft?: boolean; /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + * For EACH ITEM in the collection: Specifies the display of the ruler in the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - $all?: boolean; + showRuler?: boolean; /** - * For EACH ITEM in the collection: Gets the name of the data provider for the linked entity data domain. - This name can change based on the information provided by the data provider. + * For EACH ITEM in the collection: Specifies the display of the vertical scroll bar in the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - dataProvider?: boolean; + showVerticalScrollBar?: boolean; /** - * For EACH ITEM in the collection: Gets the ID of the linked entity data domain defined by Office Add-ins. - This ID is not applicable to linked entity data domains defined by service data providers, such as Bing or Power BI. + * For EACH ITEM in the collection: Specifies the display of whitespace in the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - id?: boolean; + showWhitespace?: boolean; /** - * For EACH ITEM in the collection: Gets the date and time (in the local time zone) since the workbook was opened and the `LinkedEntityCellValue` objects of this linked entity data domain were last refreshed. - Returns `undefined` if `LinkedEntityCellValue` objects have not been refreshed since the workbook was opened. + * For EACH ITEM in the collection: Specifies the display of workbook tabs in the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - lastRefreshed?: boolean; + showWorkbookTabs?: boolean; /** - * For EACH ITEM in the collection: Gets the ID of the custom function that is called on demand to resolve or refresh the `LinkedEntityCellValue` objects of the linked entity data domain defined by Office Add-ins. - For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/excel/custom-functions-json-autogeneration#id | Autogenerate JSON metadata for custom functions: ID}. - This ID is not applicable to linked entity data domains defined by service data providers, such as Bing or Power BI. + * For EACH ITEM in the collection: Specifies the display of zeros in the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - loadFunctionId?: boolean; + showZeros?: boolean; /** - * For EACH ITEM in the collection: Gets the name of the linked entity data domain. - This name can change based on the information provided by the data provider. + * For EACH ITEM in the collection: Specifies the split state of the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - name?: boolean; + split?: boolean; /** - * For EACH ITEM in the collection: Gets the frequency, in seconds, at which `LinkedEntityCellValue` objects of this linked entity data domain are refreshed automatically. - The refresh interval only applies if the `refreshMode` is set to "Periodic". + * For EACH ITEM in the collection: Specifies the split column of the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - periodicRefreshInterval?: boolean; + splitColumn?: boolean; /** - * For EACH ITEM in the collection: Specifies the refresh mode that defines how and when the `LinkedEntityCellValue` objects of this linked entity data domain are refreshed. - If the refresh mode being set is not supported by this linked entity data domain, then the current refresh mode is not changed. - If the refresh mode is set to "Periodic", the refresh interval is set to the `periodicRefreshInterval` of this linked entity data domain. + * For EACH ITEM in the collection: Specifies the horizontal split of the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - refreshMode?: boolean; + splitHorizontal?: boolean; /** - * For EACH ITEM in the collection: Gets the service ID of the linked entity data domain. - This ID is a permanently reserved value for all linked entity data domains which are defined by service data providers, such as Bing or Power BI, or defined by Office Add-ins. - This ID never changes across user sessions. + * For EACH ITEM in the collection: Specifies the split row of the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - serviceId?: boolean; + splitRow?: boolean; /** - * For EACH ITEM in the collection: Gets all the refresh modes supported by the linked entity data domain. - This array can change based on the information provided by the data provider. + * For EACH ITEM in the collection: Specifies the vertical split of the window. * * @remarks - * [Api set: ExcelApi 1.19] - * - * This property isn't supported in Excel on the web. + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - supportedRefreshModes?: boolean; - } - /** - * Represents a named sheet view of a worksheet. A sheet view stores the sort and filter rules for a particular worksheet. - Every sheet view (even a temporary sheet view) has a unique, worksheet-scoped name that is used to access the view. - * - * @remarks - * [Api set: ExcelApiOnline 1.1] - */ - interface NamedSheetViewLoadOptions { + splitVertical?: boolean; /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + * For EACH ITEM in the collection: Specifies the tab ratio of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - $all?: boolean; + tabRatio?: boolean; /** - * Gets or sets the name of the sheet view. - The temporary sheet view name is the empty string (""). Naming the view by using the name property causes the sheet view to be saved. + * For EACH ITEM in the collection: Specifies the top position of the window. * * @remarks - * [Api set: ExcelApiOnline 1.1] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - name?: boolean; - } - /** - * Represents the collection of sheet views in the worksheet. - * - * @remarks - * [Api set: ExcelApiOnline 1.1] - */ - interface NamedSheetViewCollectionLoadOptions { + top?: boolean; /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + * For EACH ITEM in the collection: Specifies the type of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - $all?: boolean; + type?: boolean; /** - * For EACH ITEM in the collection: Gets or sets the name of the sheet view. - The temporary sheet view name is the empty string (""). Naming the view by using the name property causes the sheet view to be saved. + * For EACH ITEM in the collection: Specifies the usable height of the window. * * @remarks - * [Api set: ExcelApiOnline 1.1] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - name?: boolean; - } - /** - * Represents a collection of note objects that are part of the workbook. - * - * @remarks - * [Api set: ExcelApi 1.18] - */ - interface NoteCollectionLoadOptions { + usableHeight?: boolean; /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + * For EACH ITEM in the collection: Specifies the usable width of the window. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - $all?: boolean; + usableWidth?: boolean; /** - * For EACH ITEM in the collection: Gets the author of the note. + * For EACH ITEM in the collection: Specifies the view of the window. * * @remarks - * [Api set: ExcelApi 1.18] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - authorName?: boolean; + view?: boolean; /** - * For EACH ITEM in the collection: Specifies the text of the note. + * For EACH ITEM in the collection: Returns or sets an integer value that represents the display size of the window. It can be set to a percentage between 10 and 400. * * @remarks - * [Api set: ExcelApi 1.18] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - content?: boolean; + width?: boolean; /** - * For EACH ITEM in the collection: Specifies the height of the note. + * For EACH ITEM in the collection: Specifies the window number. * * @remarks - * [Api set: ExcelApi 1.18] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - height?: boolean; + windowNumber?: boolean; /** - * For EACH ITEM in the collection: Specifies the visibility of the note. A value of `true` means the note is shown. + * For EACH ITEM in the collection: Returns or sets an integer value that represents the display size of the window. It can be set to a percentage between 10 and 400. * * @remarks - * [Api set: ExcelApi 1.18] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - visible?: boolean; + windowState?: boolean; /** - * For EACH ITEM in the collection: Specifies the width of the note. + * For EACH ITEM in the collection: Specifies an integer value that represents the display size of the window. It can be set to a percentage between 10 and 400. * * @remarks - * [Api set: ExcelApi 1.18] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - width?: boolean; + zoom?: boolean; } /** - * Represents a note in the workbook or worksheet. + * Represents a pane, such as a frozen or split pane, in an Excel window. * * @remarks - * [Api set: ExcelApi 1.18] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - interface NoteLoadOptions { + interface PaneLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * Gets the author of the note. - * - * @remarks - * [Api set: ExcelApi 1.18] - */ - authorName?: boolean; - /** - * Specifies the text of the note. - * - * @remarks - * [Api set: ExcelApi 1.18] - */ - content?: boolean; - /** - * Specifies the height of the note. + * Returns index of the pane. * * @remarks - * [Api set: ExcelApi 1.18] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - height?: boolean; + index?: boolean; + } + /** + * Represents the collection of all Pane objects that are part of the workbook. + * + * @remarks + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta + */ + interface PaneCollectionLoadOptions { /** - * Specifies the visibility of the note. A value of `true` means the note is shown. - * - * @remarks - * [Api set: ExcelApi 1.18] + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ - visible?: boolean; + $all?: boolean; /** - * Specifies the width of the note. + * For EACH ITEM in the collection: Returns index of the pane. * * @remarks - * [Api set: ExcelApi 1.18] + * [Api set: ExcelApi BETA (PREVIEW ONLY)] + * @beta */ - width?: boolean; + index?: boolean; } /** * An object containing the result of a function-evaluation operation diff --git a/types/office-js/index.d.ts b/types/office-js/index.d.ts index 29c95c72385909..6aeb8217d81162 100644 --- a/types/office-js/index.d.ts +++ b/types/office-js/index.d.ts @@ -25205,8 +25205,6 @@ declare namespace Excel { tooManyCells = "TooManyCells", /** * An error caused by a cell's formula evaluating to a lambda value. Displays as error type #CALC! in Excel. - * - * Warning: `lambdaInCell` was deprecated in ExcelApi 1.19. * * @deprecated Deprecated since ExcelApi 1.19. * @@ -33976,7 +33974,7 @@ declare namespace Excel { */ interface ChangedEventDetail { /** - * Represents the value after the change. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the value after the change. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. * * @remarks * [Api set: ExcelApi 1.9] @@ -33999,7 +33997,7 @@ declare namespace Excel { */ valueAsJsonBefore: CellValue; /** - * Represents the value before the change. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the value before the change. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. * * @remarks * [Api set: ExcelApi 1.9] @@ -35636,7 +35634,7 @@ declare namespace Excel { getActiveChartOrNullObject(): Excel.Chart; /** * Gets the active shape in the workbook. - Throws an `ItemNotFound` if there is no active shape. + Throws an `ItemNotFound` error if there is no active shape. * * @remarks * [Api set: ExcelApi 1.19] @@ -37321,7 +37319,7 @@ declare namespace Excel { */ readonly valueTypes: Excel.RangeValueType[][]; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -37330,7 +37328,7 @@ declare namespace Excel { values: any[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `Range.valuesAsJsonLocal`. * * @remarks @@ -37339,7 +37337,7 @@ declare namespace Excel { valuesAsJson: CellValue[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `Range.valuesAsJson`. * * @remarks @@ -39235,7 +39233,7 @@ declare namespace Excel { */ readonly valueTypes: Excel.RangeValueType[][]; /** - * Represents the raw values of the specified range view. The data returned could be of type string, number, or a boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range view. The data returned could be of type string, number, or a Boolean. Cells that contain an error will return the error string. * * @remarks * [Api set: ExcelApi 1.3] @@ -39243,7 +39241,7 @@ declare namespace Excel { values: any[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `RangeView.valuesAsJsonLocal`. * * @remarks @@ -39252,7 +39250,7 @@ declare namespace Excel { valuesAsJson: CellValue[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `RangeView.valuesAsJson`. * * @remarks @@ -39661,7 +39659,7 @@ declare namespace Excel { readonly value: any; /** * A JSON representation of the values in this named item. - Unlike `NamedItem.value`, `NamedItem.valueAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItem.value`, `NamedItem.valueAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `NamedItem.valueAsJsonLocal`. * * @remarks @@ -39670,7 +39668,7 @@ declare namespace Excel { readonly valueAsJson: CellValue | string; /** * A JSON representation of the values in this named item. - Unlike `NamedItem.value`, `NamedItem.valueAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItem.value`, `NamedItem.valueAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `NamedItem.valueAsJson`. * * @remarks @@ -39767,7 +39765,7 @@ declare namespace Excel { readonly values: any[][]; /** * A JSON representation of the values in this named item array. - Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `NamedItemArrayValues.valuesAsJsonLocal`. * * @remarks @@ -39776,7 +39774,7 @@ declare namespace Excel { readonly valuesAsJson: CellValue[][]; /** * A JSON representation of the values in this named item array. - Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `NamedItemArrayValues.valuesAsJson`. * * @remarks @@ -40079,7 +40077,7 @@ declare namespace Excel { * [Api set: ExcelApi 1.1] * * @param address A `Range` object, or a string address or name of the range representing the data source. If the address does not contain a sheet name, the currently-active sheet is used. [Api set: ExcelApi 1.1 / 1.3. Prior to ExcelApi 1.3, this parameter must be a string. Starting with Excel Api 1.3, this parameter may be a Range object or a string.] - * @param hasHeaders A boolean value that indicates whether the data being imported has column labels. If the source does not contain headers (i.e., when this property set to `false`), Excel will automatically generate a header and shift the data down by one row. + * @param hasHeaders A Boolean value that indicates whether the data being imported has column labels. If the source does not contain headers (i.e., when this property set to `false`), Excel will automatically generate a header and shift the data down by one row. */ add(address: Range | string, hasHeaders: boolean): Excel.Table; /** @@ -40619,7 +40617,7 @@ declare namespace Excel { */ name: string; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -40628,7 +40626,7 @@ declare namespace Excel { values: any[][]; /** * A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableColumn.valuesAsJsonLocal`. * * @remarks @@ -40637,7 +40635,7 @@ declare namespace Excel { valuesAsJson: CellValue[][]; /** * A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableColumn.valuesAsJson`. * * @remarks @@ -40859,7 +40857,7 @@ declare namespace Excel { */ readonly index: number; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -40868,7 +40866,7 @@ declare namespace Excel { values: any[][]; /** * A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableRow.valuesAsJsonLocal`. * * @remarks @@ -40877,7 +40875,7 @@ declare namespace Excel { valuesAsJson: CellValue[][]; /** * A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableRow.valuesAsJson`. * * @remarks @@ -41233,7 +41231,7 @@ declare namespace Excel { inCellDropDown: boolean; /** * Source of the list for data validation - When setting the value, it can be passed in as a `Range` object, or a string that contains a comma-separated number, boolean, or date. + When setting the value, it can be passed in as a `Range` object, or a string that contains a comma-separated number, Boolean, or date. * * @remarks * [Api set: ExcelApi 1.8] @@ -45361,7 +45359,7 @@ declare namespace Excel { */ position: Excel.ChartTitlePosition | "Automatic" | "Top" | "Bottom" | "Left" | "Right"; /** - * Represents a boolean value that determines if the chart title has a shadow. + * Represents a Boolean value that determines if the chart title has a shadow. * * @remarks * [Api set: ExcelApi 1.7] @@ -49696,7 +49694,7 @@ declare namespace Excel { */ readonly key: string; /** - * Gets or sets the value of the custom property. + * Specifies the value of the custom property. * * @remarks * [Api set: ExcelApi 1.12] @@ -53322,14 +53320,14 @@ declare namespace Excel { */ state: Excel.HeaderFooterState | "Default" | "FirstAndDefault" | "OddAndEven" | "FirstOddAndEven"; /** - * Gets or sets a flag indicating if headers/footers are aligned with the page margins set in the page layout options for the worksheet. + * Specifies a flag indicating if headers/footers are aligned with the page margins set in the page layout options for the worksheet. * * @remarks * [Api set: ExcelApi 1.9] */ useSheetMargins: boolean; /** - * Gets or sets a flag indicating if headers/footers should be scaled by the page percentage scale set in the page layout options for the worksheet. + * Specifies a flag indicating if headers/footers should be scaled by the page percentage scale set in the page layout options for the worksheet. * * @remarks * [Api set: ExcelApi 1.9] @@ -60776,24 +60774,6 @@ declare namespace Excel { * [Api set: ExcelApi 1.7] */ commentChanged = "CommentChanged", - /** - * `RefreshRequestCompleted` represents the type of event registered on a `LinkedDataType` and occurs when a request to refresh a data source is completed. - * @remarks - * [Api set: ExcelApi 1.7] - */ - linkedDataTypeRefreshRequestCompleted = "LinkedDataTypeRefreshRequestCompleted", - /** - * `RefreshModeChanged` represents the type of event registered on a `LinkedDataType` and occurs when the linked data type refresh mode is changed. - * @remarks - * [Api set: ExcelApi 1.7] - */ - linkedDataTypeRefreshModeChanged = "LinkedDataTypeRefreshModeChanged", - /** - * `LinkedDataTypeAdded` represents the type of event registered on a `LinkedDataType` and occurs when a new linked data type is added to the workbook. - * @remarks - * [Api set: ExcelApi 1.7] - */ - linkedDataTypeLinkedDataTypeAdded = "LinkedDataTypeLinkedDataTypeAdded", /** * `WorksheetFormulaChanged` represents the type of event registered on a worksheet and occurs when a formula is changed. * @remarks @@ -62845,7 +62825,7 @@ declare namespace Excel { */ enum SpecialCellValueType { /** - * Cells that have errors, boolean, numeric, or string values. + * Cells that have errors, Boolean, numeric, or string values. * @remarks * [Api set: ExcelApi 1.9] */ @@ -62857,7 +62837,7 @@ declare namespace Excel { */ errors = "Errors", /** - * Cells that have errors or boolean values. + * Cells that have errors or Boolean values. * @remarks * [Api set: ExcelApi 1.9] */ @@ -62875,13 +62855,13 @@ declare namespace Excel { */ errorsText = "ErrorsText", /** - * Cells that have errors, boolean, or numeric values. + * Cells that have errors, Boolean, or numeric values. * @remarks * [Api set: ExcelApi 1.9] */ errorsLogicalNumber = "ErrorsLogicalNumber", /** - * Cells that have errors, boolean, or string values. + * Cells that have errors, Boolean, or string values. * @remarks * [Api set: ExcelApi 1.9] */ @@ -62893,25 +62873,25 @@ declare namespace Excel { */ errorsNumberText = "ErrorsNumberText", /** - * Cells that have a boolean value. + * Cells that have a Boolean value. * @remarks * [Api set: ExcelApi 1.9] */ logical = "Logical", /** - * Cells that have a boolean or numeric value. + * Cells that have a Boolean or numeric value. * @remarks * [Api set: ExcelApi 1.9] */ logicalNumbers = "LogicalNumbers", /** - * Cells that have a boolean or string value. + * Cells that have a Boolean or string value. * @remarks * [Api set: ExcelApi 1.9] */ logicalText = "LogicalText", /** - * Cells that have a boolean, numeric, or string value. + * Cells that have a Boolean, numeric, or string value. * @remarks * [Api set: ExcelApi 1.9] */ @@ -63510,7 +63490,7 @@ declare namespace Excel { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; /** - * Gets or sets the name of the sheet view. + * Specifies the name of the sheet view. The temporary sheet view name is the empty string (""). Naming the view by using the name property causes the sheet view to be saved. * * @remarks @@ -67996,7 +67976,7 @@ declare namespace Excel { */ style?: string; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -68005,7 +67985,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `Range.valuesAsJsonLocal`. * * @remarks @@ -68014,7 +67994,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `Range.valuesAsJson`. * * @remarks @@ -68079,7 +68059,7 @@ declare namespace Excel { */ numberFormat?: any[][]; /** - * Represents the raw values of the specified range view. The data returned could be of type string, number, or a boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range view. The data returned could be of type string, number, or a Boolean. Cells that contain an error will return the error string. * * @remarks * [Api set: ExcelApi 1.3] @@ -68087,7 +68067,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `RangeView.valuesAsJsonLocal`. * * @remarks @@ -68096,7 +68076,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `RangeView.valuesAsJson`. * * @remarks @@ -68244,7 +68224,7 @@ declare namespace Excel { */ name?: string; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -68253,7 +68233,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableColumn.valuesAsJsonLocal`. * * @remarks @@ -68262,7 +68242,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableColumn.valuesAsJson`. * * @remarks @@ -68277,7 +68257,7 @@ declare namespace Excel { /** An interface for updating data on the `TableRow` object, for use in `tableRow.set({ ... })`. */ interface TableRowUpdateData { /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -68286,7 +68266,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableRow.valuesAsJsonLocal`. * * @remarks @@ -68295,7 +68275,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableRow.valuesAsJson`. * * @remarks @@ -70177,7 +70157,7 @@ declare namespace Excel { */ position?: Excel.ChartTitlePosition | "Automatic" | "Top" | "Bottom" | "Left" | "Right"; /** - * Represents a boolean value that determines if the chart title has a shadow. + * Represents a Boolean value that determines if the chart title has a shadow. * * @remarks * [Api set: ExcelApi 1.7] @@ -71050,7 +71030,7 @@ declare namespace Excel { /** An interface for updating data on the `WorksheetCustomProperty` object, for use in `worksheetCustomProperty.set({ ... })`. */ interface WorksheetCustomPropertyUpdateData { /** - * Gets or sets the value of the custom property. + * Specifies the value of the custom property. * * @remarks * [Api set: ExcelApi 1.12] @@ -72124,14 +72104,14 @@ declare namespace Excel { */ state?: Excel.HeaderFooterState | "Default" | "FirstAndDefault" | "OddAndEven" | "FirstOddAndEven"; /** - * Gets or sets a flag indicating if headers/footers are aligned with the page margins set in the page layout options for the worksheet. + * Specifies a flag indicating if headers/footers are aligned with the page margins set in the page layout options for the worksheet. * * @remarks * [Api set: ExcelApi 1.9] */ useSheetMargins?: boolean; /** - * Gets or sets a flag indicating if headers/footers should be scaled by the page percentage scale set in the page layout options for the worksheet. + * Specifies a flag indicating if headers/footers should be scaled by the page percentage scale set in the page layout options for the worksheet. * * @remarks * [Api set: ExcelApi 1.9] @@ -72665,7 +72645,7 @@ declare namespace Excel { /** An interface for updating data on the `NamedSheetView` object, for use in `namedSheetView.set({ ... })`. */ interface NamedSheetViewUpdateData { /** - * Gets or sets the name of the sheet view. + * Specifies the name of the sheet view. The temporary sheet view name is the empty string (""). Naming the view by using the name property causes the sheet view to be saved. * * @remarks @@ -73583,7 +73563,7 @@ declare namespace Excel { */ valueTypes?: Excel.RangeValueType[][]; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -73592,7 +73572,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `Range.valuesAsJsonLocal`. * * @remarks @@ -73601,7 +73581,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `Range.valuesAsJson`. * * @remarks @@ -73802,7 +73782,7 @@ declare namespace Excel { */ valueTypes?: Excel.RangeValueType[][]; /** - * Represents the raw values of the specified range view. The data returned could be of type string, number, or a boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range view. The data returned could be of type string, number, or a Boolean. Cells that contain an error will return the error string. * * @remarks * [Api set: ExcelApi 1.3] @@ -73810,7 +73790,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `RangeView.valuesAsJsonLocal`. * * @remarks @@ -73819,7 +73799,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `RangeView.valuesAsJson`. * * @remarks @@ -73910,7 +73890,7 @@ declare namespace Excel { value?: any; /** * A JSON representation of the values in this named item. - Unlike `NamedItem.value`, `NamedItem.valueAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItem.value`, `NamedItem.valueAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `NamedItem.valueAsJsonLocal`. * * @remarks @@ -73919,7 +73899,7 @@ declare namespace Excel { valueAsJson?: CellValue | string; /** * A JSON representation of the values in this named item. - Unlike `NamedItem.value`, `NamedItem.valueAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItem.value`, `NamedItem.valueAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `NamedItem.valueAsJson`. * * @remarks @@ -73952,7 +73932,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in this named item array. - Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `NamedItemArrayValues.valuesAsJsonLocal`. * * @remarks @@ -73961,7 +73941,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in this named item array. - Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `NamedItemArrayValues.valuesAsJson`. * * @remarks @@ -74143,7 +74123,7 @@ declare namespace Excel { */ name?: string; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -74152,7 +74132,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableColumn.valuesAsJsonLocal`. * * @remarks @@ -74161,7 +74141,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableColumn.valuesAsJson`. * * @remarks @@ -74183,7 +74163,7 @@ declare namespace Excel { */ index?: number; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -74192,7 +74172,7 @@ declare namespace Excel { values?: any[][]; /** * A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableRow.valuesAsJsonLocal`. * * @remarks @@ -74201,7 +74181,7 @@ declare namespace Excel { valuesAsJson?: CellValue[][]; /** * A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableRow.valuesAsJson`. * * @remarks @@ -76289,7 +76269,7 @@ declare namespace Excel { */ position?: Excel.ChartTitlePosition | "Automatic" | "Top" | "Bottom" | "Left" | "Right"; /** - * Represents a boolean value that determines if the chart title has a shadow. + * Represents a Boolean value that determines if the chart title has a shadow. * * @remarks * [Api set: ExcelApi 1.7] @@ -77463,7 +77443,7 @@ declare namespace Excel { */ key?: string; /** - * Gets or sets the value of the custom property. + * Specifies the value of the custom property. * * @remarks * [Api set: ExcelApi 1.12] @@ -78617,14 +78597,14 @@ declare namespace Excel { */ state?: Excel.HeaderFooterState | "Default" | "FirstAndDefault" | "OddAndEven" | "FirstOddAndEven"; /** - * Gets or sets a flag indicating if headers/footers are aligned with the page margins set in the page layout options for the worksheet. + * Specifies a flag indicating if headers/footers are aligned with the page margins set in the page layout options for the worksheet. * * @remarks * [Api set: ExcelApi 1.9] */ useSheetMargins?: boolean; /** - * Gets or sets a flag indicating if headers/footers should be scaled by the page percentage scale set in the page layout options for the worksheet. + * Specifies a flag indicating if headers/footers should be scaled by the page percentage scale set in the page layout options for the worksheet. * * @remarks * [Api set: ExcelApi 1.9] @@ -79532,7 +79512,7 @@ declare namespace Excel { /** An interface describing the data returned by calling `namedSheetView.toJSON()`. */ interface NamedSheetViewData { /** - * Gets or sets the name of the sheet view. + * Specifies the name of the sheet view. The temporary sheet view name is the empty string (""). Naming the view by using the name property causes the sheet view to be saved. * * @remarks @@ -80661,7 +80641,7 @@ declare namespace Excel { */ valueTypes?: boolean; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -80670,7 +80650,7 @@ declare namespace Excel { values?: boolean; /** * A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `Range.valuesAsJsonLocal`. * * @remarks @@ -80679,7 +80659,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `Range.valuesAsJson`. * * @remarks @@ -80880,7 +80860,7 @@ declare namespace Excel { */ valueTypes?: boolean; /** - * Represents the raw values of the specified range view. The data returned could be of type string, number, or a boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range view. The data returned could be of type string, number, or a Boolean. Cells that contain an error will return the error string. * * @remarks * [Api set: ExcelApi 1.3] @@ -80888,7 +80868,7 @@ declare namespace Excel { values?: boolean; /** * A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `RangeView.valuesAsJsonLocal`. * * @remarks @@ -80897,7 +80877,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `RangeView.valuesAsJson`. * * @remarks @@ -80987,7 +80967,7 @@ declare namespace Excel { */ valueTypes?: boolean; /** - * For EACH ITEM in the collection: Represents the raw values of the specified range view. The data returned could be of type string, number, or a boolean. Cells that contain an error will return the error string. + * For EACH ITEM in the collection: Represents the raw values of the specified range view. The data returned could be of type string, number, or a Boolean. Cells that contain an error will return the error string. * * @remarks * [Api set: ExcelApi 1.3] @@ -80995,7 +80975,7 @@ declare namespace Excel { values?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `RangeView.valuesAsJsonLocal`. * * @remarks @@ -81004,7 +80984,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in the cells in this range. - Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `RangeView.values`, `RangeView.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `RangeView.valuesAsJson`. * * @remarks @@ -81143,7 +81123,7 @@ declare namespace Excel { value?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in this named item. - Unlike `NamedItem.value`, `NamedItem.valueAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItem.value`, `NamedItem.valueAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `NamedItem.valueAsJsonLocal`. * * @remarks @@ -81152,7 +81132,7 @@ declare namespace Excel { valueAsJson?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in this named item. - Unlike `NamedItem.value`, `NamedItem.valueAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItem.value`, `NamedItem.valueAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `NamedItem.valueAsJson`. * * @remarks @@ -81246,7 +81226,7 @@ declare namespace Excel { value?: boolean; /** * A JSON representation of the values in this named item. - Unlike `NamedItem.value`, `NamedItem.valueAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItem.value`, `NamedItem.valueAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `NamedItem.valueAsJsonLocal`. * * @remarks @@ -81255,7 +81235,7 @@ declare namespace Excel { valueAsJson?: boolean; /** * A JSON representation of the values in this named item. - Unlike `NamedItem.value`, `NamedItem.valueAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItem.value`, `NamedItem.valueAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `NamedItem.valueAsJson`. * * @remarks @@ -81297,7 +81277,7 @@ declare namespace Excel { values?: boolean; /** * A JSON representation of the values in this named item array. - Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `NamedItemArrayValues.valuesAsJsonLocal`. * * @remarks @@ -81306,7 +81286,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * A JSON representation of the values in this named item array. - Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `NamedItemArrayValues.values`, `NamedItemArrayValues.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `NamedItemArrayValues.valuesAsJson`. * * @remarks @@ -81785,7 +81765,7 @@ declare namespace Excel { */ name?: boolean; /** - * For EACH ITEM in the collection: Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * For EACH ITEM in the collection: Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -81794,7 +81774,7 @@ declare namespace Excel { values?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableColumn.valuesAsJsonLocal`. * * @remarks @@ -81803,7 +81783,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableColumn.valuesAsJson`. * * @remarks @@ -81851,7 +81831,7 @@ declare namespace Excel { */ name?: boolean; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -81860,7 +81840,7 @@ declare namespace Excel { values?: boolean; /** * A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableColumn.valuesAsJsonLocal`. * * @remarks @@ -81869,7 +81849,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * A JSON representation of the values in the cells in this table column. - Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableColumn.values`, `TableColumn.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableColumn.valuesAsJson`. * * @remarks @@ -81901,7 +81881,7 @@ declare namespace Excel { */ index?: boolean; /** - * For EACH ITEM in the collection: Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * For EACH ITEM in the collection: Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -81910,7 +81890,7 @@ declare namespace Excel { values?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableRow.valuesAsJsonLocal`. * * @remarks @@ -81919,7 +81899,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableRow.valuesAsJson`. * * @remarks @@ -81951,7 +81931,7 @@ declare namespace Excel { */ index?: boolean; /** - * Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -81960,7 +81940,7 @@ declare namespace Excel { values?: boolean; /** * A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `TableRow.valuesAsJsonLocal`. * * @remarks @@ -81969,7 +81949,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * A JSON representation of the values in the cells in this table row. - Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `TableRow.values`, `TableRow.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `TableRow.valuesAsJson`. * * @remarks @@ -85021,7 +85001,7 @@ declare namespace Excel { */ position?: boolean; /** - * Represents a boolean value that determines if the chart title has a shadow. + * Represents a Boolean value that determines if the chart title has a shadow. * * @remarks * [Api set: ExcelApi 1.7] @@ -86902,7 +86882,7 @@ declare namespace Excel { */ key?: boolean; /** - * Gets or sets the value of the custom property. + * Specifies the value of the custom property. * * @remarks * [Api set: ExcelApi 1.12] @@ -86928,7 +86908,7 @@ declare namespace Excel { */ key?: boolean; /** - * For EACH ITEM in the collection: Gets or sets the value of the custom property. + * For EACH ITEM in the collection: Specifies the value of the custom property. * * @remarks * [Api set: ExcelApi 1.12] @@ -88771,14 +88751,14 @@ declare namespace Excel { */ state?: boolean; /** - * Gets or sets a flag indicating if headers/footers are aligned with the page margins set in the page layout options for the worksheet. + * Specifies a flag indicating if headers/footers are aligned with the page margins set in the page layout options for the worksheet. * * @remarks * [Api set: ExcelApi 1.9] */ useSheetMargins?: boolean; /** - * Gets or sets a flag indicating if headers/footers should be scaled by the page percentage scale set in the page layout options for the worksheet. + * Specifies a flag indicating if headers/footers should be scaled by the page percentage scale set in the page layout options for the worksheet. * * @remarks * [Api set: ExcelApi 1.9] @@ -89076,7 +89056,7 @@ declare namespace Excel { */ valueTypes?: boolean; /** - * For EACH ITEM in the collection: Represents the raw values of the specified range. The data returned could be a string, number, or boolean. Cells that contain an error will return the error string. + * For EACH ITEM in the collection: Represents the raw values of the specified range. The data returned could be a string, number, or Boolean. Cells that contain an error will return the error string. If the returned value starts with a plus ("+"), minus ("-"), or equal sign ("="), Excel interprets this value as a formula. * * @remarks @@ -89085,7 +89065,7 @@ declare namespace Excel { values?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJson` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the en-US locale. To retrieve data in the user's display locale, use `Range.valuesAsJsonLocal`. * * @remarks @@ -89094,7 +89074,7 @@ declare namespace Excel { valuesAsJson?: boolean; /** * For EACH ITEM in the collection: A JSON representation of the values in the cells in this range. - Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard boolean, number, and string values. + Unlike `Range.values`, `Range.valuesAsJsonLocal` supports all data types which can be in a cell. Examples include formatted number values and web images, in addition to the standard Boolean, number, and string values. Data returned from this API always aligns with the user's display locale. To retrieve data independent of locale, use `Range.valuesAsJson`. * * @remarks @@ -91070,7 +91050,7 @@ declare namespace Excel { */ $all?: boolean; /** - * Gets or sets the name of the sheet view. + * Specifies the name of the sheet view. The temporary sheet view name is the empty string (""). Naming the view by using the name property causes the sheet view to be saved. * * @remarks @@ -91090,7 +91070,7 @@ declare namespace Excel { */ $all?: boolean; /** - * For EACH ITEM in the collection: Gets or sets the name of the sheet view. + * For EACH ITEM in the collection: Specifies the name of the sheet view. The temporary sheet view name is the empty string (""). Naming the view by using the name property causes the sheet view to be saved. * * @remarks