# Controls: Elements and Attributes
source: https://developer.mastercard.com/iccp/documentation/05_api_reference/soap_api/purchaserequest/control_elements/index.md

> Payment controls set the spending boundaries of the purchase requests. Controls reside within the Purchase Template. All purchase templates have at least one core control. You can add additional controls that inter-operate with each other to the purchase request. You can also add additional controls to purchase request in addition to the purchase templates.

## Core controls {#core-controls}

|                                                                                    Control                                                                                    |                                                     Description                                                      |         Unavailable         | Single-Use or Multi-Use |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|-----------------------------|-------------------------|
| [agingVelocityControl](https://developer.mastercard.com/iccp/documentation/05_api_reference/soap_api/purchaserequest/control_elements/index.md#agingvelocitycontrol)          | Sets a credit line through the cumulative control.                                                                   | Velocity, Transaction Limit | Multi-Use               |
| [VelocityControlType2](https://developer.mastercard.com/iccp/documentation/05_api_reference/soap_api/purchaserequest/control_elements/index.md#velocitycontroltype2-elements) | Limits the frequency and total cumulative amount of authorizations on the virtual account within a specified period. | Aging Velocity              | Multi-Use               |

## Optional controls {#optional-controls}

|                                                                                              Control                                                                                              |                                                             Description                                                              | Unavailable Combinations |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|--------------------------|
| [templateAmountRangeControl2](https://developer.mastercard.com/iccp/documentation/05_api_reference/soap_api/purchaserequest/control_elements/index.md#templateamountrangecontrol2-subnodes)       | Approves transactions only if the requested amount is equal or greater than minimum amount and less than or equal to maximum Amount. | Transaction Limit        |
| [curfewControl](https://developer.mastercard.com/iccp/documentation/05_api_reference/soap_api/purchaserequest/control_elements/index.md#curfewcontrol-elements)                                   | Limits authorization activity to a single time period for each day selected.                                                         | Time of Day              |
| [geographyControl](https://developer.mastercard.com/iccp/documentation/05_api_reference/soap_api/purchaserequest/control_elements/index.md#geographycontrol-elements)                             | Controls where a virtual account is used as determined by Data Element (DE) 61 Sub-field (SF) 13 of the Authorization Request.       |                          |
| [merchantIdControl](https://developer.mastercard.com/iccp/documentation/05_api_reference/soap_api/purchaserequest/control_elements/index.md#merchantidcontrol-elements)                           | Limits virtual account acceptance to specific merchants using the Merchant ID and Acquirer ID, set against the underlying supplier.  |                          |
| [transactionLimitControl](https://developer.mastercard.com/iccp/documentation/05_api_reference/soap_api/purchaserequest/control_elements/index.md#transactionlimitcontrol-elements)               | Limits individual authorizations to a maximum amount.                                                                                | Exact Amount Range       |
| [timeOfDayControl](https://developer.mastercard.com/iccp/documentation/05_api_reference/soap_api/purchaserequest/control_elements/index.md#timeofdaycontrol-elements)                             | Limits the authorization requests to defined time periods for specific days.                                                         |                          |
| [templateValidityPeriodControl2](https://developer.mastercard.com/iccp/documentation/05_api_reference/soap_api/purchaserequest/control_elements/index.md#templatevalidityperiodcontrol2-elements) | Limits authorization activity to a specific time period.                                                                             |                          |

## fullTemplateRuleDetails elements {#fulltemplateruledetails-elements}

The buyer defines the ruleName and ruleType values when creating virtual card numbers for `submitPurchaseRequest` and `updatePurchaseRequest` requests, not the system. The ruleType is Approve or Decline. Mastercard recommends approve rules for all virtual card numbers.

|   Names    |                              Description                              | Required |     Type     |
|------------|-----------------------------------------------------------------------|----------|--------------|
| `ruleName` | Descriptive only                                                      | Yes      | Alphanumeric |
| `ruleType` | * A: Approve The ruleType must be set to A for all purchase requests. | Yes      | Alphanumeric |

### fullTemplateRuleDetails subnodes {#fulltemplateruledetails-subnodes}

|              Names               | Minimum |  Maximum  |                                              Comment                                              |
|----------------------------------|---------|-----------|---------------------------------------------------------------------------------------------------|
| `templateControl`                | 1       | Unlimited | Supply one instance for each control. Allowed control types are defined in the purchase template. |
| `VelocityControlType2`           | 0       | 5         |                                                                                                   |
| `templateValidityPeriodControl2` | 0       | 1         |                                                                                                   |
| `templateAmountRangeControl2`    | 0       | Unlimited | Must be set up in the Purchase Template. Only one rule returns.                                   |
| `transactionLimitControl`        | 0       | 1         |                                                                                                   |
| `merchantIdControl`              | 0       | 1         | Set against the Merchant ID and Acquirer ID values for the provided supplier.                     |
| `agingVelocityControl`           | 0       | 1         |                                                                                                   |
| `curfewControl`                  | 0       | 1         |                                                                                                   |
| `timeOfDayControl`               | 0       | 1         |                                                                                                   |
| `geographyControl`               | 0       | 1         |                                                                                                   |

## TemplateDetails2 subnodes {#templatedetails2-subnodes}

|           Names           | Minimum |  Maximum  |                                                                                                                                                                    Comment                                                                                                                                                                    |
|---------------------------|---------|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `fullTemplateRuleDetails` | 1       | Unlimited | One supported only.                                                                                                                                                                                                                                                                                                                           |
| `templateCustomField`     | 1       | 1         | Custom fields associated with the Purchase Template only. \[\^3\] Personal Data is any information that relates to an identified or identifiable individual. Mastercard only stores personal data subject to legal and regulatory compliance. Do not use custom data fields to store personal data as they are not designed for that purpose. |

## VelocityControlType2 elements {#velocitycontroltype2-elements}

Limits the frequency and total cumulative amount of authorizations on the virtual account within a specified period. Checks that the number of authorizations or cumulative totals are within the limits:

* Cumulative limit: Total amount authorizations can accumulate to during the time period.
* Frequency: Number of times the card can be authorized during the time period.

<br />

|                                           Names                                           |                                                                                                                                                                                                                                                                                                                    Description                                                                                                                                                                                                                                                                                                                    |   Required   |     Type     |
|-------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------|--------------|
| `maxTrans`                                                                                | * Maximum number of transactions in the period. * Setting this value to 0 allows an unlimited number of transactions. If set to 1, generates single use VCNs when submitting or updating requests. * Maximum length: 8 digits                                                                                                                                                                                                                                                                                                                                                                                                                     | Yes          | Numeric      |
| `cumulativeLimit`                                                                         | * Cumulative amount limit on transactions within the period * Setting this value to 0 allows unlimited transaction amounts. An available balance is not calculated in this case. * Maximum length: 8 digits                                                                                                                                                                                                                                                                                                                                                                                                                                       | Yes          | Numeric      |
| `period`                                                                                  | * Each period value is unique within a purchase request, with one control for each period, to a maximum of six. * If maxTrans is set to 0 when submitting or updating requests, period defaults to continuous. * List of possible values: See the Period Values table.                                                                                                                                                                                                                                                                                                                                                                            | Yes          | Alphanumeric |
| `currencyType`                                                                            | The currency type sets merchant amount authorization controls in the currency of the merchant (M) or the billing currency of the real card (B). The `currencyType` must match the `currencyCode`. * B: Sets all authorization controls in the billing currency of the real card. * M: Sets the Merchant Amount control. The Merchant Amount control requires a transaction to be in the Merchant Currency. * If the **Currency type** option is not set in the Company Settings, Program Options, or the purchase template in the UI, then you can select `currencyType` only when submitting or updating a purchase request through the **API**. | Yes          | Alphanumeric |
| `currencyCode`                                                                            | * Maximum length: Three-digit code. * If `currencyType` on a control is set to B, the `currencyCode` is ignored. * If `currencyType` on a control is set to M, a `currencyCode` must be set. * Refer to the                                                                                                                                                                                                                                                                                                                                                                                                                                       |              |              |
| [Common.xsd](https://static.developer.mastercard.com/content/iccp/uploads/XSD/Common.xsd) |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |              |              |
|                                                                                           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |              |              |
|                                                                                           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |              |              |
|                                                                                           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |              |              |
|                                                                                           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |              |              |
|                                                                                           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |              |              |
|                                                                                           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |              |              |
| (74KB) file in the reference application for currency codes.                              | Yes                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | Alphanumeric | Alphanumeric |
| `availableBalance`                                                                        | * Read only field for response only. * Does not calculate if the cumulativeLimit is set to 0 (unlimited).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Yes          | Numeric      |
| `endDate`                                                                                 | * Read only field for response only. * Date format: YYYY-MMDD+TZ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | No           | Date         |

### Period element values {#period-element-values}

|   Period   |                                                                                               Description                                                                                               |
|------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Daily      | 00:00:00 to 23:59:59.                                                                                                                                                                                   |
| Monthly    | Start date of the month until the end date.                                                                                                                                                             |
| Weekly     | Monday 00:00:00 to Sunday 23:59:59, regardless of the day on which you submit the request.                                                                                                              |
| Quarterly  | 00:00:00 on the start day to 23:59:59 on the final day from: * Quarter 1: January 01 - March 31. * Quarter 2: April 01 - June 30. * Quarter 3: July 01 - September 30. * Quarter 2: April 01 - June 30. |
| Yearly     | 00:00:00 on the first day of the year to 23:59:59 on the last day.                                                                                                                                      |
| Continuous | 00:00:00 on the first day with no end date.                                                                                                                                                             |

### Sample control {#sample-control}

```xml
<ser:templateControl xsi:type="ser:VelocityControlType2" xmlns:xsi="http://
   www.w3.org/2001/XMLSchema-instance">
   <ser:maxTrans>1</ser:maxTrans>
   <ser:cumulativeLimit>800</ser:cumulativeLimit>
   <ser:period>C</ser:period>
   <ser:availableBalance>1000</ser:availableBalance>
   <ser:currencyType>M</ser:currencyType>
   <ser:currencyCode>840</ser:currencyCode>
   <ser:endDate>2016-12-26-05:00</ser:endDate>
</ser:templateControl>
<ser:templateControl xsi:type="ser:VelocityControlType2"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <ser:maxTrans>1</ser:maxTrans>
   <ser:cumulativeLimit>800</ser:cumulativeLimit>
   <ser:period>D</ser:period>
   <ser:availableBalance>1000</ser:availableBalance>
   <ser:currencyType>M</ser:currencyType>
   <ser:currencyCode>840</ser:currencyCode>
   <ser:endDate>2016-12-26-05:00</ser:endDate>
</ser:templateControl>
```

## TemplateValidityPeriodControl2 elements {#templatevalidityperiodcontrol2-elements}

Limits authorization activity to a specific time period. Start date: Date from which authorizations are valid. End date: Date to which authorizations are valid (usually earlier than the expiry date). Often used with Velocity control.
{#fnref:1}

|                                                                          Names                                                                           |                                                                                                                         Description                                                                                                                          | Required |     Type     |
|----------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|--------------|
| `from`                                                                                                                                                   | * Start date of the virtual account validity. * Validity period begins on this date at time 00:00:00 in the time zone specified by the timeZone element. * Date format: YYYY-MM-DD                                                                           | Yes      | Alphanumeric |
| `to`                                                                                                                                                     | * End date of virtual account validity. * Validity period ends on this date at time 23:59:59.999 in the time zone specified by the timeZone element. * Date format: YYYY-MM-DD                                                                               | Yes      | Alphanumeric |
| `timezone`                                                                                                                                               | * Timezone of the from and to dates. * For a list of all supported time zones, deprecations and DST, refer to the [list_of_supported_time_zones.pdf](https://static.developer.mastercard.com/content/iccp/swagger/list_of_supported_time_zones.pdf) (295KB). | Yes      | Alphanumeric |
| `strictPreAuthCheck` ^[1](https://developer.mastercard.com/iccp/documentation/05_api_reference/soap_api/purchaserequest/control_elements/index.md#fn:1)^ | * Possible values: True, False. * Set to True and PreAuth occurs: In Control declines the transaction. * Set to false and PreAuth occurs: In Control accepts the transaction and treats it as PreAuth.                                                       | No       | Boolean      |
| `negate`                                                                                                                                                 | * When set to True, the logic of the control is reversed, so that the validity period is **outside** the date range specified. Mastercard recommends you do not negate this control. * Possible values: True, False (default)                                | No       | Boolean      |

### Sample control {#sample-control-1}

```xml
<templateControl xsi:type="ser:templateValidityPeriodControl2" xmlns:xsi="http:// www.w3.org/2001/XMLSchema-instance">
   <from>2015-05-04</from>
   <to>2015-05-31</to>
   <timeZone>Europe/Luxembourg</timeZone>
   <strictPreAuthCheck>false</strictPreAuthCheck>
   <negate>false</negate>
</templateControl>
```

## TemplateAmountRangeControl2 subnodes {#templateamountrangecontrol2-subnodes}

Approves transactions only if the requested amount is equal or greater than minimum amount and less than or equal to maximum amount. Checks for exact amount exactly and uses no tolerance settings.

|            Names             |                                                                                                                                                                                                              Description                                                                                                                                                                                                              | Required |     Type     |
|------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|--------------|
| `minAmount`                  | Sets a minimum amount on the card                                                                                                                                                                                                                                                                                                                                                                                                     | Yes      | Numeric      |
| `maxAmount`                  | * Check Maximum Transaction Amount Allowed setting. Your administrator may have configured a maximum transaction amount. In this case, select a value for maxAmount that is less than or equal to this configured value. * Maximum length: 12 digits                                                                                                                                                                                  | Yes      | Numeric      |
| `strictPreAuthCheck` \[\^2\] | * Possible values: True, False * Set to true and PreAuth occurs: In Control declines the transaction * Set to false and a PreAuth occurs: In Control accepts the transaction and treats it as PreAuth.                                                                                                                                                                                                                                | No       | Boolean      |
| `negate`                     | * Possible values: True, False * When set to True the logic of the control is reversed. For example, if setting Amount Range 100-500, and Negate is false, only transactions within this range are approved. * If Negate is True, transactions within this range are declined and transactions outside of this range are approved.                                                                                                    | No       | Boolean      |
| `currencyType`               | * The currency type sets merchant amount authorization controls in the currency of the merchant (M) or the billing currency of the real card (B). * The `currencyType` must match the `currencyCode` * Possible values: B/M: * B: Sets all authorization controls in the billing currency of the real card. * M: Sets the Merchant Amount control. The Merchant Amount control requires a transaction to be in the Merchant Currency. | Yes      | Alphanumeric |
| `currencyCode`               | * Three digit currency Code. * If `currencyType` on a control is set to B, the `currencyCode` is ignored. Refer to the [Common.xsd](https://static.developer.mastercard.com/content/iccp/uploads/XSD/Common.xsd) (74KB) file in the reference application for currency codes. * If `currencyType` on a control is set to M, a `currencyCode` must be set.                                                                             | Yes      | Alphanumeric |

### Sample Code {#sample-code}

```xml
<templateControl xsi:type="ser:templateAmountRangeControl2" xmlns:xsi="http:// www.w3.org/2001/XMLSchema-instance">
   <minAmount>500</minAmount>
   <maxAmount>300</maxAmount>
   <strictPreAuthCheck>false</strictPreAuthCheck>
   <negate>false</negate>
   <currencyType>B</currencyType>
</templateControl>
```

## TransactionLimitControl elements {#transactionlimitcontrol-elements}

Limits individual authorizations to a maximum amount.

|  Names   |                                                                                                                                                           Description                                                                                                                                                           | Required |  Type   |
|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|---------|
| `amount` | * The amount uses the billing currency set for the RCN. * The amount set is validated against the value in DE06 Amount, Cardholder Billing of the authorization request.                                                                                                                                                        | Yes      | Numeric |
| `negate` | * Possible values: True, False (default) * When set to True, the logic of the control is reversed. For example, if the Transaction limit is set to 1000 and Negate is False, all authorization requests up to 1000 will be approved * If Negate is set to True, only authorization requests of more than 1000 will be approved. | No       | Boolean |

### Sample code {#sample-code-1}

```xml
<templateControl xsi:type=" transactionLimitControl" xmlns:xsi="http://www.w3.org/ 2001/XMLSchema-instance">   
   <amount>1000</amount>   
   <negate>false</negate>
</templateControl>
```

## MerchantIdControl elements {#merchantidcontrol-elements}

Limits virtual account acceptance to specific merchants using the Merchant ID and Acquirer ID, set against the underlying supplier. Compares the Merchant ID/Acquirer ID combination for each supplier with the authorization request submitted by the merchant acquirer.

|  Names   |                                                                                                                                            Description                                                                                                                                             | Required | Type |
|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|------|
| `negate` | * Possible values: True, False (default) * When set to True, the logic of the control is reversed. For example, if setting the Merchant ID control and negate is False, only listed Merchant IDs will be approved. * If negate is set to True, only Merchant IDs not on the list will be approved. |          |      |

### Sample control {#sample-control-2}

```xml
<ser:templateControl xsi:type="ser:merchantIdControl" xmlns:xsi="http://www.w3.org/
   2001/XMLSchema-instance">
   <ser:negate>true</ser:negate>
</ser:templateControl>
```

## AgingVelocityControl {#agingvelocitycontrol}

Sets a credit line through the cumulative control. Additionally, allows the requestor to 'age off' approved authorization requests.

* "Age off" means remove requests that the merchant has not cleared after a defined number of days.
* Keeps track of available credit and approves a transaction only if the requested amount is less than/equal to the remaining available credit.
* Purchase requests using this control are always multi-use VCNs. No single use available.

|          Names          |                                                                                                                                                                                                                Description                                                                                                                                                                                                                |           Required            |     Type     |
|-------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------|--------------|
| `authorizationHoldDays` | Number of authorization hold days on the virtual account before control drops the hold. * Resets after midnight on the hold expiry date in the time zone specified for the control. * For example, an authorization processed on January 1st at 11:00 a.m. CST on a VCN with the control set in CST and a hold of two days, resets at 00:00:01 CST on January 4th.                                                                        | Yes                           | Numeric      |
| `cumulativeLimit`       | * Cumulative amount limit on transactions within the period Setting this value to 0 allows unlimited transaction amounts. An available balance is not calculated in this case * Maximum length: 12 digits                                                                                                                                                                                                                                 | Yes                           | Numeric      |
| `timeZone`              | For a list of all supported time zones, deprecations, and DST, refer to the ( [list_of_supported_time_zones.pdf](https://static.developer.mastercard.com/content/iccp/swagger/list_of_supported_time_zones.pdf) (295KB)).                                                                                                                                                                                                                 | Yes                           | Alphanumeric |
| `negate`                | * Possible values: True, False (default) * When set to True, the logic of this control is reversed, which means that payments must be greater than the configured limits to be approved. Mastercard recommends that you do not configure this control with negate set to True.                                                                                                                                                            | No                            | Boolean      |
| `availableBalance`      | The available balance for the period, provided in the response only.                                                                                                                                                                                                                                                                                                                                                                      | No                            | Numeric      |
| `currencyType`          | * The currency type sets merchant amount authorization controls in the currency of the merchant (M) or the billing currency of the real card (B). * Possible values: B/M * In purchase requests, if the `currencyType` is set to B, `currencyCode` is not required and is ignored if provided. If the `currencyType` is set to M, `currencyCode` is required. In responses, `currencyCode` is returned if the `currencyType` is set to M. | No                            | Alphanumeric |
| `currencyCode`          | Three digit currency Code. * If `currencyType` on a control is set to B, a `currencyCode` is ignored. * If `currencyType` on a control is set to M, a `currencyCode` is required in requests and returned in responses. Refer to the [Common.xsd](https://static.developer.mastercard.com/content/iccp/uploads/XSD/Common.xsd) (74KB) file in the reference application for currency codes.                                               | Conditional on `currencyType` | Numeric      |

### Sample control {#sample-control-3}

```xml
<templateControl xsi:type="ser:agingVelocityControl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <authorizationHoldDays>5</authorizationHoldDays>
   <cumulativeLimit>1000</cumulativeLimit>
   <timeZone>Europe/Luxembourg</timeZone>
   <negate>false</negate>
   <currencyType>M</currencyType>
   <currencyCode>040</currencyCode>
</templateControl>
```

## CurfewControl elements {#curfewcontrol-elements}

Limits authorization requests to defined time periods each day.

|    Names     |                                                                                                                                                                                Description                                                                                                                                                                                | Required |     Type     |
|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|--------------|
| `fromTime`   | Start time of the day in HH:mm.                                                                                                                                                                                                                                                                                                                                           | Yes      | Alphanumeric |
| `toTime`     | End time of the day in HH:mm.                                                                                                                                                                                                                                                                                                                                             | Yes      | Alphanumeric |
| `timeZone`   | * The time zone of the fromTime and toTime fields. * For a list of all supported time zones, deprecations, and DST, refer to the ( [list_of_supported_time_zones.pdf](https://static.developer.mastercard.com/content/iccp/swagger/list_of_supported_time_zones.pdf) (295KB)). Should match that of the from and to dates.                                                | Yes      | Alphanumeric |
| `negate`     | * Possible values: True, False (default) * When set to True, the logic of the control is reversed. For example, if setting a `curfewcontrol` of 09:00-17:00 and negate is False, only transactions within this window will be approved. * If negate is True, transactions within this window will be declined and only transactions outside this window will be approved. | No       | Boolean      |
| `daysOfWeek` | Day of the week on which the control will be applied. * Sun * Mon * Tue * Wed * Thu * Fri * Sat                                                                                                                                                                                                                                                                           | Yes      | Alphanumeric |

### Sample control {#sample-control-4}

```xml
<templateControl xsi:type="ser:curfewControl" xmlns:xsi="http://www.w3.org/2001/
   XMLSchema-instance">
   <fromTime>08:30</fromTime>
   <toTime>18:00</toTime>
   <timeZone>Europe/Luxembourg</timeZone>
   <negate>false</negate>
   <daysOfWeek>
      <day>Mon</day><day>Wed</day><day>Fri</day>
   </daysOfWeek>
</templateControl>
```

## TimeOfDayControl elements {#timeofdaycontrol-elements}

Limits the authorization requests to defined time periods for specific days.

|   Names    |                                                                                                                                                                              Description                                                                                                                                                                              | Required |     Type     |
|------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|--------------|
| `day`      | Day of the week. * Sun * Mon * Tue * Wed * Thu * Fri * Sat                                                                                                                                                                                                                                                                                                            | Yes      | Alphanumeric |
| `fromTime` | * Starting time of the day * Time format: HH:mm                                                                                                                                                                                                                                                                                                                       | Yes      | Alphanumeric |
| `toTime`   | * Ending time of the day * Time format: HH:mm                                                                                                                                                                                                                                                                                                                         | Yes      | Alphanumeric |
| `timeZone` | For a list of all supported time zones, deprecations, and DST, refer to the ( [list_of_supported_time_zones.pdf](https://static.developer.mastercard.com/content/iccp/swagger/list_of_supported_time_zones.pdf) (295KB)) or the [Common.xsd](https://static.developer.mastercard.com/content/iccp/uploads/XSD/Common.xsd) (74KB) file.                                | Yes      | Alphanumeric |
| `negate`   | * Possible values; True, False (default) * When set to True, the logic of the control is reversed. For example, if setting the control as GMT timezone and negate is False, only transactions in GMT timezone will be approved. * If negate is True, all transactions within GMT timezone will be declined and transactions for all other timezones will be approved. | No       | Boolean      |

### Sample control {#sample-control-5}

```xml
<templateControl xsi:type="ser:timeOfDayControl" xmlns:xsi="http://www.w3.org/2001/
   XMLSchema-instance">
   <timesOfDay>
     <time>
        <day>Tue</day>
        <fromTime>08:00</fromTime>
        <toTime>13:00</toTime>
     </time>
     <time>
        <day>Wed</day>
        <fromTime>08:00</fromTime>
        <toTime>13:00</toTime>
     </time>
  </timesOfDay>
  <timeZone>Europe/Luxembourg</timeZone>
  <negate>false</negate>
</templateControl>
```

## GeographyControl elements {#geographycontrol-elements}

Controls where a virtual account is used as determined by Data Element (DE) 61 Sub-field (SF) 13 of the Authorization Request.

|     Names     |                                                                                                                                                                                                                 Description                                                                                                                                                                                                                  | Required |     Type     |
|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|--------------|
| `negate`      | * Possible values; True, False (default). * When set to True, the logic of the control is reversed. For example, if setting geographyControl to Ireland and negate is False, only transactions within Ireland will be approved. * If negate is True, all transactions from Ireland will be declined, and transactions outside of Ireland will be approved.                                                                                   | No       | Boolean      |
| `countryCode` | * Three letter code describing which country you want to set the control for. * All 246 country codes available, separated using the pipe character. * Refer to the [CountryCodes_February_2026.xsd](https://static.developer.mastercard.com/content/iccp/uploads/CountryCodes_February_2026.xsd) (13KB) file for country codes. The Country codes list is also included in the PurchaseControl2.xsd file in the ICCP reference application. | Yes      | Alphanumeric |

## GeographyControl countries {#geographycontrol-countries}

| Country Code |                 Country Name                 |
|--------------|----------------------------------------------|
| ABW          | ARUBA                                        |
| AFG          | AFGHANISTAN                                  |
| AGO          | ANGOLA                                       |
| AIA          | ANGUILLA                                     |
| ALA          | AALAND ISLANDS                               |
| ALB          | ALBANIA                                      |
| AND          | ANDORRA                                      |
| ANT          | NETHERLANDS ANTILLES                         |
| ARE          | UNITED ARAB EMIRATES                         |
| ARG          | ARGENTINA                                    |
| ARM          | ARMENIA                                      |
| ASM          | AMERICAN SAMOA                               |
| ATA          | ANTARCTICA                                   |
| ATF          | FRENCH SOUTHERN TERRITORIES                  |
| ATG          | ANTIGUA AND BARBUDA                          |
| AUS          | AUSTRALIA                                    |
| AUT          | AUSTRIA                                      |
| AZE          | AZERBAIJAN                                   |
| BDI          | BURUNDI                                      |
| BEL          | BELGIUM                                      |
| BEN          | BENIN                                        |
| BES          | BONAIRE, SAINT EUSTATIUS AND SABA            |
| BFA          | BURKINA FASO                                 |
| BGD          | BANGLADESH                                   |
| BGR          | BULGARIA                                     |
| BHR          | BAHRAIN                                      |
| BHS          | BAHAMAS                                      |
| BIH          | BOSNIA AND HERZEGOWINA                       |
| BLM          | SAINT BARTHELEMY                             |
| BLR          | BELARUS                                      |
| BLZ          | BELIZE                                       |
| BMU          | BERMUDA                                      |
| BOL          | BOLIVIA                                      |
| BRA          | BRAZIL                                       |
| BRB          | BARBADOS                                     |
| BRN          | BRUNEI                                       |
| BTN          | BHUTAN                                       |
| BVT          | BOUVET ISLAND                                |
| BWA          | BOTSWANA                                     |
| CAF          | CENTRAL AFRICAN REPUBLIC                     |
| CAN          | CANADA                                       |
| CCK          | COCOS (KEELING) ISLANDS                      |
| CHE          | SWITZERLAND                                  |
| CHL          | CHILE                                        |
| CHN          | CHINA                                        |
| CIV          | IVORY COAST                                  |
| CMR          | CAMEROON                                     |
| COD          | DEMOCRATIC REPUBLIC OF THE CONGO             |
| COG          | REPUBLIC OF THE CONGO                        |
| COK          | COOK ISLANDS                                 |
| COL          | COLOMBIA                                     |
| COM          | COMOROS                                      |
| CPV          | CAPE VERDE                                   |
| CRI          | COSTA RICA                                   |
| CUB          | CUBA                                         |
| CUW          | CURACAO                                      |
| CXR          | CHRISTMAS ISLAND                             |
| CYM          | CAYMAN ISLANDS                               |
| CYP          | CYPRUS                                       |
| CZE          | CZECH REPUBLIC                               |
| DEU          | GERMANY                                      |
| DJI          | DJIBOUTI                                     |
| DMA          | DOMINICA                                     |
| DNK          | DENMARK                                      |
| DOM          | DOMINICAN REPUBLIC                           |
| DZA          | ALGERIA                                      |
| ECU          | ECUADOR                                      |
| EGY          | EGYPT                                        |
| ERI          | ERITREA                                      |
| ESH          | WESTERN SAHARA                               |
| ESP          | SPAIN                                        |
| EST          | ESTONIA                                      |
| ETH          | ETHIOPIA                                     |
| ETI          | ETHIOPIA-OBSOLETE                            |
| FIN          | FINLAND                                      |
| FJI          | FIJI                                         |
| FLK          | FALKLAND ISLANDS                             |
| FRA          | FRANCE                                       |
| FRO          | FAROE ISLANDS                                |
| FSM          | MICRONESIA                                   |
| FXX          | FRANCE, METROPOLITAN                         |
| GAB          | GABON                                        |
| GBR          | UNITED KINGDOM                               |
| GEO          | GEORGIA                                      |
| GER          | GERMANY                                      |
| GGY          | GUERNSEY                                     |
| GHA          | GHANA                                        |
| GIB          | GIBRALTAR                                    |
| GIN          | GUINEA                                       |
| GLP          | GUADELOUPE                                   |
| GMB          | GAMBIA                                       |
| GNB          | GUINEA-BISSAU                                |
| GNQ          | EQUATORIAL GUINEA                            |
| GRC          | GREECE                                       |
| GRD          | GRENADA                                      |
| GRL          | GREENLAND                                    |
| GTM          | GUATEMALA                                    |
| GUF          | FRENCH GUIANA                                |
| GUM          | GUAM                                         |
| GUY          | GUYANA                                       |
| HKG          | HONG KONG (SAR)                              |
| HMD          | HEARD AND MC DONALD ISLANDS                  |
| HND          | HONDURAS                                     |
| HRV          | CROATIA                                      |
| HTI          | HAITI                                        |
| HUN          | HUNGARY                                      |
| IDN          | INDONESIA                                    |
| IMN          | ISLE OF MAN                                  |
| IND          | INDIA                                        |
| IOT          | BRITISH INDIAN OCEAN TERRITORY               |
| IRL          | IRELAND                                      |
| IRN          | IRAN                                         |
| IRQ          | IRAQ                                         |
| ISL          | ICELAND                                      |
| ISR          | ISRAEL                                       |
| ITA          | ITALY                                        |
| JAM          | JAMAICA                                      |
| JEY          | JERSEY                                       |
| JOR          | JORDAN                                       |
| JPN          | JAPAN                                        |
| KAZ          | KAZAKHSTAN                                   |
| KEN          | KENYA                                        |
| KGZ          | KYRGYZSTAN                                   |
| KHM          | CAMBODIA                                     |
| KIR          | KIRIBATI                                     |
| KNA          | SAINT KITTS AND NEVIS                        |
| KOR          | SOUTH KOREA                                  |
| KWT          | KUWAIT                                       |
| LAO          | LAOS                                         |
| LBN          | LEBANON                                      |
| LBR          | LIBERIA                                      |
| LBY          | LIBYA                                        |
| LCA          | SAINT LUCIA                                  |
| LIE          | LIECHTENSTEIN                                |
| LKA          | SRI LANKA                                    |
| LSO          | LESOTHO                                      |
| LTU          | LITHUANIA                                    |
| LUX          | LUXEMBOURG                                   |
| LVA          | LATVIA                                       |
| MAC          | MACAO (SAR)                                  |
| MAF          | SAINT MARTIN                                 |
| MAR          | MOROCCO                                      |
| MCO          | MONACO                                       |
| MDA          | MOLDOVA                                      |
| MDG          | MADAGASCAR                                   |
| MDV          | MALDIVES                                     |
| MEX          | MEXICO                                       |
| MHL          | MARSHALL ISLANDS                             |
| MID          | MIDWAY ISLANDS                               |
| MKD          | MACEDONIA                                    |
| MLI          | MALI                                         |
| MLT          | MALTA                                        |
| MMR          | BURMA (MYANMAR)                              |
| MNE          | MONTENEGRO                                   |
| MNG          | MONGOLIA                                     |
| MNP          | NORTHERN MARIANA ISLANDS                     |
| MOZ          | MOZAMBIQUE                                   |
| MRT          | MAURITANIA                                   |
| MSR          | MONTSERRAT                                   |
| MTQ          | MARTINIQUE                                   |
| MUS          | MAURITIUS                                    |
| MWI          | MALAWI                                       |
| MYS          | MALAYSIA                                     |
| MYT          | MAYOTTE                                      |
| NAM          | NAMIBIA                                      |
| NCL          | NEW CALEDONIA                                |
| NER          | NIGER                                        |
| NFK          | NORFOLK ISLAND                               |
| NGA          | NIGERIA                                      |
| NIC          | NICARAGUA                                    |
| NIU          | NIUE                                         |
| NLD          | NETHERLANDS                                  |
| NOR          | NORWAY                                       |
| NPL          | NEPAL                                        |
| NRU          | NAURU                                        |
| NZL          | NEW ZEALAND                                  |
| OMN          | OMAN                                         |
| PAK          | PAKISTAN                                     |
| PAN          | PANAMA                                       |
| PCN          | PITCAIRN ISLANDS                             |
| PER          | PERU                                         |
| PHL          | PHILIPPINES                                  |
| PLW          | PALAU                                        |
| PNG          | PAPUA NEW GUINEA                             |
| POL          | POLAND                                       |
| PRI          | PUERTO RICO                                  |
| PRK          | NORTH KOREA                                  |
| PRT          | PORTUGAL                                     |
| PRY          | PARAGUAY                                     |
| PSE          | PALESTINIAN TERRITORY, OCCUPIED              |
| PYF          | FRENCH POLYNESIA                             |
| QAT          | QATAR                                        |
| QZZ          | KOSOVO                                       |
| REU          | REUNION                                      |
| ROM          | ROMANIA                                      |
| RUS          | RUSSIA                                       |
| RWA          | RWANDA                                       |
| SAU          | SAUDI ARABIA                                 |
| SDN          | REPUBLIC OF SUDAN                            |
| SEN          | SENEGAL                                      |
| SGP          | SINGAPORE                                    |
| SGS          | SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS |
| SHN          | SAINT HELENA, ASCENSION AND TRISTAN DA CUNHA |
| SJM          | SVALBARD                                     |
| SLB          | SOLOMON ISLANDS                              |
| SLE          | SIERRA LEONE                                 |
| SLV          | EL SALVADOR                                  |
| SMR          | SAN MARINO                                   |
| SOM          | SOMALIA                                      |
| SPM          | SAINT PIERRE AND MIQUELON                    |
| SRB          | SERBIA                                       |
| SSD          | REPUBLIC OF SOUTH SUDAN                      |
| STP          | SAO TOME AND PRINCIPE                        |
| SUR          | SURINAME                                     |
| SVK          | SLOVAKIA                                     |
| SVN          | SLOVENIA                                     |
| SWE          | SWEDEN                                       |
| SWZ          | SWAZILAND                                    |
| SXM          | SINT MAARTIN (DUTCH PART)                    |
| SYC          | SEYCHELLES                                   |
| SYR          | SYRIA                                        |
| TCA          | TURKS AND CAICOS ISLANDS                     |
| TCD          | CHAD                                         |
| TGO          | TOGO                                         |
| THA          | THAILAND                                     |
| TJK          | TAJIKISTAN                                   |
| TKL          | TOKELAU                                      |
| TKM          | TURKMENISTAN                                 |
| TLS          | TIMOR-LESTE                                  |
| TON          | TONGA                                        |
| TTO          | TRINIDAD AND TOBAGO                          |
| TUN          | TUNISIA                                      |
| TUR          | TURKEY                                       |
| TUV          | TUVALU                                       |
| TWN          | TAIWAN                                       |
| TZA          | TANZANIA                                     |
| UGA          | UGANDA                                       |
| UKR          | UKRAINE                                      |
| UMI          | UNITED STATES MINOR OUTLYING ISLANDS         |
| URY          | URUGUAY                                      |
| USA          | UNITED STATES                                |
| UZB          | UZBEKISTAN                                   |
| VAT          | HOLY SEE (VATICAN CITY)                      |
| VCT          | SAINT VINCENT AND THE GRENADINES             |
| VEN          | VENEZUELA                                    |
| VGB          | BRITISH VIRGIN ISLANDS                       |
| VIR          | US VIRGIN ISLANDS                            |
| VNM          | VIETNAM                                      |
| VUT          | VANUATU                                      |
| WLF          | WALLIS AND FUTUNA                            |
| WSM          | SAMOA                                        |
| YEM          | YEMEN                                        |
| YMN          | YEMEN-OBSOLETE                               |
| ZAF          | SOUTH AFRICA                                 |
| ZMB          | ZAMBIA                                       |
| ZWE          | ZIMBABWE                                     |

### Sample control {#sample-control-6}

```xml
<templateControl xsi:type="ser:geographyControl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <countryCodes>
      <countryCode>AFG</countryCode>
      <countryCode>USA</countryCode>
   </countryCodes>
   <negate>false</negate>
</templateControl>
```

*** ** * ** ***

1.
   * strictPreAuthCheck = False: if the merchant puts an authorization through for less than $1 the control will not be applied
   * strictPreAuthCheck = True: if the merchant puts an authorization through for less than $1 the control will be applied

   [↩︎](https://developer.mastercard.com/iccp/documentation/05_api_reference/soap_api/purchaserequest/control_elements/index.md#fnref:1){#fn:1}
{#fn:1}
