<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dictionary SYSTEM "file://localhost/System/Library/DTDs/sdef.dtd">
<dictionary title="Receipts Terminology">
	<!--
    STANDARD SUITE
  -->
	<suite name="Standard Suite" code="core" description="Common classes and commands for all applications.">
		<cocoa name="NSCoreSuite"/>
		<enumeration name="save options" code="savo">
			<enumerator name="yes" code="yes " description="Save the file."/>
			<enumerator name="no" code="no  " description="Do not save the file."/>
			<enumerator name="ask" code="ask " description="Ask the user whether or not to save the file."/>
		</enumeration>
		<enumeration name="printing error handling" code="enum">
			<enumerator name="standard" code="lwst" description="Standard PostScript error handling"/>
			<enumerator name="detailed" code="lwdt" description="print a detailed report of PostScript errors"/>
		</enumeration>
		<record-type name="print settings" code="pset">
			<property name="copies" code="lwcp" description="the number of copies of a document to be printed" type="integer">
				<cocoa key="NSCopies"/>
			</property>
			<property name="collating" code="lwcl" description="Should printed copies be collated?" type="boolean">
				<cocoa key="NSMustCollate"/>
			</property>
			<property name="starting page" code="lwfp" description="the first page of the document to be printed" type="integer">
				<cocoa key="NSFirstPage"/>
			</property>
			<property name="ending page" code="lwlp" description="the last page of the document to be printed" type="integer">
				<cocoa key="NSLastPage"/>
			</property>
			<property name="pages across" code="lwla" description="number of logical pages laid across a physical page" type="integer">
				<cocoa key="NSPagesAcross"/>
			</property>
			<property name="pages down" code="lwld" description="number of logical pages laid out down a physical page" type="integer">
				<cocoa key="NSPagesDown"/>
			</property>
			<property name="error handling" code="lweh" description="how errors are handled" type="printing error handling">
				<cocoa key="NSDetailedErrorReporting"/>
			</property>
			<property name="fax number" code="faxn" description="for fax number" type="text">
				<cocoa key="NSFaxNumber"/>
			</property>
			<property name="target printer" code="trpr" description="for target printer" type="text">
				<cocoa key="NSPrinterName"/>
			</property>
		</record-type>
		<class name="application" code="capp" description="The application&apos;s top-level scripting object.">
			<cocoa class="NSApplication"/>
			<element type="document">
				<cocoa key="orderedDocuments"/>
			</element>
			<element type="window" access="r">
				<cocoa key="orderedWindows"/>
			</element>
			<property name="name" code="pnam" description="The name of the application." type="text" access="r"/>
			<property name="frontmost" code="pisf" description="Is this the frontmost (active) application?" type="boolean" access="r">
				<cocoa key="isActive"/>
			</property>
			<property name="version" code="vers" description="The version of the application." type="text" access="r"/>
			<responds-to command="open">
				<cocoa method="handleOpenScriptCommand:"/>
			</responds-to>
			<responds-to command="print">
				<cocoa method="handlePrintScriptCommand:"/>
			</responds-to>
			<responds-to command="quit">
				<cocoa method="handleQuitScriptCommand:"/>
			</responds-to>
		</class>
		<class name="document" code="docu" description="A document.">
			<cocoa class="NSDocument"/>
			<property name="name" code="pnam" description="The document&apos;s name." type="text" access="r">
				<cocoa key="displayName"/>
			</property>
			<property name="modified" code="imod" description="Has the document been modified since the last save?" type="boolean" access="r">
				<cocoa key="isDocumentEdited"/>
			</property>
			<property name="file" code="file" description="The document&apos;s location on disk." type="file" access="r">
				<cocoa key="fileURL"/>
			</property>
			<responds-to command="close">
				<cocoa method="handleCloseScriptCommand:"/>
			</responds-to>
			<responds-to command="print">
				<cocoa method="handlePrintScriptCommand:"/>
			</responds-to>
			<responds-to command="save">
				<cocoa method="handleSaveScriptCommand:"/>
			</responds-to>
		</class>
		<class name="window" code="cwin" description="A window.">
			<cocoa class="NSWindow"/>
			<property name="name" code="pnam" description="The full title of the window." type="text" access="r">
				<cocoa key="title"/>
			</property>
			<property name="id" code="ID  " description="The unique identifier of the window." type="integer" access="r">
				<cocoa key="uniqueID"/>
			</property>
			<property name="index" code="pidx" description="The index of the window, ordered front to back." type="integer">
				<cocoa key="orderedIndex"/>
			</property>
			<property name="bounds" code="pbnd" description="The bounding rectangle of the window." type="rectangle">
				<cocoa key="boundsAsQDRect"/>
			</property>
			<property name="closeable" code="hclb" description="Whether the window has a close box." type="boolean" access="r">
				<cocoa key="hasCloseBox"/>
			</property>
			<property name="minimizable" code="ismn" description="Whether the window can be minimized." type="boolean" access="r">
				<cocoa key="isMiniaturizable"/>
			</property>
			<property name="minimized" code="pmnd" description="Whether the window is currently minimized." type="boolean">
				<cocoa key="isMiniaturized"/>
			</property>
			<property name="resizable" code="prsz" description="Whether the window can be resized." type="boolean" access="r">
				<cocoa key="isResizable"/>
			</property>
			<property name="visible" code="pvis" description="Whether the window is currently visible." type="boolean">
				<cocoa key="isVisible"/>
			</property>
			<property name="zoomable" code="iszm" description="Whether the window can be zoomed." type="boolean" access="r">
				<cocoa key="isZoomable"/>
			</property>
			<property name="zoomed" code="pzum" description="Whether the window is currently zoomed." type="boolean">
				<cocoa key="isZoomed"/>
			</property>
			<property name="document" code="docu" description="The document whose contents are being displayed in the window." type="document" access="r"/>
			<responds-to command="close">
				<cocoa method="handleCloseScriptCommand:"/>
			</responds-to>
			<responds-to command="print">
				<cocoa method="handlePrintScriptCommand:"/>
			</responds-to>
			<responds-to command="save">
				<cocoa method="handleSaveScriptCommand:"/>
			</responds-to>
		</class>
		<!--
        According to TN2106, 'open' should return the resulting document
        object.  However, the Cocoa implementation does not do this yet.
      <result type="specifier"/>
      -->
		<command name="open" code="aevtodoc" description="Open a document.">
			<direct-parameter description="The file(s) to be opened.">
				<type type="file" list="yes"/>
			</direct-parameter>
		</command>
		<command name="close" code="coreclos" description="Close a document.">
			<cocoa class="NSCloseCommand"/>
			<direct-parameter description="the document(s) or window(s) to close." type="specifier"/>
			<parameter name="saving" code="savo" description="Whether or not changes should be saved before closing." type="save options" optional="yes">
				<cocoa key="SaveOptions"/>
			</parameter>
			<parameter name="saving in" code="kfil" description="The file in which to save the document." type="file" optional="yes">
				<cocoa key="File"/>
			</parameter>
		</command>
		<command name="save" code="coresave" description="Save a document.">
			<direct-parameter description="The document(s) or window(s) to save." type="specifier"/>
			<parameter name="in" code="kfil" description="The file in which to save the document." type="file" optional="yes">
				<cocoa key="File"/>
			</parameter>
			<parameter name="as" code="fltp" description="The type of file to save." type="text" optional="yes">
				<cocoa key="FileType"/>
			</parameter>
		</command>
		<command name="print" code="aevtpdoc" description="Print a document.">
			<direct-parameter description="The file(s), document(s), or window(s) to be printed.">
				<type type="file" list="yes"/>
				<type type="specifier"/>
			</direct-parameter>
			<parameter name="with properties" code="prdt" description="The print settings to use." type="print settings" optional="yes">
				<cocoa key="PrintSettings"/>
			</parameter>
			<parameter name="print dialog" code="pdlg" description="Should the application show the print dialog?" type="boolean" optional="yes">
				<cocoa key="ShowPrintDialog"/>
			</parameter>
		</command>
		<command name="quit" code="aevtquit" description="Quit the application.">
			<cocoa class="NSQuitCommand"/>
			<parameter name="saving" code="savo" description="Whether or not changed documents should be saved before closing." type="save options" optional="yes">
				<cocoa key="SaveOptions"/>
			</parameter>
		</command>
		<command name="count" code="corecnte" description="Return the number of elements of a particular class within an object.">
			<cocoa class="NSCountCommand"/>
			<direct-parameter description="the object whose elements are to be counted" type="specifier"/>
			<parameter name="each" code="kocl" description="The class of objects to be counted." type="type" optional="yes">
				<cocoa key="ObjectClass"/>
			</parameter>
			<result description="the number of elements" type="integer"/>
		</command>
		<command name="delete" code="coredelo" description="Delete an object.">
			<cocoa class="NSDeleteCommand"/>
			<direct-parameter description="the object to delete" type="specifier"/>
		</command>
		<command name="duplicate" code="coreclon" description="Copy object(s) and put the copies at a new location.">
			<cocoa class="NSCloneCommand"/>
			<direct-parameter description="the object(s) to duplicate" type="specifier"/>
			<parameter name="to" code="insh" description="The location for the new object(s)." type="location specifier" optional="yes">
				<cocoa key="ToLocation"/>
			</parameter>
			<parameter name="with properties" code="prdt" description="Properties to be set in the new duplicated object(s)." type="record" optional="yes">
				<cocoa key="WithProperties"/>
			</parameter>
			<result description="the duplicated object(s)" type="specifier"/>
		</command>
		<command name="exists" code="coredoex" description="Verify if an object exists.">
			<cocoa class="NSExistsCommand"/>
			<direct-parameter description="the object in question" type="any"/>
			<result description="true if it exists, false if not" type="boolean"/>
		</command>
		<command name="make" code="corecrel" description="Make a new object.">
			<cocoa class="NSCreateCommand"/>
			<parameter name="new" code="kocl" description="The class of the new object." type="type">
				<cocoa key="ObjectClass"/>
			</parameter>
			<parameter name="at" code="insh" description="The location at which to insert the object." type="location specifier" optional="yes">
				<cocoa key="Location"/>
			</parameter>
			<parameter name="with data" code="data" description="The initial contents of the object." type="any" optional="yes">
				<cocoa key="ObjectData"/>
			</parameter>
			<parameter name="with properties" code="prdt" description="The initial values for properties of the object." type="record" optional="yes">
				<cocoa key="KeyDictionary"/>
			</parameter>
			<result description="to the new object" type="specifier"/>
		</command>
		<command name="move" code="coremove" description="Move object(s) to a new location.">
			<cocoa class="NSMoveCommand"/>
			<direct-parameter description="the object(s) to move" type="specifier"/>
			<parameter name="to" code="insh" description="The new location for the object(s)." type="location specifier">
				<cocoa key="ToLocation"/>
			</parameter>
			<result description="the moved object(s)" type="specifier"/>
		</command>
	</suite>
	<suite name="Receipts Suite" code="rcss" description="Classes just for the Receipts application.">
		<enumeration name="date type" code="datp">
			<enumerator name="date sent" code="dase" description="Date sent">
				<cocoa name="date" string-value="date"/>
			</enumerator>
			<enumerator name="date paid" code="dapa" description="Date paid">
				<cocoa name="paymentDate" string-value="paymentDate"/>
			</enumerator>
			<enumerator name="date created" code="dadu" description="Date due">
				<cocoa name="dateCreated" string-value="dateCreated"/>
			</enumerator>
		</enumeration>
		<enumeration name="entity type" code="entp">
			<enumerator name="items" code="enit" description="Items / Documents (default)">
				<cocoa name="DocumentEntity" string-value="DocumentEntity"/>
			</enumerator>
			<enumerator name="categories" code="enca" description="Categories">
				<cocoa name="CategoryEntity" string-value="CategoryEntity"/>
			</enumerator>
			<enumerator name="providers" code="enpr" description="Providers">
				<cocoa name="SenderEntity" string-value="SenderEntity"/>
			</enumerator>
			<enumerator name="tags" code="enta" description="Tags">
				<cocoa name="TagEntity" string-value="TagEntity"/>
			</enumerator>
		</enumeration>
		<enumeration name="format type" code="foty">
			<enumerator name="plist" code="fopl" description="Property List">
				<cocoa name="plist" string-value="plist"/>
			</enumerator>
			<enumerator name="json" code="fojs" description="JSON">
				<cocoa name="json" string-value="json"/>
			</enumerator>
			<enumerator name="ejson" code="foej" description="Extended JSON, where date is $dd and decimal is $dn">
				<cocoa name="ejson" string-value="ejson"/>
			</enumerator>
		</enumeration>
		<enumeration name="source type" code="srty">
			<enumerator name="url" code="urll" description="Local or remote URL">
				<cocoa name="url" string-value="url"/>
			</enumerator>
			<enumerator name="mail" code="mail" description="Raw email source data">
				<cocoa name="mail" string-value="mail"/>
			</enumerator>
			<enumerator hidden="yes" name="html" code="html" description="The actual HTML">
				<cocoa name="html" string-value="html"/>
			</enumerator>
			<enumerator name="path" code="path" description="An absolute file path">
				<cocoa name="path" string-value="path"/>
			</enumerator>
			<enumerator name="json" code="json" description="JSON string">
				<cocoa name="json" string-value="json"/>
			</enumerator>
		</enumeration>
		<command name="export" code="hoexport" description="Export a range of documents in .plist format  Sample:   tell application &quot;Receipts&quot;  set result to export from date &quot;Sunday, 1. January 2017 at 00:00:00&quot; to current date as plist end tell">
			<cocoa class="HOExportCommand"/>
			<direct-parameter description="Type of data to be exported." type="entity type" optional="yes"/>
			<parameter name="where" code="exdt" description="The type of date" type="date type" optional="yes">
				<cocoa key="dateType"/>
			</parameter>
			<parameter name="from" code="exfr" description="The start of the date range." type="date" optional="yes">
				<cocoa key="from"/>
			</parameter>
			<parameter name="paid" code="expd" description="Is paid " type="boolean" optional="yes">
				<cocoa key="paid"/>
			</parameter>
			<parameter name="mark" code="exmr" description="Is marked" type="boolean" optional="yes">
				<cocoa key="mark"/>
			</parameter>
			<parameter name="confirmed" code="excf" description="Is Confirmed" type="boolean" optional="yes">
				<cocoa key="confirmed"/>
			</parameter>
			<parameter name="to" code="exto" description="The end of the date range." type="date" optional="yes">
				<cocoa key="to"/>
			</parameter>
			<parameter name="in" code="exfi" description="The file in which to save the document. Path or local URL." type="file" optional="yes">
				<cocoa key="file"/>
			</parameter>
			<parameter name="as" code="exfo" description="The format. Defaults to PLIST" type="format type" optional="yes">
				<cocoa key="format"/>
			</parameter>
			<result description="A string of the .plist" type="text"/>
		</command>
		<command name="import" code="hoimport" description="Import a new receipt. Sample: import url &quot;http://example.com/invoice.pdf&quot;">
			<cocoa class="NSImportCommand"/>
			<direct-parameter type="text" optional="yes"/>
			<parameter name="type" code="imty" description="The type of the value, default to &quot;url&quot;" type="source type" optional="yes">
				<cocoa key="type"/>
			</parameter>
		</command>
	</suite>
</dictionary>