/*
 * AdvantEDGE Location API
 *
 * Location Service is AdvantEDGE's implementation of [ETSI MEC ISG MEC013 Location API](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/03.01.01_60/gs_mec013v030101p.pdf) <p>The API is based on the Open Mobile Alliance's specification RESTful Network API for Zonal Presence <p>[Copyright (c) ETSI 2017](https://forge.etsi.org/etsi-forge-copyright-notice.txt) <p>**Micro-service**<br>[meep-loc-serv](https://github.com/InterDigitalInc/AdvantEDGE/tree/master/go-apps/meep-loc-serv) <p>**Type & Usage**<br>Edge Service used by edge applications that want to get information about Users (UE) and Zone locations <p>**Note**<br>AdvantEDGE supports all of Location API endpoints (see below).
 *
 * API version: 3.1.1
 * Contact: AdvantEDGE@InterDigital.com
 * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
 */
package server

type ZoneStatusSubscription struct {
	Links *Links `json:"_links,omitempty"`
	// URI exposed by the client on which to receive notifications via HTTP. See note 1.
	CallbackReference string `json:"callbackReference,omitempty"`
	// A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server. See note 2.
	ClientCorrelator string `json:"clientCorrelator,omitempty"`

	ExpiryDeadline *TimeStamp `json:"expiryDeadline,omitempty"`
	// Threshold number of users in an access point which if crossed downward shall cause a notification
	LowerNumberOfUsersAPThreshold int32 `json:"lowerNumberOfUsersAPThreshold,omitempty"`
	// Threshold number of users in a zone which if crossed downward shall cause a notification
	LowerNumberOfUsersZoneThreshold int32 `json:"lowerNumberOfUsersZoneThreshold,omitempty"`
	// List of operation status values to generate notifications for (these apply to all access points within a zone). See note 3.
	OperationStatus []OperationStatus `json:"operationStatus,omitempty"`

	ReportingCtrl *ReportingCtrl `json:"reportingCtrl,omitempty"`
	// Set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, as specified in ETSI GS MEC 009 [4], clause 6.12a.
	RequestTestNotification bool `json:"requestTestNotification,omitempty"`
	// Shall be set to \"ZoneStatusSubscription\".
	SubscriptionType string `json:"subscriptionType"`
	// Threshold number of users in an access point which if crossed upward shall cause a notification.
	UpperNumberOfUsersAPThreshold int32 `json:"upperNumberOfUsersAPThreshold,omitempty"`
	// Threshold number of users in a zone which if crossed upward shall cause a notification.
	UpperNumberOfUsersZoneThreshold int32 `json:"upperNumberOfUsersZoneThreshold,omitempty"`

	WebsockNotifConfig *WebsockNotifConfig `json:"websockNotifConfig,omitempty"`
	// Identifier of zone (e.g. zone001) to monitor.
	ZoneId string `json:"zoneId"`
}
