{
  "addedInModelVersion" : 1200,
  "ash" : {
    "generateResource" : "Y"
  },
  "attributes" : [
    {
      "addedInModelVersion" : 1200,
      "allowsNull" : "N",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "_rowid",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "bookingDefinitionLocationID",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "addedInModelVersion" : 1200,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "createDate",
      "externalType" : "datetime",
      "name" : "createDate",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSDate"
    },
    {
      "addedInModelVersion" : 1200,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "modifyDate",
      "externalType" : "datetime",
      "name" : "modifyDate",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSDate"
    },
    {
      "addedInModelVersion" : 1200,
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "locationType",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "locationType",
      "purpose" : "The type of location option.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "EnumInteger",
      "valueEnum" : "LocationType"
    },
    {
      "addedInModelVersion" : 1200,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "location",
      "externalType" : "char",
      "name" : "location",
      "purpose" : "The flexible free-form 'location' field for `InPerson` and `Link` location options.\n\nThis is a free-from field and could be used for a custom url, a building address, meeting room, or instructions for how to find a meeting room.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : 2048
    },
    {
      "addedInModelVersion" : 1200,
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "videoConferenceProvider",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "videoConferenceProvider",
      "purpose" : "The video conference provider for this location option.\n\nThe provider does not need to be pre-configured to be selectable here.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "EnumInteger",
      "valueEnum" : "VideoConferenceConfig.VideoConferenceConfigProvider"
    },
    {
      "addedInModelVersion" : 1200,
      "ash" : {
        "ashName" : "show_on_booking_page?",
        "includeInResource" : "Y"
      },
      "columnName" : "showOnBookingPage",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "showOnBookingPage",
      "purpose" : "Indicates whether the public online booking page should show this address to potential schedulers.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "Boolean"
    },
    {
      "addedInModelVersion" : 1200,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "bookingDefinitionID",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "bookingDefinitionID",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    }
  ],
  "className" : "GWBookingDefinitionLocation",
  "classProperties" : [
    "bookingDefinitionLocationID",
    "createDate",
    "modifyDate",
    "locationType",
    "location",
    "videoConferenceProvider",
    "showOnBookingPage",
    "bookingDefinitionID",
    "bookingDefinition"
  ],
  "domain" : "OnlineBooking",
  "enums" : [
    {
      "addedInModelVersion" : 1200,
      "items" : [
        {
          "addedInModelVersion" : 1200,
          "name" : "InPerson",
          "purpose" : "An in-person meeting at a physical address.\n\nSee `location` for the address to show users.",
          "value" : 0
        },
        {
          "addedInModelVersion" : 1200,
          "name" : "Link",
          "purpose" : "A fixed link for all meetings.\n\nSee `location` for the url. This may be used for a fixed Zoom link, etc.",
          "value" : 1
        },
        {
          "addedInModelVersion" : 1200,
          "name" : "VideoConference",
          "purpose" : "A video meeting managed through a video conference integration where a new video conference meeting is created for each booking.\n\nWhen selected, `videoConferenceProvider` must be set to an integration.",
          "value" : 2
        }
      ],
      "name" : "LocationType",
      "purpose" : "The type of booking definition location option.",
      "type" : 1
    }
  ],
  "externalName" : "BookingDefinitionLocation",
  "isDatabasePreference" : false,
  "isTrashable" : false,
  "moduleName" : "DLSubstrate",
  "name" : "BookingDefinitionLocation",
  "primaryKeyAttributes" : [
    "bookingDefinitionLocationID"
  ],
  "purpose" : "A location option for people to choose from when booking an appointment.",
  "record" : {
    "allowsRecord" : "Y",
    "isDirectlyUpdatable" : "Y"
  },
  "relationships" : [
    {
      "addedInModelVersion" : 1200,
      "ash" : {
        "includeInResource" : "Y"
      },
      "destination" : "BookingDefinition",
      "isToMany" : "N",
      "joins" : [
        {
          "destinationAttribute" : "bookingDefinitionID",
          "sourceAttribute" : "bookingDefinitionID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "bookingDefinition",
      "purpose" : "The booking definition that this location is an option for.",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    }
  ],
  "supportsPermissions" : false,
  "uniqueIdentifier" : 225
}