/**
 *  filename: ABApplicationSuite.scriptTerminology
 *  created : Thu Apr 11 11:14:39 2002
 *  LastEditDate Was "Tue Nov  4 16:03:20 2003"
 *
 */

{
    Name = "Address Book Script Suite";
    Description = "commands and classes for Address Book scripting.";
    Classes = {
        ABApplication = {
            Name = application;
            Description = "Users address book database";
            Attributes = {
                hasUnsavedChanges = {
                    Description = "Does the Address Book have any unsaved changes?";
                    Name = "unsaved";
                };
                selectedRecords = {
                    Description = "Currently selected entries";
                    Name = "selection";
                };
                meCard = {
                    Description = "Returns my card in the address book database.";
                    Name = "my card";
                };
				defaultCountryCode = {
                    Description = "Returns the default country code that the user uses for their addresses.";
                    Name = "default country code";
				};
            };
        };
        ABRecord = {
            Name = entry;
            Description = "An entry in the address book database";
            PluralName = entries;
            Attributes = {
                uniqueId = {
                    Description = "unique identifier for this record, this is persistent, and stays with the record.";
                    Name = id;
                };
                modificationDate = {
                    Description = "when the contact was last modified.";
                    Name = "modification date";
                };
                creationDate = {
                    Description = "when the contact was created.";
                    Name = "creation date";
                };
            };
        };
        ABPerson = {
            Name = person;
            Description = "A Person Record in the address book database.";
            PluralName = people;
            Attributes = {
                name = {
                    Description = "The name of this person, in the correct order (first last) or the organization name if this record is a company.";
                    Name = name;
                };
                title = {
                    Description = "The title of this person.";
                    Name = "title";
                };
                firstname = {
                    Description = "The First name of this person.";
                    Name = "first name";
                };
                middlename = {
                    Description = "The Middle name of this person.";
                    Name = "middle name";
                };
                lastname = {
                    Description = "The Last name of this person.";
                    Name = "last name";
                };
                maidenname = {
                    Description = "The Maiden name of this person.";
                    Name = "maiden name";
                };
                suffix = {
                    Description = "The Suffix of this person.";
                    Name = "suffix";
                };
                nickname = {
                    Description = "The Nickname of this person.";
                    Name = "nickname";
                };
                phoneticfirstname = {
                    Description = "The phonetic version of the First name of this person.";
                    Name = "phonetic first name";
                };
                phoneticlastname = {
                    Description = "The phonetic version of the Last name of this person.";
                    Name = "phonetic last name";
                };
                phoneticmiddlename = {
                    Description = "The Phonetic version of the Middle name of this person.";
                    Name = "phonetic middle name";
                };
                birthdate = {
                    Description = "The birth date of this person.";
                    Name = "birth date";
                };
                jobtitle = {
                    Description = "The job title of this person.";
                    Name = "job title";
                };
                homepage = {
                    Description = "The home page of this person.";
                    Name = "home page";
                };
                note = {
                    Description = "Notes for this person.";
                    Name = note;
                };
                organization = {
                    Description = "Organization that employs this person.";
                    Name = organization;
                };
                department = {
                    Description = "Department that this person works for.";
                    Name = department;
                };
                name = {
                    Description = "First/Last name of the person, uses the name display order preference setting in Address Book.";
                    Name = name;
                };
                vCardRep = {
                    Description  = "Person information in vCard format, this always returns a card in version 3.0 format.";
                    Name = "vcard";
                };
                image = {
                    Description  = "Image for person.";
                    Name = "image";
                };
                company = {
                    Description  = "Is the current record a company or a person.";
                    Name = "company";
                };
            };
        };
        ABGroup = {
            Name = group;
            Description = "A Group Record in the address book database";
            PluralName = groups;
            Attributes = {
                name = {
                    Description = "The name of this group.";
                    Name = name;
                };
            };
        };
        KeyValue = {
            Name = "contact info";
            Description = "Container object in the database, holds a key and a value";
            Attributes = {
                value = {
                    Description = "Value.";
                    Name = value;
                };
                label = {
                    Description = "Label is the label associated with value like \"work\", \"home\", etc.";
                    Name = label;
                };
                uniqueId = {
                    Description = "unique identifier for this entry, this is persistent, and stays with the record.";
                    Name = id;
                };
            };
        };
        Phone = {
            Name = phone;
            PluralName = phones;
            Description = "Phone number for a person.";
        };
        Email = {
            Name = email;
            PluralName = emails;
            Description = "Email address for a person.";
        };
        AIM = {
            Name = "AIM Handle";
            PluralName = "AIM handles";
            Description = "User name for America Online (AOL) instant messaging.";
        };
        Jabber = {
            Name = "Jabber handle";
            PluralName = "Jabber handles";
            Description = "User name for Jabber instant messaging.";
        };
        MSN = {
            Name = "MSN handle";
            PluralName = "MSN handles";
            Description = "User name for Microsoft Network (MSN) instant messaging.";
        };
        Yahoo = {
            Name = "Yahoo handle";
            PluralName = "Yahoo handles";
            Description = "User name for Yahoo instant messaging.";
        };
        ICQ = {
            Name = "ICQ handle";
            PluralName = "ICQ handles";
            Description = "User name for ICQ instant messaging.";
        };
        Date = {
            Name = "custom date";
            PluralName = "custom dates";
            Description = "Arbitrary date associated with this person.";
        };
        Related = {
            Name = "related name";
            PluralName = "related names";
            Description = "Other names related to this person.";
        };
		URL = {
			Name = "url";
			PluralName = "urls";
			Description = "URLs for this person.";
		};
        Address = {
            Name = address;
            PluralName = addresses;
            Description = "Address for the given record.";
            Attributes = {
                label = {
                    Description = "Label.";
                    Name = label;
                };
                street = {
                    Description = "Street part of the address, multiple lines separated by carriage returns.";
                    Name = street;
                };
                city = {
                    Description = "City part of the address.";
                    Name = city;
                };
                state = {
                    Description = "State, Province, or Region part of the address.";
                    Name = state;
                };
                zip = {
                    Description = "Zip or postal code of the address.";
                    Name = zip;
                };
                country = {
                    Description = "Country part of the address.";
                    Name = country;
                };
                countryCode = {
                    Description = "Country code part of the address (should be a two character iso country code).";
                    Name = "country code";
                };
                uniqueId = {
                    Description = "unique identifier for this address.";
                    Name = id;
                };
				formattedAddress = {
                    Description = "properly formatted string for this address.";
                    Name = "formatted address";
				};
            };
        };
    };
    Commands = {
        Save = {
            Name = "save addressbook";
            Description = "Save all Address Book changes. Also see the unsaved property for the application class.";
        };
        Add = {
            Name = "add";
            Description = "Add a child object.";
            UnnamedArgument = {
                Description = "object to add.";
            };
            Arguments = {
                target = {
                    Name = "to";
                    Description = "where to add this child to.";
                };
            };
        };
        Remove = {
            Name = "remove";
            Description = "Remove a child object.";
            UnnamedArgument = {
                Description = "object to add.";
            };
            Arguments = {
                target = {
                    Name = "from";
                    Description = "where to remove this child from.";
                };
            };
        };
            /* Commands for RollOvers ***************************************/
        ActionProperty = {
            Name = "action property";
            Description = "RollOver - Which property this roll over is associated with (Properties can be one of maiden name, phone, email, home page, birth date, custom date, related name, aim, icq, jabber, msn, yahoo, address.)";
        };
        ActionTitle = {
            Name = "action title";
            Description = "RollOver - Returns the title that will be placed in the menu for this roll over";
            Arguments = {
                for = {
                    Name = "for";
                    Description = "Currently selected person.";
                };
                value = {
                    Name = "with";
                    Description = "property that that was returned from the \"action property\" handler.";
                };
            };
        };
        ActionEnable = {
            Name = "should enable action";
            Description = "RollOver - Determines if the rollover action should be enabled for the given person and value";
            Arguments = {
                for = {
                    Name = "for";
                    Description = "Currently selected person.";
                };
                value = {
                    Name = "with";
                    Description = "property that that was returned from the \"action property\" handler.";
                };
            };
        };
        ActionPerform = {
            Name = "perform action";
            Description = "RollOver - Performs the action on the given person and value";
            Arguments = {
                for = {
                    Name = "for";
                    Description = "Currently selected person.";
                };
                value = {
                    Name = "with";
                    Description = "property that that was returned from the \"action property\" handler.";
                };
            };
        };
            /****************************************************************/
    };
}
