# Copyright 2018 MLBenchmark Group. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
"""Implementation of multiheaded attention and self-attention layers."""
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import tensorflow as tf
[docs]class Attention(tf.layers.Layer):
"""Multi-headed attention layer."""
def __init__(self, hidden_size, num_heads, attention_dropout, train):
if hidden_size % num_heads != 0:
raise ValueError("Hidden size must be evenly divisible by the number of "
"heads.")
super(Attention, self).__init__()
self.hidden_size = hidden_size
self.num_heads = num_heads
self.attention_dropout = attention_dropout
self.train = train
# Layers for linearly projecting the queries, keys, and values.
self.q_dense_layer = tf.layers.Dense(hidden_size, use_bias=False, name="q")
self.k_dense_layer = tf.layers.Dense(hidden_size, use_bias=False, name="k")
self.v_dense_layer = tf.layers.Dense(hidden_size, use_bias=False, name="v")
self.output_dense_layer = tf.layers.Dense(hidden_size, use_bias=False,
name="output_transform")
[docs] def split_heads(self, x):
"""Split x into different heads, and transpose the resulting value.
The tensor is transposed to insure the inner dimensions hold the correct
values during the matrix multiplication.
Args:
x: A tensor with shape [batch_size, length, hidden_size]
Returns:
A tensor with shape [batch_size, num_heads, length, hidden_size/num_heads]
"""
with tf.name_scope("split_heads"):
batch_size = tf.shape(x)[0]
length = tf.shape(x)[1]
# Calculate depth of last dimension after it has been split.
depth = (self.hidden_size // self.num_heads)
# Split the last dimension
x = tf.reshape(x, [batch_size, length, self.num_heads, depth])
# Transpose the result
return tf.transpose(x, [0, 2, 1, 3])
[docs] def combine_heads(self, x):
"""Combine tensor that has been split.
Args:
x: A tensor [batch_size, num_heads, length, hidden_size/num_heads]
Returns:
A tensor with shape [batch_size, length, hidden_size]
"""
with tf.name_scope("combine_heads"):
batch_size = tf.shape(x)[0]
length = tf.shape(x)[2]
x = tf.transpose(x, [0, 2, 1, 3]) # --> [batch, length, num_heads, depth]
return tf.reshape(x, [batch_size, length, self.hidden_size])
[docs] def call(self, x, y, bias, cache=None):
"""Apply attention mechanism to x and y.
Args:
x: a tensor with shape [batch_size, length_x, hidden_size]
y: a tensor with shape [batch_size, length_y, hidden_size]
bias: attention bias that will be added to the result of the dot product.
cache: (Used during prediction) dictionary with tensors containing results
of previous attentions. The dictionary must have the items:
{"k": tensor with shape [batch_size, i, key_channels],
"v": tensor with shape [batch_size, i, value_channels]}
where i is the current decoded length.
Returns:
Attention layer output with shape [batch_size, length_x, hidden_size]
"""
# Linearly project the query (q), key (k) and value (v) using different
# learned projections. This is in preparation of splitting them into
# multiple heads. Multi-head attention uses multiple queries, keys, and
# values rather than regular attention (which uses a single q, k, v).
q = self.q_dense_layer(x)
k = self.k_dense_layer(y)
v = self.v_dense_layer(y)
if cache is not None:
# Combine cached keys and values with new keys and values.
k = tf.concat([cache["k"], k], axis=1)
v = tf.concat([cache["v"], v], axis=1)
# Update cache
cache["k"] = k
cache["v"] = v
# Split q, k, v into heads.
q = self.split_heads(q)
k = self.split_heads(k)
v = self.split_heads(v)
# Scale q to prevent the dot product between q and k from growing too large.
depth = (self.hidden_size // self.num_heads)
q *= depth ** -0.5
# Calculate dot product attention
#logits = tf.matmul(q, k, transpose_b=True)
#logits += bias
#weights = tf.nn.softmax(logits, name="attention_weights")
logits = tf.matmul(q, k, transpose_b=True)
dtype = logits.dtype
if dtype != tf.float32:
# upcast softmax inputs
logits = tf.cast(x=logits, dtype=tf.float32)
logits += bias
weights = tf.nn.softmax(logits, name="attention_weights")
# downcast softmax output
weights = tf.cast(weights, dtype=dtype)
else:
logits += bias
weights = tf.nn.softmax(logits, name="attention_weights")
if self.train:
weights = tf.nn.dropout(weights, 1.0 - self.attention_dropout)
attention_output = tf.matmul(weights, v)
# Recombine heads --> [batch_size, length, hidden_size]
attention_output = self.combine_heads(attention_output)
# Run the combined outputs through another linear projection layer.
attention_output = self.output_dense_layer(attention_output)
return attention_output
[docs]class SelfAttention(Attention):
"""Multiheaded self-attention layer."""
[docs] def call(self, x, bias, cache=None):
return super(SelfAttention, self).call(x, x, bias, cache)


Fitting a quadratic equation like y = a*x2 + b*x + c through a set of points
y = a*x2 + b*x + c
Press any key to begin computation


{% include linkrefs.html %}
Overview
RQ Data Connect allows you to retrieve report data from your RQ database (v4.23 and up).
To get started, see RQ Data Connect Guide.
Note
For reports that provide optional URI parameters for filtering at different levels (ForWho/ForWhoIDs/LocationType/LocationTypeIDs), omitting these values will run the report at the default company level.
Authentication
RQ Data Connect and Bridge support many different methods of authentication, see {{AuthenticationOptions}}.
Note that for all reports the {{AccessToken_Glossary}} should be mapped to an employee in RQ.
Report List
For a complete list of reports in RQ Data Connect, see Report List.
Endpoints
- Sandbox: https://rqdataconnectdemo.iqmetrix.net
- Production: https://rqdataconnect.iqmetrix.net
Resources
CashOutSummaryReportData
{
"CashOutID": "13775",
"CashOutIDByStore": "84WEACA649",
"StoreName": "84 West",
"Reconciled": "No",
"StartDate": "2012-08-20T18:18:52.023",
"StopDate": "2015-02-24T13:40:33.21",
"EmployeeName1": "iQmetrix Employee",
"EmployeeUsername1": "iQmetrix.Employee",
"EmployeeName2": "iQmetrix Employee",
"EmployeeUsername2": "iQmetrix.Employee",
"PaymentName": "Cash",
"CreditCardPaymentType": "",
"PaymentReconciled": "No",
"Cashout": "",
"Reconciliation": "",
"DepositNumber": "100.00",
"ActualTotal": "1884.1",
"SystemTotal": "0",
"Skim": "0",
"Float": "0",
"DifferenceTotal": "1884.1",
"TransactionQuantity": "0",
"CashAndCheque": "1884.1",
"FloatRetained": "0",
"DepositAmount": "1884.1",
"CashInAmount": "0",
"BankDetails": ""
}
| Name | Description |
|---|---|
CashOutID (INT ) |
Internal identifier in RQ |
CashOutIDByStore (VARCHAR(14) ) |
Cashout # - number that the system generated for the cashout at the time it was created. To view the cashout simply click its underlined link |
StoreName (NVARCHAR(MAX) ) |
Name of the store |
Reconciled (VARCHAR(3) ) |
A flag to indicate if the cashout was reconciled |
StartDate (DateTime ) |
Started On - start time of this cashout’s interval. If this is the first cashout for this location then the Started On Date will be N/A |
StopDate (DateTime ) |
Stopped On - stop time of this cashout’s interval |
EmployeeName1 (VARCHAR(51) ) |
Employee 1 - name of the employee who was logged in when the cashout was done |
EmployeeUsername1 (VARCHAR(51) ) |
Username1 - username of the employee who was logged in when the cashout was done |
EmployeeName2 (VARCHAR(51) ) |
Employee 2 - name of the employee who verified the cashout was correct, this may be the same person as Employee 1 |
EmployeeUsername2 (VARCHAR(51) ) |
Username2 - the username of the employee who was logged in when the cashout was done |
PaymentName (NVARCHAR(MAX) ) |
Payment - payment type for the row’s totals |
CreditCardPaymentType (VARCHAR(20) ) |
Credit card payment type |
PaymentReconciled (VARCHAR(3) ) |
Payment Reconciled - indicates whether the payment type has been reconciled or not |
Cashout (VARCHAR(5000) ) |
Cashout Comments - comments from the cashout |
Reconciliation (VARCHAR(1000) ) |
Reconciliation Comments - from the reconciliation if it has been done |
DepositNumber (VARCHAR(50) ) |
Deposit # - number for this particular deposit, e.g. bank deposit number |
ActualTotal (MONEY ) |
Your Total - total filled in by Employee 1 from the till totals for all transactions during the cashoutinterval for the row’s payment type |
SystemTotal (MONEY ) |
System Total - overall total the software has recorded for all transactions during the cashout interval for the row’s payment type. This includes all payments accepted for sales, bill pay and for customer account payments |
Skim (MONEY ) |
Internal value in RQ |
Float (MONEY ) |
Internal value in RQ |
DifferenceTotal (MONEY ) |
Difference - Your Total - System Total |
TransactionQuantity (INT ) |
Internal value in RQ |
CashAndCheque (MONEY ) |
Cash/check (cheque) - total for the cash and check payment types |
FloatRetained (MONEY ) |
Float Retained - dollar amount retained as a float |
DepositAmount (MONEY ) |
Deposit - actual deposit value for that cashout |
CashInAmount (MONEY ) |
Cashin - cashed in float amount |
BankDetails (NVARCHAR(MAX) ) |
Bank Details - states the bank associated to the cashout |
ChargeBackSummaryReportLocationData
{
"Quantity": "1",
"StoreID": "6679",
"StoreName": "100: My Network LLC - Anchorage",
"TotalValue": "-100"
}
| Name | Description |
|---|---|
Quantity (INT ) |
Qty |
StoreID (INT ) |
Internal identifier for a store in RQ |
StoreName (NVARCHAR (MAX) ) |
Location |
TotalValue (MONEY ) |
Total Value - dollar value of the charge backs |
ChargeBackSummaryReportCategoryData
{
"CategoryName": "Financing",
"CategoryNumber": "10101012",
"CategoryPath": "Activations",
"Quantity": "1",
"TotalValue": "-100"
}
| Name | Description |
|---|---|
CategoryName (NVARCHAR (MAX) ) |
Category Name |
CategoryNumber (NVARCHAR (100) ) |
Internal identifier for a Category in RQ |
CategoryPath (NVARCHAR (MAX) ) |
Category |
Quantity (INT ) |
Qty |
TotalValue (MONEY ) |
Total Value - dollar value of the charge backs |
ChargeBackSummaryReportProductSummaryData
{
"GlobalProductID": "9809",
"ProductIdentifier": "ACFNRB000008",
"ProductName": "Vendor Rebate",
"Quantity": "1",
"TotalValue": "-100"
}
| Name | Description |
|---|---|
GlobalProductID (INT ) |
Internal identifier for a product in RQ |
ProductIdentifier (VARCHAR (12) ) |
Product SKU |
ProductName (NVARCHAR (MAX) ) |
Product Name |
Quantity (INT ) |
Qty |
TotalValue (MONEY ) |
Total Value - dollar value of the charge backs |
ChargeBackSummaryReportProductDetailData
{
"AssociationNumber": "7",
"CarrierPrice": "0",
"CategoryName": "10101012",
"CategoryNumber": "Financing",
"ChargeBackCode": "iQmetrix User",
"ChargedBackByEmployee": "1",
"ChargedBackByEmployeeID": "1",
"Comments": "",
"CustomerID": "null",
"CustomerName": "No Customer",
"DateChargedBack": "2016-05-20T07:57:42.417",
"DateInvoiced": "2016-05-20T06:47:10.543",
"FullChargeBackID": "322aa012-82dc-4373-a7d6-82faa2b4738b",
"FullChargeBackIDByStore": "77224FC1",
"GlobalProductID": "9809",
"InvoicedByEmployee": "iQmetrix User",
"InvoicedByEmployeeID": "1",
"ProductIdentifier": "ACFNRB000008",
"ProductName": "Vendor Rebate",
"Quantity": "1",
"RelatedProduct": "",
"RelatedProductID": "0",
"SaleInvoiceID": "129036",
"SaleInvoiceIDByStore": "77224IN5",
"SerialNumber": "1123123132",
"TotalValue": "-100",
"VendorName": "",
"VendorSKU": ""
}
| Name | Description |
|---|---|
AssociationNumber (SMALLINT ) |
When adding products with PAW all associated products from the sale have the same association number tied together, this value increments based on how many sales are made on that order |
CarrierPrice (MONEY ) |
Carrier Price - value or revenue assigned by the carrier |
CategoryName (VARCHAR(100) ) |
Category - inventory category to which the SKU belongs |
CategoryNumber (VARCHAR(100) ) |
Internal identifier for a Category in RQ |
ChargeBackCode (VARCHAR(500) ) |
Charge Back Code - specific code for this charge back |
ChargedBackByEmployee (VARCHAR(160) ) |
Tendered By - name of the employee logged into RQ when the invoice was tendered |
ChargedBackByEmployeeID (INT ) |
Identifier for an employee in RQ |
Comments (NVARCHAR(MAX) ) |
Comments - any comments associated with this charge back |
CustomerID (INT ) |
Internal identifier for a customer in RQ |
CustomerName (VARCHAR(160) ) |
Customer Name - name of the customer as entered on their profile |
DateChargedBack (DateTime ) |
Charged Back - date of the charge back |
DateInvoiced (DateTime ) |
Invoiced - date originally invoiced |
FullChargeBackID (IDUNIQUEIDENTIFIER ) |
Internal identifier in RQ |
FullChargeBackIDByStore (VARCHAR(30) ) |
Charge Back # - invoice number for the charge back |
GlobalProductID (INT ) |
Internal identifier in RQ |
InvoicedByEmployee (VARCHAR(160) ) |
Sales Person - name of the employee of record for the sale, i.e. the employee whose name is in the Commission box |
InvoicedByEmployeeID (INT ) |
Internal identifier for an Employee in RQ |
ProductIdentifier (VARCHAR(12) ) |
Product SKU - SKU of the product charged back |
ProductName (VARCHAR(100) ) |
Product Name - description of the product charged back |
Quantity (INT ) |
Qty - total count of charge backs |
RelatedProduct (VARCHAR(100) ) |
Related Product - related product, if applicable |
RelatedProductID (INT ) |
Internal identifier for a product in RQ |
SaleInvoiceID (INT ) |
Internal identifier for an invoice in RQ |
SaleInvoiceIDByStore (VARCHAR(30) ) |
Invoice # - original invoice number |
SerialNumber (VARCHAR(100) ) |
Tracking Number - tracking number associated with the product charged back |
TotalValue (MONEY ) |
Total Value - dollar value of the charge backs |
VendorName (NVARCHAR(MAX) ) |
Name for a vendor in RQ |
VendorSKU (VARCHAR(25) ) |
Vendor SKU in RQ |
ChargeBackSummaryReportEmployeeData
{
"Commission": "0",
"InvoicedByEmployee": "iQmetrix User",
"InvoicedByEmployeeID": "1",
"Quantity": "1",
"TotalValue": "5"
}
| Name | Description |
|---|---|
Commission (MONEY ) |
Commission |
InvoicedByEmployee (VARCHAR (51) ) |
Employee |
InvoicedByEmployeeID (INT ) |
Internal identifier for an Employee in RQ |
Quantity (INT ) |
Qty |
TotalValue (MONEY ) |
Total Value - dollar value of the charge backs |
ChargeBackSummaryReportHardwareCollectionData
{
"AssociationNumber": "7",
"CommissionRebate1": "SaslTel New Activation",
"CommissionRebate2": "",
"CustomerID": "null",
"CustomerName": "No Customer",
"DateInvoiced": "2016-05-20T06:47:10.543",
"EquipmentRebate": "",
"HardwareRebateGlobalProductID": "1",
"HardwareRebateSKU": "CPCCRB000104",
"InvoicedByEmployee": "iQmetrix User",
"InvoicedByEmployeeID": "1",
"IsFullChargedBack1": "",
"IsFullChargedBack2": "",
"IsFullChargedBack3": "",
"PhoneNumber": "",
"Price": "99.99",
"RatePlanRebate2GlobalProductID": "2",
"RatePlanRebate2SKU": "",
"RatePlanRebateGlobalProductID": "3",
"RatePlanRebateSKU": "",
"RelatedProduct": "",
"RelatedProductID": "0",
"SaleInvoiceID": "423",
"SaleInvoiceIDByStore": "",
"SerialNumber": "",
"StoreID": "6679",
"StoreName": "100: My Network LLC - Anchorage",
"VendorName": "",
"VendorSKU": ""
}
| Name | Description |
|---|---|
AssociationNumber (SMALLINT ) |
When adding products with PAW all associated products from the sale have the same association number tied together, this value increments based on how many sales are made on that order |
CommissionRebate1 (NVARCHAR(1000) ) |
Commission Rebate 1 - name of the first commission rebate |
CommissionRebate2 (NVARCHAR(1000) ) |
Commission Rebate 2 - name of the second commission rebate |
CustomerID (INT ) |
Identifier for a customer in RQ |
CustomerName (VARCHAR(160) ) |
Customer Name - name of the customer as entered on their profile |
DateInvoiced (DateTime ) |
Tendered On - date tendered |
EquipmentRebate (NVARCHAR(1000) ) |
Equipment Rebate - name of the equipment rebate |
HardwareRebateGlobalProductID (INT ) |
Internal identifier for a product in RQ |
HardwareRebateSKU (VARCHAR(12) ) |
Equipment Rebate SKU - SKU of the equipment rebate |
InvoicedByEmployee (VARCHAR(160) ) |
Sales Person - name of the employee of record for the sale, i.e. the employee whose name is in the Commission box |
InvoicedByEmployeeID (INT ) |
Internal identifier for an employee in RQ |
IsFullChargedBack1 (VARCHAR(10) ) |
Charged Back - yes if charged back |
IsFullChargedBack2 (VARCHAR(10) ) |
Charged Back - yes if charged back |
IsFullChargedBack3 (VARCHAR(10) ) |
Charged Back - yes if charged back |
PhoneNumber (VARCHAR(30) ) |
Phone - Mobile number of the device |
Price (MONEY ) |
Price - actual invoiced price |
RatePlanRebate2GlobalProductID (INT ) |
Internal identifier in RQ |
RatePlanRebate2SKU (VARCHAR(12) ) |
Commission Rebate 2 SKU - SKU of the second commission rebate |
RatePlanRebateGlobalProductID (INT ) |
Internal identifier in RQ |
RatePlanRebateSKU (VARCHAR(12) ) |
Commission Rebate SKU - SKU of the first commission rebate |
RelatedProduct (VARCHAR(100) ) |
Related Product - product associated with this rebate |
RelatedProductID (INT ) |
Internal identifier in RQ |
SaleInvoiceID (INT ) |
Internal identifier in RQ |
SaleInvoiceIDByStore (VARCHAR(30) ) |
Invoice # - original invoice number |
SerialNumber (VARCHAR(100) ) |
Serial number |
StoreID (INT ) |
Collection Date - date collected |
StoreName (VARCHAR(100) ) |
Tendered At - location where tendered |
VendorName (NVARCHAR(MAX) ) |
Name for a vendor in RQ |
VendorSKU (VARCHAR(25) ) |
Vendor SKU |
OutstandingGiftCardsReportData
{
"SerialNumber": "7777085179051274",
"DateSold": "2016-10-14T13:05:14.133",
"CustomerName": "Bill Smith",
"LastRedeemedGMT": "2016-10-14T19:30:37.063",
"LastRedeemed": "2016-10-14T13:30:37.063",
"RedeemedAt": "84 West",
"RedeemedBy": "Bill Smith",
"Balance": "77.52",
"SaleInvoiceID": "634",
"InvoiceIDByStore": "MIL44AH9",
"ProductName": "iTunes 20",
"ProductSKU": "ASBTHT000018",
"InvoiceSerialMask": "6"
}
| Name | Description |
|---|---|
SerialNumber (VARCHAR(35) ) |
Card Number - activation number for the gift card |
DateSold (DateTime ) |
Activated On - date the gift card was activated |
CustomerName (VARCHAR(101) ) |
Customer - name of the customer who purchased the gift card |
LastRedeemedGMT (DateTime ) |
Last Redeemed (GMT) - when the gift card was last redeemed, in GMT time |
LastRedeemed (DateTime ) |
Last Redeemed - when the gift card was last redeemed, local time |
RedeemedAt (NVARCHAR(MAX) ) |
Redeemed At - location where the card was redeemed |
RedeemedBy (VARCHAR(151) ) |
Redeemed By - name of the customer who redeemed the gift card |
Balance (MONEY ) |
Balance - remaining balance |
SaleInvoiceID (INT ) |
Internal identifier for an invoice in RQ |
InvoiceIDByStore (VARCHAR(14) ) |
Invoice Number - invoice number with a link to the invoice |
ProductName (NVARCHAR(MAX) ) |
Product Name - product description of the card |
ProductSKU (VARCHAR(20) ) |
Product SKU - product SKU assigned to the gift card |
InvoiceSerialMask (INT ) |
Amount of the SerialNumber to mask |
PaymentIntegrationTransactionReportData
{
"InvoiceID": "122337",
"StoreInvoiceID": "84WEAIN5981",
"CustomerName": "Alice Kim",
"EmployeeName": "Sam Smith",
"InvoiceTypeID": "1",
"InvoiceType": "Invoice",
"LocationEntityID": "14192",
"AuthType": "Sale",
"TransType": "Credit",
"CardTypeID": "2",
"CardType": "Visa",
"Amount": "4",
"EntryTypeID": "2",
"EntryType": "Swiped",
"MerchantNumber": "1111",
"TerminalNumber": "90572837",
"AuthDateUTC": "2015-01-28T16:31:58.877",
"AuthorizationNumber": "ABS251",
"CardholderName": "John Test",
"CardBin": "545454",
"LastFourDigits": "5454",
"TransactionResult": "Approved",
"ReversedVoided": "0",
"ReversedVoidedReason": "Auto Void from Incomplete Invoice",
"VoidedByEmployeeEntityID": "512",
"VoidedDate": "2015-01-30T16:31:58.877"
}
| Name | Description |
|---|---|
InvoiceID (INT ) |
Unique identifier for the invoice in RQ |
StoreInvoiceID (VARCHAR(14) ) |
Invoice identifier displayed to the user and on the printed invoice |
CustomerName (VARCHAR(101) ) |
Customer name |
EmployeeName (VARCHAR(51) ) |
Employee name |
InvoiceTypeID (INT ) |
Identifier for the InvoiceType, see InvoiceType property |
InvoiceType (VARCHAR(15) ) |
Name of the InvoiceType |
LocationEntityID (INT ) |
Identifier of the store as a Location in Entity Store |
AuthType (VARCHAR(4) ) |
Indicates sale or refund |
TransType (VARCHAR(8) ) |
What type of transaction this is (Credit/Debit) |
CardTypeID (INT ) |
Identifier for the CardType. See CardType property |
CardType (VARCHAR(50) ) |
Name of the CardType. See Getting Card Types for a list of possible values |
Amount (MONEY ) |
Amount requested |
EntryTypeID (INT ) |
Identifier for the EntryType, see EntryType property |
EntryType (VARCHAR(50) ) |
Name of the EntryType. See Getting Entry Types for a list of possible values |
MerchantNumber (VARCHAR(50) ) |
The Merchant Number / ID used in payment credentials for this transaction |
TerminalNumber (VARCHAR(50) ) |
The Terminal Number / ID used in payment credentials for this transaction |
AuthDateUTC (DateTime ) |
Date of Transaction in UTC |
AuthorizationNumber (VARCHAR(10) ) |
Authorization Number from Payment Processor |
CardholderName (VARCHAR(100) ) |
Name of Cardholder |
CardBin (VARCHAR(6) ) |
The payment cards Bank Identifiation Number (BIN) |
LastFourDigits (VARCHAR(4) ) |
Last four digits of card |
TransactionResult (VARCHAR(110) ) |
Indicated Approved or Declined |
ReversedVoided (INT ) |
A flag to indicate if the transaction was reversed/voided (1) or not (0) |
ReversedVoidedReason (VARCHAR(150) ) |
String explanation on why the original transaction was voided. Only appears on void transactions, not on the original sale transation |
VoidedByEmployeeEntityID (NVARCHAR(50) ) |
Identifier for a User who voided this transaction |
VoidedDate (DateTime ) |
Date Transaction was voided in UTC |
TaxDetailsReportData
{
"DateCreated": "2015-12-31T12:35:07.05",
"SaleInvoiceID": "166519",
"InvoiceIDByStore": "MIL44AH9",
"TenderedBy": "John Test",
"TenderedAt": "Cornwall",
"CustomerName": "Alice Smith",
"Comments": "Return",
"Invoiced": "-910.94",
"Sales": "-910.94",
"Cost": "-405.67",
"Profit": "-505.27",
"Adjusted": "No",
"Taxable": "Yes",
"Refund": "Yes",
"VendorRebates": "0",
"VendorRebatesTax": "0",
"Coupons": "0",
"CouponsTax": "0",
"YourPriceTaxableSales": "-910.94",
"ListPriceTaxableSales": "0",
"GreaterOfTaxableSales": "-69.94",
"FlatTaxableSales": "0",
"NonTaxableSales": "0",
"TaxCollected": "-59.79",
"TaxExemptReasonCode": ""
}
| Name | Description |
|---|---|
DateCreated (DateTime ) |
Invoice Date - date the invoice was tendered |
SaleInvoiceID (INT ) |
Internal identifier for an Invoice in RQ |
InvoiceIDByStore (VARCHAR(14) ) |
Invoice #- invoice number assigned by RQ |
TenderedBy (VARCHAR(51) ) |
Invoiced By- name of the location which credited with the sale, usually the same as Invoiced At but will be different if a second location process a refund |
TenderedAt (NVARCHAR(MAX) ) |
Invoiced At- name of the location which takes the inventory on a refund, usually the same as Invoiced By but will be different if a second location process a refund |
CustomerName (VARCHAR(151) ) |
Customer Name - name of the customer as entered on their profile |
Comments (NVARCHAR(MAX) ) |
Invoice Comments - any comments on the invoice |
Invoiced (MONEY ) |
Total Invoiced - total dollar value of the invoice |
Sales (MONEY ) |
Total Sales - total dollar value of the sales on the invoice, usually the same as Total Invoiced except in the case of gift card sales |
Cost (MONEY ) |
Total Cost - total purchase cost for all product on the invoice |
Profit (MONEY ) |
Total GP - gross profit for the invoice |
Adjusted (VARCHAR(32) ) |
Adjusted - indicates if the invoice was adjusted |
Taxable (VARCHAR(32) ) |
Taxable - indicates if this line is taxable |
Refund (VARCHAR(32) ) |
Refund - indicates if this is a refund |
VendorRebates (MONEY ) |
Total Vendor Rebates - total vendor rebate dollar amount |
VendorRebatesTax (MONEY ) |
Tax On Vendor Rebates - dollar amount of tax on any vendor rebates |
Coupons (MONEY ) |
Total Coupons - total dollar amount of coupons |
CouponsTax (MONEY ) |
Tax On Coupons - total dollar amount of tax collected on coupons |
YourPriceTaxableSales (MONEY ) |
Full Your Price Taxable Amount - total your price taxable amount (based on the price the product was sold for) |
ListPriceTaxableSales (MONEY ) |
Full List Price Taxable Amount - total list price taxable amount (based on the original retail price rung up at the POS based on the inventory settings, prior to giving a discount) |
GreaterOfTaxableSales (MONEY ) |
Full Greater of Your Price And Cost Taxable Amount - based on (greater of the price the product sold for, or the cost of the product) |
FlatTaxableSales (MONEY ) |
Full Flat Taxable Amount - based on the price the product was sold for |
NonTaxableSales (MONEY ) |
Tax Exempt Amount - total tax exempt amount |
TaxCollected (MONEY ) |
Total Tax Paid Amount - total dollar amount of tax paid |
TaxExemptReasonCode (VARCHAR(1) ) |
EntryType
{
"EntryTypeID": "1",
"EntryTypeDescription": "Swiped",
"Message": "Swiped"
}
| Name | Description |
|---|---|
EntryTypeID (INT ) |
Identifier |
EntryTypeDescription (VARCHAR(50) ) |
Description |
Message (NVARCHAR(MAX) ) |
Message |
CardType
{
"CardTypeID": "2",
"FullName": "Mastercard",
"Mnemonic": "MC",
"AccountNumberLength": "16",
"CvvLength": "3"
}
| Name | Description |
|---|---|
CardTypeID (INT ) |
Identifier |
FullName (VARCHAR(50) ) |
Full card name |
Mnemonic (VARCHAR(2) ) |
Card abbreviation |
AccountNumberLength (INT ) |
Length of account number |
CvvLength (INT ) |
Length of CVV number on card |
Enumerations
InvoiceType
| Id | Name |
|---|---|
| 1 | Invoice |
| 2 | Pay Off Account |
| 3 | Vendor Deposit |
| 4 | Sale Order |
| 5 | Bill Payment |
Requests
Getting the Cashout Summary Report
For more information see {{support_CashoutSummaryReport}}.
Request
GET /reports/CashOutSummaryReport?StartDate={StartDate}&StopDate={StopDate}&ForWho={ForWho}&ForWhoIDs={ForWhoIDs}&LocationType={LocationType}&LocationTypeIDs={LocationTypeIDs}&LanguageCode={LanguageCode}&Auth={Auth}&Response={Response}
Headers
Authorization: Bearer (Access Token)
(Optional) - Bearer token used for authentication. For other methods of authentication, see {{AuthenticationOptions}}Accept-Encoding: gzip
(Optional) - Compression algorithm. For other methods of compression, see {{CompressionOptions}}
URI Parameters
-
StartDate
(Required) - Date at which report will begin -
StopDate
(Required) - Date at which report will end -
ForWho
(Optional) - Identifier for a level at which to perform the report. For a complete list, see Getting Report Levels in RQ. If LocationType is provided, this value is ignored -
ForWhoIDs
(Optional) - A comma seperated list of identifiers to filter the report. For a list of identifiers, see Getting Nodes By Location Type. If LocationTypeIDs is provided, this value is ignored. To ignore filtering use -1 -
LocationType
(Optional) - A LocationType to filter the report. For a complete list, see Getting Location Types. If this value is provided, ForWho is ignored -
LocationTypeIDs
(Optional) - A comma seperated list of RQCompanyTreeNode identifiers to filter the report. For a complete list, see Getting Location Ids. To ignore filtering, use -1 or *. If this value is provided, ForWhoIDs is ignored -
LanguageCode
(Optional) - Language code, defaults to en-us. For a complete list, see Getting Language Codes -
Auth
(Optional) - Basic token used for authentication. For other methods of authentication, see {{AuthenticationOptions}} -
Response
(Optional) - Default is JSON. For other methods of response, see {{ResponseOptions}}
Example
GET /reports/CashOutSummaryReport?StartDate=1970-01-01T08:00:00.000Z&StopDate=2016-01-01T08:00:00.000Z&ForWho=4&ForWhoIDs=1&LocationType=Store&LocationTypeIDs=1,2&LanguageCode=en-us
curl -X GET "https://rqdataconnectdemo.iqmetrix.net/reports/CashOutSummaryReport?StartDate=1970-01-01T08:00:00.000Z&StopDate=2016-01-01T08:00:00.000Z&ForWho=4&ForWhoIDs=1&LocationType=Store&LocationTypeIDs=1,2&LanguageCode=en-us"
Using RestSharp;
at the top of your file.
static IRestResponse GettingTheCashoutSummaryReport()
{
var client = new RestClient("https://rqdataconnectdemo.iqmetrix.net/reports/CashOutSummaryReport?StartDate=1970-01-01T08:00:00.000Z&StopDate=2016-01-01T08:00:00.000Z&ForWho=4&ForWhoIDs=1&LocationType=Store&LocationTypeIDs=1,2&LanguageCode=en-us");
var request = new RestRequest(Method.GET);
return client.Execute(request);
}
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import java.io.IOException;
public static CloseableHttpResponse GettingTheCashoutSummaryReport() throws IOException {
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet request = new HttpGet("https://rqdataconnectdemo.iqmetrix.net/reports/CashOutSummaryReport?StartDate=1970-01-01T08:00:00.000Z&StopDate=2016-01-01T08:00:00.000Z&ForWho=4&ForWhoIDs=1&LocationType=Store&LocationTypeIDs=1,2&LanguageCode=en-us");
return httpClient.execute(request);
}
gem install rest-client
.
require 'rest-client'
response = RestClient.get 'https://rqdataconnectdemo.iqmetrix.net/reports/CashOutSummaryReport?StartDate=1970-01-01T08:00:00.000Z&StopDate=2016-01-01T08:00:00.000Z&ForWho=4&ForWhoIDs=1&LocationType=Store&LocationTypeIDs=1,2&LanguageCode=en-us', {
}
puts response
Response
Array[[cashoutsummaryreportdata](#CashOutSummaryReportData)]
HTTP 200 Content-Type: application/json
This is the default result obtained by omitting the Auth
URI parameter
[
{
"CashOutID": 13775,
"CashOutIDByStore": "84WEACA649",
"StoreName": "84 West",
"Reconciled": "No",
"StartDate": "2012-08-20T18:18:52.023",
"StopDate": "2015-02-24T13:40:33.21",
"EmployeeName1": "iQmetrix Employee",
"EmployeeUsername1": "iQmetrix.Employee",
"EmployeeName2": "iQmetrix Employee",
"EmployeeUsername2": "iQmetrix.Employee",
"PaymentName": "Cash",
"CreditCardPaymentType": "",
"PaymentReconciled": "No",
"Cashout": "",
"Reconciliation": "",
"DepositNumber": "100.00",
"ActualTotal": 1884.1,
"SystemTotal": 0,
"Skim": 0,
"Float": 0,
"DifferenceTotal": 1884.1,
"TransactionQuantity": 0,
"CashAndCheque": 1884.1,
"FloatRetained": 0,
"DepositAmount": 1884.1,
"CashInAmount": 0,
"BankDetails": ""
}
]
HTTP 200 Content-Type: application/json
This is the default result obtained by omitting the URI parameter Auth=JsonDataTable
. This response type wraps the data in a “Records” array and adds a “Schema” array, which contains information about each column in the report.
{
"Records": [
{
"CashOutID": 13775,
"CashOutIDByStore": "84WEACA649",
"StoreName": "84 West",
"Reconciled": "No",
"StartDate": "2012-08-20T18:18:52.023",
"StopDate": "2015-02-24T13:40:33.21",
"EmployeeName1": "iQmetrix Employee",
"EmployeeUsername1": "iQmetrix.Employee",
"EmployeeName2": "iQmetrix Employee",
"EmployeeUsername2": "iQmetrix.Employee",
"PaymentName": "Cash",
"CreditCardPaymentType": "",
"PaymentReconciled": "No",
"Cashout": "",
"Reconciliation": "",
"DepositNumber": "100.00",
"ActualTotal": 1884.1,
"SystemTotal": 0,
"Skim": 0,
"Float": 0,
"DifferenceTotal": 1884.1,
"TransactionQuantity": 0,
"CashAndCheque": 1884.1,
"FloatRetained": 0,
"DepositAmount": 1884.1,
"CashInAmount": 0,
"BankDetails": ""
}
],
"Schema": [
{
"Column_Name": "ColumnName",
"Type": "datatype",
"SafeType": "safetype",
"Length": 100
}
]
}
HTTP 200 Content-Type: text/xml
This result is obtained by using the URL parameter Auth=Xml
HTTP 200 Content-Type: text/xml
This result is obtained by using the URL parameter Auth=XmlDataTable
. This response type appends to the bottom of the request a summary of information about each column in the report.
HTTP 200 Content-Type: text/csv
This result is obtained by using the URL parameter Auth=Csv
CashOutID,CashOutIDByStore,StoreName,Reconciled,StartDate,StopDate,EmployeeName1,EmployeeUsername1,EmployeeName2,EmployeeUsername2,PaymentName,CreditCardPaymentType,PaymentReconciled,Cashout,Reconciliation,DepositNumber,ActualTotal,SystemTotal,Skim,Float,DifferenceTotal,TransactionQuantity,CashAndCheque,FloatRetained,DepositAmount,CashInAmount,BankDetails 13775,84WEACA649,84 West,No,2012-08-20T18:18:52.023,2015-02-24T13:40:33.21,iQmetrix Employee,iQmetrix.Employee,iQmetrix Employee,iQmetrix.Employee,Cash,,No,,,100.00,1884.1,0,0,0,1884.1,0,1884.1,0,1884.1,0,
HTTP 200 Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
This result is obtained by using the URL parameter Auth=Excel
content-disposition: attachment;filename=reportname-2016-07-11.xlsx Binary *.xlsx file
Getting the Charge Back Summary Report
For more information, see {{support_ChargeBackSummaryReport}}.
Note that this report has multiple responses, depending on the ReportPart specified.
Request
GET /reports/chargebacksummaryreport?SearchMethod={SearchMethod}&CategoryNumber={CategoryNumber}&InvoiceStartDate={InvoiceStartDate}&InvoiceStopDate={InvoiceStopDate}&ChargeBackStartDate={ChargeBackStartDate}&ChargeBackStopDate={ChargeBackStopDate}&JournalIDs={JournalIDs}&QueryPart={QueryPart}&ForWho={ForWho}&ForWhoIDs={ForWhoIDs}&LocationType={LocationType}&LocationTypeIDs={LocationTypeIDs}&ProductIdentifier={ProductIdentifier}&LanguageCode={LanguageCode}&Auth={Auth}&Response={Response}
Headers
Authorization: Bearer (Access Token)
(Optional) - Bearer token used for authentication. For other methods of authentication, see {{AuthenticationOptions}}Accept-Encoding: gzip
(Optional) - Compression algorithm. For other methods of compression, see {{CompressionOptions}}
URI Parameters
-
SearchMethod
(Required) - Acceptable values include 1 for Category, 2 for Product or 3 for Journal Number -
CategoryNumber
(Required) - Identifier for a CategoryNumber. For a complete list see Getting Category Numbers -
InvoiceStartDate
(Required) - Filter report by invoices created after this date -
InvoiceStopDate
(Required) - Filter report by invoices created before this date -
ChargeBackStartDate
(Required) - Filter report by charge backs created after this date -
ChargeBackStopDate
(Required) - Filter report by charge backs created before this date -
JournalIDs
(Required) - Filter report by Journal. Use -1 for All Journals. -
QueryPart
(Required) - See report description for a list of acceptable values -
ForWho
(Optional) - Identifier for a level at which to perform the report. For a complete list, see Getting Report Levels in RQ. If LocationType is provided, this value is ignored -
ForWhoIDs
(Optional) - A comma seperated list of identifiers to filter the report. For a list of identifiers, see Getting Nodes By Location Type. If LocationTypeIDs is provided, this value is ignored. To ignore filtering use -1 -
LocationType
(Optional) - A LocationType to filter the report. For a complete list, see Getting Location Types. If this value is provided, ForWho is ignored -
LocationTypeIDs
(Optional) - A comma seperated list of RQCompanyTreeNode identifiers to filter the report. For a complete list, see Getting Location Ids. To ignore filtering, use -1 or *. If this value is provided, ForWhoIDs is ignored -
ProductIdentifier
(Optional) - Product SKU -
LanguageCode
(Optional) - Language code, defaults to en-us. For a complete list, see Getting Language Codes -
Auth
(Optional) - Basic token used for authentication. For other methods of authentication, see {{AuthenticationOptions}} -
Response
(Optional) - Default is JSON. For other methods of response, see {{ResponseOptions}}
Example
GET /reports/chargebacksummaryreport?SearchMethod=1&CategoryNumber=10&InvoiceStartDate=1970-01-01T08:00:00.000Z&InvoiceStopDate=2016-01-01T08:00:00.000Z&ChargeBackStartDate=1970-01-01T08:00:00.000Z&ChargeBackStopDate=2016-01-01T08:00:00.000Z&JournalIDs=-1&QueryPart=1&ForWho=1&ForWhoIDs=6679&LocationType=Store&LocationTypeIDs=1,2&ProductIdentifier=ASCLMO000001&LanguageCode=en-us
curl -X GET "https://rqdataconnectdemo.iqmetrix.net/reports/chargebacksummaryreport?SearchMethod=1&CategoryNumber=10&InvoiceStartDate=1970-01-01T08:00:00.000Z&InvoiceStopDate=2016-01-01T08:00:00.000Z&ChargeBackStartDate=1970-01-01T08:00:00.000Z&ChargeBackStopDate=2016-01-01T08:00:00.000Z&JournalIDs=-1&QueryPart=1&ForWho=1&ForWhoIDs=6679&LocationType=Store&LocationTypeIDs=1,2&ProductIdentifier=ASCLMO000001&LanguageCode=en-us"
Using RestSharp;
at the top of your file.
static IRestResponse GettingTheChargeBackSummaryReport()
{
var client = new RestClient("https://rqdataconnectdemo.iqmetrix.net/reports/chargebacksummaryreport?SearchMethod=1&CategoryNumber=10&InvoiceStartDate=1970-01-01T08:00:00.000Z&InvoiceStopDate=2016-01-01T08:00:00.000Z&ChargeBackStartDate=1970-01-01T08:00:00.000Z&ChargeBackStopDate=2016-01-01T08:00:00.000Z&JournalIDs=-1&QueryPart=1&ForWho=1&ForWhoIDs=6679&LocationType=Store&LocationTypeIDs=1,2&ProductIdentifier=ASCLMO000001&LanguageCode=en-us");
var request = new RestRequest(Method.GET);
return client.Execute(request);
}
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import java.io.IOException;
public static CloseableHttpResponse GettingTheChargeBackSummaryReport() throws IOException {
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet request = new HttpGet("https://rqdataconnectdemo.iqmetrix.net/reports/chargebacksummaryreport?SearchMethod=1&CategoryNumber=10&InvoiceStartDate=1970-01-01T08:00:00.000Z&InvoiceStopDate=2016-01-01T08:00:00.000Z&ChargeBackStartDate=1970-01-01T08:00:00.000Z&ChargeBackStopDate=2016-01-01T08:00:00.000Z&JournalIDs=-1&QueryPart=1&ForWho=1&ForWhoIDs=6679&LocationType=Store&LocationTypeIDs=1,2&ProductIdentifier=ASCLMO000001&LanguageCode=en-us");
return httpClient.execute(request);
}
gem install rest-client
.
require 'rest-client'
response = RestClient.get 'https://rqdataconnectdemo.iqmetrix.net/reports/chargebacksummaryreport?SearchMethod=1&CategoryNumber=10&InvoiceStartDate=1970-01-01T08:00:00.000Z&InvoiceStopDate=2016-01-01T08:00:00.000Z&ChargeBackStartDate=1970-01-01T08:00:00.000Z&ChargeBackStopDate=2016-01-01T08:00:00.000Z&JournalIDs=-1&QueryPart=1&ForWho=1&ForWhoIDs=6679&LocationType=Store&LocationTypeIDs=1,2&ProductIdentifier=ASCLMO000001&LanguageCode=en-us', {
}
puts response
Response
Array[[chargebacksummaryreportlocationdata](#ChargeBackSummaryReportLocationData)]
HTTP 200 Content-Type: application/json
This is the default result obtained by omitting the Auth
URI parameter
[
{
"Quantity": 1,
"StoreID": 6679,
"StoreName": "100: My Network LLC - Anchorage",
"TotalValue": -100
}
]
HTTP 200 Content-Type: application/json
This is the default result obtained by omitting the URI parameter Auth=JsonDataTable
. This response type wraps the data in a “Records” array and adds a “Schema” array, which contains information about each column in the report.
{
"Records": [
{
"Quantity": 1,
"StoreID": 6679,
"StoreName": "100: My Network LLC - Anchorage",
"TotalValue": -100
}
],
"Schema": [
{
"Column_Name": "ColumnName",
"Type": "datatype",
"SafeType": "safetype",
"Length": 100
}
]
}
HTTP 200 Content-Type: text/xml
This result is obtained by using the URL parameter Auth=Xml
HTTP 200 Content-Type: text/xml
This result is obtained by using the URL parameter Auth=XmlDataTable
. This response type appends to the bottom of the request a summary of information about each column in the report.
HTTP 200 Content-Type: text/csv
This result is obtained by using the URL parameter Auth=Csv
Quantity,StoreID,StoreName,TotalValue 1,6679,100: My Network LLC - Anchorage,-100
HTTP 200 Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
This result is obtained by using the URL parameter Auth=Excel
content-disposition: attachment;filename=reportname-2016-07-11.xlsx Binary *.xlsx file
Getting the Outstanding Gift Cards Report
For more information see {{support_OutstandingGiftCardsReport}}.
Request
GET /reports/outstandinggiftcardsreport?DateAsOf={DateAsOf}&CardType={CardType}&CustomerID={CustomerID}&ForWho={ForWho}&ForWhoIDs={ForWhoIDs}&LocationType={LocationType}&LocationTypeIDs={LocationTypeIDs}&LanguageCode={LanguageCode}&Auth={Auth}&Response={Response}
Headers
Authorization: Bearer (Access Token)
(Optional) - Bearer token used for authentication. For other methods of authentication, see {{AuthenticationOptions}}Accept-Encoding: gzip
(Optional) - Compression algorithm. For other methods of compression, see {{CompressionOptions}}
URI Parameters
-
DateAsOf
(Required) - Date at which to begin report -
CustomerID
(Required) - Identifier for a customer in RQ. Use -1 for All Customers. For a complete list, see the CustomerID property using the request Getting the Customer List Report -
CardType
(Required) - Acceptable values include -1 for All, 1 for Fixed Pricing or 2 for Ranged Pricing -
ForWho
(Optional) - Identifier for a level at which to perform the report. For a complete list, see Getting Report Levels in RQ. If LocationType is provided, this value is ignored -
ForWhoIDs
(Optional) - A comma seperated list of identifiers to filter the report. For a list of identifiers, see Getting Nodes By Location Type. If LocationTypeIDs is provided, this value is ignored. To ignore filtering use -1 -
LocationType
(Optional) - A LocationType to filter the report. For a complete list, see Getting Location Types. If this value is provided, ForWho is ignored -
LocationTypeIDs
(Optional) - A comma seperated list of RQCompanyTreeNode identifiers to filter the report. For a complete list, see Getting Location Ids. To ignore filtering, use -1 or *. If this value is provided, ForWhoIDs is ignored -
LanguageCode
(Optional) - Language code, defaults to en-us. For a complete list, see Getting Language Codes -
Auth
(Optional) - Basic token used for authentication. For other methods of authentication, see {{AuthenticationOptions}} -
Response
(Optional) - Default is JSON. For other methods of response, see {{ResponseOptions}}
Example
GET /reports/outstandinggiftcardsreport?DateAsOf=2016-11-23T21:56:38.000Z&CardType=-1&CustomerID=-1&ForWho=1&ForWhoIDs=6679&LocationType=Store&LocationTypeIDs=1,2&LanguageCode=en-us
curl -X GET "https://rqdataconnectdemo.iqmetrix.net/reports/outstandinggiftcardsreport?DateAsOf=2016-11-23T21:56:38.000Z&CardType=-1&CustomerID=-1&ForWho=1&ForWhoIDs=6679&LocationType=Store&LocationTypeIDs=1,2&LanguageCode=en-us"
Using RestSharp;
at the top of your file.
static IRestResponse GettingTheOutstandingGiftCardsReport()
{
var client = new RestClient("https://rqdataconnectdemo.iqmetrix.net/reports/outstandinggiftcardsreport?DateAsOf=2016-11-23T21:56:38.000Z&CardType=-1&CustomerID=-1&ForWho=1&ForWhoIDs=6679&LocationType=Store&LocationTypeIDs=1,2&LanguageCode=en-us");
var request = new RestRequest(Method.GET);
return client.Execute(request);
}
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import java.io.IOException;
public static CloseableHttpResponse GettingTheOutstandingGiftCardsReport() throws IOException {
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet request = new HttpGet("https://rqdataconnectdemo.iqmetrix.net/reports/outstandinggiftcardsreport?DateAsOf=2016-11-23T21:56:38.000Z&CardType=-1&CustomerID=-1&ForWho=1&ForWhoIDs=6679&LocationType=Store&LocationTypeIDs=1,2&LanguageCode=en-us");
return httpClient.execute(request);
}
gem install rest-client
.
require 'rest-client'
response = RestClient.get 'https://rqdataconnectdemo.iqmetrix.net/reports/outstandinggiftcardsreport?DateAsOf=2016-11-23T21:56:38.000Z&CardType=-1&CustomerID=-1&ForWho=1&ForWhoIDs=6679&LocationType=Store&LocationTypeIDs=1,2&LanguageCode=en-us', {
}
puts response
Response
Array[[outstandinggiftcardsreportdata](#OutstandingGiftCardsReportData)]
HTTP 200 Content-Type: application/json
This is the default result obtained by omitting the Auth
URI parameter
[
{
"SerialNumber": "7777085179051274",
"DateSold": "2016-10-14T13:05:14.133",
"CustomerName": "Bill Smith",
"LastRedeemedGMT": "2016-10-14T19:30:37.063",
"LastRedeemed": "2016-10-14T13:30:37.063",
"RedeemedAt": "84 West",
"RedeemedBy": "Bill Smith",
"Balance": 77.52,
"SaleInvoiceID": 634,
"InvoiceIDByStore": "MIL44AH9",
"ProductName": "iTunes 20",
"ProductSKU": "ASBTHT000018",
"InvoiceSerialMask": 6
}
]
HTTP 200 Content-Type: application/json
This is the default result obtained by omitting the URI parameter Auth=JsonDataTable
. This response type wraps the data in a “Records” array and adds a “Schema” array, which contains information about each column in the report.
{
"Records": [
{
"SerialNumber": "7777085179051274",
"DateSold": "2016-10-14T13:05:14.133",
"CustomerName": "Bill Smith",
"LastRedeemedGMT": "2016-10-14T19:30:37.063",
"LastRedeemed": "2016-10-14T13:30:37.063",
"RedeemedAt": "84 West",
"RedeemedBy": "Bill Smith",
"Balance": 77.52,
"SaleInvoiceID": 634,
"InvoiceIDByStore": "MIL44AH9",
"ProductName": "iTunes 20",
"ProductSKU": "ASBTHT000018",
"InvoiceSerialMask": 6
}
],
"Schema": [
{
"Column_Name": "ColumnName",
"Type": "datatype",
"SafeType": "safetype",
"Length": 100
}
]
}
HTTP 200 Content-Type: text/xml
This result is obtained by using the URL parameter Auth=Xml
HTTP 200 Content-Type: text/xml
This result is obtained by using the URL parameter Auth=XmlDataTable
. This response type appends to the bottom of the request a summary of information about each column in the report.
HTTP 200 Content-Type: text/csv
This result is obtained by using the URL parameter Auth=Csv
SerialNumber,DateSold,CustomerName,LastRedeemedGMT,LastRedeemed,RedeemedAt,RedeemedBy,Balance,SaleInvoiceID,InvoiceIDByStore,ProductName,ProductSKU,InvoiceSerialMask<PHONE_NUMBER>051274,2016-10-14T13:05:14.133,Bill Smith,2016-10-14T19:30:37.063,2016-10-14T13:30:37.063,84 West,Bill Smith,77.52,634,MIL44AH9,iTunes 20,ASBTHT000018,6
HTTP 200 Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
This result is obtained by using the URL parameter Auth=Excel
content-disposition: attachment;filename=reportname-2016-07-11.xlsx Binary *.xlsx file
Getting the Payment Integration Transaction Report
Request
GET /reports/paymentintegrationtransactionbydatereport?StartDate={StartDate}&StopDate={StopDate}&LocationEntityIDs={LocationEntityIDs}&Auth={Auth}&Response={Response}
Headers
Authorization: Bearer (Access Token)
(Optional) - Bearer token used for authentication. For other methods of authentication, see {{AuthenticationOptions}}Accept-Encoding: gzip
(Optional) - Compression algorithm. For other methods of compression, see {{CompressionOptions}}
URI Parameters
-
StartDate
(Required) - Date at which report will begin -
StopDate
(Required) - Date at which report will end -
LocationEntityIDs
(Optional) - Comma seperated list of identifiers for Locations in Entity Store. To determine the LocationEntityId for a store in RQ, see Getting A List of Stores in RQ -
Auth
(Optional) - Basic token used for authentication. For other methods of authentication, see {{AuthenticationOptions}} -
Response
(Optional) - Default is JSON. For other methods of response, see {{ResponseOptions}}
Example
GET /reports/paymentintegrationtransactionbydatereport?StartDate=1970-01-01T08:00:00.000Z&StopDate=2016-01-01T08:00:00.000Z&LocationEntityIDs=33484,33496,33490,33492
curl -X GET "https://rqdataconnectdemo.iqmetrix.net/reports/paymentintegrationtransactionbydatereport?StartDate=1970-01-01T08:00:00.000Z&StopDate=2016-01-01T08:00:00.000Z&LocationEntityIDs=33484,33496,33490,33492"
Using RestSharp;
at the top of your file.
static IRestResponse GettingThePaymentIntegrationTransactionReport()
{
var client = new RestClient("https://rqdataconnectdemo.iqmetrix.net/reports/paymentintegrationtransactionbydatereport?StartDate=1970-01-01T08:00:00.000Z&StopDate=2016-01-01T08:00:00.000Z&LocationEntityIDs=33484,33496,33490,33492");
var request = new RestRequest(Method.GET);
return client.Execute(request);
}
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import java.io.IOException;
public static CloseableHttpResponse GettingThePaymentIntegrationTransactionReport() throws IOException {
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet request = new HttpGet("https://rqdataconnectdemo.iqmetrix.net/reports/paymentintegrationtransactionbydatereport?StartDate=1970-01-01T08:00:00.000Z&StopDate=2016-01-01T08:00:00.000Z&LocationEntityIDs=33484,33496,33490,33492");
return httpClient.execute(request);
}
gem install rest-client
.
require 'rest-client'
response = RestClient.get 'https://rqdataconnectdemo.iqmetrix.net/reports/paymentintegrationtransactionbydatereport?StartDate=1970-01-01T08:00:00.000Z&StopDate=2016-01-01T08:00:00.000Z&LocationEntityIDs=33484,33496,33490,33492', {
}
puts response
Response
Array[[paymentintegrationtransactionreportdata](#PaymentIntegrationTransactionReportData)]
HTTP 200 Content-Type: application/json
This is the default result obtained by omitting the Auth
URI parameter
[
{
"InvoiceID": 122337,
"StoreInvoiceID": "84WEAIN5981",
"CustomerName": "Alice Kim",
"EmployeeName": "Sam Smith",
"InvoiceTypeID": 1,
"InvoiceType": "Invoice",
"LocationEntityID": 14192,
"AuthType": "Sale",
"TransType": "Credit",
"CardTypeID": 2,
"CardType": "Visa",
"Amount": 4,
"EntryTypeID": 2,
"EntryType": "Swiped",
"MerchantNumber": "1111",
"TerminalNumber": "90572837",
"AuthDateUTC": "2015-01-28T16:31:58.877",
"AuthorizationNumber": "ABS251",
"CardholderName": "John Test",
"CardBin": "545454",
"LastFourDigits": "5454",
"TransactionResult": "Approved",
"ReversedVoided": 0,
"ReversedVoidedReason": "Auto Void from Incomplete Invoice",
"VoidedByEmployeeEntityID": "512",
"VoidedDate": "2015-01-30T16:31:58.877"
}
]
HTTP 200 Content-Type: application/json
This is the default result obtained by omitting the URI parameter Auth=JsonDataTable
. This response type wraps the data in a “Records” array and adds a “Schema” array, which contains information about each column in the report.
{
"Records": [
{
"InvoiceID": 122337,
"StoreInvoiceID": "84WEAIN5981",
"CustomerName": "Alice Kim",
"EmployeeName": "Sam Smith",
"InvoiceTypeID": 1,
"InvoiceType": "Invoice",
"LocationEntityID": 14192,
"AuthType": "Sale",
"TransType": "Credit",
"CardTypeID": 2,
"CardType": "Visa",
"Amount": 4,
"EntryTypeID": 2,
"EntryType": "Swiped",
"MerchantNumber": "1111",
"TerminalNumber": "90572837",
"AuthDateUTC": "2015-01-28T16:31:58.877",
"AuthorizationNumber": "ABS251",
"CardholderName": "John Test",
"CardBin": "545454",
"LastFourDigits": "5454",
"TransactionResult": "Approved",
"ReversedVoided": 0,
"ReversedVoidedReason": "Auto Void from Incomplete Invoice",
"VoidedByEmployeeEntityID": "512",
"VoidedDate": "2015-01-30T16:31:58.877"
}
],
"Schema": [
{
"Column_Name": "ColumnName",
"Type": "datatype",
"SafeType": "safetype",
"Length": 100
}
]
}
HTTP 200 Content-Type: text/xml
This result is obtained by using the URL parameter Auth=Xml
HTTP 200 Content-Type: text/xml
This result is obtained by using the URL parameter Auth=XmlDataTable
. This response type appends to the bottom of the request a summary of information about each column in the report.
HTTP 200 Content-Type: text/csv
This result is obtained by using the URL parameter Auth=Csv
InvoiceID,StoreInvoiceID,CustomerName,EmployeeName,InvoiceTypeID,InvoiceType,LocationEntityID,AuthType,TransType,CardTypeID,CardType,Amount,EntryTypeID,EntryType,MerchantNumber,TerminalNumber,AuthDateUTC,AuthorizationNumber,CardholderName,CardBin,LastFourDigits,TransactionResult,ReversedVoided,ReversedVoidedReason,VoidedByEmployeeEntityID,VoidedDate 122337,84WEAIN5981,Alice Kim,Sam Smith,1,Invoice,14192,Sale,Credit,2,Visa,4,2,Swiped,1111,90572837,2015-01-28T16:31:58.877,ABS251,John Test,545454,5454,Approved,0,Auto Void from Incomplete Invoice,512,2015-01-30T16:31:58.877
HTTP 200 Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
This result is obtained by using the URL parameter Auth=Excel
content-disposition: attachment;filename=reportname-2016-07-11.xlsx Binary *.xlsx file
Getting the Tax Details Report
For more information, see {{support_TaxDetailsReport}}.
Request
GET /reports/taxdetailsreport?StartDate={StartDate}&StopDate={StopDate}&ForWho={ForWho}&ForWhoIDs={ForWhoIDs}&LocationType={LocationType}&LocationTypeIDs={LocationTypeIDs}&LanguageCode={LanguageCode}
Headers
Authorization: Bearer (Access Token)
(Optional) - Bearer token used for authentication. For other methods of authentication, see {{AuthenticationOptions}}Accept-Encoding: gzip
(Optional) - Compression algorithm. For other methods of compression, see {{CompressionOptions}}
URI Parameters
-
StartDate
(Required) - Date at which report will begin -
StopDate
(Required) - Date at which report will end -
ForWho
(Optional) - Identifier for a level at which to perform the report. For a complete list, see Getting Report Levels in RQ. If LocationType is provided, this value is ignored -
ForWhoIDs
(Optional) - A comma seperated list of identifiers to filter the report. For a list of identifiers, see Getting Nodes By Location Type. If LocationTypeIDs is provided, this value is ignored. To ignore filtering use -1 -
LocationType
(Optional) - A LocationType to filter the report. For a complete list, see Getting Location Types. If this value is provided, ForWho is ignored -
LocationTypeIDs
(Optional) - A comma seperated list of RQCompanyTreeNode identifiers to filter the report. For a complete list, see Getting Location Ids. To ignore filtering, use -1 or *. If this value is provided, ForWhoIDs is ignored -
LanguageCode
(Optional) - Language code, defaults to en-us. For a complete list, see Getting Language Codes
Example
GET /reports/taxdetailsreport?StartDate=1970-01-01T08:00:00.000Z&StopDate=2016-01-01T08:00:00.000Z&ForWho=1&ForWhoIDs=6679&LocationType=Store&LocationTypeIDs=1,2&LanguageCode=en-us
curl -X GET "https://rqdataconnectdemo.iqmetrix.net/reports/taxdetailsreport?StartDate=1970-01-01T08:00:00.000Z&StopDate=2016-01-01T08:00:00.000Z&ForWho=1&ForWhoIDs=6679&LocationType=Store&LocationTypeIDs=1,2&LanguageCode=en-us"
Using RestSharp;
at the top of your file.
static IRestResponse GettingTheTaxDetailsReport()
{
var client = new RestClient("https://rqdataconnectdemo.iqmetrix.net/reports/taxdetailsreport?StartDate=1970-01-01T08:00:00.000Z&StopDate=2016-01-01T08:00:00.000Z&ForWho=1&ForWhoIDs=6679&LocationType=Store&LocationTypeIDs=1,2&LanguageCode=en-us");
var request = new RestRequest(Method.GET);
return client.Execute(request);
}
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import java.io.IOException;
public static CloseableHttpResponse GettingTheTaxDetailsReport() throws IOException {
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet request = new HttpGet("https://rqdataconnectdemo.iqmetrix.net/reports/taxdetailsreport?StartDate=1970-01-01T08:00:00.000Z&StopDate=2016-01-01T08:00:00.000Z&ForWho=1&ForWhoIDs=6679&LocationType=Store&LocationTypeIDs=1,2&LanguageCode=en-us");
return httpClient.execute(request);
}
gem install rest-client
.
require 'rest-client'
response = RestClient.get 'https://rqdataconnectdemo.iqmetrix.net/reports/taxdetailsreport?StartDate=1970-01-01T08:00:00.000Z&StopDate=2016-01-01T08:00:00.000Z&ForWho=1&ForWhoIDs=6679&LocationType=Store&LocationTypeIDs=1,2&LanguageCode=en-us', {
}
puts response
Response
Array[[taxdetailsreportdata](#TaxDetailsReportData)]
HTTP 200 Content-Type: application/json
This is the default result obtained by omitting the Auth
URI parameter
[
{
"DateCreated": "2015-12-31T12:35:07.05",
"SaleInvoiceID": 166519,
"InvoiceIDByStore": "MIL44AH9",
"TenderedBy": "John Test",
"TenderedAt": "Cornwall",
"CustomerName": "Alice Smith",
"Comments": "Return",
"Invoiced": -910.94,
"Sales": -910.94,
"Cost": -405.67,
"Profit": -505.27,
"Adjusted": "No",
"Taxable": "Yes",
"Refund": "Yes",
"VendorRebates": 0,
"VendorRebatesTax": 0,
"Coupons": 0,
"CouponsTax": 0,
"YourPriceTaxableSales": -910.94,
"ListPriceTaxableSales": 0,
"GreaterOfTaxableSales": -69.94,
"FlatTaxableSales": 0,
"NonTaxableSales": 0,
"TaxCollected": -59.79,
"TaxExemptReasonCode": ""
}
]
HTTP 200 Content-Type: application/json
This is the default result obtained by omitting the URI parameter Auth=JsonDataTable
. This response type wraps the data in a “Records” array and adds a “Schema” array, which contains information about each column in the report.
{
"Records": [
{
"DateCreated": "2015-12-31T12:35:07.05",
"SaleInvoiceID": 166519,
"InvoiceIDByStore": "MIL44AH9",
"TenderedBy": "John Test",
"TenderedAt": "Cornwall",
"CustomerName": "Alice Smith",
"Comments": "Return",
"Invoiced": -910.94,
"Sales": -910.94,
"Cost": -405.67,
"Profit": -505.27,
"Adjusted": "No",
"Taxable": "Yes",
"Refund": "Yes",
"VendorRebates": 0,
"VendorRebatesTax": 0,
"Coupons": 0,
"CouponsTax": 0,
"YourPriceTaxableSales": -910.94,
"ListPriceTaxableSales": 0,
"GreaterOfTaxableSales": -69.94,
"FlatTaxableSales": 0,
"NonTaxableSales": 0,
"TaxCollected": -59.79,
"TaxExemptReasonCode": ""
}
],
"Schema": [
{
"Column_Name": "ColumnName",
"Type": "datatype",
"SafeType": "safetype",
"Length": 100
}
]
}
HTTP 200 Content-Type: text/xml
This result is obtained by using the URL parameter Auth=Xml
HTTP 200 Content-Type: text/xml
This result is obtained by using the URL parameter Auth=XmlDataTable
. This response type appends to the bottom of the request a summary of information about each column in the report.
HTTP 200 Content-Type: text/csv
This result is obtained by using the URL parameter Auth=Csv
DateCreated,SaleInvoiceID,InvoiceIDByStore,TenderedBy,TenderedAt,CustomerName,Comments,Invoiced,Sales,Cost,Profit,Adjusted,Taxable,Refund,VendorRebates,VendorRebatesTax,Coupons,CouponsTax,YourPriceTaxableSales,ListPriceTaxableSales,GreaterOfTaxableSales,FlatTaxableSales,NonTaxableSales,TaxCollected,TaxExemptReasonCode 2015-12-31T12:35:07.05,166519,MIL44AH9,John Test,Cornwall,Alice Smith,Return,-910.94,-910.94,-405.67,-505.27,No,Yes,Yes,0,0,0,0,-910.94,0,-69.94,0,0,-59.79,
HTTP 200 Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
This result is obtained by using the URL parameter Auth=Excel
content-disposition: attachment;filename=reportname-2016-07-11.xlsx Binary *.xlsx file
Getting Entry Types
Request
GET /lists/entrytypes?LanguageCode={LanguageCode}
Headers
Authorization: Bearer (Access Token)
(Optional) - Bearer token used for authentication. For other methods of authentication, see {{AuthenticationOptions}}Accept-Encoding: gzip
(Optional) - Compression algorithm. For other methods of compression, see {{CompressionOptions}}
URI Parameters
-
LanguageCode
(Optional) - Language code, defaults to en-us. For a complete list, see Getting Language Codes
Example
GET /lists/entrytypes?LanguageCode=en-us
curl -X GET "https://rqdataconnectdemo.iqmetrix.net/lists/entrytypes?LanguageCode=en-us"
Using RestSharp;
at the top of your file.
static IRestResponse GettingEntryTypes()
{
var client = new RestClient("https://rqdataconnectdemo.iqmetrix.net/lists/entrytypes?LanguageCode=en-us");
var request = new RestRequest(Method.GET);
return client.Execute(request);
}
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import java.io.IOException;
public static CloseableHttpResponse GettingEntryTypes() throws IOException {
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet request = new HttpGet("https://rqdataconnectdemo.iqmetrix.net/lists/entrytypes?LanguageCode=en-us");
return httpClient.execute(request);
}
gem install rest-client
.
require 'rest-client'
response = RestClient.get 'https://rqdataconnectdemo.iqmetrix.net/lists/entrytypes?LanguageCode=en-us', {
}
puts response
Response
Array[[entrytype](#EntryType)]
HTTP 200 Content-Type: application/json
This is the default result obtained by omitting the Auth
URI parameter
[
{
"EntryTypeID": 1,
"EntryTypeDescription": "Swiped",
"Message": "Swiped"
}
]
HTTP 200 Content-Type: application/json
This is the default result obtained by omitting the URI parameter Auth=JsonDataTable
. This response type wraps the data in a “Records” array and adds a “Schema” array, which contains information about each column in the report.
{
"Records": [
{
"EntryTypeID": 1,
"EntryTypeDescription": "Swiped",
"Message": "Swiped"
}
],
"Schema": [
{
"Column_Name": "ColumnName",
"Type": "datatype",
"SafeType": "safetype",
"Length": 100
}
]
}
HTTP 200 Content-Type: text/xml
This result is obtained by using the URL parameter Auth=Xml
HTTP 200 Content-Type: text/xml
This result is obtained by using the URL parameter Auth=XmlDataTable
. This response type appends to the bottom of the request a summary of information about each column in the report.
HTTP 200 Content-Type: text/csv
This result is obtained by using the URL parameter Auth=Csv
EntryTypeID,EntryTypeDescription,Message 1,Swiped,Swiped
HTTP 200 Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
This result is obtained by using the URL parameter Auth=Excel
content-disposition: attachment;filename=reportname-2016-07-11.xlsx Binary *.xlsx file
Getting Card Types
Request
GET /lists/cardtypes
Headers
Authorization: Bearer (Access Token)
(Optional) - Bearer token used for authentication. For other methods of authentication, see {{AuthenticationOptions}}Accept-Encoding: gzip
(Optional) - Compression algorithm. For other methods of compression, see {{CompressionOptions}}
Example
GET /lists/cardtypes
curl -X GET "https://rqdataconnectdemo.iqmetrix.net/lists/cardtypes"
Using RestSharp;
at the top of your file.
static IRestResponse GettingCardTypes()
{
var client = new RestClient("https://rqdataconnectdemo.iqmetrix.net/lists/cardtypes");
var request = new RestRequest(Method.GET);
return client.Execute(request);
}
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import java.io.IOException;
public static CloseableHttpResponse GettingCardTypes() throws IOException {
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet request = new HttpGet("https://rqdataconnectdemo.iqmetrix.net/lists/cardtypes");
return httpClient.execute(request);
}
gem install rest-client
.
require 'rest-client'
response = RestClient.get 'https://rqdataconnectdemo.iqmetrix.net/lists/cardtypes', {
}
puts response
Response
Array[[cardtype](#CardType)]
HTTP 200 Content-Type: application/json
This is the default result obtained by omitting the Auth
URI parameter
[
{
"CardTypeID": 2,
"FullName": "Mastercard",
"Mnemonic": "MC",
"AccountNumberLength": 16,
"CvvLength": 3
}
]
HTTP 200 Content-Type: application/json
This is the default result obtained by omitting the URI parameter Auth=JsonDataTable
. This response type wraps the data in a “Records” array and adds a “Schema” array, which contains information about each column in the report.
{
"Records": [
{
"CardTypeID": 2,
"FullName": "Mastercard",
"Mnemonic": "MC",
"AccountNumberLength": 16,
"CvvLength": 3
}
],
"Schema": [
{
"Column_Name": "ColumnName",
"Type": "datatype",
"SafeType": "safetype",
"Length": 100
}
]
}
HTTP 200 Content-Type: text/xml
This result is obtained by using the URL parameter Auth=Xml
HTTP 200 Content-Type: text/xml
This result is obtained by using the URL parameter Auth=XmlDataTable
. This response type appends to the bottom of the request a summary of information about each column in the report.
HTTP 200 Content-Type: text/csv
This result is obtained by using the URL parameter Auth=Csv
CardTypeID,FullName,Mnemonic,AccountNumberLength,CvvLength 2,Mastercard,MC,16,3
HTTP 200 Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
This result is obtained by using the URL parameter Auth=Excel
content-disposition: attachment;filename=reportname-2016-07-11.xlsx Binary *.xlsx file
Errors
| HTTP Status Code | Description | How to Resolve |
|---|---|---|
HTTP 400 |
Bad Request |
Ensure request body is formatted properly |
HTTP 401 |
Tokan is invalid |
Ensure Access Token is valid and has not expired |
HTTP 403 |
Unauthorized |
Ensure Access Token is valid and user has appropriate security |
HTTP 404 |
Not Found |
Ensure URI is valid |
HTTP 429 |
Too Many Requests |
See Rate Limiting |
HTTP 500 |
Unexpected Error |
See Message in response for more information |


#include <btTriangleInfoMap.h>
Public Member Functions | |
| btTriangleInfoMap () | |
| used to determine if a triangle is degenerate (length squared of cross product of 2 triangle edges < threshold) | |
| virtual const char * | serialize (void *dataBuffer, btSerializer *serializer) const |
| fills the dataBuffer and returns the struct name (and 0 on failure) | |
| void | deSerialize (struct btTriangleInfoMapData &data) |
| fills the dataBuffer and returns the struct name (and 0 on failure) | |
Public Attributes | |
| btScalar | m_planarEpsilon |
| used to determine if an edge or contact normal is convex, using the dot product | |
| btScalar | m_equalVertexThreshold |
| used to determine if a triangle edge is planar with zero angle | |
| btScalar | m_edgeDistanceThreshold |
| used to compute connectivity: if the distance between two vertices is smaller than m_equalVertexThreshold, they are considered to be 'shared' | |
| btScalar | m_maxEdgeAngleThreshold |
| used to determine edge contacts: if the closest distance between a contact point and an edge is smaller than this distance threshold it is considered to "hit the edge" |
Definition at line 58 of file btTriangleInfoMap.h.


--- layout: post title: The Mobile is the PC of the Developing World date: 2005-11-21 00:00:00 categories: digital-media mobile ---
In the developing world, " the mobile phone combines the functionality of the telephone and the computer, for many people. This is just one of the driving factors that will see the mobile replace the computer as the primary device that most people use most of the time to access the mobile internet - including us in the West, by the way."


I'm a passionate developer with 6+ years of Software Development experience. I always believe in power of coding and adaptability to learn new technologies in this modern world. I'm enthusiastic about problem solving. My prior experience of building software for corporate clients and working in a team shaped me as a good developer.
Download Resumé


When i was a boy, my father told me
never to recommennd a church or a woman
to anyone. And i have found it wise to
recommend a restaraunt either. Something
always goes wrong with the cheese souffle.
There is something profoundly satisfying
about sharing a meal. Eating together,
breaking bread together, is one of the
oldest and most fundamentally unifying of
human experinces.
There is something
profoundly
satisfying
about sharing a meal.
There is something
profoundly
satisfying
about sharing a meal.
There is something
profoundly
satisfying
about sharing a meal.
There is something
profoundly
satisfying
about sharing a meal.
There is something
profoundly
satisfying
about sharing a meal.
There is something
profoundly
satisfying
about sharing a meal.
There is something profoundly satisfying
about sharing a meal. Eating together,
breaking bread together, is one of the
oldest and most fundamentaly unifying of
human experiences.
There is something profoundly satisfying
about sharing a meal. Eating together,
breaking bread together, is one of the
oldest and most fundamentally unifying of
human experinces.
Sunday-Thursday
4-10pm
Friday-Saturday
4-10pm
(423)266-1121
801 chestnut street
chattanooga TN 37402
FOLLOW
GET THE LATEST NEWS.SIGNUP
FOR OUR NEWSLETTERS
@Website deisgn


Pre-conference activities
9:00 - 18:00 (estimate)
xx:xx - Late at night Dinner
Associate sprints
Based on the experience from last year's PyLadies CPython sprint we will try arrange a couple loosely coupled sprints that aren't officially part of the conference but where all conference participants are welcome. To suggest venues, topics or sprint organizers please contact hallitus@python.fi


May 1, 2017| Real Dynamics Team
In this third installment of a three-part series (Part 1, Part 2), we will summarize more new features in Financials in Dynamics 365 for Operations.
This time, we will look into:
Expense management seems to have gotten a lot of attention. Word on the street is, as Microsoft itself uses the Dynamics AX platform for expense reports, productivity improvements and enhancements for better control in this area are being looked at closely.
Copy an expense report: In prior functionality, the ability to copy an existing expense line within the same expense report existed. This functionality is now extended to allow users to copy the entire expense report and all the associated non-credit-card expenses to a new expense report. Credit card transactions can be added to the expense report when they show up in the credit card statement. Itemizations and attached receipts will not be copied and need to be entered again.
Bulk-edit expenses: You can multi-select credit card expense lines and make updates like adding them to the expense report, changing category or the project.
Create future-dated expenses: When you copy an expense report, you can put future dates on the transactions. However, you cannot submit future-dated expenses for approval. The Copy functionality is great to create future date expenses. It would be great if Microsoft were to add functionality to setup recurring expense reports too.
Ease of attaching receipts to multiple expense lines: Now you don't have to upload the same receipt for each expense line it relates to; you can attach the receipt on multiple lines of the expense report. Also, you can attach a previously uploaded receipt to another expense line in the same expense report.
Create and maintain expense not attached to an expense report: Expenses can be created and maintained (e.g., attach receipts, itemize, assign guests) without first having to create an expense report. One or more expenses can be selected and added to a new expense report to submit for approval.
Define a multi-level approval workflow for expense: Employees can now enter the interim approver(s) when creating an expense report. This workflow will be helpful when a project manager needs to approve the expense report prior to routing it to the employee's supervisor.
Credit card transactions for terminated employees: It is very common to have transactions pending on a terminated employee's card. Terminated employees will no longer have access to corporate systems including the expense portal. In such cases, credit card transactions will still be imported and available in the credit card transactions form, rather than failing import. Such transactions can be then assigned to valid employee to file the expense report.
Change the expense credit card information for pending and past employees: You can define credit card information for pending workers and past workers. This enhancement allows you to define credit card info on a pending employee prior to their joining.
Change the expense credit card information for pending and past employees: You can define credit card information for pending workers and past workers. This enhancement allows you to define credit card info on a pending employee prior to their joining.
Change the exchange rate for credit card transactions: You can now set a parameter in the expense management parameters page to allow employees to override system exchange rate for credit card transactions.
Set up anti-corruption attestation for expenses: When employees have business with government officials, some expenses related to that business may be perceived as bribery. You can now set up an anti-corruption attestation that is displayed for selected expense categories, such as meals and gifts. Employees must acknowledge that the anti-corruption attestation that meets criteria defined by your organization's policies prior to submitting for approval.
Prevent manual entry of specific expense category expenses: An expense category can be set up such that a transaction category cannot be changed on an existing transaction, and which prevents manual entry of transactions. An example is a fee for late payment of a credit card, if corporate policy disallows employees from expensing credit card fees.
Configure expense taxes for a state/province: In some countries and regions like Canada, expenses incurred in a different state or province might be subject to different sales tax rates for recovery. You can now set up the expense tax configurations at the state/province level, not just at the country/region level. If you leave the State/Province field blank on the Tax configuration page, the sales tax group applies to all states and provinces for the specified country or region.
Set up expense credit card types: You can now create credit card types, such as Visa, MasterCard, or AMEX, to use with Expense management. This page is in the Setup area, in the Calculations and codes section. This was just a table with no form for users in prior releases.
Key enhancements that will help customers in this area:
What's coming in BI for expense management
Expense management Power BI reports will let managers and supervisors manage their expenditure budgets. By focusing on exceptions and outliers, these reports will help you to quickly take action when and where needed.
You will be able to identify regular expenses and patterns by employees and business units, reduce waste, and negotiate better contracts with your suppliers and service providers for recurring expenses. This means that you can identify the numbers and patterns of expenses as they go through the various stages of processes, which will let you streamline your expense processes by removing bottlenecks and delays.
Similar to other areas, improvements in cash and bank management are focused on productivity gains for multi-company environments.
Bank statement import across companies: These enhancements will help customers who get consolidated bank statements across all legal entities to process them in one go, rather than having to process statements in each entity. You can also automatically run matching rules against all imported statements in each company.
Bank management workspace: A new bank management workspace will provide better visibility into bank accounts and balances for your legal entities. Current and pending balances are immediately available for all accounts, with the ability to drill back from the balances into the detailed transaction vouchers. You can also see the historical balance data for each bank account, or summarized for all bank accounts in the company, in both short- and long-term views. There is increased insight into bank account reconciliation, with last reconciled dates reported for each bank account as well as an indication of reconciliations in progress.
It was great to present with Sakata Seed at AXUG Summit about how the company uses Dynamics AX for Budget planning, (for more info please see slide deck).
Few enhancements are being shipped as part the release for budgeting, but the following two are significant.
Budget planning: Justification functionality was not shipped with the initial release of AX7 (It was available in AX 2012 R3) and is now released in the fall update. You can use justification documents to support your budgeting requests and provide additional information such as details of conference, PO or write-up about the overall need for additional head count.
Basic budgeting: Budget exactly how you want by choosing the detail level to track your budget, and take advantage of your existing advanced rules that have been configured. Allow advanced rules in the budgeting process to provide extra budget tracking capabilities by financial dimensions.
A key item on the roadmap is the ability to retain supporting information in the budget plan Excel template (e.g. calculations or additional sheets added to the budget plan worksheet).
A key item asked for by the community is the ability to budget by attributes like customer/vendor/product without having to make them Financial dimensions.
Management Reporter continues to be the financial reporting tool with Dynamics AX. User experience is more seamless while using it from Dynamics AX, however, financial reports are still delivered through Management Reporter.
Some enhancements to financial reporting follow.
Microsoft is making significant investments in reporting with the help of Power BI. Expect several more reports that will be helpful across the financial functions delivered through Power BI in the upcoming release.
One of the key areas being worked on is cash flow analysis Power BI reports. This will provide visibility into your cash flow and help analyze future cash inflows and outflows with the cash flow calendar. This means that you can analyze cash inflows from expected payments; and analyze flows by legal entity, financial dimension, currency, and bank account, to get a better understanding of surpluses and shortfalls. Overall, you can get a temporal view of gaps and address them proactively.
If you have any question contact us on<EMAIL_ADDRESS>September 1, 2017| Real Dynamics Team
August 1, 2017| Real Dynamics Team
July 1, 2017| Real Dynamics Team
June 1, 2017| Real Dynamics Team
April 1, 2017| Real Dynamics Team
March 3, 2017| Real Dynamics Team
February 1, 2017| Real Dynamics Team
January 1, 2017| Real Dynamics Team
Contact us and we'll get back to you within 24 hours.
46 Windchime, Irvine, CA 92603, USA
+1<PHONE_NUMBER>
info@realdynamics.com


Catalina's Portfolio
Click here to see content created by server code.
Click here to get a random fact about me:
About Me
Hello! My name is Catalina Lemus. I am a sophomore at Virginia Tech's College of Engineering majoring in Computer Science and Minoring in Human Computer Interaction. I am very interested in Software Engineering. I love the creativity of Computer Science and the constant problem solving like puzzles. I am always trying to learn something new and currently I am interested in VR so I have a current position as an intern for Undergraduate Research in 3D User Interfaces.
In my free time I love to go hiking. I have a chocolate labrador named Chewy and a german shepherd named Luna that I take hiking with me all the time. Lately I have been hiking in Shenandoah National park and its great! I also love watching movies and TV shows. I like a big range of shows such as Criminal Minds and Hells Kitchen. I also love art and this has motivated me with Computer Science since there are so many opportunities to do something creative and new.
Click here to check out a gallery of my pictures. See my hiking trips, dogs, and favorite places!
My Works
Here are some links to check out what I am doing and projects
My LinkedIn: www.linkedin.com/in/catalina-lemus-a45b47167
My GitHub: github.com/catlemus
Here are some of my more recent projects:
- Research Work in 3D User Interfaces: I have been building the interactive aspects of a webpage for a forestry group in Blacksburg. I am currently working on the way the site will behave on a mobile device with movement. The goal is to have the picture move with the phone.
- Mobile App project using Flutter: I have been collaborating with a friend to build a mobile app that can be used for people in high school and older to find mentors.
- Hanoi Tower Puzzle Solver: For my Data Structures a built an application that solves a Hanoi Tower Puzzle. This included a frontend that shows the movement of each disk in the Tower until solved.


Real-estate speculators are evicting longtime city residents. Many of the affected are elderly, disabled and low-income with no affordable housing options. You can help. Don't rent or buy property available because of a no-fault eviction.
Lorem I.
The Anti-Eviction Mapping Project makes visible the ways in which evictions and gentrification target Bay Area communities. We use maps and digital storytelling to make the often invisible processes of eviction, displacement and gentrification clearly seen.
The search on this site is powered by data from the San Francisco Rent Board. If you have information about a no-fault eviction not shown here, let us know.


Register
You have successfully registered for IndiaOS.
P.S. We will send an email with the ticket attached once we authorize the payment.
You have already registered for IndiaOS. We will send you a reminder 3 days before the conference.
Looks like the payment could not be completed.
If you think there is a problem, just drop in an email at<EMAIL_ADDRESS>Loading the Payment Gateway


Your mind is always buzzing with unexplored ideas and plans.
Generally speaking, you rely more on your experience than your imagination.
You find it easy to stay relaxed and focused even when there is some pressure.
You rarely do something just out of sheer curiosity.
People can rarely upset you.
It is often difficult for you to relate to other people’s feelings.
In a discussion, truth should be more important than people’s sensitivities.
You rarely get carried away by fantasies and ideas.
You think that everyone’s views should be respected regardless of whether they are supported by facts or not.
You feel more energetic after spending time with a group of people.


/**
* Prism: Lightweight, robust, elegant syntax highlighting
* MIT license http://www.opensource.org/licenses/mit-license.php/
* @author Lea Verou http://lea.verou.me
* Reach Lea at<EMAIL_ADDRESS>(no, not really)
* And this is a Markdown link. Sweet, huh?
*/
var foo = 5;
// And a single line comment http://google.com
@font-face {
src: url(http://lea.verou.me/logo.otf);
font-family: 'LeaVerou';
}

Autolinking in raw text: http://prismjs.com

[Text you want to see](http://url-goes-here.com)


Replate could use your support!
We provide seamless logistics and data-driven analytics to get surplus food from businesses into the hands of communities who need it. With the closure of offices nation wide, our supply of surplus has all but dried up while food insecurity is on the rise. You can help us create and distribute meals to those most affected by the current public health crisis.


Previous article: Tools - Jupyter
Next article: Worked Example - 1 initial questions
Tools: Databases
What is it about
Databases provide us with a way to store data and manipulate it. The acronym CRUD, which stands for Create, Read, Update, and Delete, describes what we can do with the data. Although we use the term database, as if it was a singular entity, simplifying a lot, we can say that a database system is comprised of two parts: the physical means, such as a file, where the data is stored, and the program that allows the users to interact with the data. These systems were invented in order to overcome the limitations of using simple flat files to store information, as it happened until the 70's. Database systems can provide important functionality and solve practical problems for mission critical applications, such as banking transactions , complex project management, etc.
There are different kinds of databases, that one might come across in data projects, each with its own characteristics. By 'different kinds' we mean, that they are built around different concepts of how to model and store data, along with different ways to interact with it. These differences lead to database tools that are suitable for different uses.
The well established relational database was on of the first such systems. It relies heavily on a theoretical model of data, developed in the early 70's. The majority of the databases from the era of the mainframe computers to that of the personal computer, were of this kind. A then new computer language - SQL (Structure Query Language ) - was invented to program with these databases
With the advent of the Internet, the industry developed new tools to cover new needs. Relational databases, cannot be easily distributed across many nodes, and become cumbersome to use after they grow in size. With the era of big data the so called, NoSQL databases made their appearance.
Document databases are much more flexible in their theoretical model about data. As a result they can handle more complex kinds of data, such as text, with less rigid rules. In addition they can be distributed, so by adding commodity hardware in a network one can store and work with any amount of data.
Network databases focus on the representation of real world networks, in such a way so that it is easy to insert the data, but also query it, and work with the network.
As time goes on and technology advances more NoSQL databases will become available.
How does it fit in Data Science
In Data Science databases play a significant role. As projects grow larger and work with bigger amounts of data, it is quite common for the data to reside in a database system. With the functionality of databases it is possible to perform most of the parts of a data project inside a database, like as we saw clean, validate and summarise data. In some cases, when the data does not fit in the RAM memory of the computer we use, we do have to use such a system. The trick a database system does, is that it holds the data in a file on the disk and operates on the data without loading all of it at once onto RAM. It can be slower, but it can processes pieces of information that do not fit in memory. Therefore, although it is not necessary to know how to built or administer such a system, one should know how use it. Since relational systems are most common we should examine them further.
Some details of relational DBs
The central concept is that of a relation. You can think of a relation like a spreadsheet table, that comprises of rows and columns. Each row has to be unique and is characterised by a key, while each column has to hold unique objects of the same type. Additional restrictions about the relations between the various columns of the table, ensure the validity of the theoretical model, and eventually that the database will operate as expected, and will not return incorrect results.
SQLite in Python
One simple and accessible database system is Sqlite. What makes it unique is that it has a simpler architecture for the features that offers, and a small size. That makes it ideal for small projects since the maintenance overhead is small. Python, through the pysqlite module of the standard library, offers a simple way to create and use a database with SQLite. For our purposes in this blog, this is the right tool.
sources:


Enforce strong password requirements. Requiring strong passwords prevents weak passwords from being used. Using strong passwords makes the application more resilient to password guessing attacks.
To enforce strong password requirements:
Identify application requirements. Determine whether your application needs to have a customizable password complexity policy or if it's okay to hard-code password complexity requirements. Define secure defaults for password complexity options.
Identify password changing code. Review your application to find code that is responsible for changing user passwords.
(Optional) Let the user enter the password twice. It is a common practice to allow the user to enter the password twice to make sure that the user enters the new password correctly. This is important because the password fields are typically masked, so the user cannot see his input, and changing the password to an unintended one may leave the user locked out of his account. If this is implemented in your application, the password changing code should validate the two entered passwords to make sure they match.
Check password length. Add code to the password changing function to check the password length for minimum and maximum limits defined by policy. For example:
if(strlen($password) < 8)
{
//password is too short
}
if(strlen($password) > 20)
{
//password is too long
}
Check the password for numbers. Add code to the password changing function to check the password for numbers. For example:
if(!preg_match("#[0-9]+#", $password))
{
//password does not contain numbers
}
Check the password for lower-case letters. Add code to the password changing function to check the password for lower-case letters. For example:
if(!preg_match("#[a-z]+#", $password))
{
//password does not contain lower-case letters
}
Check the password for capital letters. Add code to the password changing function to check the password for capital letters. For example:
if(!preg_match("#[A-Z]+#", $password))
{
//password does not contain capital letters
}
(Optional) Check the password for symbols. If your application requires it, add code to the password changing function to check the password for symbols. For example:
if(!preg_match("#\W+#", $password))
{
//password does not contain symbols
}


7-year-old religious student dies in Pahang, stepbrother among 3 schoolmates detained
KUANTAN: A seven-year-old student of an unregistered Islamic religious school in Pahang died on Thursday (Nov 7) after he was found by the warden with bruises on his body.
Three of his schoolmates, including the boy's older stepbrother, have been detained for questioning, Malaysian police said.
Pahang Criminal Investigation Department head Othman Nanyan told reporters on Friday that the victim died at 1pm on Thursday while being treated at a clinic.
He was earlier rushed to the clinic by a school warden who had discovered him in a weak condition.
There were bruises on the victim’s body, Mr Othman said, adding that the body has been sent to Sultan Haji Ahmad Shah Hospital for postmortem.
After a report was lodged, police picked up three students, all aged 13, for questioning.
READ: Malaysia hostel warden arrested for allegedly sodomising, molesting students
READ: Fire kills at least 23 at religious school in Kuala Lumpur
Mr Othman said the tahfiz, which is is run by a husband-and-wife team, began operations early this year.
The school has only four students, including the victim.
The victim and his stepbrother began attending the school about a month ago.
“The school is not registered with the Pahang Islamic Religious Department,” Mr Othman was quoted as saying by the New Straits Times.
The case is being investigated under Section 302 of the Penal Code for murder, the news report added.


Vision Intelligence with AutoML and the EdgeTPU™
Webcam Feed
Live Feed
Inference Capture
Numbers Captured
Inference Time
Number Reading
Password
Hint: Make sure cookies are enabled so you only have to enter the password once!
STATUS
CLOSE


Refcode Software Agency is a safe learning environment where Refcode graduates and advisors come together to experience a real, professional projects. When you hire Refcode Software Agency, you don't only get your website deployed, you will also be part of the journey of refugees and immigrants who want to become future Software Engineers. Contact us to learn more!
We are a full-stack development agency, which means we can deliver backend, frontend, database, UX, UI, API, and anything else you can think of. Our primary tool is Bubble, which means we can build robust, sophisticated web apps extremely quickly.
Looking to build a website? and would like to hire us for your project? please get in touch!
If you are interested in joing the Refocde Software Agency team, send your resume to info@refcode.org


--- layout: post title: 'Ep. 5: Danielle Gaither - Dissertations and Diversity' date: 2016-11-16 08:20:31.000000000 -06:00 type: post parent_id: '0' published: true password: '' status: publish categories: - Podcast tags: [] meta: _edit_last: '1' slide_template: default _at_widget: '1' _yoast_wpseo_content_score: '30' fw:opt:ext:pb:page-builder:json: "[]" fw_options: a:9:{s:12:"page-builder";a:2:{s:4:"json";s:2:"[]";s:14:"builder_active";b:0;}s:9:"title_bar";s:7:"default";s:15:"footer_settings";s:7:"default";s:12:"header_style";a:2:{s:6:"option";s:0:"";s:11:"transparent";a:2:{s:16:"background_color";s:21:"rgba(255,255,255,0.3)";s:12:"border_color";s:0:"";}}s:12:"social_icons";s:0:"";s:12:"contact_info";s:0:"";s:12:"slider_above";a:2:{s:6:"option";s:2:"no";s:3:"yes";a:2:{s:5:"slide";s:1:"c";s:13:"scroll_effect";a:1:{s:6:"option";s:0:"";}}}s:22:"seo-titles-metas-title";s:0:"";s:28:"seo-titles-metas-description";s:0:"";} _yoast_wpseo_primary_category: '' _yoast_wpseo_post_image_cache: a:0:{} author: login: superuser email<EMAIL_ADDRESS>display_name: Administrator first_name: '' last_name: '' ---
Our guest this week is Danielle Gaither, a PhD candidate at the University of North Texas in computer science. Danielle, a regular in the TechMill community, is a freelance copywriter, photographer, and developer who is constantly engaged with the tech community. We talked about her experience in the Marines, being part of Women Who Code, and her thoughts on diversity in the technology space.
Show Notes
Reply All Episode about diversity: https://gimletmedia.com/episode/52-raising-the-bar/
[soundcloud url="https://api.soundcloud.com/tracks/293303151" params="auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&visual=true" width="100%" height="450" iframe="true" /]