Never use Hardcoded Id's.
Developers should know that it is not a best practice to hardcode IDs in code, as documented in the Salesforce Developers site.
The reason why you want to avoid hardcoding Salesforce IDs is that when the new record that your configuration item is referencing is created in a sandbox, and then created in every sandbox leading up and including Production, that new record’s Salesforce ID will not be the same. You will need to update each reference of this hardcoded Salesforce record ID in every sandbox or production. As a result, you have different versions of your formula, validation rule. process builder or flow, etc. in your regions.
In your case you can use
$RecordType.Name OR $RecordType.DeveloperName
$RecordType.Name matches with 'Record Type Label' and
$RecordType.DeveloperName matches with 'Record Type Name'
Where possible, rather than using the ID, reference it by something that is the same in all regions and less likely to change, such as the API name or field label. If Salesforce will only take the ID then you can use
Custom Label. Custom field is just a custom text field that isn’t object specific. It can be called anywhere in Salesforce. In other words, it is not object or configuration type specific and can therefore be leveraged throughout the org.