Module or Plug-in Name
Functional Design Document

Developed By:

Contact Name:

Contact Email:

Contact Phone:

For the initial launch of Marketplace, if you are creating a stand-alone application, please complete this document to the best of your ability.

Summary

What does this module or plug-in do?

Who is the intended audience?

Describe how the module or plug-in interacts with the application (i.e., either Universal Desktop or Smartpoint).

Development

Provide details about the development platform used to create the module or plug-in (e.g., language and environment).

For Universal Desktop SDK modules, specify the SDK components (i.e., widgets, providers, and/or custom activities) that are part of this module.

High-Level Diagrams

Provide a high-level diagram specifying how the module or plug-in interacts with the application and/or any other external systems.

Provide a high-level component diagram.

Requirements

List any user, hardware, or software requirements.

Functionality

Describe how the module or plug-in interacts with the application. List any external resources that the module or plug-in accesses or on which it is dependent.

Describe any constraints.

Data Flow

Provide a data flow diagram that details data movement for this module. An example data flow diagram is provided below.

Interface

Describe how the module or plug-in is accessed. Do certain conditions have to exist before it is available? For example, "The Post to Back Office widget is only active when a Universal Record is open."

Describe the input. Include screen shots.

Describe the output. Include screen shots.

Universal Desktop SDK Modules Components

Complete these questions for each component within the Universal Desktop SDK module.

What is the component type?

☐	Custom widget	☐	Custom activity
☐	Custom provider	☐	Custom module

What methods or interfaces does this module use?

Provide a high-level diagram specifying how the component interacts with Universal Desktop and/or any other external systems.

Is this component dependent on any external services or systems? If yes, list the external dependencies.

Smartpoint SDK Plug-in Methods or Interfaces

What methods or interfaces do this plug-in use?

Logging and Error Handling

List all error messages.

Specify how the component logs errors.

Specify the type of information that is logged.

Configuration

Does this module or plug-in have any features that are configurable?

☐	Yes	☐	No

If yes, provide configuration information stored in the config file for this component.

Performance

How many users will have access to this module or plug-in?

What is the expected frequency of use by users of this module or plug-in?

☐	Continuous	☐	< 20 times/day
☐	20 – 100 times/day	☐	> 100 times/day

What is the expected increase in response times that the module or plug-in will add?

seconds

Provide the standard configuration of the desktop or multi-use environment on which the module or plug-in will be running in the field?

Client Type:	☐	Desktop	☐	Multi-user

CPU Processor Type:

CPU Speed:

Processor Cores:

Testing Methods

Provide details about unit testing, system/integration testing, and development standards.

Will Travelport be able to execute this module or plug-in because it requires no access to customer data?

☐	Yes	☐	No

If No, provide sample responses so that Travelport can execute the module or plug-in in a lab using simulators.

Has a memory leak test been executed and no leaks were detected?

☐	Yes	☐	No

Identify any other performance-based testing done (for example, concurrent user testing, running with other modules or plug-ins, use of memory and CPU usage)?

Universal Desktop SDK Transactions

For Universal Desktop SDK modules, complete the following information.

The Universal API transactions listed below are exposed through SDK. Indicate whether any of the following transactions are used by this module. For each transaction that is used, specify how often the transaction is used. For transactions that are not triggered by user interaction, specify how often per minute the transaction is called. For transactions that are triggered by user interaction, specify how many times the transaction is called per user interaction.

Transaction	Used? (Y/N)	For each transaction accessed, specify frequency of usage.
If no user interaction, specify calls per minute.	If user interaction, specify calls per user interaction.
StartTerminalSession
InvokeTerminalRequest
EndTerminalSession
GDSEnterQueue
GDSExitQueue
GdsQueue
GdsQueueCount
GdsQueueList
GetAirRetrieveDocuments
RetrieveUniversalRecord
UpdateUniversalRecord