{
  "HistoryTransactionalKey": {
    "definition": "A unique identifier for this record from the immediate source. This may be a number, or string that can include URI or other forms.  This is the system you are connecting to and not necessarily the original source of the record.",
    "type": "string",
    "maxLength": 255,
    "level": "silver",
    "primary": true
  },
  "HistoryTransactionalKeyNumeric": {
    "definition": "A unique identifier for this record from the immediate source. This may be a number, or string that can include URI or other forms.  This is the system you are connecting to and not necessarily the original source of the record.  This is the numeric only key and used as an alternative to the HistoryTransactionalKey field.",
    "type": "number",
    "maxLength": 255,
    "level": "platinum"
  },
  "OriginatingSystemHistoryKey": {
    "definition": "The system key, a unique record identifier, from the Originating system.  The Originating system is the system with authoritative control over the record.  For example, the Multiple Listing Service where the History was input.  There may be cases where the Source System (how you received the record) is not the Originating System.  See Source System Key for more information. ",
    "type": "string",
    "maxLength": 255,
    "synonyms": [
      "ProviderKey"
    ],
    "level": "silver"
  },
  "OriginatingSystemName": {
    "definition": "The name of the Originating record provider.  Most commonly the name of the MLS. The place where the History is originally input.  The legal name of the company.",
    "type": "string",
    "maxLength": 255,
    "synonyms": [
      "ProviderName",
      "MLSID"
    ],
    "level": "silver"
  },
  "OriginatingSystemID": {
    "definition": "The RESO OUID's OrganizationUniqueId of the Originating record provider.  The Originating system is the system with authoritative control over the record.  For example; the name of the MLS where the History was input.  In cases where the Originating system was not where the record originated (the authoritative system), see the Originating System fields.",
    "type": "string",
    "maxLength": 25,
    "level": "platinum"
  },
  "SourceSystemHistoryKey": {
    "definition": "The system key, a unique record identifier, from the Source System.  The Source System is the system from which the record was directly received.  In cases where the Source System was not where the record originated (the authoritative system), see the Originating System fields. ",
    "type": "string",
    "maxLength": 255,
    "synonyms": [
      "ProviderKey"
    ],
    "level": "silver"
  },
  "SourceSystemName": {
    "definition": "The name of the History record provider.  The system from which the record was directly received.  The legal name of the company.",
    "type": "string",
    "maxLength": 255,
    "synonyms": [
      "ProviderName",
      "MLSID"
    ],
    "level": "silver"
  },
  "SourceSystemID": {
    "definition": "The RESO OUID's OrganizationUniqueId of the Source record provider.  The source system is the system from which the record was directly received.  In cases where the source system was not where the record originated (the authoritative system), see the Originating System fields.",
    "type": "string",
    "maxLength": 25,
    "synonyms": [
      "MLSID"
    ],
    "level": "platinum"
  },
  "ChangedByMemberID": {
    "definition": "The local, well-know identifier of the member (user) who made the change.",
    "type": "string",
    "maxLength": 25,
    "level": "silver"
  },
  "ChangedByMemberKey": {
    "definition": "The unique identifier of the member (user) who made the change.  This is a foreign key relating to the Member resource's MemberKey.",
    "type": "string",
    "maxLength": 255,
    "level": "silver"
  },
  "ChangedByMemberKeyNumeric": {
    "definition": "The unique identifier of the member (user) who made the change.  This is a foreign key relating to the Member resource's MemberKey.  This is the numeric only key and used as an alternative to the ChangedByMemberKey field.",
    "type": "number",
    "maxLength": 255,
    "level": "platinum"
  },
  "ChangeType": {
    "definition": "Description of the last major change on the listing, i.e. “price reduction”, “back on market”, etc.  May be used to display on a summary view of listing results to quickly identify listings that have had major changes recently.",
    "type": "string",
    "maxLength": 255,
    "lookup": "ChangeType",
    "level": "silver",
    "enum": [
      "Active",
      "Active Under Contract",
      "Back On Market",
      "Canceled",
      "Closed",
      "Deleted",
      "Expired",
      "Hold",
      "New Listing",
      "Pending",
      "Price Change",
      "Withdrawn"
    ]
  },
  "ModificationTimestamp": {
    "definition": "Timestamp of the last major change on the listing (see also MajorChangeType).",
    "type": "date",
    "maxLength": 27,
    "level": "silver"
  },
  "FieldKey": {
    "definition": "The unique identifier of the field whose data is being changed.  This is a foreign key relating to the field found in the resource per the ResourceName.",
    "type": "string",
    "maxLength": 255,
    "level": "silver"
  },
  "FieldKeyNumeric": {
    "definition": "The unique identifier of the field whose data is being changed.  This is a foreign key relating to the field found in the resource per the ResourceName.  This is the numeric only key and used as an alternative to the FieldKey field.",
    "type": "number",
    "maxLength": 255,
    "level": "platinum"
  },
  "FieldName": {
    "definition": "The name of the field whose data is being changed.",
    "type": "string",
    "maxLength": 255,
    "level": "silver"
  },
  "PreviousValue": {
    "definition": "The value found in the named field prior to the change represented by this record.",
    "type": "string",
    "maxLength": 8000,
    "level": "silver"
  },
  "NewValue": {
    "definition": "The new value applied to the named field.",
    "type": "string",
    "maxLength": 8000,
    "level": "silver"
  },
  "ClassName": {
    "definition": "Name of the class which this history record applies.",
    "type": "string",
    "maxLength": 255,
    "lookup": "ClassName",
    "level": "silver",
    "enum": [
      "Business Opportunity",
      "Commercial Lease",
      "Commercial Sale",
      "Contacts",
      "Cross Property",
      "Farm",
      "History Transactional",
      "Land",
      "Manufactured In Park",
      "Media",
      "Member",
      "Office",
      "Open House",
      "Residential",
      "Residential Income",
      "Residential Lease",
      "Saved Search"
    ]
  },
  "ResourceName": {
    "definition": "The name of the resource which this history record applies.",
    "type": "string",
    "maxLength": 255,
    "lookup": "ResourceName",
    "level": "silver",
    "enum": [
      "Property",
      "Member",
      "Office",
      "Contacts"
    ]
  },
  "ResourceRecordKey": {
    "definition": "The primary key of the related record from the source resource. For example the ListingKey, AgentKey, OfficeKey, etc.  This is the system you are connecting to and not necessarily the original source of the record.  This is a foreign key from the resource selected in the ResourceName field.",
    "type": "string",
    "maxLength": 255,
    "synonyms": [
      "SystemUniqueID",
      "ImmediateSourceID"
    ],
    "level": "silver"
  },
  "ResourceRecordKeyNumeric": {
    "definition": "The primary key of the related record from the source resource. For example the ListingKey, AgentKey, OfficeKey, etc.  This is the system you are connecting to and not necessarily the original source of the record.  This is a foreign key from the resource selected in the ResourceName field.  This is the numeric only key and used as an alternative to the ResourceRecordKey field.",
    "type": "number",
    "maxLength": 255,
    "synonyms": [
      "SystemUniqueID",
      "ImmediateSourceID"
    ],
    "level": "platinum"
  },
  "ResourceRecordID": {
    "definition": "The well known identifier of the related record from the source resource. The value may be identical to that of the Listing Key, but the Listing ID is intended to be the value used by a human to retrieve the information about a specific listing. In a multiple originating system or a merged system, this value may not be unique and may require the use of the provider system to create a synthetic unique value.",
    "type": "string",
    "maxLength": 255,
    "synonyms": [
      "MLNumber",
      "MLSNumber",
      "ListingNumber",
      "AgentID",
      "OfficeID",
      "ContactID"
    ],
    "level": "silver"
  }
}
