Skip to main content

Showcase resource detail validation rules for location requirements, brand association, resource identification, and scheduling constraints

Cross-feature​

ShowcaseAndReferencedResourceMustBelongToSameBusiness​

Preconditions
Resource referenced via resourceId in resourceDetails belongs to a brand
DefinitionSeverityAPISampleMode
Validate that Showcase and referenced resource in resourceDetails belong to the same brand
VIOLATION
POST_AND_PUT
S

Location​

BrandMustHaveAtLeastOnePublishedLocation​

DefinitionSeverityAPISampleMode
Validate that a Showcase's associated brand has a corresponding association with at least one (1) Location whose resource state is PUBLISHED
VIOLATION
POST_AND_PUT
A
Example Validation Report
{
"code": "VALIDATION__BrandMustHaveAtLeastOnePublishedLocation",
"severity": "VIOLATION",
"message": "Brand '{{brandId}}' has no published location",
"context": {
"brandId": "9467895078742654921"
},
"details": {
"createdDate": "2026-02-10T11:36:02.00Z",
"submitted": [],
"compared": [],
"expected": []
}
}

CountOfLocationsShowcasesMustNotExceedMaximum​

DefinitionSeverityAPISampleMode
Validates that the referenced Location's count of associated Showcases does not exceed maximum
VIOLATION
POST_AND_PUT
Link
A

LocationMustExist​

DefinitionSeverityAPISampleMode
Validate that Location referenced via resourceId exists and belongs to a brand
VIOLATION
POST_AND_PUT
S

PartnerNotAuthorizedForShowcaseCountry​

DefinitionSeverityAPISampleMode
Validate that the Showcase's referenced Location is within a showcase country that is permitted for the partner
VIOLATION
POST_AND_PUT
S
note

An authorized partner may be limited to a set of countries that is narrower than what is currently supported

Example Validation Report
{
"code": "VALIDATION__PartnerNotAuthorizedForShowcaseCountry",
"severity": "VIOLATION",
"message": "Showcase is not allowed in the country where location '{{id}}' is physically located",
"context": {
"value": "FR"
},
"details": {
"createdDate": "2026-02-10T11:36:02.00Z",
"submitted": [],
"compared": [],
"expected": []
}
}

PublishedVersionOfReferencedResourceMustExist​

DefinitionSeverityAPISampleMode
Validate that at least one (1) version of the Location referenced via resourceId has been PUBLISHED, and that the Location is not deleted, when the Showcase publication process is initiated
VIOLATION
POST_AND_PUT
Link
A
note

A Showcase rejected by this rule is not resubmitted when the Location is later published. After the Location is PUBLISHED, update the Showcase to resubmit it. If the Showcase's startDate no longer allows the minimum lead time, change the startDate in the same update.

Example Validation Report
{
"code": "VALIDATION__PublishedVersionOfReferencedResourceMustExist",
"severity": "VIOLATION",
"message": "Validate that at least one (1) version of the identified resource '{{id}}' exists in a PUBLISHED state when the Showcase publication process is initiated.",
"context": {
"id": "9467895078742654976"
},
"details": {
"createdDate": "2026-02-10T11:36:02.00Z",
"submitted": [],
"compared": [],
"expected": []
}
}

ShowcaseIsNotAllowedInCountry​

DefinitionSeverityAPISampleMode
Validate that the Showcase's referenced Location is within a permitted country
VIOLATION
POST_AND_PUT
Link
S

Resource Details​

ResourceDetailsMustBePresent​

DefinitionSeverityAPISampleMode
Validate that resourceDetails is present
VIOLATION
POST_AND_PUT
Link
S

ResourceDetailsIdMustBePresent​

DefinitionSeverityAPISampleMode
Validate that Resource Details' resourceId is present
VIOLATION
POST_AND_PUT
Link
S

ResourceDetailsIdMustNotBeEmpty​

DefinitionSeverityAPISampleMode
Validate that Resource Details' resourceId is not an empty string
VIOLATION
POST_AND_PUT
S

ResourceDetailsTypeMustBePresent​

DefinitionSeverityAPISampleMode
Validate that Resource Details' resourceType is present
VIOLATION
POST_AND_PUT
Link
S

ResourceDetailsTypeMustNotBeEmpty​

DefinitionSeverityAPISampleMode
Validate that Resource Details' resourceType is not an empty string
VIOLATION
POST_AND_PUT
S

TypeMustBeValidForReferencedId​

DefinitionSeverityAPISampleMode
Validate that the resourceType value is a valid description of the resource referenced using an resourceId
VIOLATION
POST_AND_PUT
Link
S

Scheduling​

PartlyScheduledWhenReferencedLocationIsOpeningSoon​

DefinitionSeverityAPISampleMode
Validate that the Location Status of the referenced Location is not OPENING_SOON during part of the scheduled Start and End Dates
WARNING
POST_AND_PUT
S

PartlyScheduledWhenReferencedLocationIsTempClosed​

DefinitionSeverityAPISampleMode
Validate that the Location Status of the referenced Location is not TEMPORARILY_CLOSED during part of the scheduled Start and End Dates
WARNING
POST_AND_PUT
Link
S

ScheduledWhenReferencedLocationIsClosed​

DefinitionSeverityAPISampleMode
Validate that the Location Status of the referenced Location is not CLOSED
VIOLATION
POST_AND_PUT
Link
S

ScheduledWhenReferencedLocationIsOpeningSoon​

DefinitionSeverityAPISampleMode
Validate that the Location Status of the referenced Location is not OPENING_SOON
VIOLATION
POST_AND_PUT
S

ScheduledWhenReferencedLocationIsTempClosed​

DefinitionSeverityAPISampleMode
Validate that the Location Status of the referenced Location is not TEMPORARILY_CLOSED during specified Start and End Dates
VIOLATION
POST_AND_PUT
Link
S