{
	"$schema" : "http://json-schema.org/draft-04/schema#",
	"type" : "object",
	"title" : "SmsRequest",
	"additionalProperties" : false,
	"description" : "Notification Service V3 - SmsRequest",
	"properties" : {
		"context" : {
			"$ref" : "/resources/schema/services/v2/Context.json",
			"description" : "Service Request Context"
		},
		"smsId" : {
		    "type" : "string",
		    "description" : "unique id for this sms. Required for update, and delete"
		},
		"senderUserId" : {
			"type" : "string",
		    "description" : "sender's user id"
		},
		"senderSmsIdentifier" : {
			"type" : "string",
			"description" : "sender phone number or other unique identifier for the device"	
		},
		"smsDatas" : {
			"type" : "array",
			"items" : {
				"$ref" : "/resources/schema/notification/v3/SmsData.json",
				"description" : "Each element of the array should be an instance of SmsData"
			},

			"description" : "List of sms data payloads that need to be delivered to recipient list",
			"minItems" : 1,
			"maxItems" : 50,
			"uniqueItems" : true
		},
		"isExpirable" : {
			"type" : "boolean",
			"description" : "This parameter defines if the notification has an expiry time.  If the value is set to true, expiryUtcTimestamp must be specified with valid value that should be sometime in future"
		},
		"expiryUtcTimestamp" : {
			"type" : "integer",
			"description" : "Optional timestamp when the notification message will expire.  If for any reason the message is not delivered by this timestamp, service will not deliver that message",
			"minimum" : 1443652078000
		},
		"isDelayed" : {
			"type" : "boolean",
			"description" : "This parameter defines if the notification dispatch should be delayed.  If the value is set to true, delayUtcTimestamp must be specified with valid value that should be sometime in future"
		},
		"delayUntilUtcTimestamp" : {
			"type" : "integer",
			"description" : "Optional timestamp before which the notification will not be dispatched (delayed delivery).  If isRepeating is true, do not set this value here, and set the start_utc_timestamp in the repeating_schedule parameter instead",
			"minimum" : 1443652078000
		},
		"isRepeating" : {
			"type" : "boolean",
			"description" : "This parameter defines if the notification dispatch should be repeated.  If the value is set to true, repeating_schedule must be specified with valid cron expression"
		},
		"schedule" : {
			"$ref" : "/resources/schema/notification/v3/Schedule.json",
			"description" : "Notification Schedule. This value should only be populated if 'isRepeating' is true"
		}
	},

	"required" : 
	[
		"smsId"
	]
}