
/*
 * DO NOT EDIT this file directly. Instead edit services.xml and regenerate this file using services-js-api.xsl

 * @author : Lenny Santiago
 * COPYRIGHT: PlaceLogic Inc
 * DISCLAIMER : @TODO

 PlaceLogic REST API for JavaScript.
 Use for Web and mobile Applications.
 Requires Util
 */

var PL = {restapi: {}};

PL.restapi = {

    developerKey: "",
    apiKey : "",
    sponsorKey : "",
    /** Sets the API key
    @param {string} key Application API key 50 chr string
    */
    setAPIKey : function(key)
    {
        PL.restapi.apiKey = key;
    },
    /** Sets the Developer key
    @param {string} key Developer key 5 chr string
    */
    setDeveloperKey : function(key)
    {
        PL.restapi.developerKey = key;
    },
    /** Sets the Sponsor key
    @param {string} key Sponsor key 5 chr string
    */
    setSponsorKey : function(key)
    {
        PL.restapi.sponsorKey = key;
    },
application:
    {
        
            /**
            List My Applications.

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "sponsorkey": type : (string), default: (), required: (true), minlength: (0), maxlength: (5)
                
            **/
            "list" : function(params)
            {
                plDebug("calling service PL.rest.api.application.list");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/application/json/list.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&sponsorkey=' + PL.restapi.sponsorKey;
                    
                url += '&devkey=' + PL.restapi.developerKey;
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Get an Application settings

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
            **/
            "get" : function(params)
            {
                plDebug("calling service PL.rest.api.application.get");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/application/json/get.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Add an Application.

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "sponsorkey": type : (string), default: (), required: (true), minlength: (0), maxlength: (5)
                
                    "name": type : (string), default: (), required: (true), minlength: (0), maxlength: (100)
                
                    "url": type : (string), default: (), required: (true), minlength: (0), maxlength: (100)
                
                    "edition": type : (int), default: (), required: (true), minlength: (0), maxlength: (1)
                
            **/
            "add" : function(params)
            {
                plDebug("calling service PL.rest.api.application.add");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/application/json/add.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&sponsorkey=' + PL.restapi.sponsorKey;
                    
                url += '&devkey=' + PL.restapi.developerKey;
                    
                url += '&name=' + escape(params.name);
                    
                url += '&url=' + escape(params.url);
                    
                url += '&edition=' + escape(params.edition);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Edit an Application.

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "name": type : (string), default: (), required: (true), minlength: (0), maxlength: (100)
                
                    "url": type : (string), default: (), required: (true), minlength: (0), maxlength: (100)
                
                    "edition": type : (int), default: (), required: (true), minlength: (0), maxlength: (1)
                
            **/
            "edit" : function(params)
            {
                plDebug("calling service PL.rest.api.application.edit");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/application/json/edit.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&name=' + escape(params.name);
                    
                url += '&url=' + escape(params.url);
                    
                url += '&edition=' + escape(params.edition);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Edit an Application's settings.

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "settings": type : (string), default: (), required: (true), minlength: (0), maxlength: (100)
                
            **/
            "configure" : function(params)
            {
                plDebug("calling service PL.rest.api.application.configure");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/application/json/configure.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&settings=' + escape(params.settings);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Import Application settings.

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "settings": type : (string), default: (), required: (true), minlength: (0), maxlength: (10000)
                
            **/
            "settings" : function(params)
            {
                plDebug("calling service PL.rest.api.application.settings");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/application/json/settings.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&devkey=' + PL.restapi.developerKey;
                    
                url += '&settings=' + escape(params.settings);
                                      
                  plCallXDomain(callid, url, params);
            },
        
        description: ""
       },
placetype:
    {
        
            /**
            Search for PlaceTypes (aka PlaceLists) in the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "limit": type : (int), default: (10), required: (false), minlength: (0), maxlength: (3)
                
                    "offset": type : (int), default: (0), required: (false), minlength: (0), maxlength: (3)
                
                    "name": type : (string), default: (), required: (false), minlength: (0), maxlength: (250)
                
                    "keywords": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "keywordsin": type : (string), default: (*), required: (false), minlength: (0), maxlength: (5)
                
                    "keywordsmatchall": type : (boolean), default: (false), required: (false), minlength: (0), maxlength: (5)
                
                    "scope": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "usage": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "method": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "createrange": type : (string), default: (), required: (false), minlength: (0), maxlength: (22)
                
                    "createinterval": type : (string), default: (), required: (false), minlength: (0), maxlength: (12)
                
                    "modifyrange": type : (string), default: (), required: (false), minlength: (0), maxlength: (22)
                
                    "modifyinterval": type : (string), default: (), required: (false), minlength: (0), maxlength: (12)
                
                    "extent": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "sortby": type : (string), default: (), required: (false), minlength: (0), maxlength: (20)
                
            **/
            "search" : function(params)
            {
                plDebug("calling service PL.rest.api.placetype.search");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/placetype/json/search.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&limit=' + escape(params.limit);
                    
                url += '&offset=' + escape(params.offset);
                    
                url += '&name=' + escape(params.name);
                    
                url += '&keywords=' + escape(params.keywords);
                    
                url += '&keywordsin=' + escape(params.keywordsin);
                    
                url += '&keywordsmatchall=' + escape(params.keywordsmatchall);
                    
                url += '&scope=' + escape(params.scope);
                    
                url += '&usage=' + escape(params.usage);
                    
                url += '&method=' + escape(params.method);
                    
                url += '&createrange=' + escape(params.createrange);
                    
                url += '&createinterval=' + escape(params.createinterval);
                    
                url += '&modifyrange=' + escape(params.modifyrange);
                    
                url += '&modifyinterval=' + escape(params.modifyinterval);
                    
                url += '&extent=' + escape(params.extent);
                    
                url += '&sortby=' + escape(params.sortby);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Search for PlaceTypes in the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "limit": type : (int), default: (10), required: (false), minlength: (0), maxlength: (3)
                
                    "offset": type : (int), default: (0), required: (false), minlength: (0), maxlength: (3)
                
                    "scope": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "usage": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "method": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "name": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "keywords": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "keywordsin": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "keywordsmatchall": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "createrange": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "createinterval": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "modifyrange": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "modifyinterval": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "createdby": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "privileges": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "rating": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "usecontext": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "sortby": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
            **/
            "advancedsearch" : function(params)
            {
                plDebug("calling service PL.rest.api.placetype.advancedsearch");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/placelist/json/advancedsearch.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&limit=' + escape(params.limit);
                    
                url += '&offset=' + escape(params.offset);
                    
                url += '&scope=' + escape(params.scope);
                    
                url += '&usage=' + escape(params.usage);
                    
                url += '&method=' + escape(params.method);
                    
                url += '&name=' + escape(params.name);
                    
                url += '&keywords=' + escape(params.keywords);
                    
                url += '&keywordsin=' + escape(params.keywordsin);
                    
                url += '&keywordsmatchall=' + escape(params.keywordsmatchall);
                    
                url += '&createrange=' + escape(params.createrange);
                    
                url += '&createinterval=' + escape(params.createinterval);
                    
                url += '&modifyrange=' + escape(params.modifyrange);
                    
                url += '&modifyinterval=' + escape(params.modifyinterval);
                    
                url += '&createdby=' + escape(params.createdby);
                    
                url += '&privileges=' + escape(params.privileges);
                    
                url += '&rating=' + escape(params.rating);
                    
                url += '&usecontext=' + escape(params.usecontext);
                    
                url += '&sortby=' + escape(params.sortby);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Add a new PlaceType into the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "name": type : (string), default: (), required: (true), minlength: (0), maxlength: (50)
                
                    "description": type : (string), default: (), required: (false), minlength: (0), maxlength: (2500)
                
                    "tags": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
                    "method": type : (string), default: (), required: (false), minlength: (0), maxlength: (1)
                
            **/
            "add" : function(params)
            {
                plDebug("calling service PL.rest.api.placetype.add");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/placelist/json/add.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&name=' + escape(params.name);
                    
                url += '&description=' + escape(params.description);
                    
                url += '&tags=' + escape(params.tags);
                    
                url += '&method=' + escape(params.method);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Edit a PlaceType in the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "id": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
                    "name": type : (string), default: (), required: (true), minlength: (0), maxlength: (50)
                
                    "description": type : (string), default: (), required: (false), minlength: (0), maxlength: (2500)
                
                    "tags": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
                    "method": type : (string), default: (), required: (false), minlength: (0), maxlength: (1)
                
            **/
            "edit" : function(params)
            {
                plDebug("calling service PL.rest.api.placetype.edit");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/placelist/json/edit.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&id=' + escape(params.id);
                    
                url += '&name=' + escape(params.name);
                    
                url += '&description=' + escape(params.description);
                    
                url += '&tags=' + escape(params.tags);
                    
                url += '&method=' + escape(params.method);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Gets PlaceType meta data from the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "id": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
            **/
            "get" : function(params)
            {
                plDebug("calling service PL.rest.api.placetype.get");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/placetype/json/get.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&id=' + escape(params.id);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Delete a PlaceType from the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "id": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
            **/
            "delete" : function(params)
            {
                plDebug("calling service PL.rest.api.placetype.delete");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/placelist/json/delete.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&id=' + escape(params.id);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Clone a PlaceType/PlaceFlow service in the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "id": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
                    "newname": type : (string), default: (), required: (true), minlength: (0), maxlength: (250)
                
                    "shallow": type : (string), default: (), required: (false), minlength: (0), maxlength: (50)
                
            **/
            "clone" : function(params)
            {
                plDebug("calling service PL.rest.api.placetype.clone");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/placelist/json/clone.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&id=' + escape(params.id);
                    
                url += '&newname=' + escape(params.newname);
                    
                url += '&shallow=' + escape(params.shallow);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Share a PlaceType with friends, groups or networks with permissions

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "id": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
            **/
            "share" : function(params)
            {
                plDebug("calling service PL.rest.api.placetype.share");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/placelist/json/share.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&id=' + escape(params.id);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Rate and comments feedback for a PlaceType

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "id": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
            **/
            "rate" : function(params)
            {
                plDebug("calling service PL.rest.api.placetype.rate");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/placelist/json/feedback.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&id=' + escape(params.id);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Import ESRI Shapefile, XML, CSV, GML, KML files to a PlaceType

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "id": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
            **/
            "import" : function(params)
            {
                plDebug("calling service PL.rest.api.placetype.import");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/placelist/json/import.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&id=' + escape(params.id);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Pre-compute scorable attributes for a given criteria

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "fsid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
            **/
            "preCompute" : function(params)
            {
                plDebug("calling service PL.rest.api.placetype.preCompute");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/placelist/json/precompute.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&fsid=' + escape(params.fsid);
                                      
                  plCallXDomain(callid, url, params);
            },
        
        description: ""
       },
attribute:
    {
        
            /**
            List Attributes for a PlaceType in the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "fsid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
            **/
            "list" : function(params)
            {
                plDebug("calling service PL.rest.api.attribute.list");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/attribute/json/list.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&fsid=' + escape(params.fsid);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Get an Attribute for a PlaceType in the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "fsid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
                    "id": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
            **/
            "get" : function(params)
            {
                plDebug("calling service PL.rest.api.attribute.get");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/attribute/json/get.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&fsid=' + escape(params.fsid);
                    
                url += '&id=' + escape(params.id);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Add a new Attribute to a PlaceTypes in the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "fsid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
                    "name": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "label": type : (string), default: (), required: (true), minlength: (0), maxlength: (100)
                
                    "generate_name": type : (boolean), default: (false), required: (false), minlength: (0), maxlength: (5)
                
                    "type": type : (string), default: (s), required: (true), minlength: (0), maxlength: (4)
                
                    "options": type : (string), default: (), required: (false), minlength: (0), maxlength: (500)
                
                    "indexed": type : (boolean), default: (false), required: (false), minlength: (0), maxlength: (5)
                
                    "size": type : (int), default: (0), required: (false), minlength: (0), maxlength: (3)
                
            **/
            "add" : function(params)
            {
                plDebug("calling service PL.rest.api.attribute.add");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/attribute/json/add.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&fsid=' + escape(params.fsid);
                    
                url += '&name=' + escape(params.name);
                    
                url += '&label=' + escape(params.label);
                    
                url += '&generate_name=' + escape(params.generate_name);
                    
                url += '&type=' + escape(params.type);
                    
                url += '&options=' + escape(params.options);
                    
                url += '&indexed=' + escape(params.indexed);
                    
                url += '&size=' + escape(params.size);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Delete an Attribute from a PlaceType in the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "fsid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
                    "id": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
            **/
            "delete" : function(params)
            {
                plDebug("calling service PL.rest.api.attribute.delete");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/attribute/json/delete.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&fsid=' + escape(params.fsid);
                    
                url += '&id=' + escape(params.id);
                                      
                  plCallXDomain(callid, url, params);
            },
        
        description: ""
       },
parameter:
    {
        
            /**
            List Parameters for a PlaceType Workflow in the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "fsid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
            **/
            "list" : function(params)
            {
                plDebug("calling service PL.rest.api.parameter.list");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/parameter/json/list.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&fsid=' + escape(params.fsid);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Get a Parameter for a PlaceType workflow from the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "fsid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
                    "id": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
            **/
            "get" : function(params)
            {
                plDebug("calling service PL.rest.api.parameter.get");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/parameter/json/get.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&fsid=' + escape(params.fsid);
                    
                url += '&id=' + escape(params.id);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Add a new Parameter for a PlaceType Workflow into the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "fsid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
                    "name": type : (string), default: (), required: (true), minlength: (0), maxlength: (100)
                
                    "label": type : (string), default: (), required: (true), minlength: (0), maxlength: (100)
                
                    "type": type : (string), default: (s), required: (true), minlength: (0), maxlength: (4)
                
                    "options": type : (string), default: (), required: (false), minlength: (0), maxlength: (500)
                
                    "size": type : (int), default: (0), required: (false), minlength: (0), maxlength: (3)
                
                    "default": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
            **/
            "add" : function(params)
            {
                plDebug("calling service PL.rest.api.parameter.add");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/parameter/json/add.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&fsid=' + escape(params.fsid);
                    
                url += '&name=' + escape(params.name);
                    
                url += '&label=' + escape(params.label);
                    
                url += '&type=' + escape(params.type);
                    
                url += '&options=' + escape(params.options);
                    
                url += '&size=' + escape(params.size);
                    
                url += '&default=' + escape(params["default"]);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Edit a Parameter in a PlaceType in the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "fsid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
                    "id": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
                    "name": type : (string), default: (), required: (true), minlength: (0), maxlength: (100)
                
                    "label": type : (string), default: (), required: (true), minlength: (0), maxlength: (100)
                
                    "type": type : (string), default: (s), required: (true), minlength: (0), maxlength: (4)
                
                    "options": type : (string), default: (), required: (false), minlength: (0), maxlength: (500)
                
                    "size": type : (int), default: (0), required: (false), minlength: (0), maxlength: (3)
                
                    "default": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
            **/
            "edit" : function(params)
            {
                plDebug("calling service PL.rest.api.parameter.edit");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/parameter/json/edit.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&fsid=' + escape(params.fsid);
                    
                url += '&id=' + escape(params.id);
                    
                url += '&name=' + escape(params.name);
                    
                url += '&label=' + escape(params.label);
                    
                url += '&type=' + escape(params.type);
                    
                url += '&options=' + escape(params.options);
                    
                url += '&size=' + escape(params.size);
                    
                url += '&default=' + escape(params["default"]);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Delete a Parameter from a PlaceType Workflow in the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "fsid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
                    "id": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
            **/
            "delete" : function(params)
            {
                plDebug("calling service PL.rest.api.parameter.delete");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/parameter/json/delete.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&fsid=' + escape(params.fsid);
                    
                url += '&id=' + escape(params.id);
                                      
                  plCallXDomain(callid, url, params);
            },
        
        description: ""
       },
place:
    {
        
            /**
            List Places in a PlaceType

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "limit": type : (int), default: (10), required: (false), minlength: (0), maxlength: (3)
                
                    "offset": type : (int), default: (0), required: (false), minlength: (0), maxlength: (3)
                
                    "fsid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
            **/
            "list" : function(params)
            {
                plDebug("calling service PL.rest.api.place.list");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/place/json/list.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&limit=' + escape(params.limit);
                    
                url += '&offset=' + escape(params.offset);
                    
                url += '&fsid=' + escape(params.fsid);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Gets a Place from a PlaceType

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "fsid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
                    "fid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
            **/
            "get" : function(params)
            {
                plDebug("calling service PL.rest.api.place.get");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/place/json/get.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&fsid=' + escape(params.fsid);
                    
                url += '&fid=' + escape(params.fid);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Adds a new Place to a PlaceType

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "fsid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
                    "geometryformat": type : (string), default: (geojson), required: (false), minlength: (0), maxlength: (7)
                
                    "geometry": type : (string), default: (), required: (true), minlength: (0), maxlength: (500)
                
                    "name": type : (string), default: (), required: (false), minlength: (0), maxlength: (500)
                
                    "description": type : (string), default: (), required: (false), minlength: (0), maxlength: (10000)
                
                    "externalid": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "ATTRIBUTES": type : (string), default: (), required: (false), minlength: (0), maxlength: (10000)
                
            **/
            "add" : function(params)
            {
                plDebug("calling service PL.rest.api.place.add");
                var stdargs = "";
                
                            stdargs += "," + 'version' ;
                        
                            stdargs += "," + 'callid' ;
                        
                            stdargs += "," + 'callback' ;
                        
                            stdargs += "," + 'uid' ;
                        
                            stdargs += "," + 'apikey' ;
                        
                            stdargs += "," + 'fsid' ;
                        
                            stdargs += "," + 'geometryformat' ;
                        
                            stdargs += "," + 'geometry' ;
                        
                            stdargs += "," + 'name' ;
                        
                            stdargs += "," + 'description' ;
                        
                            stdargs += "," + 'externalid' ;
                        
                    stdargs += "," ;
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/place/json/add.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&fsid=' + escape(params.fsid);
                    
                url += '&geometryformat=' + escape(params.geometryformat);
                    
                url += '&geometry=' + escape(params.geometry);
                    
                url += '&name=' + escape(params.name);
                    
                url += '&description=' + escape(params.description);
                    
                url += '&externalid=' + escape(params.externalid);
                    
                        for ( var k in params ) {
                            if ( k.indexOf("client_") != 0  && stdargs.indexOf(','+ k+',') < 0 ) {
                                    url += '&' + k + '=' + escape(params[k]) ;                               
                            }
                        }
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Edit a Place in a PlaceType

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "fsid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
                    "fid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
                    "geometryformat": type : (string), default: (geojson), required: (false), minlength: (0), maxlength: (7)
                
                    "geometry": type : (string), default: (), required: (true), minlength: (0), maxlength: (500)
                
                    "name": type : (string), default: (), required: (false), minlength: (0), maxlength: (500)
                
                    "description": type : (string), default: (), required: (false), minlength: (0), maxlength: (10000)
                
                    "externalid": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "ATTRIBUTES": type : (string), default: (), required: (false), minlength: (0), maxlength: (10000)
                
            **/
            "edit" : function(params)
            {
                plDebug("calling service PL.rest.api.place.edit");
                var stdargs = "";
                
                            stdargs += "," + 'version' ;
                        
                            stdargs += "," + 'callid' ;
                        
                            stdargs += "," + 'callback' ;
                        
                            stdargs += "," + 'uid' ;
                        
                            stdargs += "," + 'apikey' ;
                        
                            stdargs += "," + 'fsid' ;
                        
                            stdargs += "," + 'fid' ;
                        
                            stdargs += "," + 'geometryformat' ;
                        
                            stdargs += "," + 'geometry' ;
                        
                            stdargs += "," + 'name' ;
                        
                            stdargs += "," + 'description' ;
                        
                            stdargs += "," + 'externalid' ;
                        
                    stdargs += "," ;
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/place/json/edit.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&fsid=' + escape(params.fsid);
                    
                url += '&fid=' + escape(params.fid);
                    
                url += '&geometryformat=' + escape(params.geometryformat);
                    
                url += '&geometry=' + escape(params.geometry);
                    
                url += '&name=' + escape(params.name);
                    
                url += '&description=' + escape(params.description);
                    
                url += '&externalid=' + escape(params.externalid);
                    
                        for ( var k in params ) {
                            if ( k.indexOf("client_") != 0  && stdargs.indexOf(','+ k+',') < 0 ) {
                                    url += '&' + k + '=' + escape(params[k]) ;                               
                            }
                        }
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Delete a Place from a PlaceType in the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "fsid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
                    "fid": type : (int), default: (), required: (true), minlength: (0), maxlength: (19)
                
            **/
            "delete" : function(params)
            {
                plDebug("calling service PL.rest.api.place.delete");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/place/json/delete.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&fsid=' + escape(params.fsid);
                    
                url += '&fid=' + escape(params.fid);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Share a Place with friends, groups or networks with permissions

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
            **/
            "share" : function(params)
            {
                plDebug("calling service PL.rest.api.place.share");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/place/json/share.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Rate and comments feedback for a Place

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
            **/
            "rate" : function(params)
            {
                plDebug("calling service PL.rest.api.place.rate");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/place/json/feedback.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Import a collection of Places

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
            **/
            "import" : function(params)
            {
                plDebug("calling service PL.rest.api.place.import");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/place/json/import.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                                      
                  plCallXDomain(callid, url, params);
            },
        
        description: ""
       },
nearby:
    {
        
            /**
            Find nearby geographic features around a geometry of interest. 

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "geometry": type : (string), default: (), required: (true), minlength: (0), maxlength: (500)
                
                    "geometryformat": type : (string), default: (geojson), required: (false), minlength: (0), maxlength: (7)
                
                    "order": type : (string), default: (id), required: (false), minlength: (0), maxlength: (8)
                
                    "buffer": type : (double), default: (10), required: (false), minlength: (0), maxlength: (50)
                
                    "criteria": type : (long), default: (), required: (true), minlength: (0), maxlength: (20)
                
                    "limit": type : (integer), default: (20), required: (false), minlength: (0), maxlength: (3)
                
                    "offset": type : (integer), default: (0), required: (false), minlength: (0), maxlength: (3)
                
                    "PARAMETERS": type : (?), default: (), required: (false), minlength: (0), maxlength: (50)
                
            **/
            "run" : function(params)
            {
                plDebug("calling service PL.rest.api.nearby.run");
                var stdargs = "";
                
                            stdargs += "," + 'version' ;
                        
                            stdargs += "," + 'callid' ;
                        
                            stdargs += "," + 'callback' ;
                        
                            stdargs += "," + 'uid' ;
                        
                            stdargs += "," + 'apikey' ;
                        
                            stdargs += "," + 'geometry' ;
                        
                            stdargs += "," + 'geometryformat' ;
                        
                            stdargs += "," + 'order' ;
                        
                            stdargs += "," + 'buffer' ;
                        
                            stdargs += "," + 'criteria' ;
                        
                            stdargs += "," + 'limit' ;
                        
                            stdargs += "," + 'offset' ;
                        
                    stdargs += "," ;
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/nearby/json/run.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&geometry=' + escape(params.geometry);
                    
                url += '&geometryformat=' + escape(params.geometryformat);
                    
                url += '&order=' + escape(params.order);
                    
                url += '&buffer=' + escape(params.buffer);
                    
                url += '&criteria=' + escape(params.criteria);
                    
                url += '&limit=' + escape(params.limit);
                    
                url += '&offset=' + escape(params.offset);
                    
                        for ( var k in params ) {
                            if ( k.indexOf("client_") != 0  && stdargs.indexOf(','+ k+',') < 0 ) {
                                    url += '&' + k + '=' + escape(params[k]) ;                               
                            }
                        }
                                      
                  plCallXDomain(callid, url, params);
            },
        
        description: ""
       },
ranking:
    {
        
            /**
            Search and rank a main dataset by one or more criteria

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "formula": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
            **/
            "run" : function(params)
            {
                plDebug("calling service PL.rest.api.ranking.run");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/ranking/json/run.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&formula=' + escape(params.formula);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Save a Formula in the repository

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "formula": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
            **/
            "save" : function(params)
            {
                plDebug("calling service PL.rest.api.ranking.save");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/formula/json/save.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&formula=' + escape(params.formula);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Schedule a Formula to run on a given schedule

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "formula": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
            **/
            "schedule" : function(params)
            {
                plDebug("calling service PL.rest.api.ranking.schedule");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/formula/json/schedule.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&formula=' + escape(params.formula);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Gets a formula schedule

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "fid": type : (int), default: (), required: (true), minlength: (0), maxlength: (20)
                
            **/
            "get" : function(params)
            {
                plDebug("calling service PL.rest.api.ranking.get");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/formula/json/getschedule.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&fid=' + escape(params.fid);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Deletes a formula schedule

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "fid": type : (int), default: (), required: (true), minlength: (0), maxlength: (20)
                
            **/
            "unschedule" : function(params)
            {
                plDebug("calling service PL.rest.api.ranking.unschedule");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/formula/json/0/deleteschedule.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&fid=' + escape(params.fid);
                                      
                  plCallXDomain(callid, url, params);
            },
        
        description: ""
       },
geometry:
    {
        
            /**
            Creates a Polygon (circle) of  a buffer for the given geometry and radius

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "geometry": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
                    "geometryformat": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
                    "radius": type : (double), default: (), required: (true), minlength: (0), maxlength: (30)
                
                    "unit": type : (string), default: (), required: (true), minlength: (0), maxlength: (30)
                
                    "segments": type : (int), default: (8), required: (false), minlength: (0), maxlength: (2)
                
            **/
            "buffer" : function(params)
            {
                plDebug("calling service PL.rest.api.geometry.buffer");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&geometry=' + escape(params.geometry);
                    
                url += '&geometryformat=' + escape(params.geometryformat);
                    
                url += '&radius=' + escape(params.radius);
                    
                url += '&unit=' + escape(params.unit);
                    
                url += '&segments=' + escape(params.segments);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Creates a 2D Box for a given geometry and radius

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "geometry": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
                    "geometryformat": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
                    "radius": type : (double), default: (), required: (true), minlength: (0), maxlength: (30)
                
                    "unit": type : (string), default: (), required: (true), minlength: (0), maxlength: (30)
                
            **/
            "box" : function(params)
            {
                plDebug("calling service PL.rest.api.geometry.box");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&geometry=' + escape(params.geometry);
                    
                url += '&geometryformat=' + escape(params.geometryformat);
                    
                url += '&radius=' + escape(params.radius);
                    
                url += '&unit=' + escape(params.unit);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Returns a minimum enclosing circle around a given Polygon

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "geometry": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
                    "geometryformat": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
            **/
            "minimumcircle" : function(params)
            {
                plDebug("calling service PL.rest.api.geometry.minimumcircle");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&geometry=' + escape(params.geometry);
                    
                url += '&geometryformat=' + escape(params.geometryformat);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Returns the union of the given two  geometries

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "geometry1": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
                    "geometry2": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
                    "geometryformat": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
            **/
            "union" : function(params)
            {
                plDebug("calling service PL.rest.api.geometry.union");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&geometry1=' + escape(params.geometry1);
                    
                url += '&geometry2=' + escape(params.geometry2);
                    
                url += '&geometryformat=' + escape(params.geometryformat);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Returns the intersection of the given two  geometries

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "geometry1": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
                    "geometry2": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
                    "geometryformat": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
            **/
            "intersection" : function(params)
            {
                plDebug("calling service PL.rest.api.geometry.intersection");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&geometry1=' + escape(params.geometry1);
                    
                url += '&geometry2=' + escape(params.geometry2);
                    
                url += '&geometryformat=' + escape(params.geometryformat);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Returns the difference of the given two  geometries

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "geometry1": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
                    "geometry2": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
                    "geometryformat": type : (string), default: (), required: (true), minlength: (0), maxlength: (5000)
                
            **/
            "difference" : function(params)
            {
                plDebug("calling service PL.rest.api.geometry.difference");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&geometry1=' + escape(params.geometry1);
                    
                url += '&geometry2=' + escape(params.geometry2);
                    
                url += '&geometryformat=' + escape(params.geometryformat);
                                      
                  plCallXDomain(callid, url, params);
            },
        
        description: ""
       },
workflow:
    {
        
            /**
            Get workflow

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "id": type : (long), default: (), required: (true), minlength: (0), maxlength: (19)
                
            **/
            "get" : function(params)
            {
                plDebug("calling service PL.rest.api.workflow.get");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/workflow/json/get.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&id=' + escape(params.id);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Save workflow

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "id": type : (long), default: (), required: (true), minlength: (0), maxlength: (19)
                
                    "workflow": type : (string), default: (), required: (false), minlength: (0), maxlength: (50000)
                
            **/
            "save" : function(params)
            {
                plDebug("calling service PL.rest.api.workflow.save");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/workflow/json/save.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&id=' + escape(params.id);
                    
                url += '&workflow=' + escape(params.workflow);
                                      
                  plCallXDomain(callid, url, params);
            },
        
        description: ""
       },
geofence:
    {
        
            /**
            Checkin to a location. Will process the location and if any messages are generated will activate the chain for processing the message.

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "deviceid": type : (string), default: (), required: (true), minlength: (0), maxlength: (50)
                
                    "geometry": type : (string), default: (), required: (true), minlength: (0), maxlength: (500)
                
                    "geometryformat": type : (string), default: (latlng), required: (false), minlength: (0), maxlength: (7)
                
                    "accuracy": type : (double), default: (), required: (false), minlength: (0), maxlength: (20)
                
                    "devmode": type : (string), default: (false), required: (false), minlength: (0), maxlength: (5)
                
                    "externaldata": type : (string), default: (), required: (false), minlength: (0), maxlength: (5000)
                
                    "fenceid": type : (long), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "fencebuffer": type : (double), default: (0), required: (false), minlength: (0), maxlength: (19)
                
                    "fencebufferunits": type : (string), default: (mile), required: (false), minlength: (0), maxlength: (19)
                
                    "limit": type : (int), default: (1), required: (false), minlength: (0), maxlength: (4)
                
                    "srid": type : (int), default: (4326), required: (false), minlength: (0), maxlength: (10)
                
                    "timerule": type : (String), default: (), required: (false), minlength: (0), maxlength: (50)
                
                    "action": type : (String), default: (), required: (false), minlength: (0), maxlength: (10)
                
                    "PARAMETERS": type : (?), default: (), required: (false), minlength: (0), maxlength: (50)
                
            **/
            "checkin" : function(params)
            {
                plDebug("calling service PL.rest.api.geofence.checkin");
                var stdargs = "";
                
                            stdargs += "," + 'version' ;
                        
                            stdargs += "," + 'callid' ;
                        
                            stdargs += "," + 'callback' ;
                        
                            stdargs += "," + 'uid' ;
                        
                            stdargs += "," + 'apikey' ;
                        
                            stdargs += "," + 'deviceid' ;
                        
                            stdargs += "," + 'geometry' ;
                        
                            stdargs += "," + 'geometryformat' ;
                        
                            stdargs += "," + 'accuracy' ;
                        
                            stdargs += "," + 'devmode' ;
                        
                            stdargs += "," + 'externaldata' ;
                        
                            stdargs += "," + 'fenceid' ;
                        
                            stdargs += "," + 'fencebuffer' ;
                        
                            stdargs += "," + 'fencebufferunits' ;
                        
                            stdargs += "," + 'limit' ;
                        
                            stdargs += "," + 'srid' ;
                        
                            stdargs += "," + 'timerule' ;
                        
                            stdargs += "," + 'action' ;
                        
                    stdargs += "," ;
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/geofence/json/checkin.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&deviceid=' + escape(params.deviceid);
                    
                url += '&geometry=' + escape(params.geometry);
                    
                url += '&geometryformat=' + escape(params.geometryformat);
                    
                url += '&accuracy=' + escape(params.accuracy);
                    
                url += '&devmode=' + escape(params.devmode);
                    
                url += '&externaldata=' + escape(params.externaldata);
                    
                url += '&fenceid=' + escape(params.fenceid);
                    
                url += '&fencebuffer=' + escape(params.fencebuffer);
                    
                url += '&fencebufferunits=' + escape(params.fencebufferunits);
                    
                url += '&limit=' + escape(params.limit);
                    
                url += '&srid=' + escape(params.srid);
                    
                url += '&timerule=' + escape(params.timerule);
                    
                url += '&action=' + escape(params.action);
                    
                        for ( var k in params ) {
                            if ( k.indexOf("client_") != 0  && stdargs.indexOf(','+ k+',') < 0 ) {
                                    url += '&' + k + '=' + escape(params[k]) ;                               
                            }
                        }
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Retrieve messages for a device. This will not trigger any server side actions.

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "deviceid": type : (string), default: (), required: (true), minlength: (0), maxlength: (50)
                
                    "checkinid": type : (string), default: (), required: (false), minlength: (0), maxlength: (30)
                
                    "timestamp": type : (string), default: (), required: (false), minlength: (0), maxlength: (30)
                
                    "limit": type : (int), default: (10), required: (false), minlength: (0), maxlength: (3)
                
                    "offset": type : (int), default: (0), required: (false), minlength: (0), maxlength: (3)
                
            **/
            "messages" : function(params)
            {
                plDebug("calling service PL.rest.api.geofence.messages");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/geofence/json/messages.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&deviceid=' + escape(params.deviceid);
                    
                url += '&checkinid=' + escape(params.checkinid);
                    
                url += '&timestamp=' + escape(params.timestamp);
                    
                url += '&limit=' + escape(params.limit);
                    
                url += '&offset=' + escape(params.offset);
                                      
                  plCallXDomain(callid, url, params);
            },
        
            /**
            Clear all messages for a device. This will not trigger any server side actions.

            @arg params : Parameters:
            
                    "callback": type : (string), default: (), required: (false), minlength: (0), maxlength: (100)
                
                    "uid": type : (int), default: (), required: (false), minlength: (0), maxlength: (19)
                
                    "deviceid": type : (string), default: (), required: (true), minlength: (0), maxlength: (50)
                
            **/
            "clear" : function(params)
            {
                plDebug("calling service PL.rest.api.geofence.clear");
                var stdargs = "";
                
                var callid = plGetNewCallId();
                var url = pl_properties.servicesUrlBase + '/geofence/json/clear.action?' +
                        'apikey='+ PL.restapi.apiKey +
                        '&version=1.0&callid='+ callid;
                  
                url += '&callback=' + escape(params.callback);
                    
                url += '&uid=' + escape(params.uid);
                    
                url += '&deviceid=' + escape(params.deviceid);
                                      
                  plCallXDomain(callid, url, params);
            },
        
        description: ""
       },

      version : "1.0"
   };
   
