Section I – SCXML > SCXML Extensions > Object Model Bottom of Page
| Genesys 8.0 SCXML Technical Reference
< SCXML Event Extensions Functions >

## Object Model

#### _genesys Object

Every SCXML session instance running in the orchestration platform will have a global root object from which an application will have access to all Genesys platform-related objects, properties, and functions (SCXML extension–based objects, functional module objects, and so on). This object is maintained by the orchestration platform.

The name of the object will be "_genesys".

This is the set of properties for the object:

Name | Access | Type | Default Value | Valid Values | Description
--- | --- | --- | --- | --- | ---
"FMname" | read only | objects (all at the same level, that is, they are all siblings) | none | The valid list of Genesys functional module root objects, see the Genesys Functional Modules section. | For each functional module there will be a functional module root object. For example, the Interaction functional module and Queue functional module will have the corresponding root object off of the _genesys object: _genesys.ixn and _genesys.queue.

#### _genesys.session.server Object

Every SCXML session instance running in the orchestration platform will have a global root object from which an application will have access to platform server information. This object is maintained by the orchestration platform.

The name of the object will be "_genesys.session.server".

This is the set of properties for the object:

Name | Access | Type | Default Value | Valid Values | Description
--- | --- | --- | --- | --- | ---
name | read only | string | None |  | This is the configuration layer application name for the active platform server running this session.
cluster | read only | string | none |  | This is the configuration layer application name of the platform cluster (that is, the primary platform server) running this session.

#### _genesys.session Object

Every SCXML session instance running in the orchestration platform will have an object with a set of common orchestration logic properties. These properties are maintained by the orchestration platform, but they can be set or updated by the orchestration logic itself. They are also used by the orchestration platform for orchestration logic reporting and management functionality.

The name of the object will be "_genesys.session".

This is the set of properties for the object:

Name | Access | Type | Default Value | Valid Values | Description
--- | --- | --- | --- | --- | ---
server | read only | server object | none |  | This is the Genesys server information on which this session is running.
tenant | read only | string | none |  | This is the name of the tenant that this session is associated with. It can be changed with the _genesys.session.setTenant() function.

#### _genesys.session.lookupseq ENUM Object

This represents the lookupsequence enumeration. This enumeration is maintained by the orchestration platform.

This is the set of properties for the object:

Name | Access | Type | Default Value | Valid Values | Description
--- | --- | --- | --- | --- | ---
StartFromStrategy | read only | integer | none | -1 | The lookup starts from the routing strategy
StartFromCDN | read only | integer | none | 0 | The lookup starts from the CDN
StartFromTserver | read only | integer | none | 1 | The lookup starts from the T-Server
StartFromTenant | read only | integer | none | 2 | The lookup starts from the Tenant
StartFromRouter | read only | integer | none | 3 | The lookup starts from the URS

#### _genesys.session.day ENUM Object

This represents the day enumeration. This enumeration is maintained by the orchestration platform.

This is the set of properties for the object:

Name | Access | Type | Default Value | Valid Values | Description
--- | --- | --- | --- | --- | ---
Sunday | read only | integer | none | 0 | This represents Sunday.
Monday | read only | integer | none | 1 | This represent Monday.
Tuesday | read only | integer | none | 2 | This represents Tuesday.
Wednesday | read only | integer | none | 3 | This represents Wednesday.
Thursday | read only | integer | none | 4 | This represents Thursday.
Friday | read only | integer | none | 5 | This represents Friday.
Saturday | read only | integer | none | 6 | This represents Saturday.

#### Variables

##### Global Scope Variables

The developer can and should use the following global scope variables:

- _sessionid — This will represent the unique ID associated with this session of orchestration logic. It is set by the orchestration platform.

- _name — This will represent the name that the developer gives this particular SCXML document (for example, "Mortgage Process Logic". It is set by the developer when creating the document.

- _event — This will represent the event being presented to the application. It is set by the orchestration platform when the event is available to the application.

- _type — This will represent the type of application that the developer gives this particular SCXML document (that is, `<SCXML>` element _type attribute). It is set by the developer when creating the document.

##### Local Scope Variables

The developer can and should use the following local scope variables:

- _state-name — These local scope variables are references to the active parent's local scopes or the Least Common Ancestor's (LCA) local scopes. This allows the orchestration logic to access ECMAScript objects and variables in its active ancestor's local scopes. For example, to access object x in the local scope of the grandparent of the current local scope state you do the following: _grand-parent-name.x.

#### Object Ownership

The object management and ownership policies for this functional module interface are:

- It has a scope of global and is accessible from all elements in the SCXML session.
- This object and its associated properties will not be implicitly shared with other sessions or external applications, but there will be methods to explicitly share these objects and properties with other sessions and applications. A session can only share snapshots of the current properties and objects, but they will not be updated dynamically when the owning session changes them. The following are the methods of how content can be shared:

- When the current session is starting another session, the current session can send these properties and objects to the new session via the `<invoke>` or `<session:start>` with the `<param>` elements.
- You can use the `<send>` action element or the Web 2.0 API equivalent of the `<send>` element. This will allow any session or external application to get any property or object on any session.

Section I – SCXML > SCXML Extensions > Object Model Top of Page
| Genesys 8.0 SCXML Technical Reference
< SCXML Event Extensions Functions >