This lesson covers the GCS Interface in general along with the details regarding Golf Computer Systems XML Interface such as configuration process and GCS Interface Functions.
1 | GCS Setup & XML POS Interface
Category: | CALink, Accounts & Gaming
This lesson covers the GCS Interface in general along with the details regarding Golf Computer Systems XML Interface such as configuration process and GCS Interface Functions.
Prerequisites
- To begin the implementation process, the Implementation Operator must have the following privileges enabled:
- Have all 'System Setup' Operator flags turned on
- GCS uses a standard TCPIP Link to communicate Member Details and Account Balances
- You can charge sales to a Member Account in GCS and also post a Payment to GCS
- You must turn on the "Supports Charging" flag in the Venue Setup and also select an External Payment Totaliser for reporting
- Other CALink Options that must be Set:
- Use Product Sort: By default, the system will use the Product Types (1-30) for Item Codes, if this flag is on, it will use the Product Sort (1-30). (See ItemCodes)
- ITEMCODES:
- There are 30 Types or Sorts (1-30)
- There are also some preset Codes:
Tips = 31
HandlingFee = 32
OtherCharges = 33
MembershipFees = 34
Discount = 35
CALink Settings
- The settings within CALink.exe will need to be set up similar to the below image with the appropriate SQL Server Address and Ports in place:
- You will need to get the following from GCS for each Installation and set up the relevant fields
- Server IP Address
- Server TCP Port Number
- You will need to get the following from GCS for each Installation and set up the relevant fields
Payment Types
- If sending payments across to GCS, then you also must have Payment Types in GCS that match the standard Payment types in BEpoz
- These are matched via the name
- The GCS Name may be longer than the BEpoz Requirement, but must include the exact text defined below:
- POSCASH- This is the Cash Payment Type
- POSCARD- This is used for any manual Credit card payment (This could be "Credit Card" in GCS
- POSCHEQ or POSCHQ– This is for Cheques it may be called Cheque
- POSEFT – This is for EFTPOS it may be called EFT or EFTPOS
GCS Partial Charge Amount Only
- Usually, GCS will charge the whole transaction to the members GCS Account
- If you wish to only charge a portion of the transaction, you can put a new Partial Charge button on the keyboard of the Till
- The CALink Charge Till function has a Flag to force a Tendered amount – this will force GCS to only charge the tendered amount
Member Download
- There is also a Job called "Import GCS Members" in JobExport
- This allows you to download the full member database from GCS into BEpoz for Member sales Analysis; this is Optional
- GCS Partial Charge Amount Only:
- Usually, GCS will charge the whole transaction to the members GCS Account
- If you wish to only charge a portion of the transaction, you can put a new Partial Charge button on the keyboard of the Till
- The CALink Charge Till function has a Flag to force a Tendered amount – this will force GCS to only charge the tendered amount
Background & Other Info
Golf Computer Systems
POSInterface
Version 2.36.9.52
01 February 2017
The Golf Computer Systems XML Interface started life as the GCS XML Point of Sale Interface and has grown to support other functionality. Called "the Interface" for the remainder of this document, it is a module designed to accept data across a TCP/IP connection from Point of Sale terminals. POS Back Office or other third parter server into GCS's Membership Management System and return information about members and/or accept payments.
Functionally the interface will enable member validation from MMS to occur when a member is identified at POS. Following successful validation the member POS transactions may pass across the interface and record against appropriate ledgers within MMS, either for account charging or reduction of credit account balances. Additionally the interface will enable account balance queries on a per member basis, and account payments by members to any applicable ledgers within MMS. In the latter case the payment will register for cash reconciliation in POS but will not form part of sales revenue.
Contact
Questions relating to the Interface specification should be directed to Chris Matheson of Golf Computer Systems by phone on (07) 3366 6696 or email to chris@golfclub.com.au.
Document Conventions
Information about interface fields is colour coded to represent the following:
Colour | Meaning |
Black | Normal |
Grey | Deprecated Functionality |
Blue | Custom or complex data field types or arrays, further information follows |
Green | Planned functionality not yet implemented |
Olive |
Existing functionality that has been substantially changed and may not be backward compatible to previous versions |
Purple | Optional data field. If this is not received a default (specified) will be used |
Red | Preliminary functionality that does not exist. This is to be reviewed and feedback provided to GCS about suitability |
Configuring the Interface
MMS Configuration
POS System
Setup the options for the POS System
Setting | Options | Notes |
POS Interface | Micros, DRS, RedCat, Squirrel, Generate, XML | The POS Interface selection determines what options are available and how the system will handle data received from interfaces. Select XML. |
Tax is… | Inclusive, Exclusive, To be determined | Set this to Inclusive to indicate that tax will be present in the data received from the interface. |
Enforce Credit Limits | Enabled, Disabled | When enabled, members with a credit limit set will not be able to exceed that limit |
Enforce On Hold | Enabled, Disabled | When enabled, members whose account is flagged as on hold will not be able to make any POS sales. Payments will still be accepted |
Enable Global Account | Enabled, Disabled | When enabled, the Ledger Type code of GA is useable. This is configured in the Global Account section |
Global Account
The Global Account is a method to allow the system to determine which ledger or ledgers a transaction is to be posted to. This allows the POS system to send a transaction to MMS without having to micromanage which ledgers can accept which POS sale items.
Only ledgers labeled as 'Visible at POS' and 'Redeemable at POS' will be listed and ledgers that allow charging to account are shown in bold. Enable the required ledgers and use the Up and Down buttons to change the order of use.
Note: Any ledgers below an enabled bold ledger will never be used as the remainder of the POS sale items will be allocated to the bolded ledger.
Configure any other settings and click Save. The other settings on this tab, and the other tabs, are explained in greater detail in the Membership Management System User manual (available from the Golf Computer Systems webiste at www.golfclub.com.au/manuals.htm)
Interface Configuration
The Status tab shows the state of the Nexus database connection and the number of current connections:
Image |
Status |
|
No problems encountered |
|
Error or function disabled – check Logs for more detail |
|
The status could not be determined |
|
An internal application error has occurred, contact GCS |
The Current Queue shows any jobs that are being processed by the Interface. These are usually done within a fraction of a second, so anything visible here for more than a few seconds may indicate a problem.
The Settings tab allows changes to the configuration of the Interface.
Application | |
Settings | Notes |
Registered Name | The name of the entity the Interface is registered to |
Registration Code | The GCS supplied registration code |
Registration Expires | Generated automatically based on the registration code |
Log Filename | Full path and filename of interface log file. If there appears to be a problem with the interface, open this file with the Log Viewer to check for more information |
Append to log | Check this to append to the log file instead of overwriting |
Log Information | Adds non-error information to log file. If there is a problem with the interface and the log file does not contain sufficient information, enable this option to see more detail. This writes a lot of information to the log file so must only be enabled while debugging the problem situation. Disable this option for normal use. |
Close button hides application | Changes Close button to a Hide button |
Hide application on startup | Hides the interface on startup |
GCS Database | |
Settings | Notes |
Nexus Server | Name or IP address of the GCS Nexus database server |
Alias | Name of the database alias (usually FACTS) |
Interface | |
Setting | Notes |
TCP Port | Set the TCP/IP Port the Interface will listen on |
Auto-Start Interface | Automatically start the interface when run |
Extra Options | |
Gaming card prefix | If the card being swiped at POS has a valid member number prefixed by another number, set that prefix here. It will be stripped and the member number used to validate. |
Lookup Number Types | Comma separated list of the GCS Number Types to be checked against the received member number. Defaults to 0000. |
Member number includes sequence number | Enable this if the membership number includes the card sequence number |
Include Main number type in Member Info | Enable this option if the member number has a sequence number appended |
Use POSGLCode instead of Code | Uses the POSGLCode stored in MMS instead of the Code supplied by the POS Sale function |
Get Revenue Centre from Reference | Uses the Revenue Centre supplied in the POS Sale function instead of the Lookup set in MMS |
Automated Importer | |
Settings for the Automated Importer are covered in another section of this document. |
System Tray Icon
The system tray icon shows the status of the interface.
Image | Status |
|
Interface is running and ready to receive connections |
|
There is a problem preventing the interface from starting |
|
An error has occurred, see the log for more information |
|
An application exception has occurred, contact GCS |
Installing as a Service
The POSInterface.exe application can be installed as a Windows Service. From a command line run posinterface /install to install. If the Nexus Database is not installed as a service on this machine, then add /nodepend to ensure a dependency is not created.The Service does not require a logon account to run and can be set to System Account without the Interact with Desktop option. If the service is installed and running then running the application again will allow access to the settings. Changes to the settings will take effect immediately.
If the service is installed and not running, or it is not installed, then the interface can be run as a stand-alone application.
Data Format
All communication with the Interface is done via a blocking TCP connection. The data sent over this connection uses XML format. XML schema information will be added to this documentation at a future date.Using Lookup Tables
Some data types are referenced from Lookup Tables. These Lookup Tables are found in MMS: Setup | Maintain System Data | Lookup Tables on the main menu. Lookups are used when an item has rules that govern its usage or to promote consistency in user-entered data.Data fields that require lookups will have 'Lookup: TableName' in their description. The following is a list of the Lookup Tables used to date:
Lookup | Functions |
Ledger_Type | Transaction, Balance Enquiry |
Ledger | Transaction |
Payment_Type | Transaction |
Product_Group | Transaction |
Unless otherwise stated, the field value uses the Code from the Lookup. The following table lists additional Code values that are supported but not present in the Lookup Tables:
Lookup | Code | Use |
Ledger_Type | UA | Usable Advance. This Code can be used as a LedgerType in Balance Enquiry, POS Sale and Journal and will cause the system to reference the Usable Advance system. |
Ledger_Type | GA | Global Account. This Code can be used as a LedgerType in POS Sale only (at this time) and will cause the system to reference the Global Account. The use of this ledger type is configured in MMS |
GCSInterface Functions
The following is a list of all the Interface functions available after version 2.16.9.24. These functions use <GCSInterface> XML tags
Function | Description |
Check Interface | Checks the state of the Interface and returns version information |
Balance Enquiry | Returns the balance of a Member's Ledgers |
POS Sale | Sale items add debits to member accounts |
Payment | Payments add credits to member accounts |
Journal | Add a generic debit or credit to the member account |
Lookup Details | Returns the contents of a GCS Lookup Table |
Member Information | Returns a list of member numbers and names in a customisable format or sends that list to a file |
Booked Stock | Requests information about facility stock waiting for payment |
Allocate Stock | Informs GCS of payment of Stock Items |
Refund Stock | Flags Stock Items as unpaid based on the stock payment |
Deallocate Stock | Flags Stock Items as unpaid based on the stock items |
Check Interface
This is used to check that the Interface is running and will accept transactions. A lack of response to this request after a few seconds is a good indication that the Interface is not running.
Transmission
Field Definitions
Field Name | Data Type | Description |
FunctionType | String | Check Interface (must be Check Interface) |
<GCSInterface> <FunctionType>Check Interface</FunctionType> </GCSInterface> |
Example:
Response
Field Definitions
Field Name | Data Type | Description |
FunctionType | String | Check Interface (always Check Interface) |
DatabaseConnection | Integer | 0 – Interface will not accept transactions at this time 1 – The Interface is functioning and can be used |
CurrentVersion | Float | The current version of the Interface |
UpdateRequirement | Float | The GCS Database Update requirement. If this requirement is not met, the Interface cannot be started |
EnforceCreditLimit | Integer | 0 – There are no credit limits 1 – Member with a Credit Limit set will not be able to exceed that limit on any single ledger |
EnforceOnHold | Integer | 0 – OnHold checking is disabled 1 – Transactions to members set as OnHold will be rejected. |
GlobalAccountEnabled | Integer | 0 – Global Account is disabled 1 – Global Account is enabled |
GAChargeToAccount | Integer | 0 – Global Account cannot exceed available balance 1 – Global Account is enabled and can exceed the available balance |
POSLinks | Integer | 0 – Use linked only 1 – Use member then linked 2 – Use linked then member 3 – Disabled |
Example:
<GCSInterface> <FunctionType>Check Interface</FunctionType> <DatabaseConnection>1</DatabaseConnection> <CurrentVersion>2.25</CurrentVersion> <UpdateRequirement>9.40</UpdateRequirement> <EnforceCreditLimit>1</EnforceCreditLimit> <EnforceOnHold>1</EnforceOnHold> <GlobalAccountEnabled>0</GlobalAccountEnabled> <GAChargeToAccount>0</GAChargeToAccount> <POSLinks>3</POSLinks> </GCSInterface> |
Balance Enquiry
Transmission
Field Definitions
Field Name | Data Type | Description |
FunctionType | String | Balance Enquiry (must be Balance Enquiry) |
MemberNumber | String[10] | Membership number of GCS Member |
ManualInput | Integer | 0 – Member number obtained via card swipe (default) 1 – Member number entered by staff on a keyboard |
LedgerType | String[4] | If specified, then only the requested ledger is returned. Lookup: Ledger_Type If not specified, all ledgers are returned (default) |
UserDefined | Integer | 0 – Do not return User Defined Fields (UDFs) 1 – Return User Defined fields (default) |
RevenueCentre | String[4] | VisibleLedger field of the return data will indicate ledgers that are available to this POS Terminal |
NameOnly | Integer | 0 – Return full member balance (default) 1 – Return only member name and UDFs (if requested) |
Example:
<GCSInterface> <FunctionType>Balance Enquiry</FunctionType> <MemberNumber>2</MemberNumber> </GCSInterface> |
Response
Field Definitions
Field Name | Data Type | Description |
FunctionType | String | Balance Enquiry (always Balance Enquiry) |
Result | String[50] | This will return information about input errors. If it is blank then no problems were encountered. |
BalanceItems | Balance Data | Balances of all available Ledger Types. |
LastName | String[25] | Member's last name |
PreferredName | String[15] | Member's preferred first name |
UserDefinedFields | User Defined Data | User Defined fields from Member Category and Member |
Note: If the LedgerType specified is not valid the BalanceItems and UserDefined fields will not be returned.
Note: A negative balance means the member has their own money (credit) in the account while positive means they owe the club money.
Note: Where any ledger is to be visible at selected POS locations only, the display of that ledger at that POS location and/or the disabling of that ledger at non-displayable POS locations is a function to be controlled by the POS software.
Balance Data
Field Definitions
Field Name | Data Type | Description |
LedgerCode | String[4] | GCS Code for this Ledger type. Lookup: Ledger |
LedgerDescription | String[30] | Display name |
VisibleLedger | Integer | Always 1 as ledgers marked as not visible are not returned |
PaymentsAllowed | Integer | 0 – Payments cannot be made to this ledger 1 – Payments can be made to this ledger via the Interface |
TransactionsAllowed | Integer | 0 – Sales transactions cannot be made to this ledger 1 – This ledger can be used for sales |
ChargeToAccount | Integer | 0 – You cannot spend more than the current balance, if the balance is negative (in credit) 1 – There is no credit limit on this ledger |
CurrentBalance | Float | The balance as at the current date. Negative numbers indicate credit balances |
LinkedBalance | Float | If present, this is the balance of the member that this member is POS Linked to |
LinkedMember | String | If present, this is the name and number of the member that this member is POS Linked to |
POSSummary | Integer | 0 – Do not add this balance to the summary 1 – Add this balance to the summary |
Note: Only "POS Visible" ledgers are returned.
User Defined Data
Field Definitions
The field names for User Defined Data are defined in MMS. The intention is for these to be displayed on the POS terminal as is
Field Name | Data Type | Description |
FieldName | String[30] | The name of the User Defined Field. This is configured in MMS. Certain Field Names are hard coded, these are shown in the following table |
FieldValue | String[30] | The value of the field. |
The following fields may also be present and new fields may be added to this list in future releases. The values are always String[30] but can be interpreted as the listed Value Types
Field Name | Value Type | Description |
On Hold | Integer | {Not Returned} – Sales can be processed on the member's account, balance permitting. 1 – The member's account is on hold, sales will be rejected. Payments will be processed |
Credit Limit | Float | If credit limits are enforced, and this member has a limit, it will be returned here |
Example:
<GCSInterface> <FunctionType>Balance Enquiry</FunctionType> <Result /> <BalanceItems> <BalanceItem> <LedgerCode>0000</LedgerCode> <LedgerDescription>Main</LedgerDescription> <VisibleLedger>1</VisibleLedger> <PaymentsAllowed>1</PaymentsAllowed> <TransactionsAllowed>0</TransactionsAllowed> <ChargeToAccount>0</ChargeToAccount> <CurrentBalance>2500.00</CurrentBalance> <LinkedBalance>500.00</LinkedBalance> <LinkedMember>ADAMS, Harry (00003)</LinkedMember> </BalanceItem> <BalanceItem> <LedgerCode>0001</LedgerCode> <LedgerDescription>House</LedgerDescription> <VisibleLedger>1</VisibleLedger> <PaymentsAllowed>1</PaymentsAllowed> <TransactionsAllowed>1</TransactionsAllowed> <ChargeToAccount>0</ChargeToAccount> <CurrentBalance>52.45</CurrentBalance> <LinkedBalance>0</LinkedBalance> <LinkedMember>ADAMS, Harry (00003)</LinkedMember> </BalanceItem> <BalanceItem> <LedgerCode>UA</LedgerCode> <LedgerDescription>Usable Advance</LedgerDescription> <VisibleLedger>1</VisibleLedger> <PaymentsAllowed>0</PaymentsAllowed> <TransactionsAllowed>1</TransactionsAllowed> <ChargeToAccount>0</ChargeToAccount> <CurrentBalance>-200.00</CurrentBalance> <LinkedBalance>-120.00</LinkedBalance> <LinkedMember>ADAMS, Harry (00003)</LinkedMember> </BalanceItem> </BalanceItems> <LastName>Adams</LastName> <PreferredName>Susan</PreferredName> <UserDefinedFields> <UserDefinedField> <FieldName>On Hold</FieldName> <FieldValue>1</FieldValue> </UserDefinedField> <UserDefinedField> <FieldName>Rewards Program</FieldName> <FieldValue>Silver</FieldValue> </UserDefinedField> </UserDefinedFields> </GCSInterface> |
POS Sale
Transmission
Field Definitions
Field Name | Data Type | Description |
FunctionType | String | POS Sale (must be POS Sale) |
MemberNumber | String[10] | Membership number of GCS Member |
ManualInput | Integer | 0 – Member number obtained via card swipe (default) 1 – Member number entered by staff on a keyboard |
RevenueCentre | String[4] | Revenue Centre for this sale. Lookup: Revenue_Centre |
POSReference | String[25] | POS Terminal Reference for this transaction. |
GCSReference | Integer | Numeric POS Terminal Reference. Optional for New Sales. |
TransactionType | Integer | 0 – New sale. GCSReference is optional. 1 – Void existing sale and post new (Resend) The GCSReference must match an existing transaction. 2 – Void existing sale (Reverse) The GCSReference must match an existing transaction. Any SaleItems received will be ignored. |
DateTime | DateTime | Any date and time format, but prefer less ambiguous |
Description | String[50] | Description of transaction |
LedgerType | String[4] | Ledger Type (AR) for this sale. Lookup: Ledger_Type |
OfflineTransaction | Integer | 0 – Transaction is live (default) 1 – This transaction was created while the Interface was not contactable |
SaleItems | Item Data | Sale and payment data |
Note: The TransactionType field is used in conjuction with the POSReference and GCSReference fields to determine the action to be taken. If TransactionType is 1 or 2, the reference fields will both be used to identify the existing transaction. If the existing transaction cannot be found an error will be returned and no other actions taken. If TransactionType is 2 then any SaleItems received will be ignored.
Item Data
Field Definitions
Field Name | Data Type | Description |
ItemName | String[20] | Description of sale item |
ItemCode | String[4] | This Ledger Code (GL) is used to group the sale items for reporting. Lookup: Ledger |
ProductGroup | String[4] | Optional. Lookup: Product_Group |
Quantity | Positive Float | Quantity of this item. This can be fractional to represent part of a split sale and can be negative when a credit sale item is required. |
PriceIncTax | Float | Gross per unit item price |
TaxAmount | Float | Tax amount of per unit item price |
Example: Some purchases and a discount. These items will be sent to ledger 0000.
<GCSInterface> <FunctionType>POS Sale</FunctionType> <MemberNumber>2</MemberNumber> <POSReference>1-123</POSReference> <GCSReference>0</GCSReference> <TransactionType>0</TransactionType> <DateTime>2007-10-23 09:30:00</DateTime> <Description>Pro Shop purchase</Description> <LedgerType>0000</LedgerType> <OfflineTransaction>0</OfflineTransaction> <SaleItems> <SaleItem> <ItemName>Golf Balls</ItemName> <ItemCode>0023</ItemCode> <ProductGroup>0004</ProductGroup> <Quantity>5</Quantity> <PriceIncTax>4</PriceIncTax> <TaxAmount>0.36</TaxAmount> </SaleItem> <SaleItem> <ItemName>Roast Beef Sandwich</ItemName> <ItemCode>0193</ItemCode> <ProductGroup>0006</ProductGroup> <Quantity>1</Quantity> <PriceIncTax>1.50</PriceIncTax> <TaxAmount>0.14</TaxAmount> </SaleItem> <SaleItem> <ItemName>Staff Discount 10%</ItemName> <ItemCode>0201</ItemCode> <ProductGroup>0002</ProductGroup> <Quantity>-1</Quantity> <PriceIncTax>2.15</PriceIncTax> <TaxAmount>0.20</TaxAmount> </SaleItem> </SaleItems> </GCSInterface> |
Example: Reverse an existing transaction
<GCSInterface> <FunctionType>POS Sale</FunctionType> <MemberNumber>2</MemberNumber> <POSReference>1-123</POSReference> <GCSReference>837465</GCSReference> <TransactionType>2</TransactionType> <DateTime>2007-10-23 09:30:00</DateTime> <Description>Reverse Pro Shop purchase</Description> <LedgerType>0000</LedgerType> <OfflineTransaction>0</OfflineTransaction> </GCSInterface> |
Response
Field Definitions
Field Name | Data Type | Description |
Function Type | String | POS Sale (always POS Sale) |
POSReference | String[20] | POS Terminal Reference for this transaction |
GCSReference | Integer | Numerical reference for this transaction. This is required for any subsequent access to this transaction, such as a reversal or resend |
Result | String[50] | If the transaction is successful, this will be blank, otherwise it will contain the reason for the failure. See Error Checking section for a list of possible messages |
Example: Successful sale
<GCSInterface> <FunctionType>POS Sale</FunctionType> <POSReference>1-123</POSReference> <GCSReference>837465</GCSReference> <Result /> </GCSInterface> |
Example: Unsuccessful sale
<GCSInterface> <FunctionType>POS Sale</FunctionType> <POSReference>1-123</POSReference> <GCSReference/> <Result>Insufficient funds</Result> </GCSInterface> |
Payment
Transmission
Field Definitions
Field Name | Data Type | Description |
FunctionType | String | Payment (must be Payment) |
MemberNumber | String[10] | Membership number of GCS Member |
ManualInput | Integer | 0 – Member number obtained via card swipe (default) 1 – Member number entered by staff on a keyboard |
POS Reference | String[25] | POS Terminal Reference for this transaction |
GCSReference | Integer | Existing GCS Pay_ID or ignored for TransactionType=0 |
Transaction Type | Integer | 0 – New payment 1 – Void existing payment and post new (Resend) 2 – Void existing payment (Reverse) |
DateTime | DateTime | Any date and time format, but prefer less ambiguous |
Amount | Float | Total value of the payment |
Description | String[50] | Description of payment |
Ledger Type | String[4] | Ledger Type for this sale. Lookup: Ledger_Type |
Payment Type | String[4] | Ledger Type for this sale. Lookup: Payment_Type |
Note: The TransactionType field is used in conjuction with the GCSReference field to determine the action to be taken. If TransactionType is 1 or 2, the reference field will be used to identify the existing transaction. If the existing transaction cannot be found an error will be returned and no other actions taken. For TransactionType=2 any payment information supplied will be ignored.
Example:
==============TABLE====================
<GCSInterface> <FunctionType>Payment</FunctionType> <MemberNumber>2</MemberNumber> <POSReference>2-93-31</POSReference> <GCSReference>0</GCSReference> <DateTime>2007-10-23 09:30:00</DateTime> <Amount>100</Amount> <Description>Member Payment</Description> <LedgerType>0001</LedgerType> <PaymentType>0012</PaymentType> </GCSInterface> |
==============TABLE====================
Response
Field Definitions
==============TABLE====================
Field Name | Data Type | Description |
Function type | String | Payment (Always) |
POS Reference | String[20] | POS Terminal Reference for this transaction |
GCS Reference | Integer | GCS Pay_ID. Returns-1 if the payment was not accepted |
Result | String[50] | If the transaction is successful, this will be blank, otherwise it will contain the reason for the failure. See Error Checking section for a list of possible messages |
==============TABLE====================
Journal
Transmission
Field Definitions
==============TABLE====================
Field Name | Data Type | Description |
FunctionType | String | Journal (must be Journal) |
MemberNumber | String[10] | Membership number of GCS Member. |
ManualInput | Integer | 0 – Member number obtained via card swipe (default) 1 – Member number entered by staff on a keyboard |
POSReference | String[20] | POS Terminal Reference for this transaction. |
GCSReference | Integer | Shows up as the Reference Number on the member's ledger in MMS and on their statement. Set to -1 or do not specify a number to have it pick up the next number in the series. This is a GCS Jnl_Ref. |
DateTime | DateTime | Any date and time format, but prefer less ambiguous |
Amount | Float | Total value of the journal. A negative amount credits the member's account |
Description | String[50] | Description of journal |
LedgerType | String[4] | Ledger Type for this sale. Lookup: Ledger_Type |
LedgerCode | String[4] | Ledger Code (AR). The presence of a tax component is determined by this code. Lookup: Ledger |
Source | String | Specifies the source of the Journal – GCS use only. |
==============TABLE====================
Example
==============TABLE====================
<GCSInterface> <FunctionType>Journal</FunctionType> <MemberNumber>2</MemberNumber> <POSReference>23-53</POSReference> <DateTime>2007-10-23 09:30:00</DateTime> <Amount>12</Amount> <Description>Redeem Prize Voucher</Description> <LedgerType>0003</LedgerType> <LedgerCode>0132</LedgerCode> </GCSInterface> |
==============TABLE====================
Response
Field Definitions
==============TABLE====================
Field Name | Data Type | Description |
Function Type | String | Journal (always Journal) |
POSReference | String[20] | POS Terminal Reference for this transaction |
GCSReference | Integer | GCS Reference ID. Returns -1 if there is no GCS transaction record. This is a GCS JNL_ID. |
Result | String[50] | If the transaction is successful, this will be blank, otherwise it will contain the reason for the failure. See Error Checking section for a list of possible messages |
==============TABLE====================
Lookup Details
Transmission
Field Definitions
==============TABLE====================
Field Name |
Data Type |
Description |
FunctionType | String | Lookup Details (must be Lookup Details) |
LookupTable | String[30] | Name of the lookup table to be returned. Current valid options are: Payment_Type, Ledger_Type, Ledger, Document_Type |
==============TABLE====================
Example
==============TABLE====================
<GCSInterface> <FunctionType>Lookup Details</FunctionType> <LookupTable>Ledger_Type</ LookupTable> </GCSInterface> |
==============TABLE====================
Response
Field Definitions
==============TABLE====================
Field Name | Data Type | Description |
FunctionType | String | Lookup Details (always Lookup Details) |
Result | String[50] | If the requested table is valid this will be blank, otherwise it will contain the reason for the failure. |
LookupDetails | Lookup Data | Contents of the Lookup Table. If this is empty and Result is empty then this table contains no records |
==============TABLE====================
Lookup Data
==============TABLE====================
Field Name | Data Type | Description |
Code | String[4] | The GCS internal code for this Lookup item |
Comment | String[30] | The display name for this item |
==============TABLE====================
Example
==============TABLE====================
<GCSInterface> <FunctionType>Lookup Details</FunctionType> <Result /> <LookupDetails> <LookupDetail> <Code>0000</Code> <Comment>Subs</Comment> </LookupDetail> <LookupDetail> <Code>0001</Code> <Comment>House</Comment> </LookupDetail> <LookupDetail> <Code>UA</Code> <Comment>Usable Advance</Comment> </LookupDetail> </LookupDetails> </GCSInterface> |
==============TABLE====================
Member Information
Transmission
Field Definitions
==============TABLE====================
Field Name |
Data Type |
Description |
FunctionType | String | Member Information (must be Member Information) |
OutputFormat | Output Format | This string determines the format of the member information returned. See below for more information on the format characters. This formatting is onloy used when an OutputFilename is specified. If no OutputFormat specified, the default format is: 000mmmmmss|L|p |
OutputFilename | String[120] | If specified, the output of this function will be written to this file instead of being returned by the interface |
FinancialStatus | String[30] | Code or comment accepted. Lookup: Financial_Status Specified – Returns only members with this financial status Not Specified – Returns all members regardless of finanical status |
MemberCategory | String[30] | Code or comment |