Section II – Functional Modules > Resource Interface > Object Model Bottom of Page
| Genesys 8.0 SCXML Technical Reference
Functions >

## Object Model

#### _genesys.FMname Object

There are no properties at this time.

#### Resource Object

Each resource associated with an interaction will have an object that represents the common address properties of a resource. This object and its properties can be maintained by a functional module or the orchestration logic itself.

The name of the object will be "resource".

This is the set of properties for the object:

Name | Access | Type | Default Value | Valid Values | Description
--- | --- | --- | --- | --- | ---
type | r/w | string | none | A, AP, GA, GP, WB, IQ, Q, RP, DN | This is the type of resource being represented. A — Agent ID AP — Agent Place ID GA — Agent Group ID GP — Place Group ID WB — Workbin ID IQ — Interaction Queue Q — Queue RP — Route Point DN — Directory number
dn | r/w | string | none |  | This is for voice-related resources and is the DN for the resource. This can be a Queue, Route Point, or Directory Number.
agent | r/w | string | none |  | This is for voice-related or non-voice–related resources and can be either of the following: Voice — Agent (A) or Agent Group (GA) Non-Voice — Agent (A)
place | r/w | string | none |  | This is for voice-related or non-voice–related resources and can be either of the following: Voice — Place (AP) or Place Group (GP) Non-Voice — Place (AP)
id | r/w | string | none |  | This is for non-voice–related resources and can be either of the following: Interaction Queue (IQ) Workbin (WB)
switch | r/w | string | none |  | This is for voice-related resources and is associated with the dn property.
vq | r/w | string | none |  | This is for voice-related or non-voice–related resources and is the virtual queue associated with the resource.
wb_type | r/w | string | none |  | This is for non-voice–related workbin resources and can be one of the following: Agent (A) or Agent Group (AG) or Place (AP) or Place Group (GP)
wb_owner | r/w | string | none |  | This is for non-voice–related workbin resources and is the name of the workbin owner, with the string presenting the name of the configuration layer object that is the owner of the workbin.

General rules for specifying target resources:

- For voice interactions, the dn property is mandatory. If the switch property is not used, the specified dn property will be considered as local (with the same T-Server). All other keys except multimedia-specific ones can provide information about the target the interaction is routed to. This information can be attached to the interaction.
- For multimedia interactions, the dn property and the switch are ignored. The required information depends on the type of target — if it is an agent, then key agent is mandatory. If it is a place, then key place is mandatory. If it is an interaction queue or a workbin, then key id is mandatory. For workbin, wb_* keys are also mandatory.

Samples:

To route a voice call to some DN on another switch:

    <script> dest={"dn": "11111", "switch":"another_switch"}; </script>
    <redirect ...from="12345" to="dest"/>

To route a multimedia call to an agent :

    <redirect ...to="SomeAgent"/>

To route a call to a workbin:

    <script> dest= {"type"="WB", "id"="WorkbinTypeName", "wb_type"="GA",
    	wb_owner="SomeAgentGroup"}; </script>
    <redirect ...from="12345" to="dest"/>

To route a call to a persistent queue:

    <script> dest= {"type"="IQ", "id"="InteractionQueueName"}; </script>
    <redirect ...from="12345" to="dest"/>

The queue.submit.done event in data.resource will contain the resource in the format described here (ready to be used as the value of "to" in action items like redirect, singlesteptransfer, and so on).

When making a redirect, transfer, and so on, if the target contains additional information (vq, agent, place, sometimes id) before routing, the corresponding data should be attached to the interaction (in the same way URS currently does).

#### _genesys.FMname.resourceType ENUM Object

This represents the resourceType 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
--- | --- | --- | --- | --- | ---
CFGNoDN | read only | integer | none | 0 | This indicates that no DN type should be used.
CFGExtension | read only | integer | none | 1 | This indicates that the extension DN type should be used.
CFGACDPosition | read only | integer | none | 2 | This indicates that the ACD position DN type should be used.
CFGACDQueue | read only | integer | none | 3 | This indicates that the ACD queue DN type should be used.
CFGRoutingPoint | read only | integer | none | 4 | This indicates that the routing point DN type should be used.
CFGVirtACDQueue | read only | integer | none | 5 | This indicates that the virtual ACD queue DN type should be used.
CFGVirtRoutingPoint | read only | integer | none | 6 | This indicates that the virtual routing point DN type should be used.
CFGEAPort | read only | integer | none | 7 | This indicates that the EA port DN type should be used.
CFGVoiceMail | read only | integer | none | 8 | This indicates that the voicemail DN type should be used.
CFGCellular | read only | integer | none | 9 | This indicates that the cellular DN type should be used.
CFGCP | read only | integer | none | 10 | This indicates that the CP DN type should be used.
CFGFAX | read only | integer | none | 11 | This indicates that the FAX DN type should be used.
CFGData | read only | integer | none | 12 | This indicates that the data DN type should be used.
CFGMusic | read only | integer | none | 13 | This indicates that the music DN type should be used.
CFGTrunk | read only | integer | none | 14 | This indicates that the trunk DN type should be used.
CFGTrunkGroup | read only | integer | none | 15 | This indicates that the trunk group DN type should be used.
CFGTieLine | read only | integer | none | 16 | This indicates that the tie line DN type should be used.
CFGTieLineGroup | read only | integer | none | 17 | This indicates that the tie line group DN type should be used.
CFGMixed | read only | integer | none | 18 | This indicates that the mixed DN type should be used.
CFGExtRoutingPoint | read only | integer | none | 19 | This indicates that the external routing point DN type should be used.
CFGDestinationLabel | read only | integer | none | 20 | This indicates that the destination label DN type should be used.
CFGServiceNumber | read only | integer | none | 21 | This indicates that the service number DN type should be used.
CFGRoutingQueue | read only | integer | none | 22 | This indicates that the routing queue DN type should be used.
CFGCommunicationDN | read only | integer | none | 23 | This indicates that the communication DN type should be used.
CFGEmail | read only | integer | none | 24 | This indicates that the email DN type should be used.
CFGVoIP | read only | integer | none | 25 | This indicates that the voip DN type should be used.
CFGVideo | read only | integer | none | 26 | This indicates that the video DN type should be used.
CFGChat | read only | integer | none | 27 | This indicates that the chat DN type should be used.
CFGCoBrowse | read only | integer | none | 28 | This indicates that the cobrowse DN type should be used.
CFGVoIPService | read only | integer | none | 29 | This indicates that the VoIPService DN type should be used.
CFGWorkflow | read only | integer | none | 30 | This indicates that the workflow DN type should be used.
any | read only | integer | none | 1000 | This indicates that any DN type should be used.

#### addresstranslation Object

This represents the translation data associated with a resource's device address. This object is maintained by the Resource functional module.

This is the set of properties for the object:

Name | Access | Type | Default Value | Valid Values | Description
--- | --- | --- | --- | --- | ---
label | read only | string | none | none | This is the translated address. It is obtained from the instructions in the DN Source field of the switch-to-switch access code in the configuration layer.
location | read only | string | none | none | This is the translated switch. It is obtained from the instructions in the Location Source field of the switch-to-switch access code in the configuration layer.
dnis | read only | string | none | none | This is the translated DNIS. It is obtained from the instructions in the DNIS Source field of the switch-to-switch access code in the configuration layer.
route_type | read only | integer | none | Values from the _genesys.FMname.rType enumeration | This is the translated route type. It is taken from the Route Type field of the switch-to-switch access code in the configuration layer.
extension | read only | string | none | none | This is the translated extensions list of the interaction. It is obtained from the instructions in the Extensions Source field of the switch-to-switch access code in the configuration layer.
reason | read only | string | none | none | This is the translated Reasons list of the interaction. It is obtained from the instructions in the Reasons Source field of the switch-to-switch access code in the configuration layer.

#### 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. They will not be updated dynamically when the owning session changes them. The following are the methods for sharing content:

- The first method is for when the current session is starting another session. In this case, the current session can send these properties and objects to the new session via the `<invoke>` or `<session:start>`, using the `<param>` elements.
- The second method will be through 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 II – Functional Modules > Resource Interface > Object Model Top of Page
| Genesys 8.0 SCXML Technical Reference
Functions >