{"title":"Maintain performance","category":"default","creationDate":1776961627,"content":"<p>To ensure your terminals continue to perform well and are using up-to-date settings and software, several events happen automatically on the terminals:<\/p>\n<ul>\n<li><strong>Maintenance calls<\/strong>: every couple of hours, the terminal contacts our platform to check for configuration changes and software updates. The terminal doesn't implement or install anything yet (with a few exceptions).<\/li>\n<li><strong>Rebooting<\/strong>: for security reasons, the terminal must clear its cache regularly. To achieve this, the terminal reboots once every 24 hours at the <strong>restart hour<\/strong>.<\/li>\n<li><strong>Configuration changes<\/strong>: any configuration changes that the terminal discovered during a maintenance call, are implemented when the terminal reboots at the restart hour.<\/li>\n<li><strong>Software updates<\/strong>: if the terminal is set to automatically update to new releases, any software update that the terminal discovered during a maintenance call is installed when the terminal reboots at the restart hour.<\/li>\n<\/ul>\n<p>These events do not interfere with accepting payments or other daily operations. Below we explain the events in more detail, and describe what you need to do.<\/p>\n<h2>Requirements<\/h2>\n<p>Before you begin, take into account the following requirements.<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Requirement<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><strong>Integration type<\/strong><\/td>\n<td style=\"text-align: left;\">A <a href=\"\/pt\/point-of-sale\/design-your-integration\/terminal-api\">Terminal API<\/a> integration with payment terminals, or a <a href=\"\/pt\/point-of-sale\/standalone\">standalone solution <\/a>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Setup steps<\/strong><\/td>\n<td style=\"text-align: left;\">Ensure that your terminal is <a href=\"#what-you-need-to-do\">turned on and connected to the network<\/a> during at least one maintenance interval (three hours) before the restart hour (at 6:00 AM by default).<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Maintenance calls<\/h2>\n<p>Every day, the terminal contacts our platform a few times to check for updates. We refer to this as <em>maintenance calls<\/em>. During a maintenance call, the terminal is informed of any changes in the configuration. For example, terminal settings that you configured in your Customer Area. If the terminal is set to <a href=\"\/pt\/point-of-sale\/release-updating\/#automatic-updating\">automatically update to new releases<\/a>, it is also informed of software updates that we have made available.<\/p>\n<p>You won't notice when maintenance calls happen, because:<\/p>\n<ul>\n<li>On average a maintenance call takes only 1.8 seconds.<\/li>\n<li>Any changes and software updates are not installed yet, with a few <a href=\"#configuration-changes\">exceptions<\/a>.<\/li>\n<li>The terminal doesn't make maintenance calls while it is doing a payment or other operation.<\/li>\n<\/ul>\n<p>Terminals are scheduled to make a maintenance call regularly; by default every three hours. We refer to this period as the <em>maintenance interval<\/em>. When the terminal is busy at the time it is scheduled to make a maintenance call, it waits for a minute and tries again, and so on until it has succeeded in making a maintenance call. When the terminal has succeeded in making a maintenance call, it waits until the next scheduled maintenance call.<\/p>\n<h2>Rebooting at the restart hour<\/h2>\n<p><em>Rebooting<\/em> means the terminal is power cycled: it turns off and on again. Then the software restarts. This process takes about two minutes. Power cycling clears the terminal's cache, which is important for security reasons.<\/p>\n<p>When the terminal reboots, it also installs any configuration change or software update that the terminal was informed of during a maintenance call. Installing the software can take up to 30 minutes.<\/p>\n<p>To ensure the terminal's cache is cleared regularly and the terminal is updated, we have programmed the terminal to reboot once every 24 hours, at the so-called <em>restart hour<\/em>. By default, the restart hour is at <strong>6:00 AM<\/strong> in the timezone of the terminal.<\/p>\n<h3>Set the restart hour<\/h3>\n<p>To ensure the terminal reboots during a period when the terminal is not in use, you can change the restart hour in your Customer Area. Considerations for changing the restart hour are:<\/p>\n<ul>\n<li>Your opening hours<\/li>\n<li>Operational events<\/li>\n<\/ul>\n<p>For this task, you need to be the <a href=\"\/pt\/account\/users\">\n  <strong>admin<\/strong>\n<\/a> user.<\/p>\n<p>To change the restart hour:<\/p>\n<ol>\n<li>Log in to your <a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a>.<\/li>\n<li>Optionally select the merchant account, store, or terminal that you want to set the restart hour for.<\/li>\n<li>Go to <strong>In-person payments<\/strong> &gt; <strong>Terminal settings<\/strong> &gt; <strong>Hardware<\/strong>.<\/li>\n<li>In the <strong>Maintenance<\/strong> section, select one of the <strong>Restart hour<\/strong> values.<\/li>\n<li>At the bottom of the page, select <strong>Save<\/strong>.<\/li>\n<\/ol>\n<h2>Configuration changes<\/h2>\n<p>Configuration changes can be terminal settings that you updated in your Customer Area or <a href=\"\/pt\/point-of-sale\/automating-terminal-management\/configure-terminals-api\">through API requests<\/a>, but can also be platform-wide changes initiated by us. For example, an update to the contactless CVM limits. Configuration changes are implemented during the restart of the Adyen application, either when the terminal reboots at the <a href=\"#configuration-update-at-restart-hour\">restart hour<\/a>, or when <a href=\"#update-the-configuration-manually\">triggered manually<\/a>.<\/p>\n<h3>Configuration update at restart hour<\/h3>\n<p>The terminal receives configuration changes when it makes a maintenance call. The terminal then implements the changes when the Adyen application restarts during reboot at the restart hour. There are a few exceptions:<\/p>\n<ul>\n<li>Changes initiated by us that must be applied as soon as possible. With these changes, we add an instruction to the terminal to restart after the maintenance call. Restarting takes about 30 seconds.<\/li>\n<li>Installing or uninstalling Android apps on Android terminals. The terminal carries out these changes immediately.<\/li>\n<li>Updating the configuration manually on the physical terminal.<\/li>\n<\/ul>\n<h3>Update the configuration manually<\/h3>\n<p>If you want configuration changes to take effect immediately, you can update the configuration manually:<\/p>\n<ol>\n<li>On the terminal, <a href=\"\/pt\/point-of-sale\/pos-troubleshooting\/terminal-turns-on\/admin-pin\">open the Admin menu<\/a>.<\/li>\n<li>Select <strong>Config<\/strong> &gt; <strong>Update<\/strong>.<\/li>\n<\/ol>\n<p>The terminal retrieves the updated configuration and then restarts.<\/p>\n<h3>Automatic configuration update<\/h3>\n<p>You can enable a setting that restarts the Adyen application installed on the payment terminal as soon as the configuration is updated. This lets the terminal automatically apply the configuration update without restarting other applications you might have installed on the terminal. This can be useful for unattended terminals attached to a vending machine, token dispenser, parking payment systems, or similar.<\/p>\n<p>To enable automatic configuration update:<\/p>\n<ol>\n<li>\n<p>Make a PATCH request to the <code>\/terminalSettings<\/code> endpoint for the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/companies\/(companyId)\/terminalSettings\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">company account<\/a>,  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/merchants\/(merchantId)\/terminalSettings\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">merchant account<\/a>,  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/stores\/(storeId)\/terminalSettings\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">store<\/a> or  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/get\/terminals\/(terminalId)\/terminalSettings\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">terminal<\/a>.<br \/>\nIn the request body, specify a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/companies\/_companyId_\/terminalSettings#request-terminalInstructions\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">terminalInstructions<\/a> object with:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: left;\">Data&nbsp;type<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/Management\/latest\/patch\/companies\/_companyId_\/terminalSettings#request-terminalInstructions-adyenAppRestart\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">adyenAppRestart<\/a><\/td>\n<td style=\"text-align: left;\">Boolean<\/td>\n<td style=\"text-align: left;\">Indicates whether the Adyen app on the payment terminal restarts automatically when the configuration is updated.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Automatic configuration update'\" :id=\"'automatic-configuration-update-0535871400'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;curl&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/management-test.adyen.com\\\/v3\\\/companies\\\/{companyId}\\\/terminalSettings \\\\\\n-H 'x-API-key: ADYEN_API_KEY' \\\\\\n-X PATCH \\\\\\n-d '{\\n  \\&quot;terminalInstructions\\&quot; : {\\n     \\&quot;adyenAppRestart\\&quot; : true\\n   }\\n}'&quot;},{&quot;language&quot;:&quot;java&quot;,&quot;tabTitle&quot;:&quot;Java&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Java API Library v25.0.0\\nimport com.adyen.Client;\\nimport com.adyen.enums.Environment;\\nimport com.adyen.model.management.*;\\nimport java.time.OffsetDateTime;\\nimport java.util.*;\\nimport com.adyen.service.management.*;\\n\\nClient client = new Client(\\&quot;ADYEN_API_KEY\\&quot;, Environment.TEST);\\n\\n\\\/\\\/ Request objects\\nTerminalInstructions terminalInstructions = new TerminalInstructions()\\n\\t.adyenAppRestart(true);\\n\\nTerminalSettings terminalSettings = new TerminalSettings()\\n\\t.terminalInstructions(terminalInstructions);\\n\\n\\\/\\\/ Make the request\\nTerminalSettingsCompanyLevelApi service = new TerminalSettingsCompanyLevelApi(client);\\nTerminalSettings response = service.updateTerminalSettings(\\&quot;companyId\\&quot;, terminalSettings, null);&quot;},{&quot;language&quot;:&quot;php&quot;,&quot;tabTitle&quot;:&quot;PHP&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen PHP API Library v17.4.0\\nuse Adyen\\\\Client;\\nuse Adyen\\\\Environment;\\nuse Adyen\\\\Model\\\\Management\\\\TerminalInstructions;\\nuse Adyen\\\\Model\\\\Management\\\\TerminalSettings;\\nuse Adyen\\\\Service\\\\Management\\\\TerminalSettingsCompanyLevelApi;\\n\\n$client = new Client();\\n$client-&gt;setXApiKey(\\&quot;ADYEN_API_KEY\\&quot;);\\n$client-&gt;setEnvironment(Environment::TEST);\\n\\n\\n\\\/\\\/ Request objects\\n$terminalInstructions = new TerminalInstructions();\\n$terminalInstructions\\n\\t-&gt;setAdyenAppRestart(true);\\n\\n$terminalSettings = new TerminalSettings();\\n$terminalSettings\\n\\t-&gt;setTerminalInstructions($terminalInstructions);\\n\\n\\\/\\\/ Make the request\\n$service = new TerminalSettingsCompanyLevelApi($client);\\n$response = $service-&gt;updateTerminalSettings('companyId', $terminalSettings);&quot;},{&quot;language&quot;:&quot;cs&quot;,&quot;tabTitle&quot;:&quot;C#&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen .net API Library v14.3.0\\nusing Adyen;\\nusing Environment = Adyen.Model.Environment;\\nusing Adyen.Model;\\nusing Adyen.Model.Management;\\nusing Adyen.Service.Management;\\n\\nvar config = new Config()\\n{\\n    XApiKey = \\&quot;ADYEN_API_KEY\\&quot;,\\n    Environment = Environment.Test\\n};\\nvar client = new Client(config);\\n\\n\\\/\\\/ Fill in your request objects\\nTerminalInstructions terminalInstructions = new TerminalInstructions\\n{\\n\\tAdyenAppRestart = true\\n};\\n\\nTerminalSettings terminalSettings = new TerminalSettings\\n{\\n\\tTerminalInstructions = terminalInstructions\\n};\\n\\n\\\/\\\/ Make the request\\nvar service = new TerminalSettingsCompanyLevelService(client);\\nvar response = service.UpdateTerminalSettings(\\&quot;companyId\\&quot;, terminalSettings);&quot;},{&quot;language&quot;:&quot;js&quot;,&quot;tabTitle&quot;:&quot;NodeJS (JavaScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v16.2.0\\n\\\/\\\/ Require the parts of the module you want to use\\nconst { Client, ManagementAPI } = require('@adyen\\\/api-library');\\n\\n\\\/\\\/ Initialize the client object\\nconst client = new Client({apiKey: \\&quot;ADYEN_API_KEY\\&quot;, environment: \\&quot;TEST\\&quot;});\\n\\n\\\/\\\/ Create the request object\\nconst terminalSettings = {\\n  terminalInstructions: {\\n    adyenAppRestart: true\\n  }\\n}\\n\\n\\\/\\\/ Make the request\\nconst managementAPI = new ManagementAPI(client);\\nconst response = managementAPI.TerminalSettingsCompanyLevelApi.updateTerminalSettings(\\&quot;companyId\\&quot;, terminalSettings);&quot;},{&quot;language&quot;:&quot;go&quot;,&quot;tabTitle&quot;:&quot;Go&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Go API Library v9.2.0\\nimport (\\n\\t\\&quot;context\\&quot;\\n\\t\\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v9\\\/src\\\/common\\&quot;\\n\\t\\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v9\\\/src\\\/adyen\\&quot;\\n\\t\\&quot;github.com\\\/adyen\\\/adyen-go-api-library\\\/v9\\\/src\\\/management\\&quot;\\n)\\n\\nclient := adyen.NewClient(&amp;common.Config{\\n    ApiKey:      \\&quot;ADYEN_API_KEY\\&quot;,\\n    Environment: common.TestEnv,\\n})\\n\\n\\\/\\\/ Fill in your request objects\\nterminalInstructions := management.TerminalInstructions{\\n\\tAdyenAppRestart: common.PtrBool(true),\\n}\\n\\nterminalSettings := management.TerminalSettings{\\n\\tTerminalInstructions: &amp;terminalInstructions,\\n}\\n\\n\\\/\\\/ Make the request\\nservice := client.Management()\\nreq := service.TerminalSettingsCompanyLevelApi.UpdateTerminalSettingsInput(\\&quot;companyId\\&quot;).TerminalSettings(terminalSettings)\\nres, httpRes, err := service.TerminalSettingsCompanyLevelApi.UpdateTerminalSettings(context.Background(), req)&quot;},{&quot;language&quot;:&quot;py&quot;,&quot;tabTitle&quot;:&quot;Python&quot;,&quot;content&quot;:&quot;# Adyen Python API Library v12.2.0\\nimport Adyen\\n\\nadyen = Adyen.Adyen()\\nadyen.client.xapikey = \\&quot;ADYEN_API_KEY\\&quot;\\nadyen.client.platform = \\&quot;test\\&quot; # The environment to use library in.\\n\\njson_request = {\\n  \\&quot;terminalInstructions\\&quot;: {\\n    \\&quot;adyenAppRestart\\&quot;: True\\n  }\\n}\\n\\nresult = adyen.management.terminal_settings_company_level_api.update_terminal_settings(request=json_request, companyId=\\&quot;companyId\\&quot;)&quot;},{&quot;language&quot;:&quot;rb&quot;,&quot;tabTitle&quot;:&quot;Ruby&quot;,&quot;content&quot;:&quot;# Adyen Ruby API Library v9.2.0\\nrequire \\&quot;adyen-ruby-api-library\\&quot;\\n\\nadyen = Adyen::Client.new\\nadyen.api_key = 'ADYEN_API_KEY'\\nadyen.env = :test # Set to \\&quot;live\\&quot; for live environment\\n\\nrequest_body = {\\n  :terminalInstructions =&gt; {\\n    :adyenAppRestart =&gt; true\\n  }\\n}\\n\\nresult = adyen.management.terminal_settings_company_level_api.update_terminal_settings(request_body, 'companyId')&quot;},{&quot;language&quot;:&quot;ts&quot;,&quot;tabTitle&quot;:&quot;NodeJS (TypeScript)&quot;,&quot;content&quot;:&quot;\\\/\\\/ Adyen Node API Library v16.2.0\\n\\\/\\\/ Require the parts of the module you want to use\\nimport { Client, ManagementAPI, Types } from \\&quot;@adyen\\\/api-library\\&quot;;\\n\\n\\\/\\\/ Initialize the client object\\nconst client = new Client({apiKey: \\&quot;ADYEN_API_KEY\\&quot;, environment: \\&quot;TEST\\&quot;});\\n\\n\\\/\\\/ Create the request objects\\nconst terminalInstructions: Types.management.TerminalInstructions = {\\n\\tadyenAppRestart: true\\n};\\n\\nconst terminalSettings: Types.management.TerminalSettings = {\\n\\tterminalInstructions: terminalInstructions\\n};\\n\\n\\\/\\\/ Make the request\\nconst managementAPI = new ManagementAPI(client);\\nconst response = managementAPI.TerminalSettingsCompanyLevelApi.updateTerminalSettings(\\&quot;companyId\\&quot;, terminalSettings);&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>The response returns all terminal settings at the level where you made the request.<\/p>\n<\/li>\n<\/ol>\n<h2>Software updates<\/h2>\n<p>By default, the Adyen software on the terminal is updated automatically. When there is a new release, the terminal learns about this during a maintenance call. When the terminal reboots at the restart hour, it downloads and installs the new software package.<br \/>\nWe can also enable background downloading for you. Android terminals use this by default. With background downloading, the terminal downloads new software after the maintenance call. This reduces the chance that the software update fails because the internet connection is down at the reboot hour.<\/p>\n<p>Apart from updating automatically, you can decide to participate in our beta program.<\/p>\n<p>For more information about update strategies and the release cycle, see <a href=\"\/pt\/point-of-sale\/release-updating\">Update to a new release<\/a><\/p>\n<h2>What you need to do<\/h2>\n<p>It is important that:<\/p>\n<ul>\n<li>The terminal makes at least one maintenance call every day to receive information about any changes.<br \/>\nFor this, the terminal must be turned on and have a network connection.<\/li>\n<li>The terminal reboots every day.<br \/>\nTo reboot automatically, the terminal needs to be turned on at the restart hour. To download updates when it reboots, the terminal also needs to have a network connection.<\/li>\n<\/ul>\n<p>This means you must ensure that your terminal is turned on and connected to the network during at least one maintenance interval (three hours) before the restart hour (at 6:00 AM by default).<br \/>\nIn practice, we recommend you <strong>keep your terminals turned on and connected to the network overnight<\/strong>.<\/p>\n<h2>See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/point-of-sale\/managing-terminals\"\n                        target=\"_self\"\n                        >\n                    Managing terminals\n                <\/a><\/li><li><a href=\"\/point-of-sale\/release-updating\"\n                        target=\"_self\"\n                        >\n                    Strategies for updating to a new release\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/managing-terminals\/maintain-performance","articleFields":{"description":"Understand maintenance calls, automatic reboots, configuration changes, and software releases.","feedback_component":true,"last_edit_on":"28-10-2021 13:33"},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/managing-terminals\/maintain-performance","title":"Maintain performance","content":"To ensure your terminals continue to perform well and are using up-to-date settings and software, several events happen automatically on the terminals:\n\nMaintenance calls: every couple of hours, the terminal contacts our platform to check for configuration changes and software updates. The terminal doesn't implement or install anything yet (with a few exceptions).\nRebooting: for security reasons, the terminal must clear its cache regularly. To achieve this, the terminal reboots once every 24 hours at the restart hour.\nConfiguration changes: any configuration changes that the terminal discovered during a maintenance call, are implemented when the terminal reboots at the restart hour.\nSoftware updates: if the terminal is set to automatically update to new releases, any software update that the terminal discovered during a maintenance call is installed when the terminal reboots at the restart hour.\n\nThese events do not interfere with accepting payments or other daily operations. Below we explain the events in more detail, and describe what you need to do.\nRequirements\nBefore you begin, take into account the following requirements.\n\n\n\nRequirement\nDescription\n\n\n\n\nIntegration type\nA Terminal API integration with payment terminals, or a standalone solution .\n\n\nSetup steps\nEnsure that your terminal is turned on and connected to the network during at least one maintenance interval (three hours) before the restart hour (at 6:00 AM by default).\n\n\n\nMaintenance calls\nEvery day, the terminal contacts our platform a few times to check for updates. We refer to this as maintenance calls. During a maintenance call, the terminal is informed of any changes in the configuration. For example, terminal settings that you configured in your Customer Area. If the terminal is set to automatically update to new releases, it is also informed of software updates that we have made available.\nYou won't notice when maintenance calls happen, because:\n\nOn average a maintenance call takes only 1.8 seconds.\nAny changes and software updates are not installed yet, with a few exceptions.\nThe terminal doesn't make maintenance calls while it is doing a payment or other operation.\n\nTerminals are scheduled to make a maintenance call regularly; by default every three hours. We refer to this period as the maintenance interval. When the terminal is busy at the time it is scheduled to make a maintenance call, it waits for a minute and tries again, and so on until it has succeeded in making a maintenance call. When the terminal has succeeded in making a maintenance call, it waits until the next scheduled maintenance call.\nRebooting at the restart hour\nRebooting means the terminal is power cycled: it turns off and on again. Then the software restarts. This process takes about two minutes. Power cycling clears the terminal's cache, which is important for security reasons.\nWhen the terminal reboots, it also installs any configuration change or software update that the terminal was informed of during a maintenance call. Installing the software can take up to 30 minutes.\nTo ensure the terminal's cache is cleared regularly and the terminal is updated, we have programmed the terminal to reboot once every 24 hours, at the so-called restart hour. By default, the restart hour is at 6:00 AM in the timezone of the terminal.\nSet the restart hour\nTo ensure the terminal reboots during a period when the terminal is not in use, you can change the restart hour in your Customer Area. Considerations for changing the restart hour are:\n\nYour opening hours\nOperational events\n\nFor this task, you need to be the \n  admin\n user.\nTo change the restart hour:\n\nLog in to your Customer Area.\nOptionally select the merchant account, store, or terminal that you want to set the restart hour for.\nGo to In-person payments &gt; Terminal settings &gt; Hardware.\nIn the Maintenance section, select one of the Restart hour values.\nAt the bottom of the page, select Save.\n\nConfiguration changes\nConfiguration changes can be terminal settings that you updated in your Customer Area or through API requests, but can also be platform-wide changes initiated by us. For example, an update to the contactless CVM limits. Configuration changes are implemented during the restart of the Adyen application, either when the terminal reboots at the restart hour, or when triggered manually.\nConfiguration update at restart hour\nThe terminal receives configuration changes when it makes a maintenance call. The terminal then implements the changes when the Adyen application restarts during reboot at the restart hour. There are a few exceptions:\n\nChanges initiated by us that must be applied as soon as possible. With these changes, we add an instruction to the terminal to restart after the maintenance call. Restarting takes about 30 seconds.\nInstalling or uninstalling Android apps on Android terminals. The terminal carries out these changes immediately.\nUpdating the configuration manually on the physical terminal.\n\nUpdate the configuration manually\nIf you want configuration changes to take effect immediately, you can update the configuration manually:\n\nOn the terminal, open the Admin menu.\nSelect Config &gt; Update.\n\nThe terminal retrieves the updated configuration and then restarts.\nAutomatic configuration update\nYou can enable a setting that restarts the Adyen application installed on the payment terminal as soon as the configuration is updated. This lets the terminal automatically apply the configuration update without restarting other applications you might have installed on the terminal. This can be useful for unattended terminals attached to a vending machine, token dispenser, parking payment systems, or similar.\nTo enable automatic configuration update:\n\n\nMake a PATCH request to the \/terminalSettings endpoint for the  company account,  merchant account,  store or  terminal.\nIn the request body, specify a  terminalInstructions object with:\n\n\n\nParameter\nData&nbsp;type\nDescription\n\n\n\n\n adyenAppRestart\nBoolean\nIndicates whether the Adyen app on the payment terminal restarts automatically when the configuration is updated.\n\n\n\n\n\n\nThe response returns all terminal settings at the level where you made the request.\n\n\nSoftware updates\nBy default, the Adyen software on the terminal is updated automatically. When there is a new release, the terminal learns about this during a maintenance call. When the terminal reboots at the restart hour, it downloads and installs the new software package.\nWe can also enable background downloading for you. Android terminals use this by default. With background downloading, the terminal downloads new software after the maintenance call. This reduces the chance that the software update fails because the internet connection is down at the reboot hour.\nApart from updating automatically, you can decide to participate in our beta program.\nFor more information about update strategies and the release cycle, see Update to a new release\nWhat you need to do\nIt is important that:\n\nThe terminal makes at least one maintenance call every day to receive information about any changes.\nFor this, the terminal must be turned on and have a network connection.\nThe terminal reboots every day.\nTo reboot automatically, the terminal needs to be turned on at the restart hour. To download updates when it reboots, the terminal also needs to have a network connection.\n\nThis means you must ensure that your terminal is turned on and connected to the network during at least one maintenance interval (three hours) before the restart hour (at 6:00 AM by default).\nIn practice, we recommend you keep your terminals turned on and connected to the network overnight.\nSee also\n\n\n                    Managing terminals\n                \n                    Strategies for updating to a new release\n                \n","type":"page","locale":"pt","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"Terminais","lvl2":"Gerenciando terminais","lvl3":"Maintain performance"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/point-of-sale","lvl2":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/managing-terminals","lvl3":"\/pt\/point-of-sale\/managing-terminals\/maintain-performance"},"levels":4,"category":"In-person payments","category_color":"green","tags":["Maintain","performance"]},"articleFiles":{"automatic-configuration-update-0535871400.js":"<p alt=\"\">automatic-configuration-update-0535871400.js<\/p>"}}
