Advertisement
Guest User

schemas

a guest
Nov 21st, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.22 KB | None | 0 0
  1. # projectId: cj9fdilc22ena0134qahbfri0
  2. # version: 8
  3.  
  4. type CustomizedPlan @model {
  5. createdAt: DateTime!
  6. endDate: DateTime
  7. id: ID! @isUnique
  8. planPurchases: [PlanPurchase!]! @relation(name: "PlanPurchaseOnCustomizedPlan")
  9. startDate: DateTime
  10. updatedAt: DateTime!
  11. tripGuru: User @relation(name: "UserOnCustomizedPlan")
  12. categories: [InterestCategory!]
  13. numDays: Int!
  14. orderingUser: User @relation(name: "CustomizedPlanOnUser")
  15. planLocations: [Location!]! @relation(name: "CustomizedPlanOnLocation")
  16. requestedBudgetCurrency: String
  17. requestedBudgetMin: Int
  18. requiredServices: [PlanningServices!]
  19. tags: [Tag!]! @relation(name: "CustomizedPlanOnTag")
  20. travelers: [Traveler!]! @relation(name: "CustomizedPlanOnTraveler")
  21. tripDetails: TripDetails @relation(name: "CustomizedPlanOnTripDetails")
  22. requestedBudgetMax: Int
  23. tripBudgetType: TripBudgetType
  24. tripTempo: TripTempo
  25. partySize: Int
  26. orderStatus: PlanCustomizationStatus
  27. travelingType: TravelingType
  28. totalAmount: Int
  29. comments: String
  30. newTotalAmount: Int
  31. additionalCharges: Int
  32. newPriceComments: String
  33. servicesTotal: Int
  34. }
  35.  
  36. type File @model {
  37. contentType: String!
  38. createdAt: DateTime!
  39. id: ID! @isUnique
  40. name: String!
  41. secret: String! @isUnique
  42. size: Int!
  43. updatedAt: DateTime!
  44. url: String! @isUnique
  45. localTour: LocalTour @relation(name: "LocalTourOnFile")
  46. plannerProfile: PlannerProfile @relation(name: "PlannerProfileOnFile")
  47. plannerProfileExample: PlannerProfile @relation(name: "PlannerProfileExampleOnFile")
  48. userProfile: UserProfile @relation(name: "UserProfileOnFile")
  49. contentEventsOfDocs: [ContentEvent!]! @relation(name: "ContentEventOnFile1")
  50. contentEventsOfPhotos: [ContentEvent!]! @relation(name: "ContentEventOnFile2")
  51. tripDetailses: [TripDetails!]! @relation(name: "TripDetailsOnFile")
  52. contentPOI: ContentPOI @relation(name: "ContentPOIOnFile")
  53. message: Message @relation(name: "MessageOnFile")
  54. image: Message @relation(name: "MessageOnFile1")
  55. contentEvents: [ContentEvent!]! @relation(name: "ContentEventOnFile")
  56. }
  57.  
  58. type LocalTour @model {
  59. categories: [InterestCategory!]
  60. tourLocation: Location @relation(name: "LocalTourOnLocation")
  61. createdAt: DateTime!
  62. estimatedDurationHours: Int!
  63. groupPrice: Int!
  64. highlights: [String!]
  65. id: ID! @isUnique
  66. languages: [String!]
  67. maxGroupSize: Int!
  68. meetingPoint: MeetingPoint @relation(name: "LocalTourOnMeetingPoint")
  69. minGroupSize: Int!
  70. lastBookingWindow: Int
  71. privateTourPrice: Int!
  72. securityNotice: String
  73. weatherNotice: String
  74. currency: Currency
  75. notifyBefore: Int
  76. shortDescription: String!
  77. tags: [Tag!]! @relation(name: "LocalTourOnTag")
  78. title: String!
  79. tourBookings: [TourBooking!]! @relation(name: "TourBookingOnLocalTour")
  80. tourNotes: [TourNote!]! @relation(name: "LocalTourOnTourNote")
  81. updatedAt: DateTime!
  82. whatWeDo: String!
  83. whatWeProvide: String!
  84. whatYouBring: String!
  85. whereWeBe: String!
  86. conversations: [Conversation!]! @relation(name: "ConversationOnLocalTour")
  87. photos: [File!]! @relation(name: "LocalTourOnFile")
  88. userReviews: [UserReview!]! @relation(name: "LocalTourOnUserReview")
  89. tourDates: [TourDate!]! @relation(name: "LocalTourOnTourDate")
  90. }
  91.  
  92. type MeetingPoint @model {
  93. createdAt: DateTime!
  94. description: String!
  95. id: ID! @isUnique
  96. lat: Float!
  97. localTours: [LocalTour!]! @relation(name: "LocalTourOnMeetingPoint")
  98. long: Float!
  99. updatedAt: DateTime!
  100. }
  101.  
  102. type PlanPurchase @model {
  103. createdAt: DateTime!
  104. currency: String! @defaultValue(value: "USD")
  105. customizedPlan: CustomizedPlan @relation(name: "PlanPurchaseOnCustomizedPlan")
  106. id: ID! @isUnique
  107. price: Int!
  108. updatedAt: DateTime!
  109. paymentTransaction: PaymentTransaction @relation(name: "PlanPurchaseOnPaymentTransaction")
  110. user: User @relation(name: "PlanPurchaseOnUser")
  111. paymentLineItems: [PaymentLineItem!]! @relation(name: "PlanPurchaseOnPaymentLineItem")
  112. }
  113.  
  114. type Tag @model {
  115. createdAt: DateTime!
  116. id: ID! @isUnique
  117. localTours: [LocalTour!]! @relation(name: "LocalTourOnTag")
  118. updatedAt: DateTime!
  119. value: String!
  120. customizedPlan: CustomizedPlan @relation(name: "CustomizedPlanOnTag")
  121. }
  122.  
  123. type TourBooking @model {
  124. createdAt: DateTime!
  125. id: ID! @isUnique
  126. localTour: LocalTour @relation(name: "TourBookingOnLocalTour")
  127. price: Int!
  128. travelers: [Traveler!]! @relation(name: "TourBookingOnTraveler")
  129. updatedAt: DateTime!
  130. user: User @relation(name: "TourBookingOnUser")
  131. paymentTransaction: PaymentTransaction @relation(name: "TourBookingOnPaymentTransaction")
  132. bookingDate: DateTime!
  133. }
  134.  
  135. type TourDate @model {
  136. createdAt: DateTime!
  137. eventDate: DateTime!
  138. id: ID! @isUnique
  139. isPrivate: Boolean!
  140. updatedAt: DateTime!
  141. endRepeat: DateTime
  142. localTour: LocalTour @relation(name: "LocalTourOnTourDate")
  143. repeatDays: [DayOfWeek!]
  144. }
  145.  
  146. type TourNote @model {
  147. createdAt: DateTime!
  148. description: String!
  149. id: ID! @isUnique
  150. localTour: LocalTour @relation(name: "LocalTourOnTourNote")
  151. title: String!
  152. updatedAt: DateTime!
  153. }
  154.  
  155. type Traveler @model {
  156. createdAt: DateTime!
  157. email: String
  158. name: String!
  159. id: ID! @isUnique
  160. tourBookings: [TourBooking!]! @relation(name: "TourBookingOnTraveler")
  161. updatedAt: DateTime!
  162. yearOfBirth: Int
  163. customizedPlan: CustomizedPlan @relation(name: "CustomizedPlanOnTraveler")
  164. }
  165.  
  166. type User @model {
  167. createdAt: DateTime!
  168. createdCustomizedPlans: [CustomizedPlan!]! @relation(name: "UserOnCustomizedPlan")
  169. id: ID! @isUnique
  170. tourBookings: [TourBooking!]! @relation(name: "TourBookingOnUser")
  171. updatedAt: DateTime!
  172. userProfile: UserProfile @relation(name: "UserOnUserProfile")
  173. userRoles: [UserRole!]! @relation(name: "UserOnUserRole")
  174. contentLibrary: ContentLibrary @relation(name: "ContentLibraryOnUser")
  175. customizedPlans: [CustomizedPlan!]! @relation(name: "CustomizedPlanOnUser")
  176. planPurchases: [PlanPurchase!]! @relation(name: "PlanPurchaseOnUser")
  177. plannerProfile: PlannerProfile @relation(name: "UserOnPlannerProfile")
  178. recipientMessages: [Message!]! @relation(name: "MessageOnUser1")
  179. reviewsAsExpert: [UserReview!]! @relation(name: "UserOnUserReview")
  180. senderMessages: [Message!]! @relation(name: "MessageOnUser")
  181. conversation: Conversation @relation(name: "ConversationOnUser")
  182. auth0UserId: String @isUnique
  183. contentEvent: ContentEvent @relation(name: "ContentEventOnUser")
  184. }
  185.  
  186. type UserProfile @model {
  187. birthDate: DateTime!
  188. createdAt: DateTime!
  189. email: String!
  190. firstName: String!
  191. id: ID! @isUnique
  192. languages: [String!]
  193. lastName: String!
  194. updatedAt: DateTime!
  195. user: User @relation(name: "UserOnUserProfile")
  196. imageAvatar: File @relation(name: "UserProfileOnFile")
  197. location: Location @relation(name: "UserProfileOnLocation")
  198. phone: String!
  199. gender: String
  200. }
  201.  
  202. type UserRole @model {
  203. createdAt: DateTime!
  204. id: ID! @isUnique
  205. role: Roles!
  206. updatedAt: DateTime!
  207. user: User @relation(name: "UserOnUserRole")
  208. }
  209.  
  210. type UserReview @model {
  211. createdAt: DateTime!
  212. id: ID! @isUnique
  213. updatedAt: DateTime!
  214. message: String!
  215. score: Int!
  216. localTour: LocalTour @relation(name: "LocalTourOnUserReview")
  217. user: User @relation(name: "UserOnUserReview")
  218. }
  219.  
  220. type ContentEvent @model {
  221. id: ID! @isUnique
  222. createdAt: DateTime!
  223. updatedAt: DateTime!
  224. type: EventType!
  225. title: String!
  226. eventDuration: Int
  227. startDate: DateTime
  228. endDate: DateTime
  229. currency: String
  230. description: String
  231. price: Int
  232. contentLibrary: ContentLibrary @relation(name: "ContentLibraryOnContentActivity")
  233. eventDetails: EventDetails @relation(name: "ContentActivityOnActivityDetails")
  234. contentPOIs: [ContentPOI!]! @relation(name: "ContentEventOnContentPOI")
  235. photos: [File!]! @relation(name: "ContentEventOnFile2")
  236. docs: [File!]! @relation(name: "ContentEventOnFile1")
  237. itineraryDays: [ItineraryDay!]! @relation(name: "ItineraryDayOnContentActivity")
  238. defaultPhoto: File @relation(name: "ContentEventOnFile")
  239. tripGuru: User @relation(name: "ContentEventOnUser")
  240. }
  241.  
  242. type ContentLibrary @model {
  243. contentActivities: [ContentEvent!]! @relation(name: "ContentLibraryOnContentActivity")
  244. contentPOIs: [ContentPOI!]! @relation(name: "ContentLibraryOnContentPOI")
  245. createdAt: DateTime!
  246. id: ID! @isUnique
  247. owner: User @relation(name: "ContentLibraryOnUser")
  248. updatedAt: DateTime!
  249. }
  250.  
  251. type ContentPOI @model {
  252. id: ID! @isUnique
  253. createdAt: DateTime!
  254. updatedAt: DateTime!
  255. title: String!
  256. description: String
  257. phone: String
  258. website: String
  259. contentEvents: [ContentEvent!]! @relation(name: "ContentEventOnContentPOI")
  260. contentLibrary: ContentLibrary @relation(name: "ContentLibraryOnContentPOI")
  261. photos: [File!]! @relation(name: "ContentPOIOnFile")
  262. location: Location @relation(name: "ContentPOIOnLocation")
  263. place: Location @relation(name: "ContentPOIOnLocationPlace")
  264. }
  265.  
  266. type Conversation @model {
  267. createdAt: DateTime!
  268. id: ID! @isUnique
  269. localTour: LocalTour @relation(name: "ConversationOnLocalTour")
  270. messages: [Message!]! @relation(name: "ConversationOnMessage")
  271. updatedAt: DateTime!
  272. users: [User!]! @relation(name: "ConversationOnUser")
  273. }
  274.  
  275. type Location @model {
  276. id: ID! @isUnique
  277. createdAt: DateTime!
  278. updatedAt: DateTime!
  279. country: String!
  280. city: String!
  281. cityWithDistrict: String!
  282. description: String!
  283. lat: Float!
  284. lng: Float!
  285. googleId: String!
  286. customizedPlans: [CustomizedPlan!]! @relation(name: "CustomizedPlanOnLocation")
  287. planOffers: [PlanOffer!]! @relation(name: "PlanOfferOnLocation")
  288. plannerProfiles: [PlannerProfile!]! @relation(name: "PlannerProfileOnLocation")
  289. userProfiles: [UserProfile!]! @relation(name: "UserProfileOnLocation")
  290. localTours: [LocalTour!]! @relation(name: "LocalTourOnLocation")
  291. contentPOI: ContentPOI @relation(name: "ContentPOIOnLocation")
  292. contentPOIPlace: ContentPOI @relation(name: "ContentPOIOnLocationPlace")
  293. }
  294.  
  295. type Message @model {
  296. conversation: Conversation @relation(name: "ConversationOnMessage")
  297. createdAt: DateTime!
  298. id: ID! @isUnique
  299. recipient: User @relation(name: "MessageOnUser1")
  300. sender: User @relation(name: "MessageOnUser")
  301. updatedAt: DateTime!
  302. text: String
  303. files: [File!]! @relation(name: "MessageOnFile")
  304. images: [File!]! @relation(name: "MessageOnFile1")
  305. status: MessageStatus
  306. }
  307.  
  308. type PaymentTransaction @model {
  309. createdAt: DateTime!
  310. id: ID! @isUnique
  311. planPurchase: PlanPurchase @relation(name: "PlanPurchaseOnPaymentTransaction")
  312. tourBooking: TourBooking @relation(name: "TourBookingOnPaymentTransaction")
  313. transactionId: String!
  314. updatedAt: DateTime!
  315. }
  316.  
  317. type PlanOffer @model {
  318. createdAt: DateTime!
  319. id: ID! @isUnique
  320. location: Location @relation(name: "PlanOfferOnLocation")
  321. name: String!
  322. plannerProfile: PlannerProfile @relation(name: "PlannerProfileOnPlanOffer")
  323. price: Int!
  324. updatedAt: DateTime!
  325. paymentStructure: PlansPaymentStructure
  326. status: LifeStatus @defaultValue(value: Active)
  327. }
  328.  
  329. type PlannerProfile @model {
  330. aboutMyself: String!
  331. serviceDescription: String
  332. categories: [String!]
  333. expertises: [String!]
  334. createdAt: DateTime!
  335. id: ID! @isUnique
  336. locations: [Location!]! @relation(name: "PlannerProfileOnLocation")
  337. photos: [File!]! @relation(name: "PlannerProfileOnFile")
  338. examplePlan: File @relation(name: "PlannerProfileExampleOnFile")
  339. planOffers: [PlanOffer!]! @relation(name: "PlannerProfileOnPlanOffer")
  340. serviceOffers: [ServiceOffer!]! @relation(name: "PlannerProfileOnServiceOffer")
  341. updatedAt: DateTime!
  342. user: User @relation(name: "UserOnPlannerProfile")
  343. currency: String
  344. }
  345.  
  346. type ServiceOffer @model {
  347. createdAt: DateTime!
  348. id: ID! @isUnique
  349. plannerProfile: PlannerProfile @relation(name: "PlannerProfileOnServiceOffer")
  350. price: Int!
  351. updatedAt: DateTime!
  352. service: PlanningServices
  353. }
  354.  
  355. type TripDetails @model {
  356. createdAt: DateTime!
  357. id: ID! @isUnique
  358. updatedAt: DateTime!
  359. coverPhoto: File @relation(name: "TripDetailsOnFile")
  360. customizedPlans: [CustomizedPlan!]! @relation(name: "CustomizedPlanOnTripDetails")
  361. itineraryDays: [ItineraryDay!]! @relation(name: "TripDetailsOnItineraryDay")
  362. description: String!
  363. title: String!
  364. }
  365.  
  366. type EventDetails @model {
  367. id: ID! @isUnique
  368. createdAt: DateTime!
  369. updatedAt: DateTime!
  370. bookedThrough: String
  371. confirmationCode: String
  372. contentEvent: ContentEvent @relation(name: "ContentActivityOnActivityDetails")
  373. flightDetails: FlightDetails @relation(name: "EventDetailsOnFlightDetails")
  374. transportationDetails: TransportationDetails @relation(name: "EventDetailsOnTransportationDetails")
  375. }
  376.  
  377. type FlightDetails @model {
  378. id: ID! @isUnique
  379. createdAt: DateTime!
  380. updatedAt: DateTime!
  381. airline: String
  382. flightNumber: String
  383. gateNumber: String
  384. terminal: String
  385. eventDetails: EventDetails @relation(name: "EventDetailsOnFlightDetails")
  386. arrivalAirport: Airport @relation(name: "FlightDetailsOnAirport1")
  387. departureAirport: Airport @relation(name: "FlightDetailsOnAirport")
  388. }
  389.  
  390. type ItineraryDay @model {
  391. id: ID! @isUnique
  392. createdAt: DateTime!
  393. updatedAt: DateTime!
  394. index: Int
  395. dayOfTrip: DateTime
  396. title: String
  397. contentEvents: [ContentEvent!]! @relation(name: "ItineraryDayOnContentActivity")
  398. tripDetailses: [TripDetails!]! @relation(name: "TripDetailsOnItineraryDay")
  399. }
  400.  
  401. type Post @model {
  402. createdAt: DateTime!
  403. description: String!
  404. id: ID! @isUnique
  405. imageUrl: String!
  406. updatedAt: DateTime!
  407. }
  408.  
  409. type TransportationDetails @model {
  410. id: ID! @isUnique
  411. createdAt: DateTime!
  412. updatedAt: DateTime!
  413. departure: String
  414. arrival: String
  415. carrier: String
  416. eventDetails: EventDetails @relation(name: "EventDetailsOnTransportationDetails")
  417. }
  418.  
  419. type InterestCategoriesToCountries @model {
  420. category: InterestCategory!
  421. country: String!
  422. createdAt: DateTime!
  423. id: ID! @isUnique
  424. updatedAt: DateTime!
  425. }
  426.  
  427. type PaymentLineItem @model {
  428. createdAt: DateTime!
  429. description: String!
  430. id: ID! @isUnique
  431. planPurchase: PlanPurchase @relation(name: "PlanPurchaseOnPaymentLineItem")
  432. price: Int!
  433. quantity: Int!
  434. updatedAt: DateTime!
  435. }
  436.  
  437. type Airport @model {
  438. apiId: String!
  439. code: String! @isUnique
  440. flightDetailsesArrivals: [FlightDetails!]! @relation(name: "FlightDetailsOnAirport1")
  441. flightDetailsesDepartures: [FlightDetails!]! @relation(name: "FlightDetailsOnAirport")
  442. id: ID! @isUnique
  443. name: String!
  444. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement