Plan Manager API 2.0
Overview
The following documentation details the Plan Manager API for LanternPay Integration Partners servicing NDIS Plan Managers. This will allow plan managers, via our Integration Partners, to retrieve plan information, service booking data and submit claims to the NDIS on behalf of their participants for approval and funding.
Service Bookings
A Service Booking is associated with an NDIS participant and contains specific information about the funding available for the participant and/or provider. A service booking can be at a category or item level, item level service bookings are for funding of specific types of claims, while category level are more general in nature, covering a wider range of support items. Service bookings also posses start and end dates, which indicate for what time period a service booking can be used.
Claims
A claim represents the line items on an invoice/a request for compensation for payment of an invoice. The NDIS processes claims, not invoices, so while LanternPay provisions for additional referencing data, we do not support the submission of whole invoices.
Claims can have a number of statuses which are described below and are applied to each claim individually. Through the Plan Manager API, a plan manager can submit a claim and receive updates on the claim status via webhooks
Claim Statuses
Level | Status | Description |
---|---|---|
Claim | Authorized | This claim has been authorized by the NDIS. |
Claim | Rejected | This claim has been rejected by LanternPay or the NDIS. See rejectReason on the claim for the rejection reason. |
Claim | Cancelled | This claim has been cancelled and will not be processed further. |
NDIS References
When a claim has been submitted to the NDIS, the claims unique ndisReference
field will be populated in the response. This reference matches what is shown in the NDIS portal for that claim and is useful when searching for a LanternPay submitted claim (for cancellations, for example)
Webhooks
Webhooks allow LanternPay to signal to the user that an event has occurred within the LanternPay platform. During onboarding, you will define API endpoints that LanternPay will deliver webhooks to for various events.
Field | Description |
---|---|
id | A unique ID per event. This allows the program to perform de-duplication in the event that the same event is signalled more than once. LanternPay may send the same event multiple times if it fails to get positive acknowledgement of a request. |
created | The date and time in Unix Epoch Time of the event. |
data | A block of data relevant to the event. The schema of the data block will vary for given webhook types. Typically, the data block will contain both data properties and action properties, which will contain the URI of the possible LanternPay resource actions that may be carried out as a next step of processing the webhook. |
type | A string defining the type of the webhook |
_links | a set of links indicating the set of available next operations related to this event |
Webhook Standard Payload
Each webhook will have the following standard payload:
{
"id": "{uuid}",
"created": "{unix epoch time}",
"data": "{data object}",
"type": "{event type name}",
"_links": {
"lp:action": {
"href": "{uri}"
}
}
}
Webhook Authentication
Webhooks must be configured with an authentication mode. Options are:
- Custom HTTP Header: Webhook subscriber can configure a header Name and Value for a custom HTTP Header to be included in each webhook call back, e.g.
X-API-Key: 1234
- OAuth 2.0 Authorization: Webhook subscriber can configure OAuth details. LanternPay will obtain an access token using the
client_credentials
flow and include it in the Authorization header as a Bearer token. The configuration options are:- OAuth 2.0 Idp Authorize endpoint
- Client Id
- Client Secret
Asynchronous Webhook Handlers
When handling a webhook, the webhook handler should handle the request asynchronously.
This means responding very quickly with a success status code (202 Accepted
is preferred). This style ensures that in the event of heavy load, networking resources are not ‘held open’ for the duration of the delay. It encourages the use of internal queueing mechanisms to ensure robust, reliable & scalable handling of requests even when under load.
Webhook Response Codes
The webhook handler may respond with one of the following HTTP status codes when LanternPay attempts to deliver a webhook. LanternPay actions for each status code are as below.
Status Code | LanternPay Action |
---|---|
200 OK |
|
202 Accepted (Preferred) |
|
4xx Client Error |
|
5xx Server Error |
|
Retry Policy
If a webhook fails to deliver, the retry policy will trigger as described below. In total there will be 24 attempts to deliver a webhook (the initial attempt + 23 retries) and if all webhooks fail this will trigger an alert to LanternPay support staff for investigation.
All 24 webhook delivery attempts will occur over a ~5.5 minute period, with half the retries delivered within the first ~40 seconds to cover intermittent failures with the receiver. The formula used for each retry is [(number of webhooks already sent)2 x 0.08] where 0.08 represents an 80ms delay.
Each retry will have the same value in the webhook id
field. Due to the use of retries, it is strongly recommended that the webhook id
field is used to prevent duplicate handling, particularly in the case where LanternPay is retrying due to a timeout, but internal program systems have successfully handled the webhook.
Webhook | Delay (s) | Time (s) |
---|---|---|
1 | 0 | 0 |
2 | 0.08 | 0.08 |
3 | 0.32 | 0.4 |
4 | 0.72 | 1.12 |
5 | 1.25 | 2.4 |
6 | 2 | 4.4 |
… | … | … |
23 | 38.72 | 303.6 |
24 | 42.32 | 345.92 |
API Resources
This section below details out all the Plan Manager API endpoints and the various functionality of each.
Base URIs
Unless stated otherwise, all URIs in the API Resources section below are relative to these base URIs:
Environment | URI | Description |
---|---|---|
Sandbox | https://api.ndis.planmanagers.sandbox.lanternpay.com |
This is a pre-production environment you can use for testing. |
Production | https://api.ndis.planmanagers.lanternpay.com |
This is the production environment. |
Root
The root resource is the starting point for all API operations when using HATEAOS
hypermedia to navigate the API. The first step is to obtain a OAuth access token and then you can navigate the API using the link relations present in the root response. This resource can also be used to ensure the API is online.
Get the API Root
GET /
The root API resource. No credentials, path, query or body parameters are required for this request.
Example Get Root Response
{
"_links": {
"self": {
"href": "https://api.ndis.sandbox.lanternpay.com/"
},
"lp:get-planmanager": {
"href": "https://api.ndis.sandbox.lanternpay.com/planmanagers/{planManagerKey}",
"templated": true
},
"curies": {
"name": "lp",
"href": "https://docs.lanternpay.com/reference#{rel}",
"templated": true
}
}
}
Plan Managers
Plan managers are provided a unique planManagerKey
when onboarding with LanternPay allowing them to uniquely manage their participants. Integration partners will be provided with a template for onboarding new plan managers during initial integration. The Plan Manager onboarding API} is one method of onboarding a plan manager.
Onboard a Plan Manager
POST /planmanagers/add
This starts the workflow to onboard a plan manager with LanternPay, depending on the integration options selected this will trigger an email to the defined administrative contact.
Body Parameters
Field | Format | Required? | Description |
---|---|---|---|
planmanagerName | String | Mandatory | The Business Name of the plan manager. |
planmanagerAbn | 11 digit ABN | Mandatory | The 11 digit ABN of the business, this is validated against the ABR checksum modulus. |
planmanagerNumber | Integer | Mandatory | The NDIS number of the Plan Manager. |
planmanagerEmail | String | Mandatory | The plan managers generic contact email address. |
planmanagerPhone | String | Mandatory | The plan managers phone number |
planmanagerAdministrativeContact | Object | Mandatory | The container object for the Administrative Contact for the plan manager, we recommend this be a director or manager |
Administrative Contact Parameters
Field | Format | Required? | Description |
---|---|---|---|
contactName | String | Mandatory | The name of the nominated contact. |
contactEmail | String | The email address of the nominated contact. | |
contactPhone | String | The contact phone number of the nominated contact. |
Example Onboard a Plan Manager
{
"planmanagerName": "Test Plan Manager",
"planmanagerAbn": 60006000014,
"planmanagerNumber": 4030000001,
"planmanagerEmail": "test@planmanager.com",
"planmanagerPhone": "0299998800",
"planmanagerAdministrativeContact":
{
"contactName": "Jane Smith",
"contactEmail": "Jane@planmanager.com",
"contactPhone": "0299998801"
}
}
Claim
Service providers will generally issue invoices to plan managed participants, these invoices will generally contain line items, which can be submitted to the NDIS in the form of a claim. The Claims API enables the submission of claims to the NDIS.
Submit a Claim
POST /planmanagers/{planManagerKey}/participants/{participantNumber}/claim
This resource can be used to submit a claim for a participant
Path Parameters
Field | Format | Required? | Description |
---|---|---|---|
planManagerKey | UUID | Mandatory | This will be given to you by LanternPay when a Plan Manager is onboarded. |
participantNumber | Integer | This is the participants NDIS number. |
Body Parameters
Field | Format | Required? | Description |
---|---|---|---|
participantNumber | string | Mandatory | The NDIS number of the participant with the. |
invoiceId | String | Mandatory | The invoice number provided with the invoice. |
lineItemId | String | Mandatory | Your unique reference for the claim. |
alternateInvoiceId | String | Optional | An additional invoice level identifying field, we recommend using the your unique internal reference in this field. |
alternateLineItemId | String | Optional | An additional claim level identifying field, this can be used if an additional claim level reference field is required. |
serviceBookingId | String | Mandatory | The service booking number that the claim will be lodged against. |
itemCode | String | Mandatory | The NDIS Item code for the claim. |
unitPrice | Decimal | Mandatory | The unit price of the item being claimed, expressed to two decimal places, additional decimal places will be ignored (no rounding will be done). |
quantity | Decimal | Mandatory | The number of units that are being charged for, expressed to two decimal places, additional decimal places will be ignored (no rounding will be done). |
taxCode | NDIS Tax Codes | Mandatory | The NDIS tax code for the claim, see NDIS Tax Codes for valid entries. |
claimType | NDIS Claim Type | Optional | The type of claim that that is being submitted, must be a valid NDIS Claim Type. |
cancellationReason | Cancellation Claim Reason | Conditional | The cancellation claim reason code, this should only be provided when the NDIS Claim Type is "CANC" , a valid Cancellation Claim Reason must be provided when the claimType is "CANC" . |
startDate | YYYY-MM-DD | Mandatory | The date the claimable service started. |
endDate | YYYY-MM-DD | Mandatory | The date the claimable service ended. |
abn | 11 digits ABN | Conditional | The payee’s ABN, this is submitted with the claim to the NDIA. This field is mandatory when the payee possesses a valid ABN. If the payee does not possess a valid ABN then a valid NDIA exemption reason mnemonic should be included in the exemptionReason field. If the ABN is omitted or the ABN does not conform to the defined ABN format, then the claim will not be accepted. |
exemptionReason | Valid NDIS exemption mnemonic | Conditional | This field must be provided when an ABN is not present for a provider, a valid NDIA exemption reason mnemonic must be used when this condition is met. |
NDIS Tax Codes
The NDIS Tax Codes are reporting fields defined by the NDIS to communicate the tax status of the claim. The NDIS accepts three values in this field, these are defined by the NDIS as follows:
Value | Description |
---|---|
P1 | Tax Claimable (10%) |
P2 | GST Free |
P5 | GST Out of Scope |
NDIS Claim Types
The NDIS has defined a number of claim types that can be submitted to the NDIS. These mostly are used for reporting functions. It should be noted that a claim type of "CANC"
is not used to cancel a previously submitted claim and is defined as a type of claim. For standard claims, this field should be left blank or omitted. The NDIS accepts the following claim types:
Value | Description |
---|---|
CANC | Cancellation. If cancellation is selected then a valid Cancellation Reason value must be provided. |
REPW | NDIA Required Report. |
TRAN | Provider Travel. |
NF2F | Non-Face-to-Face Services. |
THLT | Telehealth Supports. |
IRSS | Irregular SIL Supports. |
Cancellation Claim Reasons
Cancellation claims reasons are required for NDIS claims when a Cancellation claim is submitted. The NDIS accepts the following cancellation reason codes:
Value | Description |
---|---|
NSDH | No show due to health reason. |
NSDF | No show due to family issues. |
NSDT | No show due to unavailability of transport. |
NSDO | Other |
ABN Values
The NDIS requires that a valid ABN be provided whenever one is present. If a valid ABN is not present, then an ABN exemption reason will need to be supplied. The below table lists accepted values for this field:
Value | Description |
---|---|
11 digit ABN | A valid ABN for the payee. Note that this must meet the defined ABN format, if the value provided does not meet this check, then the invoice will default to REIMB |
REIMB | Participant Reimbursement – You are declaring that this payment request is a reimbursement to a participant for services and goods purchased in accordance with the funded supports outlined in the participants NDIS plan. By selecting this, you must be able to provide the tax invoice and other relevant documentation should the NDIA request it. |
EXCLS | ATO Excluded Supply – You are declaring that this payment request is being made to a supplier in connection with a supply that is excluded from the withholding tax rules. By selecting this, you are declaring that the supplier has provided you with the completed ATO form ‘Statement by Supplier’ and you are able to provide the completed form on request. |
Example Claim Submission
{
"invoiceId": "ABCD1234",
"lineItemId": "LNE003",
"alternateInvoiceId": "76720840-fc66-4b58-9c89-455122af39d7",
"alternateLineItemId": "f475975d-8ee5-4f29-a969-bed2892e9c4f",
"serviceBookingId": 12345,
"itemCode": "05_220627230_0122_1_2",
"unitPrice": 25.5,
"quantity": 1.5,
"taxCode": "P5",
"claimType": "",
"cancellationReason": "",
"startDate": "2021-01-01",
"endDate": "2021-01-01",
"abn": 60006000014,
"exemptionReason": ""
}
Claim Status Updated Webhook
WEBHOOK {onClaimStatusUpdated}
This webhook will trigger when the claim status is updated, this will generally be based on adjudiction or claim lifecycle events e.g. when a claim is authorized, paid or rejected.
Path Parameters
Field | Format | Required? | Description |
---|---|---|---|
{onClaimStatusUpdated} |
URI | Mandatory | The URI that you provided during onboarding for the ndis.participant.claim.updated event. |
Webhook Body Parameters
Field | Description |
---|---|
id | A unique ID per event. |
created | The date and time in Unix Epoch Time of the event. |
data | Schema follows the structure of an Claim Status Update |
type | ndis.participant.claim.updated |
_links | lp:webhook-error defines the URI to POST in case the webhook needs to be retried by LanternPay.Note: this value can be null if no retry is possible. See example webhook. |
Claim Status Update Parameters
Field | Format | Required? | Description |
---|---|---|---|
success | boolean | Mandatory | This will be true or false and comes from the NDIS, it indicates whether the call was successful |
result | Object | Mandatory | Lists the claim results. See Claim Results Object for more details |
errors | String | Mandatory | Lists any errors returned by the NDIS when performing the call |
Claim Results Object
This lists out the claim details and adjudication results.
Field | Format | Required? | Description |
---|---|---|---|
ndisReference | UUID | Mandatory | This is the LanternPay unique reference for the claim and will appear in the NDIS portal. |
claimNumber | Integer | Mandatory | This is the NDIS ID for the claim and will be visibile in reconciliation reports or when inspecting the claim in the portal. |
claimedAmount | Decimal | Mandatory | This is the total amount funded by the NDIS |
participantNumber | Integer | Mandatory | The Participants NDIS number. |
participantName | String | Optional | The name of the participant as they are registered in the NDIS portal. |
invoiceId | String | Mandatory | Your orignally provided invoice Id. |
lineItemId | String | Mandatory | Your originally provided Line Item Id. |
alternateInvoiceId | String | Optional | Your original alternative Invoice Id, if provided. |
alternateLineItemId | String | Optional | Your original alternative line item Id, if provided. |
claimStatus | String | Mandatory | This is the status of the claim, see Claim Statuses for more details |
startDate | YYYY-MM-DD | Mandatory | The date the claimable service started. |
endDate | YYYY-MM-DD | Mandatory | The date the claimable service ended. |
category | String | Mandatory | The category of the item claimed |
itemCode | String | Mandatory | The NDIS Item code for the claim. |
itemDescription | String | Mandatory | The NDIS description for the Item code claimed. |
claimType | NDIS Claim Type | Optional | The type of claim that that is being submitted, must be a valid NDIS Claim Type. |
cancellationReason | Cancellation Claim Reason | Conditional | The cancellation claim reason code |
unitPrice | Decimal | Mandatory | The unit price of the item being claimed, expressed to two decimal places. |
quantity | Decimal | Mandatory | The number of units that are being charged for, expressed to two decimal places. |
taxCode | NDIS Tax Codes | Mandatory | The NDIS tax code for the claim. |
planId | Integer | Conditional | The plan debited to fund the claim. |
serviceBookingId | String | Mandatory | The service booking number that the claim was lodged against. |
submitDate | YYYY-MM-DD | Mandatory | The date the claim was submitted to the NDIS. |
submitBy | String | Mandatory | The individual or API application that submitted the claim. |
rejectReasonCode | String | Conditional | The reason code provided when a claim is rejected. |
rejectReason | String | Conditional | The clear text reason provided when a claim is rejected. |
paidDate | YYYY-MM-DD | Conditional | The date that the claim was paid, will only be populated for paid claims. |
abn | 11 digits ABN | Conditional | Populated with the ABN submitted with the claim, will be omitted if left blank and a valid exemption code was provided |
exemptionCode | Valid NDIS exemption mnemonic | Conditional | Pupulated when a valid exemption code is provided in the payload |
Example Claim Status Updated Webhook
{
"id": "f1fa5bb0-1fd3-4d6d-adff-fbb90871c4f8",
"created": 1626135961,
"data": {
"success": true,
"result": {
"ndisReference": "bfecb1bd-db96-4758-8d80-4222eb5ca355",
"claimNumber": 10125329,
"claimedAmount": 38.25,
"participantNumber": 93991933,
"participantName": "Joy Sunshine",
"invoiceId": "ABCD1234",
"lineItemId": "LNE003",
"alternateInvoiceId": "76720840-fc66-4b58-9c89-455122af39d7",
"alternateLineItemId": "f475975d-8ee5-4f29-a969-bed2892e9c4f",
"claimStatus": "Authorized",
"startDate": "2019-06-03",
"endDate": "2019-06-03",
"category": "HOME_MODIFICATIONS",
"itemCode": "05_220627230_0122_1_2",
"itemDescription": "Incontinence",
"claimType": "",
"cancellationReason": "",
"unitPrice": 25.25,
"quantity": 1.5,
"taxCode": "P5",
"planId": 1027034,
"serviceBookingId": 12345,
"submitDate": "2021-01-01",
"submitBy": "TEST",
"rejectReasonCode": "",
"rejectReason": "",
"paidDate": "2021-01-01",
"abn": 60006000014,
"exemptionCode": ""
},
"errors": [
"error"
]
},
"type": "ndis.participant.claim.updated",
"_links": {
"lp:webhook-error": {
"href": null
}
}
}
Plans
Plans provide plan managers with the plan start and end dates, as well as the plan id.
Retrieve a Plan
POST /planmanagers/{planmanagerKey}/participant/{participantNumber}/plan
This endpoint retrieves the details around the participants plan
Path Parameters
Field | Format | Required? | Description |
---|---|---|---|
planManagerKey | UUID | Mandatory | This will be given to you by LanternPay when a Plan Manager is onboarded. |
participantNumber | Integer | This is the participants NDIS number. |
Body Parameters
Field | Format | Required? | Description |
---|---|---|---|
participantSurname | String | Mandatory | The participants Surname. This must match the NDIS recorded surname. |
participantDob | YYYY-MM-DD | Mandatory | The participants date of birth. This must match the NDIS recorded surname. |
Example Retrieve a Plan Request
{
"participantSurname": "Sunshine",
"participantDob": "2001-11-01"
}
Example Retrieve a Plan Response
HTTP 202
Plan Retrieved Webhook
WEBHOOK {onPlanRetrieved}
This webhook will trigger when the plan has been retrieved from the NDIS after receiving a request from the plan manager.
Path Parameters
Field | Format | Required? | Description |
---|---|---|---|
{onClaimStatusUpdated} |
URI | Mandatory | The URI that you provided during onboarding for the ndis.participant.plan.retrieved event. |
Webhook Body Parameters
Field | Description |
---|---|
id | A unique ID per event. |
created | The date and time in Unix Epoch Time of the event. |
data | Schema follows the structure of a Plan Retrieval |
type | ndis.participant.plan.retrieved |
_links | lp:webhook-error defines the URI to POST in case the webhook needs to be retried by LanternPay.Note: this value can be null if no retry is possible. See example webhook. |
Plan Retrieved Parameters
This lists the details of the plan.
Field | Format | Required? | Description |
---|---|---|---|
participantNumber | Integer | Mandatory | The NDIS number of the participant. |
participantPlanId | Integer | Mandatory | The plan id number. |
planStartDate | YYYY-MM-DD | Mandatory | The start date of the plan |
planEndDate | YYYY-MM-DD | Mandatory | The end date of the plan |
Example Plan Retrieved Webhook
{
"id": "f1fa5bb0-1fd3-4d6d-adff-fbb90871c4f8",
"created": 1626135961,
"data": {
"participantNumber": 93991933,
"participantPlanId": 1010101,
"planStartDate": "2020-01-31",
"planEndDate": "2020-03-24"
},
"type": "ndis.participant.plan.retrieved",
"_links": {
"lp:webhook-error": {
"href": null
}
}
}
Service Booking Management
This collection of APIs and webhooks describe the service booking management functionality.
Create A Service Booking
POST /billers/{billerId}/member/{memberNumber}/serviceBooking
This resource allows the creation of an agency managed service booking.
Path Parameters
Field | Format | Required? | Description |
---|---|---|---|
billerId | UUID | Mandatory | LanternPay’s unique reference for the Biller. |
memberNumber | string | Mandatory | Member’s identifier, as issued by the NDIS. |
Service Booking Body Parameters
Field | Format | Required? | Description |
---|---|---|---|
memberNumber | integer | Mandatory | Member’s identifier, as issued by the NDIS. Max 10 digits. |
memberSurname | string | Mandatory | Member’s surname. Max 80 chars. |
dateOfBirth | string | Mandatory | Member’s date of birth in YYYY-MM-DD format. |
bookingType | string | Mandatory | Must be ZSAG for a standard agency booking. |
startDate | string | Mandatory | Start date in YYYY-MM-DD format. |
endDate | string | Mandatory | End date in YYYY-MM-DD format. |
planId | integer | Mandatory | The member’s plan ID. Max 10 digits. |
providerComments | string | Optional | Any provider comments to be added to the service booking. |
Example Create A Service Booking Request
{
"memberNumber": 1234567890,
"memberSurname": "Smith",
"dateOfBirth": "YYYY-MM-DD",
"bookingType": "ZSAG",
"startDate": "YYYY-MM-DD",
"endDate": "YYYY-MM-DD",
"planId": 1234567890,
"providerComments": "",
"items": [
{
"itemCategory": "ASSISTIVE_TECHNOLOGY",
"itemCode": "05_220627230_0122_1_2",
"quantity": 2,
"unitPrice": 123.45
},
{
"itemCategory": "ASSISTIVE_TECHNOLOGY",
"itemCode": "05_220627230_4444_1_2",
"quantity": 1,
"unitPrice": 45.85
}
]
}
Create A Service Booking Response
HTTP 202
Service Booking Created
WEBHOOK {onServiceBookingCreated}
Example Service Booking Created Webhook
Edit A Service Booking
PATCH /billers/{billerId}/member/{memberNumber}/serviceBooking/{serviceBookingId}
Edit A Service Booking Response
HTTP 202
Service Booking Edited
WEBHOOK {onServiceBookingEdited}
Example Service Booking Edited Webhook
Delete A Service Booking
DEL /billers/{billerId}/member/{memberNumber}/serviceBooking/{serviceBookingId}
Delete A Service Booking Response
HTTP 202
Service Booking Deleted
WEBHOOK {onServiceBookingDeleted}
Example Service Booking Deleted Webhook
Request Service Booking List
POST /planmanagers/{planmanagerKey}/participant/{participantNumber}/serviceBookingList
This resources allows retrieval of a list of all the participant’s service bookings for a specific participant, shown in list view.
Path Parameters
Field | Format | Required? | Description |
---|---|---|---|
planmanagerKey | UUID | Mandatory | LanternPay’s unique reference for the planmanager. |
participantNumber | string | Mandatory | participant’s identifier, as issued by the NDIS. |
Body Parameters
No body parameters are required for this request.
Request Service Booking List Response
HTTP 202
Service Booking List Retrieved
WEBHOOK {onServiceBookingListRetrieved}
This webhook will trigger when all of the service bookings for a specific participant have been retrieved.
Path Parameters
Field | Format | Required? | Description |
---|---|---|---|
{onServiceBookingListRetrieved} |
URI | Mandatory | The URL that you provided for the onServiceBookingListRetrieved event. |
Webhook Body Parameters
Field | Description |
---|---|
id | A unique ID per event. |
created | The date and time of the event in Unix Epoch Time format. |
data | serviceBookings array containing Service Booking List View objects. |
type | ndis.participant.serviceBookingList.retrieved |
_links | lp:webhook-error defines the URI to POST to in case the webhook needs to be replayed by LanternPay. Note: this value can be null if no replay is possible. lp:service-booking-updates-subscribe defines the templted URI to POST to in order to subscribe to any changes made to a service booking. |
Service Booking List View Parameters
Field | Format | Required? | Description |
---|---|---|---|
id | integer | Mandatory | The service booking reference, as issued by the NDIS. |
type | string | Mandatory | The service booking type |
participantNumber | integer | Mandatory | The participant number, as issued by the NDIS. |
participantName | string | Mandatory | The participant’s full name. |
startDate | date YYYY-MM-DD |
Mandatory | The start date of the service booking. |
endDate | date YYYY-MM-DD |
Mandatory | The end date of the service booking. |
submittedDate | date YYYY-MM-DD |
Mandatory | The date the service booking was submitted. |
createdBy | string | Mandatory | The entity that created the service booking. Values include: Staff , Provider , etc. |
status | string | Mandatory | The current status of the service booking. Values include: Approved , Rejected , Deleted , Awaiting Provider Approval , etc. |
virtualStatus | string | Mandatory | Indicates whether the service booking is Active or Inactive . |
participantPlanId | integer | Mandatory | The participant’s plan reference, as issued by the NDIS. |
providerComments | string | Mandatory | Any comments associated with the service booking. |
Example Service Booking List Retrieved Webhook
{
"id": "f1fa5bb0-1fd3-4d6d-adff-fbb90871c4f8",
"created": 1626135961,
"data": {
"serviceBookings": [
{
"id": 123456,
"type": "",
"participantNumber": 123456,
"participantName": "",
"startDate": "YYYY-MM-DD",
"endDate": "YYYY-MM-DD",
"submittedDate": "YYYY-MM-DD",
"createdBy": "",
"status": "",
"virtualStatus": "",
"participantPlanId": 123456,
"providerComments": ""
},
{
"id": 123456,
"type": "",
"participantNumber": 123456,
"participantName": "",
"startDate": "YYYY-MM-DD",
"endDate": "YYYY-MM-DD",
"submittedDate": "YYYY-MM-DD",
"createdBy": "",
"status": "",
"virtualStatus": "",
"participantPlanId": 123456,
"providerComments": ""
}
]
},
"type": "ndis.participant.serviceBookingList.retrieved",
"_links": {
"lp:webhook-error": {
"href": "someURL"
},
"lp:service-booking-updates-subscribe": {
"href": "https://api.ndis.lanternpay.com/planmanagers/{planmanagerKey}/participant/{participantNumber}/serviceBooking/{serviceBookingId}/subscribe",
"templated": true
}
}
}
Request Service Booking
POST /planmanagers/{planmanagerKey}/participant/{participantNumber}/serviceBooking/{serviceBookingId}
This resources allowes retrieval of a specific service booking, shown in detail view.
Path Parameters
Field | Format | Required? | Description |
---|---|---|---|
planmanagerKey | UUID | Mandatory | LanternPay’s unique reference for the planmanager. |
participantNumber | string | Mandatory | participant’s identifier, as issued by the NDIS. |
serviceBookingId | string | Mandatory | Service booking reference, as issued by the NDIS. |
Body Parameters
No body parameters are required for this request.
Request Service Booking Response
HTTP 202
Service Booking Retrieved
WEBHOOK {onServiceBookingRetrieved}
This webhook will trigger when a specific service booking has been retrieved.
Path Parameters
Field | Format | Required? | Description |
---|---|---|---|
{onServiceBookingRetrieved} |
URI | Mandatory | The URL that you provided for the onServiceBookingRetrieved event. |
Webhook Body Parameters
Field | Description |
---|---|
id | A unique ID per event. |
created | The date and time of the event in Unix Epoch Time format. |
data | serviceBooking object containing Service Booking Detail View data. |
type | ndis.participant.serviceBooking.retrieved |
_links | lp:webhook-error defines the URI to POST in case the webhook needs to be replayed by LanternPay. Note: this value can be null if no replay is possible. lp:service-booking-updates-subscribe or lp:service-booking-updates-unsubscribe URIs will display depending on whether a subscription already exists or not for this service booking. |
Service Booking Detail View Parameters
Field | Format | Required? | Description |
---|---|---|---|
id | integer | Mandatory | The service booking reference, as issued by the NDIS. |
type | string | Mandatory | The service booking type |
participantNumber | integer | Mandatory | The participant number, as issued by the NDIS. |
participantName | string | Mandatory | The participant’s full name. |
startDate | date YYYY-MM-DD |
Mandatory | The start date of the service booking. |
endDate | date YYYY-MM-DD |
Mandatory | The end date of the service booking. |
revisedEndDate | date YYYY-MM-DD |
Mandatory | The new service booking end date, if changed. |
inkindProgram | boolean | Mandatory | |
status | string | Mandatory | The current status of the service booking. Values include: Approved , Rejected , Deleted , Awaiting Provider Approval , etc. |
virtualStatus | string | Mandatory | Indicates whether the service booking is Active or Inactive . |
participantPlanId | integer | Mandatory | The participant’s plan reference, as issued by the NDIS. |
providerComments | string | Mandatory | Any comments associated with the service booking. |
items | Array of Service Booking Items | Mandatory | All items associated with the service booking. |
Service Booking Items
Field | Format | Required? | Description |
---|---|---|---|
itemCategory | string | Mandatory | The item’s category. |
itemCode | string | Mandatory | The item’s code. |
itemDescription | string | Mandatory | The item’s description. |
quantity | integer | Mandatory | The quantity of this item on the service booking. |
allocatedAmount | decimal (2dp) | Mandatory | The total amount of funds allocated to this item for this service booking. |
remainingAmount | decimal (2dp) | Mandatory | The remaining balance of funds allocated to this item for this service booking. |
Example Service Booking Retrieved Webhook
{
"id": "f1fa5bb0-1fd3-4d6d-adff-fbb90871c4f8",
"created": 1626135961,
"data": {
"serviceBooking": {
"id": 123456,
"type": "",
"participantNumber": 123456,
"participantName": "",
"startDate": "YYYY-MM-DD",
"endDate": "YYYY-MM-DD",
"revisedEndDate": "YYYY-MM-DD",
"inkindProgram": false,
"status": "",
"virtualStatus": "",
"participantPlanId": 123456,
"providerComments": "",
"items": [
{
"itemCategory": "ASSISTIVE_TECHNOLOGY",
"itemCode": "06_182488376_0111_2_2",
"itemDescription": "Home Modifications - Bathroom Mod - Minimal Structural Work",
"quantity": 3,
"allocatedAmount": 100,
"remainingAmount": 0
}
]
}
},
"type": "ndis.participant.serviceBooking.retrieved",
"_links": {
"lp:webhook-error": {
"href": "someURL"
},
"lp:service-booking-updates-subscribe": {
"href": "https://api.ndis.lanternpay.com/planmanagers/bac723d5-4a55-4291-8c0e-67695f3d5cb0/participant/1234567890/serviceBooking/2266587419/subscribe"
},
"lp:service-booking-updates-unsubscribe": {
"href": "https://api.ndis.lanternpay.com/planmanagers/bac723d5-4a55-4291-8c0e-67695f3d5cb0/participant/1234567890/serviceBooking/2266587419/unsubscribe"
}
}
}
Service Booking Updated
WEBHOOK {onServiceBookingUpdated}
This webhook will trigger whenever a service booking has been updated.
Path Parameters
Field | Format | Required? | Description |
---|---|---|---|
{onServiceBookingUpdated} |
URI | Mandatory | The URL that you provided for the onServiceBookingUpdated event. |
Webhook Body Parameters
Field | Description |
---|---|
id | A unique ID per event. |
created | The date and time of the event in Unix Epoch Time format. |
data | serviceBooking object containing Service Booking Detail View data. |
type | ndis.participant.serviceBooking.updated |
_links | lp:webhook-error defines the URI to POST in case the webhook needs to be replayed by LanternPay. Note: this value can be null if no replay is possible. lp:service-booking-updates-unsubscribe defines the URI to post to in order to delete the subscription for this service booking. |
Example Service Booking Updated Webhook
{
"id": "f1fa5bb0-1fd3-4d6d-adff-fbb90871c4f8",
"created": 1626135961,
"data": {
"serviceBooking": {
"id": 123456,
"type": "",
"participantNumber": 123456,
"participantName": "",
"startDate": "YYYY-MM-DD",
"endDate": "YYYY-MM-DD",
"revisedEndDate": "YYYY-MM-DD",
"inkindProgram": false,
"status": "",
"virtualStatus": "",
"participantPlanId": 123456,
"providerComments": "",
"items": [
{
"itemCategory": "ASSISTIVE_TECHNOLOGY",
"itemCode": "06_182488376_0111_2_2",
"itemDescription": "Home Modifications - Bathroom Mod - Minimal Structural Work",
"quantity": 3,
"allocatedAmount": 100,
"remainingAmount": 0
}
]
}
},
"type": "ndis.participant.serviceBooking.updated",
"_links": {
"lp:webhook-error": {
"href": "someURL"
},
"lp:service-booking-updates-subscribe": {
"href": "https://api.ndis.lanternpay.com/planmanagers/bac723d5-4a55-4291-8c0e-67695f3d5cb0/participant/1234567890/serviceBooking/2266587419/subscribe"
}
}
}
Subscription Management
This section describes the API actions available to manage all NDIS Agency related notification subscriptions, including view, subscribe and unsubscribe actions.
Subscribe to Service Booking
POST /planmanagers/{planmanagerKey}/participant/{participantNumber}/serviceBooking/{serviceBookingId}/subscribe
This resource creates a subscription to a service booking’s onServiceBookingUpdated
event that will trigger a webhook any time a service booking is updated.
Path Parameters
Field | Format | Required? | Description |
---|---|---|---|
planmanagerKey | UUID | Mandatory | LanternPay’s unique reference for the planmanager. |
participantNumber | string | Mandatory | participant’s identifier, as issued by the NDIS. |
serviceBookingId | string | Mandatory | Service booking reference, as issued by the NDIS. |
Body Parameters
No body parameters are required for this request.
Subscribe to Service Booking Response
HTTP 202
Service Booking Subscribed
WEBHOOK {onServiceBookingSubscribed}
This webhook will trigger once the creation of the subscription to a service booking is complete.
Path Parameters
Field | Format | Required? | Description |
---|---|---|---|
{onServiceBookingSubscribed} |
URI | Mandatory | The URL that you provided for the onServiceBookingSubscribed event. |
Webhook Body Parameters
Field | Description |
---|---|
id | A unique ID per event. |
created | The date and time of the event in Unix Epoch Time format. |
data | Contains the serviceBookingId for the service booking that has been subscribed to. |
type | ndis.participant.serviceBookingUpdates.subscribed |
_links | lp:webhook-error defines the URI to POST in case the webhook needs to be replayed by LanternPay. Note: this value can be null if no replay is possible. lp:service-booking-updates-unsubscribe defines the URI to post to in order to delete the subscription for this service booking. |
Example Service Booking Subscribed Webhook
{
"id": "f1fa5bb0-1fd3-4d6d-adff-fbb90871c4f8",
"created": 1626135961,
"data": {
"serviceBookingId": 123456
},
"type": "ndis.participant.serviceBookingUpdates.subscribed",
"_links": {
"lp:webhook-error": {
"href": "someURL"
},
"lp:service-booking-updates-unsubscribe": {
"href": "https://api.ndis.lanternpay.com/planmanagers/bac723d5-4a55-4291-8c0e-67695f3d5cb0/participant/1234567890/serviceBooking/2266587419/unsubscribe"
}
}
}
Unsubscribe from Service Booking
POST /planmanagers/{planmanagerKey}/participant/{participantNumber}/serviceBooking/{serviceBookingId}/unsubscribe
This resource deletes a subscription from a service booking’s onServiceBookingUpdated
event, if it exists.
Path Parameters
Field | Format | Required? | Description |
---|---|---|---|
planmanagerKey | UUID | Mandatory | LanternPay’s unique reference for the planmanager. |
participantNumber | string | Mandatory | participant’s identifier, as issued by the NDIS. |
serviceBookingId | string | Mandatory | Service booking reference, as issued by the NDIS. |
Body Parameters
No body parameters are required for this request.
Unsubscribe from Service Booking Response
HTTP 202
Service Booking Unsubscribed
WEBHOOK {onServiceBookingUnsubscribed}
This webhook will trigger once the deletion of the subscription to a service booking is complete.
Path Parameters
Field | Format | Required? | Description |
---|---|---|---|
{onServiceBookingUnsubscribed} |
URI | Mandatory | The URL that you provided for the onServiceBookingUnsubscribed event. |
Webhook Body Parameters
Field | Description |
---|---|
id | A unique ID per event. |
created | The date and time of the event in Unix Epoch Time format. |
data | Contains the serviceBookingId for the service booking subscription that has been deleted. |
type | ndis.participant.serviceBookingUpdates.unsubscribed |
_links | lp:webhook-error defines the URI to POST in case the webhook needs to be replayed by LanternPay. Note: this value can be null if no replay is possible. lp:service-booking-updates-subscribe defines the URI to post to in order to subscribe to updates for this service booking. |
Example Service Booking Unsubscribed Webhook
{
"id": "f1fa5bb0-1fd3-4d6d-adff-fbb90871c4f8",
"created": 1626135961,
"data": {
"serviceBookingId": 123456
},
"type": "ndis.participant.serviceBookingUpdates.unsubscribed",
"_links": {
"lp:webhook-error": {
"href": "someURL"
},
"lp:service-booking-updates-subscribe": {
"href": "https://api.ndis.lanternpay.com/planmanagers/bac723d5-4a55-4291-8c0e-67695f3d5cb0/participant/1234567890/serviceBooking/2266587419/subscribe"
}
}
}
Retrieve Active Subscriptions
POST /planmanagers/{planmanagerKey}/participant/{participantNumber}/serviceBookingSubscriptions
This resource allows retrieval of a list of all active subscriptions for a participant’s service bookings.
Path Parameters
Field | Format | Required? | Description |
---|---|---|---|
planmanagerKey | UUID | Mandatory | LanternPay’s unique reference for the planmanager. |
participantNumber | string | Mandatory | participant’s identifier, as issued by the NDIS. |
Body Parameters
No body parameters are required for this request.
Retrieve Active Subscriptions Response
HTTP 202
Active Subscriptions Retrieved
WEBHOOK {onActiveSubscriptionsRetrieved}
This webhook will trigger once the list of all active subscriptions for this participant’s service bookings has been retrieved.
Path Parameters
Field | Format | Required? | Description |
---|---|---|---|
{onActiveSubscriptionsRetrieved} |
URI | Mandatory | The URL that you provided for the onActiveSubscriptionsRetrieved event. |
Webhook Body Parameters
Field | Description |
---|---|
id | A unique ID per event. |
created | The date and time of the event in Unix Epoch Time format. |
data | serviceBookingSubscriptions array containing the serviceBookingId for each service booking subscription that is active for this participant. |
type | ndis.participant.serviceBookingSubscriptions.retrieved |
_links | lp:webhook-error defines the URI to POST in case the webhook needs to be replayed by LanternPay. Note: this value can be null if no replay is possible. lp:service-booking-updates-unsubscribe defines the templted URI to POST to in order to delete the subscription for a service booking. |
Example Active Subscriptions Retrieved Webhook
{
"id": "f1fa5bb0-1fd3-4d6d-adff-fbb90871c4f8",
"created": 1626135961,
"data": {
"serviceBookingSubscriptions": [
{
"serviceBookingId": 123456
},
{
"serviceBookingId": 654321
}
]
},
"type": "ndis.participant.serviceBookingSubscriptions.retrieved",
"_links": {
"lp:webhook-error": {
"href": "someURL"
},
"lp:service-booking-updates-unsubscribe": {
"href": "https://api.ndis.lanternpay.com/planmanagers/{planmanagerKey}/participant/{participantNumber}/serviceBooking/{serviceBookingId}/unsubscribe",
"templated": true
}
}
}