Skip to main content

# IService

Scripting object to work with service orders, such as launching a service order integration etc.,

Enables applications to place service orders, independent of SLP (Service Landing Page) application.

Errors thrown by the service order integration will be returned to the caller of this Scripting Object method

## Extends​

- `IScriptingObject`

## Methods​

### _dispose()?​

    optional _dispose(): void;

#### Returns​

`void`

#### Inherited from​

`IScriptingObject`.`_dispose`

### _toJSON()​

    _toJSON(): RemotingScriptingObject;

#### Returns​

`RemotingScriptingObject`

#### Inherited from​

`IScriptingObject`.`_toJSON`

### getEligibleServices()​

    getEligibleServices(category: APPRAISAL, providerId?: string): Promise<ServiceSetup[]>;

get the service setup for the current user and loan

#### Parameters​

##### category​

`APPRAISAL`

service setup category

##### providerId?​

`string`

unique id of the service setup provider

#### Returns​

`Promise`<`ServiceSetup`[]>

list of service setups matching the input criteria. Empty list if no service setups are found

### launchByCategory()​

    launchByCategory(category: string, options: LaunchCategoryOptions): Promise<void>;

Launch a service intergration for a specific category to place a new service order or view existing order.

Commit all unsaved loan changes using loan.commit, before calling this method.

This method will unload the current microapp and navigate to the service order integration

After the integration flow is complete, user will be redirected to the location provided in the input parameter.

Service order transaction id (transactionId) and service order id (orderId) will be appended as query parameters to the url incase of new order. For example, if rediret requested to services area, the url will have querystring as services?query={'transactionId':123, 'orderId':456}

Supports EPC & EVP service order integrations

#### Parameters​

##### category​

`string`

name of the service category

##### options​

`LaunchCategoryOptions`

options for launching the service order integration

#### Returns​

`Promise`<`void`>

None

### launchByProvider()​

    launchByProvider(providerId: string, options: LaunchProviderOptions): Promise<void>;

Launch a service intergration for a specific provider to place a new service order or view existing order

Commit all unsaved loan changes using loan.commit, before calling this method.

This method will unload the current microapp and navigate to the service order integration

After the integration flow is complete, user will be redirected to the location provided in the input parameter.

Service order transaction id (transactionId) and service order id (orderId) will be appended as query parameters to the url incase of new order. For example, if rediret requested to services area, the url will have querystring as services?query={'transactionId':123, 'orderId':456}

Supports EPC & EVP service order integrations

#### Parameters​

##### providerId​

`string`

unique id of the service provider

##### options​

`LaunchProviderOptions`

options for launching the service order integration

#### Returns​

`Promise`<`void`>

None

### launchByServiceSetup()​

    launchByServiceSetup(serviceSetupId: string, options: LaunchServiceSetupOptions): Promise<void>;

Launch a service intergration for a specific service setup to place a new service order or view existing order.

Commit all unsaved loan changes using loan.commit, before calling this method.

This method will unload the current microapp and navigate to the service order integration.

After the integration flow is complete, user will be redirected to the location provided in the input parameter.

Service order transaction id (transactionId) and service order id (orderId) will be appended as query parameters to the url incase of new order. For example, if rediret requested to services area, the url will have querystring as services?query={'transactionId':123, 'orderId':456}

Supports EPC & EVP service order integrations

#### Parameters​

##### serviceSetupId​

`string`

unique id of the service setup

##### options​

`LaunchServiceSetupOptions`

options for launching the service order integration

#### Returns​

`Promise`<`void`>

None

## Properties​

### id​

    readonly id: string;

#### Inherited from​

`IScriptingObject`.`id`

### objectType​

    readonly objectType: string;

#### Inherited from​

`IScriptingObject`.`objectType`