schema

package
v0.0.0-...-0ce3674 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2021 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ToGeographicPoint

func ToGeographicPoint(from []*GeographicPoint) []*models.GeographicPoint

func ToGeographicSite

func ToGeographicSite(sites []*GeographicSite) []*models.GeographicSite

func ToNotes

func ToNotes(notes []*Note) []*models.Note

func ToProductPrice

func ToProductPrice(from []*ProductPrice) []*models.ProductPrice

func ToProductRelationship

func ToProductRelationship(from []*ProductRelationship) []*models.ProductRelationship

func ToProductTerm

func ToProductTerm(from []*ProductTerm) []*models.ProductTerm

func ToQuoteItem

func ToQuoteItem(item []*QuoteItem) []*models.QuoteItem

func ToQuotePrice

func ToQuotePrice(from []*QuotePrice) []*models.QuotePrice

func ToRelatedParty

func ToRelatedParty(party []*RelatedParty) []*models.RelatedParty

func ToStatusChange

func ToStatusChange(from []*StatusChange) []*models.StatusChange

Types

type AlternateProductProposal

type AlternateProductProposal struct {

	// Technical attribute to extend the class.
	AtType string `json:"@type,omitempty"`

	// eligible product offering
	EligibleProductOffering []*models.ProductOfferingRef `json:"eligibleProductOffering" gorm:"foreignkey:ID"`

	// Identifier of the Product Offering Qualification alternate proposal
	// Required: true
	ID *string `json:"id"`

	// installation interval
	InstallationInterval *models.TimeInterval `json:"installationInterval,omitempty" gorm:"embedded"`

	// product specification
	ProductSpecification *ProductSpecificationRef `json:"productSpecification,omitempty" gorm:"foreignkey:ID"`
}

type FieldedAddress

type FieldedAddress struct {

	// City that the address is in
	City string `json:"city,omitempty"`

	// Country that the address is in
	Country string `json:"country,omitempty"`

	// geographic sub address
	GeographicSubAddress []*GeographicSubAddress `json:"geographicSubAddress" gorm:"foreignkey:ID"`

	// Unique identifier of the address
	ID string `json:"id,omitempty"`

	// "An area of defined or undefined boundaries within a local authority or other legislatively defined area, usually rural or semi-rural in nature." [ANZLIC-STREET], or a suburb "a bounded locality within a city, town or shire principally of urban character " [ANZLICSTREET].
	Locality string `json:"locality,omitempty"`

	// The four-digit extension on an American postal code, what comes after the hyphen when specified.
	PostCodeExtension string `json:"postCodeExtension,omitempty"`

	// Descriptor for a postal delivery area, used to speed and simplify the delivery of mail (also known as zipcode)
	Postcode string `json:"postcode,omitempty"`

	// The State or Province that the address is in
	StateOrProvince string `json:"stateOrProvince,omitempty"`

	// Name of the street or other street type
	StreetName string `json:"streetName,omitempty"`

	// Number identifying a specific property on a public street. It may be combined with streetNrLast for ranged addresses
	StreetNr string `json:"streetNr,omitempty"`

	// Last number in a range of street numbers allocated to a property
	StreetNrLast string `json:"streetNrLast,omitempty"`

	// Last street number suffix for a ranged address
	StreetNrLastSuffix string `json:"streetNrLastSuffix,omitempty"`

	// The first street number suffix
	StreetNrSuffix string `json:"streetNrSuffix,omitempty"`

	// A modifier denoting a relative direction
	StreetSuffix string `json:"streetSuffix,omitempty"`

	// Alley, avenue, boulevard, brae, crescent, drive, highway, lane, terrace, parade, place, tarn, way, wharf
	StreetType string `json:"streetType,omitempty"`
}

func FromFieldedAddress

func FromFieldedAddress(f *models.FieldedAddress) *FieldedAddress

func (*FieldedAddress) To

type FormattedAddress

type FormattedAddress struct {

	// The first address line in a formatted address
	// Required: true
	AddrLine1 *string `json:"addrLine1"`

	// The second address line in a formatted address
	AddrLine2 string `json:"addrLine2,omitempty"`

	// City that the address is in
	City string `json:"city,omitempty"`

	// Country that the address is in
	Country string `json:"country,omitempty"`

	// Unique identifier of the address
	ID string `json:"id,omitempty"`

	// "An area of defined or undefined boundaries within a local authority or other legislatively defined area, usually rural or semi-rural in nature." [ANZLIC-STREET], or a suburb "a bounded locality within a city, town or shire principally of urban character " [ANZLICSTREET].
	Locality string `json:"locality,omitempty"`

	// The four-digit extension on an American postal code, what comes after the hyphen when specified.
	PostCodeExtension string `json:"postCodeExtension,omitempty"`

	// Descriptor for a postal delivery area, used to speed and simplify the delivery of mail (also known as zipcode)
	Postcode string `json:"postcode,omitempty"`

	// The State or Province that the address is in
	StateOrProvince string `json:"stateOrProvince,omitempty"`
}

func FromFormattedAddress

func FromFormattedAddress(f *models.FormattedAddress) *FormattedAddress

func (*FormattedAddress) To

type GeographicAddress

type GeographicAddress struct {

	// Technical attribute to extend this class
	AtSchemaLocation string `json:"@schemaLocation,omitempty"`

	// Technical attribute to extend this class
	AtType string `json:"@type,omitempty"`

	// This attribute specifies if a Buyer must use one of the known existing Service Sites at this location for any Products delivered to this Address.  For example, if a particular building owner mandated that all interconnects be done in a shared Public Meet-Me-Room, this attribute would be set to False for that Address.
	AllowsNewSite bool `json:"allowsNewSite,omitempty"`

	// fielded address
	FieldedAddress *FieldedAddress `json:"fieldedAddress,omitempty" gorm:"foreignkey:ID"`

	// formatted address
	FormattedAddress *FormattedAddress `json:"formattedAddress,omitempty" gorm:"foreignkey:ID"`

	// geographic location
	GeographicLocation *GeographicLocation `json:"geographicLocation,omitempty" gorm:"foreignkey:ID"`

	// This attribute specifies if that Address contains Service Sites that are public such as Meet-Me-Rooms at an interconnect location or a shared telecom room in the basement of a multi-tenant building.
	HasPublicSite bool `json:"hasPublicSite,omitempty"`

	// Unique identifier of the address
	ID string `json:"id,omitempty"`

	// referenced address
	ReferencedAddress *models.ReferencedAddress `json:"referencedAddress,omitempty" gorm:"foreignkey:ID"`
}

GeographicAddress An address is a structured textual way of describing how to find a Property in an urban area (country properties are often defined differently)

swagger:model GeographicAddress

func FromGeographicAddress

func FromGeographicAddress(addr *models.GeographicAddress) *GeographicAddress

type GeographicLocation

type GeographicLocation struct {

	// geographic point
	// Required: true
	GeographicPoint []*GeographicPoint `json:"geographicPoint" gorm:"foreignkey:ID"`

	// Unique Identifier of a GeographicLocation
	ID string `json:"id,omitempty"`

	// The spatial reference system used to determine the coordinates
	// Required: true
	SpatialRef *string `json:"spatialRef"`
}

func FromGeographicLocation

func FromGeographicLocation(f *models.GeographicLocation) *GeographicLocation

func (*GeographicLocation) To

type GeographicPoint

type GeographicPoint struct {

	// A unique identifier for the geographic point.
	ID string `json:"id,omitempty"`

	// The latitude expressed in decimal degrees format
	// Required: true
	Latitude *string `json:"latitude"`

	// The longitude expressed in decimal degrees format
	// Required: true
	Longitude *string `json:"longitude"`
}

func FromGeographicPoint

func FromGeographicPoint(from []*models.GeographicPoint) []*GeographicPoint

type GeographicSite

type GeographicSite struct {

	// Technical attribute to extend this class
	AtSchemaLocation string `json:"@schemaLocation,omitempty"`

	// Technical attribute to extend this class
	AtType string `json:"@type,omitempty"`

	// Additional site information
	AdditionalSiteInformation string `json:"additionalSiteInformation,omitempty"`

	// A textual description of the Service Site.
	Description string `json:"description,omitempty"`

	// fielded address
	FieldedAddress *FieldedAddress `json:"fieldedAddress,omitempty" gorm:"foreignkey:ID"`

	// formatted address
	FormattedAddress *FormattedAddress `json:"formattedAddress,omitempty" gorm:"foreignkey:ID"`

	// geographic location
	GeographicLocation *GeographicLocation `json:"geographicLocation,omitempty" gorm:"foreignkey:ID"`

	// Identifier of the Service Site unique within the Seller.
	ID string `json:"id,omitempty"`

	// referenced address
	ReferencedAddress *models.ReferencedAddress `json:"referencedAddress,omitempty" gorm:"foreignkey:ID"`

	// related party
	RelatedParty []*RelatedParty `json:"relatedParty" gorm:"many2many:site_related_party;foreignkey:ID"`

	// The name of the company that is the administrative authority (e.g. controls access) for this Service Site. (For example, the building owner)
	SiteCompanyName string `json:"siteCompanyName,omitempty"`

	// The name of the company that is the administrative authority for the space within this Service Site. (For example, the company leasing space in a multi-tenant building).
	SiteCustomerName string `json:"siteCustomerName,omitempty"`

	// A name commonly used by people to refer to this Service Site.
	SiteName string `json:"siteName,omitempty"`

	// This defines whether a Service Site is public or private.  “PUBLIC” means that the existence of this Service Site is public information.  A meet-me-room in a hosted data center facility (where all interconnects between parties take place) is an example of a public Service Site.  A shared facility in the basement of a multi-tenant business building where all interconnects between parties take place is another example of a public Service Site.  “PRIVATE” means that the existence of this Service Site is on a need-to-know basis.  A wiring closet set up inside a customer facility just to connect two parties is an example of a private Service Site. For “PRIVATE” sites, the Seller does not return any information regarding the existence of this Service Site unless it has been established that this Buyer is authorized to obtain this information.
	SiteType string `json:"siteType,omitempty"`

	// status
	Status models.Status `json:"status,omitempty"`
}

func FromGeographicSite

func FromGeographicSite(site *models.GeographicSite) *GeographicSite

func FromGeographicSites

func FromGeographicSites(sites []*models.GeographicSite) []*GeographicSite

func (*GeographicSite) ContractName

func (m *GeographicSite) ContractName() string

func (*GeographicSite) To

type GeographicSubAddress

type GeographicSubAddress struct {

	// Technical attribute to extend this class
	AtSchemaLocation string `json:"@schemaLocation,omitempty"`

	// Technical attribute to extend this class
	AtType string `json:"@type,omitempty"`

	// Allows for buildings that have well-known names
	BuildingName string `json:"buildingName,omitempty"`

	// Unique Identifier of the subAddress
	ID string `json:"id,omitempty"`

	// Used where a level type may be repeated e.g. BASEMENT 1, BASEMENT 2
	LevelNumber string `json:"levelNumber,omitempty"`

	// Describes level types within a building
	LevelType string `json:"levelType,omitempty"`

	// Private streets internal to a property (e.g. a university) may have internal names that are not recorded by the land title office
	PrivateStreetName string `json:"privateStreetName,omitempty"`

	// Private streets numbers internal to a private street
	PrivateStreetNumber string `json:"privateStreetNumber,omitempty"`

	// sub unit
	SubUnit []*SubUnit `json:"subUnit" gorm:"foreignkey:ID"`
}

type HubSubscriber

type HubSubscriber struct {
	ID       string `json:"id"`
	Type     string `json:"type"`
	Query    string `json:"query"`
	Callback string `json:"callback"`
}

type Note

type Note struct {
	ID *string `json:"id"`
	// The author of the note
	// Required: true
	Author *string `json:"author"`

	// The date of the note. Format is YYYY-MM-DDThh:mmTZD (e.g. 1997-07-16T19:20+01:00).
	// Required: true
	// Format: date-time
	Date *strfmt.DateTime `json:"date"`

	// The text of the note
	// Required: true
	Text *string `json:"text"`
}

func FromNotes

func FromNotes(notes []*models.Note) []*Note

type OrderItem

type OrderItem struct {
	// Target a description file of productOrder extension
	AtSchemaLocation string `json:"@schemaLocation,omitempty"`

	// Type of productOrder
	AtType string `json:"@type,omitempty"`

	// action
	// Required: true
	Action models.ProductActionType `json:"action"`

	// billing account
	BillingAccount *models.BillingAccountRef `json:"billingAccount,omitempty"`

	// Identifier of the line item (generally it is a sequence number 01, 02, 03, ...)
	// Required: true
	ID *string `json:"id"`

	// order item price
	OrderItemPrice []*OrderItemPrice `json:"orderItemPrice" gorm:"foreignkey:ID"`

	// order item relationship
	OrderItemRelationship []*models.OrderItemRelationShip `json:"orderItemRelationship" gorm:"foreignkey:ID"`

	// pricing method
	PricingMethod models.PricingMethod `json:"pricingMethod,omitempty"`

	// The identifier references the previously agreed upon pricing terms, as applicable, based on the pricingMethod (e.g. a contract id or tariff id.
	PricingReference string `json:"pricingReference,omitempty"`

	// The length of the contract in months
	PricingTerm int32 `json:"pricingTerm,omitempty"`

	// product
	Product *Product `json:"product,omitempty" gorm:"foreignkey:ID"`

	// product offering
	ProductOffering *models.ProductOfferingRef `json:"productOffering,omitempty" gorm:"foreignkey:ID"`

	// qualification
	Qualification *QualificationRef `json:"qualification,omitempty" gorm:"foreignkey:ID"`

	// quote
	Quote *models.QuoteRef `json:"quote,omitempty" gorm:"foreignkey:ID"`

	// related party
	RelatedParty []*RelatedParty `json:"relatedParty" gorm:"foreignkey:ID"`

	// state
	// Required: true
	State models.ProductOrderItemStateType `json:"state"`

	// state change
	StateChange []*StateChange `json:"stateChange" gorm:"foreignkey:ID"`
}

type OrderItemPrice

type OrderItemPrice struct {
	ID *string `json:"id"`
	// Technical attribute to extend the class
	AtType string `json:"@type,omitempty" gorm:"column:base_type"`

	// A narrative that explains in detail the semantics of yhis order item price
	Description string `json:"description,omitempty"`

	// Name of the product price
	// Required: true
	Name *string `json:"name"`

	// price
	// Required: true
	Price *models.Price `json:"price" gorm:"embedded"`

	// price type
	// Required: true
	PriceType models.PriceType `json:"priceType"`

	// recurring charge period
	RecurringChargePeriod models.ChargePeriod `json:"recurringChargePeriod,omitempty"`
}

type OrderMessage

type OrderMessage struct {
	ID *string `json:"id"`

	// The code associated with the Message
	Code string `json:"code,omitempty"`

	// Indicates whether the Buyer must submit an updated Order to resolve the Error/Jeopardy condition.
	CorrectionRequired *bool `json:"correctionRequired,omitempty"`

	// The field/attribute on the Order associated with message
	Field string `json:"field,omitempty"`

	// A description of the error condition or information to be conveyed to the Buyer
	// Required: true
	MessageInformation *string `json:"messageInformation"`

	// severity
	// Required: true
	Severity models.Severity `json:"severity"`
}

type Product

type Product struct {

	// the Base Type of the product if specialization.
	// This is a technical attribute to extend this class.
	AtBaseType string `json:"@baseType,omitempty"`

	// A pointer to a file describing extension attributes (if used).
	// This is a technical attribute to extend this class.
	AtSchemaLocation string `json:"@schemaLocation,omitempty"`

	// The type of product if specialization
	AtType string `json:"@type,omitempty"`

	// agreement
	Agreement []*models.Agreement `json:"agreement" gorm:"many2many:product_agreement;foreignkey:ID;foreignkey:ID"`

	// billing account
	BillingAccount []*models.BillingAccountRef `json:"billingAccount" gorm:"foreignkey:ID"`

	// This identifier is optionally provided during the Product ordering and stored for informative purpose in the Seller inventory.
	BuyerProductID string `json:"buyerProductId,omitempty"`

	// Reference of the product (link)
	Href string `json:"href,omitempty"`

	// Unique identifier of the product in the product domain.
	// Required: true
	ID *string `json:"id"`

	// Latest date when the product has been updated
	// Format: date-time
	LastUpdateDate strfmt.DateTime `json:"lastUpdateDate,omitempty"`

	// product offering
	ProductOffering *models.ProductOfferingRef `json:"productOffering,omitempty"`

	// product order
	ProductOrder []*models.ProductOrderRef `json:"productOrder" gorm:"many2many:product_product_order;foreignkey:ID"`

	// product price
	ProductPrice []*ProductPrice `json:"productPrice" gorm:"many2many:product_price;foreignkey:ID"`

	// product relationship
	ProductRelationship []*ProductRelationship `json:"productRelationship" gorm:"foreignkey:ID"`

	// product specification
	ProductSpecification *ProductSpecificationRef `json:"productSpecification,omitempty" gorm:"foreignkey:ID"`

	// product term
	ProductTerm []*ProductTerm `json:"productTerm" gorm:"many2many:product_term;foreignkey:ID"`

	// related party
	RelatedParty []*RelatedParty `json:"relatedParty" gorm:"many2many:product_related_party;foreignkey:ID"`

	// site
	Site []*GeographicSite `json:"site" gorm:"many2many:product_geographic_site;foreignkey:ID"`

	// Start date is when the product is active for the first time (when the install in the product order has been processed).
	// Required: true
	// Format: date-time
	StartDate *strfmt.DateTime `json:"startDate"`

	// status
	// Required: true
	Status *models.ProductStatus `json:"status"`

	// status change
	StatusChange []*StatusChange `json:"statusChange" gorm:"foreignkey:ID"`

	// Termination date (commercial) is when the product has been terminated (when the disconnect in the product order has been processed).
	// Format: date-time
	TerminationDate strfmt.DateTime `json:"terminationDate,omitempty"`
}

func FromProduct

func FromProduct(p *models.Product) *Product

func (*Product) To

func (p *Product) To() *models.Product

type ProductOfferingQualification

type ProductOfferingQualification struct {

	// Technical attribute to extend the class
	AtSchemaLocation string `json:"@schemaLocation,omitempty"`

	// When sub-classing, this defines the sub-class entity name
	AtType string `json:"@type,omitempty"`

	// Effective date seller provides qualification result.
	// Format: date-time
	EffectiveQualificationCompletionDate strfmt.DateTime `json:"effectiveQualificationCompletionDate,omitempty"`

	// The date the seller is expected to provide qualification result.
	// Format: date-time
	ExpectedResponseDate strfmt.DateTime `json:"expectedResponseDate,omitempty"`

	// Link to this POQ resource
	Href string `json:"href,omitempty"`

	// The Serviceability Request's unique identifier.
	// Required: true
	ID *string `json:"id" gorm:"unique;not null"`

	// If this flag is set to Yes, Buyer requests to have instant qualificationto be provided in operation POST response
	InstantSyncQualification *bool `json:"instantSyncQualification,omitempty"`

	// product offering qualification item
	// Required: true
	// Min Items: 1
	ProductOfferingQualificationItem []*ProductOfferingQualificationItem `json:"productOfferingQualificationItem" gorm:"foreignkey:ID"`

	// This value MAY be assigned by the Buyer/Seller to identify a project the serviceability request is associated with.
	ProjectID string `json:"projectId,omitempty"`

	// This Boolean allows requester (buyer) to indicate if he is willing to get alternate proposal if requested product not available.
	ProvideAlternative bool `json:"provideAlternative,omitempty"`

	// related party
	// Required: true
	RelatedParty []*RelatedParty `json:"relatedParty" gorm:"many2many:poq_related_party;foreignkey:ID"`

	// Corresponds to desiredResponseDate - The date a response for the service request is desired.
	// Format: date-time
	RequestedResponseDate strfmt.DateTime `json:"requestedResponseDate,omitempty"`

	// state
	// Required: true
	State models.ProductOfferingQualificationStateType `json:"state"`

	// state change
	StateChange []*StateChange `json:"stateChange" gorm:"foreignkey:ID"`
}

ProductOfferingQualification A grouping of POQ Items formulated into a request made by a Buyer to a Seller

swagger:model ProductOfferingQualification

type ProductOfferingQualificationItem

type ProductOfferingQualificationItem struct {

	// When sub-classing, this defines the sub-class entity name
	AtType string `json:"@type,omitempty"`

	// action
	// Required: true
	Action models.ProductActionType `json:"action"`

	// alternate product proposal
	AlternateProductProposal []*AlternateProductProposal `json:"alternateProductProposal" gorm:"foreignkey:ID"`

	// eligible product offering
	EligibleProductOffering []*models.ProductOfferingRef `json:"eligibleProductOffering" gorm:"foreignkey:ID"`

	// Date until seller is guaranted the qualification result.
	// Format: date-time
	GuaranteedUntilDate strfmt.DateTime `json:"guaranteedUntilDate,omitempty"`

	// Id of this POQ item
	// Required: true
	ID *string `json:"id"`

	// installation interval
	InstallationInterval *models.TimeInterval `json:"installationInterval,omitempty" gorm:"embedded"`

	// product
	Product *Product `json:"product,omitempty" gorm:"foreignkey:ID"`

	// product offering
	ProductOffering *models.ProductOfferingRef `json:"productOffering,omitempty" gorm:"foreignkey:ID"`

	// product offering qualification item relationship
	ProductOfferingQualificationItemRelationship []*models.ProductOfferingQualificationItemRelationship `json:"productOfferingQualificationItemRelationship" gorm:"foreignkey:ID"`

	// related party
	RelatedParty []*RelatedParty `json:"relatedParty" gorm:"many2many:poq_item_related_party;foreignkey:ID"`

	// A description of the reason a particular color is being provided. This may include a specific standard reason codes and descriptions.
	ServiceConfidenceReason string `json:"serviceConfidenceReason,omitempty"`

	// serviceability confidence
	ServiceabilityConfidence models.ServiceabilityColor `json:"serviceabilityConfidence,omitempty"`

	// state
	// Required: true
	State models.ProductOfferingQualificationItemStateType `json:"state"`

	// state change
	StateChange []*StateChange `json:"stateChange" gorm:"foreignkey:ID"`

	// termination error
	TerminationError []*models.TerminationError `json:"terminationError" gorm:"foreignkey:ID"`
}

type ProductOrder

type ProductOrder struct {

	// Technical attribute to extend the API
	AtBaseType string `json:"@baseType,omitempty"`

	// Technical attribute to extend the API
	AtSchemaLocation string `json:"@schemaLocation,omitempty"`

	// Technical attribute to extend the API
	AtType string `json:"@type,omitempty"`

	// billing account
	BillingAccount *models.BillingAccountRef `json:"billingAccount,omitempty" gorm:"foreignkey:ID"`

	// Buyer order creation date. Format is YYYY-MM-DDThh:mmTZD (e.g. 1997-07-16T19:20+01:00)
	// Format: date-time
	BuyerRequestDate strfmt.DateTime `json:"buyerRequestDate,omitempty"`

	// Identifies the date the Seller canceled the Order
	// Format: date-time
	CancellationDate strfmt.DateTime `json:"cancellationDate,omitempty"`

	// Indicates reason why buyer requested cancellation
	CancellationReason string `json:"cancellationReason,omitempty"`

	// The date the order is completed. Format is YYYY-MM-DDThh:mmTZD (e.g. 1997-07-16T19:20+01:00)
	// Format: date-time
	CompletionDate strfmt.DateTime `json:"completionDate,omitempty"`

	// desired responses
	// Required: true
	DesiredResponses models.DesiredOrderResponses `json:"desiredResponses"`

	// Expected delivery date amended by the provider
	// Format: date-time
	ExpectedCompletionDate strfmt.DateTime `json:"expectedCompletionDate,omitempty"`

	// Indicates that expedited treatment is requested and any charges generated in provisioning this request (e.g., additional engineering charges or labor charges if applicable) will be accepted by the buyer.
	ExpeditePriority bool `json:"expeditePriority,omitempty"`

	// A number that uniquely identifies an order within the buyer's enterprise.
	// Required: true
	ExternalID *string `json:"externalId"`

	// Hyperlink to access the order
	// Required: true
	Href *string `json:"href"`

	// Unique (within the ordering domain) identifier for the order that is generated by the seller when the order is initially accepted.
	// Required: true
	ID *string `json:"id"`

	// note
	Note []*Note `json:"note" gorm:"foreignkey:ID"`

	// order activity
	// Required: true
	OrderActivity models.OrderActivity `json:"orderActivity"`

	// Date when the order was created by seller. Format is YYYY-MM-DDThh:mmTZD (e.g. 1997-07-16T19:20+01:00)
	// Required: true
	// Format: date-time
	OrderDate *strfmt.DateTime `json:"orderDate"`

	// order item
	// Required: true
	// Min Items: 1
	OrderItem []*OrderItem `json:"orderItem" gorm:"foreignkey:ID"`

	// order message
	OrderMessage []*OrderMessage `json:"orderMessage" gorm:"foreignkey:ID"`

	// The version number that the Buyer uses to refer to this particular version of the order
	// Required: true
	OrderVersion *string `json:"orderVersion"`

	// pricing method
	PricingMethod models.PricingMethod `json:"pricingMethod,omitempty"`

	// The identifier references the previously agreed upon pricing terms, as applicable, based on the pricingMethod (e.g. a contract id or tariff id.
	PricingReference string `json:"pricingReference,omitempty"`

	// The length of the contract in months.
	PricingTerm int32 `json:"pricingTerm,omitempty"`

	// An integer that specifies that expedited treatment is to be provided in a specific priority.
	// This field will be ignored if the Expedite/Priority Indicator is False.
	// The valid values and the business/operational rules for this field will be defined by the Seller as part of the contracting or on-boarding process.
	Priority int32 `json:"priority,omitempty"`

	// An identifier that is used to group Orders that is important to the Buyer. A ProjectId can be used to relate multiple Orders together
	ProjectID string `json:"projectId,omitempty"`

	// Related Buyer Purchase Order Number (RPON)
	RelatedBuyerPON string `json:"relatedBuyerPON,omitempty"`

	// related party
	// Required: true
	RelatedParty []*RelatedParty `json:"relatedParty" gorm:"foreignkey:ID"`

	// Identifies the buyer's desired due date (requested delivery date). Cannot be requested on cancelled orders.  Format is YYYY-MM-DDThh:mmTZD (e.g. 1997-07-16T19:20+01:00).
	// Required: true
	// Format: date-time
	RequestedCompletionDate *strfmt.DateTime `json:"requestedCompletionDate"`

	// The buyer's requested date that order processing should start. Format is YYYY-MM-DDThh:mmTZD (e.g. 1997-07-16T19:20+01:00).
	// Format: date-time
	RequestedStartDate strfmt.DateTime `json:"requestedStartDate,omitempty"`

	// state
	// Required: true
	State models.ProductOrderStateType `json:"state"`

	// state change
	StateChange []*StateChange `json:"stateChange" gorm:"foreignkey:ID"`

	// Within the United States, indicates the provisioning and restoration priority as defined under the TSP Service Vendor Handbook, The valid values are defined in ATIS OBF document: ATIS-0404001
	TspRestorationPriority string `json:"tspRestorationPriority,omitempty"`

	RequestedCancellationDate *strfmt.DateTime      `json:"requestedCancellationDate"`
	CancellationDeniedReason  string                `json:"cancellationDeniedReason,omitempty"`
	TaskState                 *models.TaskStateType `json:"taskState"`
	Version                   string                `json:"version,omitempty"`
}

func (*ProductOrder) ProductOrderEvent

func (po *ProductOrder) ProductOrderEvent() *models.ProductOrderEvent

func (*ProductOrder) To

func (po *ProductOrder) To() *models.ProductOrder

type ProductOrderRef

type ProductOrderRef struct {

	// Hyperlink to the productOrder
	Href string `json:"href,omitempty"`

	// Identifier of the productOrder(provided by the seller)
	// Required: true
	ID *string `json:"id"`

	// Identifier of the line item (generally it is a sequence number 01, 02, 03, ...)
	// Required: true
	OrderItemID *string `json:"orderItemId"`
}

type ProductPrice

type ProductPrice struct {
	ID *string `json:"id"`

	// A technical attribute to extend the class
	AtType string `json:"@type,omitempty" gorm:"column:type"`

	// A narrative that explains in detail the semantics of this product price
	Description string `json:"description,omitempty"`

	// A short descriptive name such as "Subscription price"
	// Required: true
	Name *string `json:"name"`

	// price
	Price *models.Price `json:"price,omitempty" gorm:"embedded"`

	// price type
	PriceType *models.PriceType `json:"priceType,omitempty"`

	// recurring charge period
	RecurringChargePeriod models.ChargePeriod `json:"recurringChargePeriod,omitempty"`

	// Unit of Measure, if price depends on it (like Gb for example)
	UnitOfMeasure string `json:"unitOfMeasure,omitempty"`
}

func FromProductPrice

func FromProductPrice(from []*models.ProductPrice) []*ProductPrice

type ProductRef

type ProductRef struct {

	// Targeted Buyer product id - Informative
	BuyerProductID string `json:"buyerProductId,omitempty"`

	// Reference of the product
	Href string `json:"href,omitempty"`

	// Unique identifier of the product
	// Required: true
	ID *string `json:"id"`
}

type ProductRelationship

type ProductRelationship struct {
	ID *string `json:"id"`

	// product
	// Required: true
	Product *ProductRef `json:"product" gorm:"foreignkey:ID"`

	// Indicates whether the type of relationship is "bundled", "reliesOn", or "comesFrom"
	// Required: true
	Type *string `json:"type"`
}

func FromProductRelationship

func FromProductRelationship(from []*models.ProductRelationship) []*ProductRelationship

type ProductSpecificationRef

type ProductSpecificationRef struct {

	// describing
	Describing *models.Describing `json:"describing,omitempty" gorm:"embedded"`

	// A unique identifier of the product spec.
	// Required: true
	ID *string `json:"id"`
}

func (*ProductSpecificationRef) To

type ProductTerm

type ProductTerm struct {
	ID *string `json:"id"`

	// Description of the commitment
	Description string `json:"description,omitempty"`

	// duration
	Duration *models.Quantity `json:"duration,omitempty" gorm:"embedded"`

	// Name of the commitment
	Name string `json:"name,omitempty"`

	// valid for
	ValidFor *models.TimePeriod `json:"validFor,omitempty" gorm:"embedded"`
}

func FromProductTerm

func FromProductTerm(from []*models.ProductTerm) []*ProductTerm

type QualificationRef

type QualificationRef struct {

	// Technical attribute to extend the API
	AtReferredType string `json:"@referredType,omitempty"`

	// Hyperlink to the qualification previously done for this item
	Href string `json:"href,omitempty"`

	// id of the qualification previously done for this item
	ID *string `json:"id,omitempty"`

	// item id of the qualification previously done for this item
	QualificationItem string `json:"qualificationItem,omitempty"`
}

type Quote

type Quote struct {

	// Indicates the base (class) type of the quote.
	AtBaseType string `json:"@baseType,omitempty"`

	// Link to the schema describing the REST resource.
	AtSchemaLocation string `json:"@schemaLocation,omitempty"`

	// Indicates the (class) type of the quote.
	AtType string `json:"@type,omitempty"`

	// agreement
	Agreement []*models.AgreementRef `json:"agreement" gorm:"many2many:quote_agreement;foreignkey:ID"`

	// Description of the quote
	Description string `json:"description,omitempty"`

	// Date when the quoted was Cancelled or Rejected or Accepted
	// Format: date-time
	EffectiveQuoteCompletionDate strfmt.DateTime `json:"effectiveQuoteCompletionDate,omitempty"`

	// This is the date wished by the requester to have the requested quote item(s) delivered
	// Format: date
	ExpectedFulfillmentStartDate strfmt.Date `json:"expectedFulfillmentStartDate,omitempty"`

	// This is the date filled by the seller to indicate expected quote completion date.
	// Format: date
	ExpectedQuoteCompletionDate strfmt.Date `json:"expectedQuoteCompletionDate,omitempty"`

	// ID given by the consumer and only understandable by him (to facilitate his searches afterwards)
	ExternalID string `json:"externalId,omitempty"`

	// Hyperlink to access the quote
	Href string `json:"href,omitempty"`

	// Unique (within the quoting domain) identifier for the quote, as attributed by the quoting system
	ID string `json:"id,omitempty"`

	// If this flag is set to Yes, Buyer requests to have instant quoting to be provided in operation POST response
	// Required: true
	InstantSyncQuoting bool `json:"instantSyncQuoting"`

	// note
	Note []*Note `json:"note" gorm:"foreignkey:ID"`

	// This value MAY be assigned by the Buyer/Seller to identify a project the quoting request is associated with.
	ProjectID string `json:"projectId,omitempty"`

	// Date when the quote was created
	// Format: date-time
	QuoteDate strfmt.DateTime `json:"quoteDate,omitempty"`

	// quote item
	// Required: true
	QuoteItem []*QuoteItem `json:"quoteItem" gorm:"foreignkey:ID"`

	// quote level
	// Required: true
	QuoteLevel *models.QuoteLevel `json:"quoteLevel"`

	// related party
	// Required: true
	RelatedParty []*RelatedParty `json:"relatedParty" gorm:"many2many:quote_related_party;foreignkey:ID"`

	// This is the date wished by the requester to have the quote completed (meaning priced)
	// Required: true
	// Format: date-time
	RequestedQuoteCompletionDate *strfmt.DateTime `json:"requestedQuoteCompletionDate"`

	// state
	// Required: true
	State models.QuoteStateType `json:"state"`

	// valid for
	ValidFor *models.TimePeriod `json:"validFor,omitempty" gorm:"embedded"`
}

func (*Quote) ToQuote

func (m *Quote) ToQuote() *models.Quote

func (*Quote) ToQuoteFind

func (m *Quote) ToQuoteFind() *models.QuoteFind

func (*Quote) ToQuoteSummaryView

func (m *Quote) ToQuoteSummaryView() *models.QuoteSummaryView

type QuoteItem

type QuoteItem struct {

	// Link to the schema describing this REST resource
	AtSchemaLocation string `json:"@schemaLocation,omitempty"`

	// Indicates the base (class) type of the quote Item.
	AtType string `json:"@type,omitempty"`

	// action
	// Required: true
	Action *models.ProductActionType `json:"action"`

	// Identifier of the quote item (generally it is a sequence number 01, 02, 03, ...).
	// Required: true
	ID *string `json:"id"`

	// note
	Note []*Note `json:"note" gorm:"foreignkey:ID"`

	// product
	Product *Product `json:"product,omitempty"`

	// product offering
	ProductOffering *models.ProductOfferingRef `json:"productOffering,omitempty"`

	// qualification
	Qualification []*models.ProductOfferingQualificationRef `json:"qualification" gorm:"foreignkey:ID"`

	// quote item price
	QuoteItemPrice []*QuotePrice `json:"quoteItemPrice"`

	// quote item relationship
	QuoteItemRelationship []*models.QuoteItemRelationship `json:"quoteItemRelationship" gorm:"foreignkey:ID"`

	// quote item term
	QuoteItemTerm *models.ItemTerm `json:"quoteItemTerm,omitempty"`

	// related party
	RelatedParty []*RelatedParty `json:"relatedParty" gorm:"many2many:quote_item_related_party;foreignkey:ID"`

	// requested quote item term
	RequestedQuoteItemTerm *models.ItemTerm `json:"requestedQuoteItemTerm,omitempty"`

	// state
	// Required: true
	State models.QuoteItemStateType `json:"state"`
}

func (*QuoteItem) To

func (m *QuoteItem) To() *models.QuoteItem

type QuotePrice

type QuotePrice struct {
	ID string `json:"id,omitempty"`
	// Indicates the base (class) type of the quote price
	AtType string `json:"@type,omitempty"`

	// Description of the quote/quote item price.
	Description string `json:"description,omitempty"`

	// Name of the quote /quote item price
	// Required: true
	Name *string `json:"name"`

	// price
	// Required: true
	Price *models.Price `json:"price" gorm:"embedded"`

	// price type
	// Required: true
	PriceType models.PriceType `json:"priceType"`

	// recurring charge period
	RecurringChargePeriod models.ChargePeriod `json:"recurringChargePeriod,omitempty"`
}

func (*QuotePrice) To

func (m *QuotePrice) To() *models.QuotePrice

type RelatedParty

type RelatedParty struct {

	// Allow to specify the party type like Organization or Individual
	AtReferredType string `json:"@referredType,omitempty"`

	// The email address of the related party.
	EmailAddress string `json:"emailAddress,omitempty"`

	// An identifier of the related party.
	// Required: true
	ID *string `json:"id"`

	// The name of the related party, e.g. "Jean Pontus".
	// Required: true
	Name *string `json:"name"`

	// The telephone number of the related party.
	Number string `json:"number,omitempty"`

	// Phone number Extension.
	NumberExtension string `json:"numberExtension,omitempty"`

	// Role played by this party for this Site as UNISiteContact for example.
	// Required: true
	Role  []string `json:"role" gorm:"-"`
	Roles string   `json:"-" gorm:"column:roles"`
}

func FromRelatedParty

func FromRelatedParty(party []*models.RelatedParty) []*RelatedParty

func (*RelatedParty) From

func (*RelatedParty) MarshalJSON

func (r *RelatedParty) MarshalJSON() ([]byte, error)

func (*RelatedParty) To

func (r *RelatedParty) To() *models.RelatedParty

func (*RelatedParty) UnmarshalJSON

func (r *RelatedParty) UnmarshalJSON(bytes []byte) error

type StateChange

type StateChange struct {
	ID *string `json:"id"`
	// change date
	// Format: date-time
	ChangeDate strfmt.DateTime `json:"changeDate,omitempty"`

	// change reason
	ChangeReason string `json:"changeReason,omitempty"`

	// state
	State models.ProductOfferingQualificationStateType `json:"state,omitempty"`
}

type StatusChange

type StatusChange struct {
	ID *string `json:"id"`

	// Date when the state changed
	// Format: date-time
	ChangeDate strfmt.DateTime `json:"changeDate,omitempty"`

	// Raison for which the state changed
	ChangeReason string `json:"changeReason,omitempty"`

	// status
	Status models.ProductStatus `json:"status,omitempty"`
}

StatusChange Holds the status modification reasons and associated date the status changed, populated by the server

swagger:model StatusChange

func FromStatusChange

func FromStatusChange(from []*models.StatusChange) []*StatusChange

type SubUnit

type SubUnit struct {
	ID string `json:"id,omitempty"`
	// The discriminator used for the subunit, often just a simple number but may also be a range.
	// Required: true
	SubUnitIdentifier *string `json:"subUnitIdentifier"`

	// The type of subunit e.g.BERTH, FLAT, PIER, SUITE, SHOP, TOWER, UNIT, WHARF.
	// Required: true
	SubUnitType *string `json:"subUnitType"`
}

type User

type User struct {
	gorm.Model
	Name string
	Role string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL